Skip to content

Instantly share code, notes, and snippets.

@amatus
Last active December 26, 2015 09:29
Show Gist options
  • Save amatus/7130169 to your computer and use it in GitHub Desktop.
Save amatus/7130169 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-p:32:32:32-v128:32:32"
target triple = "le32-unknown-nacl"
%struct._IO_FILE = type opaque
%struct.anon = type { i32, i8* }
%struct.gcry_cipher_spec = type { i32, %struct.anon.11, i8*, i8**, %struct.gcry_cipher_oid_spec*, i32, i32, i32, i32 (i8*, i8*, i32)*, i32 (i8*, i8*, i8*)*, i32 (i8*, i8*, i8*)*, void (i8*, i8*, i8*, i32)*, void (i8*, i8*, i8*, i32)*, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)*, i32 (i8*, i32, i8*, i32)*, void (i8*, i8*, i32)* }
%struct.anon.11 = type { i8, [3 x i8] }
%struct.gcry_cipher_oid_spec = type { i8*, i32 }
%struct.gcry_md_spec = type { i32, %struct.anon.98, i8*, i8*, i32, %struct.gcry_md_oid_spec*, i32, void (i8*)*, void (i8*, i8*, i32)*, void (i8*)*, i8* (i8*)*, i32, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* }
%struct.anon.98 = type { i8, [3 x i8] }
%struct.gcry_md_oid_spec = type { i8* }
%struct.anon.1.102 = type { [24 x i8], [8 x i8], [8 x i8] }
%struct.gcry_pk_spec = type { i32, %struct.anon.109, i32, i8*, i8**, i8*, i8*, i8*, i8*, i8*, i32 (%struct.gcry_sexp*, %struct.gcry_sexp**)*, i32 (%struct.gcry_sexp*)*, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)*, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)*, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)*, i32 (%struct.gcry_sexp*, %struct.gcry_sexp*, %struct.gcry_sexp*)*, i32 (%struct.gcry_sexp*)*, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)*, i32 (%struct.gcry_md_handle*, %struct.gcry_sexp*)*, i32 (i8*, %struct.gcry_mpi**)*, i8* (%struct.gcry_sexp*, i32, i32*)*, %struct.gcry_sexp* (i8*)* }
%struct.anon.109 = type { i8, [3 x i8] }
%struct.gcry_sexp = type { [1 x i8] }
%struct.gcry_md_handle = type { %struct.gcry_md_context*, i32, i32, [1 x i8] }
%struct.gcry_md_context = type { i32, i32, i32, %struct._IO_FILE*, i32, %struct.gcry_md_list*, i8*, i32 }
%struct.gcry_md_list = type { %struct.gcry_md_spec*, %struct.gcry_md_list*, i32, %union.PROPERLY_ALIGNED_TYPE }
%union.PROPERLY_ALIGNED_TYPE = type { double }
%struct.gcry_mpi = type { i32, i32, i32, i32, i32* }
%struct.ecc_domain_parms_t = type { i8*, i32, i8, i32, i32, i8*, i8*, i8*, i8*, i8*, i8* }
%struct.anon.115 = type { i8*, i8* }
%struct.anon.0.178 = type { i32, i32 }
%struct.anon.190 = type { i8*, i8*, i8*, [64 x i8] }
%struct.anon.0.191 = type { i8*, i8*, i8*, [48 x i8] }
%struct.anon.1.192 = type { i8*, i8*, i8*, [32 x i8] }
%struct.anon.2 = type { i8*, i8*, i8*, [28 x i8] }
%struct.anon.0.199 = type { [16 x i8], [8 x i8], [8 x i8] }
%struct.primepool_s = type { %struct.primepool_s*, %struct.gcry_mpi*, i32, i32 }
%struct.anon.219 = type { i8*, i32 }
%struct.tv = type { i32, [16 x i8], [16 x i8], [4 x %struct.anon.2.237] }
%struct.anon.2.237 = type { [16 x i8], [16 x i8] }
%struct.test = type { i32, [32 x i8], [16 x i8], [16 x i8] }
%struct.anon.295 = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
%struct.rng_context = type { [1 x i8], %struct.gcry_cipher_handle*, i8, i32, [1 x i8], [16 x i8], [1 x i8], [16 x i8], [1 x i8], i8, i8*, i32, i32, i32 }
%struct.gcry_cipher_handle = type { i32, i32, i32, %struct.gcry_cipher_spec*, i32, %struct.anon.0, i32, i32, %struct.anon.1, [12 x i8], %union.anon, %union.anon.2, [16 x i8], i32, %union.anon.3, [8 x i8], %union.cipher_context_alignment_t }
%struct.anon.0 = type { void (i8*, i8*, i8*, i8*, i32)*, void (i8*, i8*, i8*, i8*, i32)*, void (i8*, i8*, i8*, i8*, i32, i32)*, void (i8*, i8*, i8*, i8*, i32)*, void (i8*, i8*, i8*, i8*, i32)* }
%struct.anon.1 = type { i8, [3 x i8] }
%union.anon = type { %union.cipher_context_alignment_t }
%union.cipher_context_alignment_t = type { %union.PROPERLY_ALIGNED_TYPE, [8 x i8] }
%union.anon.2 = type { %union.cipher_context_alignment_t }
%union.anon.3 = type { %struct.anon.4 }
%struct.anon.4 = type { i32, i32, i32, [16 x i8], i32, [16 x i8], i8 }
%struct.anon.299 = type { [16 x i8], [16 x i8], [16 x i8], [3 x [16 x i8]] }
%struct.anon.301 = type { i32, i32, i32 }
%struct.malloc_state = type { i32, i32, i32, i32, i8*, %struct.malloc_chunk*, %struct.malloc_chunk*, i32, i32, i32, [66 x %struct.malloc_chunk*], [32 x %struct.malloc_tree_chunk*], i32, i32, i32, i32, %struct.malloc_segment, i8*, i32 }
%struct.malloc_chunk = type { i32, i32, %struct.malloc_chunk*, %struct.malloc_chunk* }
%struct.malloc_tree_chunk = type { i32, i32, %struct.malloc_tree_chunk*, %struct.malloc_tree_chunk*, [2 x %struct.malloc_tree_chunk*], %struct.malloc_tree_chunk*, i32 }
%struct.malloc_segment = type { i8*, i32, %struct.malloc_segment*, i32 }
%struct.malloc_params = type { i32, i32, i32, i32, i32, i32 }
%struct.ath_ops = type { i32 }
%struct.make_space_ctx = type { %struct.gcry_sexp*, i32, i8* }
%struct.gcry_buffer_t = type { i32, i32, i32, i8* }
%struct.memblock = type { i32, i32, %union.PROPERLY_ALIGNED_TYPE }
%struct.hmac256_context = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, [64 x i8], [64 x i8] }
%struct.ARCFOUR_context = type { [256 x i8], i32, i32 }
%struct.BLOWFISH_context = type { [256 x i32], [256 x i32], [256 x i32], [256 x i32], [18 x i32] }
%struct.CAMELLIA_context = type { i32, [68 x i32] }
%struct.CAST5_context = type { [16 x i32], [16 x i8] }
%struct.CRC_CONTEXT = type { i32, [4 x i8] }
%struct._des_ctx = type { [32 x i32], [32 x i32] }
%struct._tripledes_ctx = type { [96 x i32], [96 x i32], %struct.anon.0.103 }
%struct.anon.0.103 = type { i32 }
%struct.DSA_secret_key = type { %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi* }
%struct.dsa_domain_t = type { %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi* }
%struct.pk_encoding_ctx = type { i32, i32, i32, i32, i32, i8*, i32, i32, i32 (i8*, %struct.gcry_mpi*)*, i8* }
%struct.DSA_public_key = type { %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi* }
%struct.anon.0.114 = type { %struct.gcry_sexp*, i8*, i32 }
%struct.elliptic_curve_t = type { i32, i32, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi_point, %struct.gcry_mpi*, i8* }
%struct.gcry_mpi_point = type { %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi* }
%struct.mpi_ec_ctx_s = type { i32, i32, i32, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi_point*, %struct.gcry_mpi*, %struct.gcry_mpi_point*, %struct.gcry_mpi*, %struct.anon.0.121 }
%struct.anon.0.121 = type { %struct.anon.1, i32, %struct.gcry_mpi*, %struct.barrett_ctx_s*, [11 x %struct.gcry_mpi*] }
%struct.barrett_ctx_s = type { %struct.gcry_mpi*, i32, i32, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi* }
%struct.ECC_secret_key = type { %struct.elliptic_curve_t, %struct.gcry_mpi_point, %struct.gcry_mpi* }
%struct.ECC_public_key = type { %struct.elliptic_curve_t, %struct.gcry_mpi_point }
%struct.ELG_secret_key = type { %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi* }
%struct.ELG_public_key = type { %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi* }
%struct.GOST28147_context = type { [4 x [256 x i32]], [8 x i32], i32 }
%struct.GOSTR3411_CONTEXT = type { %struct.gcry_md_block_ctx, %struct.GOST28147_context, [32 x i8], [32 x i8], i32 }
%struct.gcry_md_block_ctx = type { [128 x i8], i32, i32, i32, i32 (i8*, i8*)* }
%struct.IDEA_context = type { [52 x i16], [52 x i16], i32 }
%struct.MD4_CONTEXT = type { %struct.gcry_md_block_ctx, i32, i32, i32, i32 }
%struct.MD5_CONTEXT = type { %struct.gcry_md_block_ctx, i32, i32, i32, i32 }
%struct.RFC2268_context = type { [64 x i16] }
%struct.RIJNDAEL_context = type { %union.anon.239, %union.anon.0, i32, i32 }
%union.anon.239 = type { %union.PROPERLY_ALIGNED_TYPE, [232 x i8] }
%union.anon.0 = type { %union.PROPERLY_ALIGNED_TYPE, [232 x i8] }
%union.anon.11 = type { [4 x i32] }
%union.anon.9 = type { [4 x i32] }
%union.anon.10 = type { [4 x i32] }
%union.anon.1 = type { [4 x i32] }
%union.anon.5 = type { [4 x i32] }
%union.anon.6 = type { [4 x i32] }
%union.anon.3.241 = type { %union.PROPERLY_ALIGNED_TYPE, [24 x i8] }
%union.anon.4 = type { %union.PROPERLY_ALIGNED_TYPE, [24 x i8] }
%union.anon.8 = type { %union.PROPERLY_ALIGNED_TYPE }
%union.anon.7 = type { [4 x i32] }
%struct.RMD160_CONTEXT = type { %struct.gcry_md_block_ctx, i32, i32, i32, i32, i32 }
%struct.RSA_secret_key = type { %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi*, %struct.gcry_mpi* }
%struct.RSA_public_key = type { %struct.gcry_mpi*, %struct.gcry_mpi* }
%struct.anon.0.256 = type { i8*, %struct.gcry_mpi** }
%struct.SALSA20_context_t = type { [16 x i32], [16 x i32], i32 }
%struct.SEED_context = type { [32 x i32] }
%union.wordbuf = type { i32 }
%struct.serpent_context = type { [33 x [4 x i32]] }
%struct.SHA1_CONTEXT = type { %struct.gcry_md_block_ctx, i32, i32, i32, i32, i32 }
%struct.SHA256_CONTEXT = type { %struct.gcry_md_block_ctx, i32, i32, i32, i32, i32, i32, i32, i32 }
%struct.SHA512_CONTEXT = type { %struct.gcry_md_block_ctx, %struct.SHA512_STATE }
%struct.SHA512_STATE = type { i32, i32, i32, i32, i32, i32, i32, i32 }
%struct.STRIBOG_CONTEXT = type { %struct.gcry_md_block_ctx, %union.anon.283, [8 x i32], [8 x i32] }
%union.anon.283 = type { [8 x i32], [32 x i8] }
%struct.TIGER_CONTEXT = type { %struct.gcry_md_block_ctx, i32, i32, i32, i32 }
%struct.TWOFISH_context = type { [4 x [256 x i32]], [8 x i32], [32 x i32] }
%struct.whirlpool_context_t = type { %struct.gcry_md_block_ctx, [8 x i32] }
%struct.flock = type { i16, i16, i32, i32, i32 }
%struct.timeval = type { i32, i32 }
%struct.fd_set = type { [32 x i32] }
%struct.rusage = type { %struct.timeval, %struct.timeval, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [16 x i32] }
%struct.stat = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.timespec, %struct.timespec, %struct.timespec, i32 }
%struct.timespec = type { i32, i32 }
%struct.karatsuba_ctx = type { %struct.karatsuba_ctx*, i32*, i32, i32, i32*, i32, i32 }
@.str = private unnamed_addr constant [14 x i8] c"1.6.0-beta332\00", align 1
@stderr = external constant %struct._IO_FILE*
@.str1 = private unnamed_addr constant [49 x i8] c"version: %sversion mismatch; pgm=%s, library=%s\0A\00", align 1
@.str2 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@.str3 = private unnamed_addr constant [10 x i8] c"warning: \00", align 1
@user_gettext_handler = internal global i8* (i8*)* null, align 4
@fatal_error_handler_value = internal global i8* null, align 4
@fatal_error_handler = internal global void (i8*, i32, i8*)* null, align 4
@.str48 = private unnamed_addr constant [7 x i8] c"misc.c\00", align 1
@__FUNCTION__._gcry_fatal_error = private unnamed_addr constant [18 x i8] c"_gcry_fatal_error\00", align 1
@.str159 = private unnamed_addr constant [15 x i8] c"\0AFatal error: \00", align 1
@.str2610 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@log_handler = internal global void (i8*, i32, i8*, i32*)* null, align 4
@log_handler_value = internal global i8* null, align 4
@verbosity_level = internal global i32 0, align 4
@.str3711 = private unnamed_addr constant [8 x i8] c"Fatal: \00", align 1
@.str4812 = private unnamed_addr constant [14 x i8] c"Ohhhh jeeee: \00", align 1
@.str5 = private unnamed_addr constant [6 x i8] c"DBG: \00", align 1
@.str6 = private unnamed_addr constant [25 x i8] c"[Unknown log level %d]: \00", align 1
@__FUNCTION__._gcry_logv = private unnamed_addr constant [11 x i8] c"_gcry_logv\00", align 1
@.str7 = private unnamed_addr constant [30 x i8] c"internal error (fatal or bug)\00", align 1
@.str8 = private unnamed_addr constant [30 x i8] c"... this is a bug (%s:%d:%s)\0A\00", align 1
@.str9 = private unnamed_addr constant [34 x i8] c"Assertion `%s' failed (%s:%d:%s)\0A\00", align 1
@.str10 = private unnamed_addr constant [2 x i8] c" \00", align 1
@.str11 = private unnamed_addr constant [8 x i8] c" (null)\00", align 1
@.str12 = private unnamed_addr constant [10 x i8] c" [%u bit]\00", align 1
@.str13 = private unnamed_addr constant [15 x i8] c" [out of core]\00", align 1
@.str14 = private unnamed_addr constant [2 x i8] c"-\00", align 1
@.str15913 = private unnamed_addr constant [2 x i8] c"+\00", align 1
@.str16 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@.str19 = private unnamed_addr constant [6 x i8] c"%*s \00", align 1
@.str22 = private unnamed_addr constant [15 x i8] c"divide by zero\00", align 1
@.str24 = private unnamed_addr constant [6 x i8] c"%s:%s\00", align 1
@.str25 = private unnamed_addr constant [5 x i8] c"%02x\00", align 1
@.str261014 = private unnamed_addr constant [4 x i8] c" \5C\0A\00", align 1
@.str27 = private unnamed_addr constant [8 x i8] c"%*s %*s\00", align 1
@any_init_done = internal global i32 0, align 4
@.str29 = private unnamed_addr constant [14 x i8] c"1.6.0-beta332\00", align 1
@_gcry_vcontrol.init_finished = internal global i32 0, align 4
@no_secure_memory = internal global i32 0, align 4
@debug_flags = internal global i32 0, align 4
@force_fips_mode = internal global i32 0, align 4
@hwflist = internal global [10 x %struct.anon] [%struct.anon { i32 1, i8* getelementptr inbounds ([12 x i8]* @.str433, i32 0, i32 0) }, %struct.anon { i32 2, i8* getelementptr inbounds ([12 x i8]* @.str534, i32 0, i32 0) }, %struct.anon { i32 4, i8* getelementptr inbounds ([12 x i8]* @.str635, i32 0, i32 0) }, %struct.anon { i32 8, i8* getelementptr inbounds ([13 x i8]* @.str736, i32 0, i32 0) }, %struct.anon { i32 256, i8* getelementptr inbounds ([12 x i8]* @.str837, i32 0, i32 0) }, %struct.anon { i32 512, i8* getelementptr inbounds ([13 x i8]* @.str938, i32 0, i32 0) }, %struct.anon { i32 1024, i8* getelementptr inbounds ([10 x i8]* @.str1039, i32 0, i32 0) }, %struct.anon { i32 2048, i8* getelementptr inbounds ([11 x i8]* @.str1140, i32 0, i32 0) }, %struct.anon { i32 4096, i8* getelementptr inbounds ([9 x i8]* @.str1241, i32 0, i32 0) }, %struct.anon zeroinitializer], align 4
@disabled_hw_features = internal global i32 0, align 4
@alloc_func = internal global i8* (i32)* null, align 4
@alloc_secure_func = internal global i8* (i32)* null, align 4
@is_secure_func = internal global i32 (i8*)* null, align 4
@realloc_func = internal global i8* (i8*, i32)* null, align 4
@free_func = internal global void (i8*)* null, align 4
@outofcore_handler = internal global i32 (i8*, i32, i32)* null, align 4
@outofcore_handler_value = internal global i8* null, align 4
@.str332 = private unnamed_addr constant [29 x i8] c"out of core in secure memory\00", align 1
@.str433 = private unnamed_addr constant [12 x i8] c"padlock-rng\00", align 1
@.str534 = private unnamed_addr constant [12 x i8] c"padlock-aes\00", align 1
@.str635 = private unnamed_addr constant [12 x i8] c"padlock-sha\00", align 1
@.str736 = private unnamed_addr constant [13 x i8] c"padlock-mmul\00", align 1
@.str837 = private unnamed_addr constant [12 x i8] c"intel-aesni\00", align 1
@.str938 = private unnamed_addr constant [13 x i8] c"intel-rdrand\00", align 1
@.str1039 = private unnamed_addr constant [10 x i8] c"intel-avx\00", align 1
@.str1140 = private unnamed_addr constant [11 x i8] c"intel-avx2\00", align 1
@.str1241 = private unnamed_addr constant [9 x i8] c"arm-neon\00", align 1
@.str1342 = private unnamed_addr constant [13 x i8] c"version:%s:\0A\00", align 1
@.str1443 = private unnamed_addr constant [13 x i8] c"ciphers:%s:\0A\00", align 1
@.str1544 = private unnamed_addr constant [92 x i8] c"arcfour:blowfish:cast5:des:aes:twofish:serpent:rfc2268:seed:camellia:idea:salsa20:gost28147\00", align 1
@.str1645 = private unnamed_addr constant [13 x i8] c"pubkeys:%s:\0A\00", align 1
@.str1746 = private unnamed_addr constant [20 x i8] c"dsa:elgamal:rsa:ecc\00", align 1
@.str1847 = private unnamed_addr constant [13 x i8] c"digests:%s:\0A\00", align 1
@.str1948 = private unnamed_addr constant [75 x i8] c"crc:gostr3411-94:md4:md5:rmd160:sha1:sha256:sha512:tiger:whirlpool:stribog\00", align 1
@.str2049 = private unnamed_addr constant [16 x i8] c"rnd-mod:linux:\0A\00", align 1
@.str2150 = private unnamed_addr constant [12 x i8] c"cpu-arch::\0A\00", align 1
@.str2251 = private unnamed_addr constant [13 x i8] c"mpi-asm:%s:\0A\00", align 1
@.str2352 = private unnamed_addr constant [13 x i8] c"threads:%s:\0A\00", align 1
@.str2453 = private unnamed_addr constant [9 x i8] c"hwflist:\00", align 1
@.str2554 = private unnamed_addr constant [4 x i8] c"%s:\00", align 1
@.str2655 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@.str2756 = private unnamed_addr constant [18 x i8] c"fips-mode:%c:%c:\0A\00", align 1
@.str28 = private unnamed_addr constant [9 x i8] c"standard\00", align 1
@.str2957 = private unnamed_addr constant [5 x i8] c"fips\00", align 1
@.str30 = private unnamed_addr constant [7 x i8] c"system\00", align 1
@.str31 = private unnamed_addr constant [9 x i8] c"global.c\00", align 1
@__FUNCTION__.print_config = private unnamed_addr constant [13 x i8] c"print_config\00", align 1
@.str32 = private unnamed_addr constant [17 x i8] c"rng-type:%s:%d:\0A\00", align 1
@__FUNCTION__.global_init = private unnamed_addr constant [12 x i8] c"global_init\00", align 1
@.str7119 = private unnamed_addr constant [7 x i8] c"sexp.c\00", align 1
@__FUNCTION__._gcry_sexp_find_token = private unnamed_addr constant [22 x i8] c"_gcry_sexp_find_token\00", align 1
@__FUNCTION__._gcry_sexp_nth = private unnamed_addr constant [15 x i8] c"_gcry_sexp_nth\00", align 1
@vsexp_sscan.tokenchars = internal constant [71 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-./_:*+=\00", align 1
@__FUNCTION__.vsexp_sscan = private unnamed_addr constant [12 x i8] c"vsexp_sscan\00", align 1
@.str13125 = private unnamed_addr constant [3 x i8] c"%d\00", align 1
@.str14126 = private unnamed_addr constant [3 x i8] c"%u\00", align 1
@.str15127 = private unnamed_addr constant [3 x i8] c"&\5C\00", align 1
@hw_features = internal global i32 0, align 4
@use_m_guard = internal global i32 0, align 4
@.str189 = private unnamed_addr constant [41 x i8] c"memory at %p corrupted (underflow=%02x)\0A\00", align 1
@.str1190 = private unnamed_addr constant [40 x i8] c"memory at %p corrupted (overflow=%02x)\0A\00", align 1
@secmem_lock = internal global i8* null, align 4
@suspend_warning = internal global i32 0, align 4
@no_warning = internal global i32 0, align 4
@no_mlock = internal global i32 0, align 4
@no_priv_drop = internal global i32 0, align 4
@show_warning = internal global i32 0, align 4
@not_locked = internal global i32 0, align 4
@.str201 = private unnamed_addr constant [32 x i8] c"could not allocate secmem lock\0A\00", align 1
@pool_okay = internal global i32 0, align 4
@pool = internal global i8* null, align 4
@pool_size = internal global i32 0, align 4
@pool_is_mmapped = internal global i32 0, align 4
@.str1202 = private unnamed_addr constant [41 x i8] c"secmem usage: %u/%lu bytes in %u blocks\0A\00", align 1
@cur_alloced = internal global i32 0, align 4
@cur_blocks = internal global i32 0, align 4
@.str2203 = private unnamed_addr constant [61 x i8] c"operation is not possible without initialized secure memory\0A\00", align 1
@.str3204 = private unnamed_addr constant [53 x i8] c"secure memory pool is not locked while in FIPS mode\0A\00", align 1
@disable_secmem = internal global i32 0, align 4
@.str4205 = private unnamed_addr constant [23 x i8] c"failed to drop setuid\0A\00", align 1
@.str5206 = private unnamed_addr constant [46 x i8] c"Oops, secure memory pool already initialized\0A\00", align 1
@.str6207 = private unnamed_addr constant [62 x i8] c"Please note that you don't have secure memory on this system\0A\00", align 1
@.str7208 = private unnamed_addr constant [26 x i8] c"secure memory is disabled\00", align 1
@.str8209 = private unnamed_addr constant [48 x i8] c"can't mmap pool of %u bytes: %s - using malloc\0A\00", align 1
@.str9210 = private unnamed_addr constant [40 x i8] c"can't allocate memory pool of %u bytes\0A\00", align 1
@.str10211 = private unnamed_addr constant [33 x i8] c"Warning: using insecure memory!\0A\00", align 1
@_gcry_initialize_fips_mode.done = internal global i32 0, align 4
@.str232 = private unnamed_addr constant [6 x i8] c"!done\00", align 1
@.str1233 = private unnamed_addr constant [7 x i8] c"fips.c\00", align 1
@__FUNCTION__._gcry_initialize_fips_mode = private unnamed_addr constant [27 x i8] c"_gcry_initialize_fips_mode\00", align 1
@no_fips_mode_required = internal global i32 0, align 4
@.str2234 = private unnamed_addr constant [23 x i8] c"!no_fips_mode_required\00", align 1
@.str3235 = private unnamed_addr constant [25 x i8] c"/etc/gcrypt/fips_enabled\00", align 1
@_gcry_initialize_fips_mode.procfname = internal constant [30 x i8] c"/proc/sys/crypto/fips_enabled\00", align 1
@.str4236 = private unnamed_addr constant [2 x i8] c"r\00", align 1
@.str5237 = private unnamed_addr constant [14 x i8] c"/proc/version\00", align 1
@.str6238 = private unnamed_addr constant [44 x i8] c"FATAL: error reading `%s' in libgcrypt: %s\0A\00", align 1
@fsm_lock = internal global i8* null, align 4
@.str7239 = private unnamed_addr constant [55 x i8] c"FATAL: failed to create the FSM lock in libgcrypt: %s\0A\00", align 1
@enforced_fips_mode = internal global i32 0, align 4
@.str8240 = private unnamed_addr constant [19 x i8] c"_gcry_fips_mode ()\00", align 1
@__FUNCTION__._gcry_inactivate_fips_mode = private unnamed_addr constant [27 x i8] c"_gcry_inactivate_fips_mode\00", align 1
@inactive_fips_mode = internal global i32 0, align 4
@current_state = internal global i32 0, align 4
@.str9241 = private unnamed_addr constant [48 x i8] c"%serror in libgcrypt, file %s, line %d%s%s: %s\0A\00", align 1
@.str10242 = private unnamed_addr constant [7 x i8] c"fatal \00", align 1
@.str11243 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@.str12244 = private unnamed_addr constant [12 x i8] c", function \00", align 1
@.str13245 = private unnamed_addr constant [25 x i8] c"no description available\00", align 1
@.str14246 = private unnamed_addr constant [40 x i8] c"libgcrypt state transition %s => %s %s\0A\00", align 1
@.str15247 = private unnamed_addr constant [8 x i8] c"granted\00", align 1
@.str16248 = private unnamed_addr constant [7 x i8] c"denied\00", align 1
@.str17249 = private unnamed_addr constant [9 x i8] c"Power-On\00", align 1
@.str18250 = private unnamed_addr constant [5 x i8] c"Init\00", align 1
@.str19251 = private unnamed_addr constant [10 x i8] c"Self-Test\00", align 1
@.str20252 = private unnamed_addr constant [12 x i8] c"Operational\00", align 1
@.str21253 = private unnamed_addr constant [6 x i8] c"Error\00", align 1
@.str22254 = private unnamed_addr constant [12 x i8] c"Fatal-Error\00", align 1
@.str23255 = private unnamed_addr constant [9 x i8] c"Shutdown\00", align 1
@.str24256 = private unnamed_addr constant [2 x i8] c"?\00", align 1
@run_pubkey_selftests.algos = internal global [3 x i32] [i32 1, i32 17, i32 0], align 4
@.str25257 = private unnamed_addr constant [7 x i8] c"pubkey\00", align 1
@.str26258 = private unnamed_addr constant [44 x i8] c"libgcrypt selftest: %s %s%s (%d): %s%s%s%s\0A\00", align 1
@.str27259 = private unnamed_addr constant [5 x i8] c"hmac\00", align 1
@.str28260 = private unnamed_addr constant [7 x i8] c"digest\00", align 1
@.str29261 = private unnamed_addr constant [6 x i8] c"HMAC-\00", align 1
@.str30262 = private unnamed_addr constant [7 x i8] c"cipher\00", align 1
@.str31263 = private unnamed_addr constant [5 x i8] c"Okay\00", align 1
@.str32264 = private unnamed_addr constant [3 x i8] c" (\00", align 1
@.str33 = private unnamed_addr constant [2 x i8] c")\00", align 1
@.str34 = private unnamed_addr constant [7 x i8] c"random\00", align 1
@run_hmac_selftests.algos = internal global [6 x i32] [i32 2, i32 11, i32 8, i32 9, i32 10, i32 0], align 4
@run_digest_selftests.algos = internal global [6 x i32] [i32 2, i32 11, i32 8, i32 9, i32 10, i32 0], align 4
@run_cipher_selftests.algos = internal global [5 x i32] [i32 2, i32 7, i32 8, i32 9, i32 0], align 4
@.str35 = private unnamed_addr constant [55 x i8] c"FATAL: failed to release the FSM lock in libgrypt: %s\0A\00", align 1
@.str36 = private unnamed_addr constant [55 x i8] c"FATAL: failed to acquire the FSM lock in libgrypt: %s\0A\00", align 1
@transform.K = internal constant [64 x i32] [i32 1116352408, i32 1899447441, i32 -1245643825, i32 -373957723, i32 961987163, i32 1508970993, i32 -1841331548, i32 -1424204075, i32 -670586216, i32 310598401, i32 607225278, i32 1426881987, i32 1925078388, i32 -2132889090, i32 -1680079193, i32 -1046744716, i32 -459576895, i32 -272742522, i32 264347078, i32 604807628, i32 770255983, i32 1249150122, i32 1555081692, i32 1996064986, i32 -1740746414, i32 -1473132947, i32 -1341970488, i32 -1084653625, i32 -958395405, i32 -710438585, i32 113926993, i32 338241895, i32 666307205, i32 773529912, i32 1294757372, i32 1396182291, i32 1695183700, i32 1986661051, i32 -2117940946, i32 -1838011259, i32 -1564481375, i32 -1474664885, i32 -1035236496, i32 -949202525, i32 -778901479, i32 -694614492, i32 -200395387, i32 275423344, i32 430227734, i32 506948616, i32 659060556, i32 883997877, i32 958139571, i32 1322822218, i32 1537002063, i32 1747873779, i32 1955562222, i32 2024104815, i32 -2067236844, i32 -1933114872, i32 -1866530822, i32 -1538233109, i32 -1090935817, i32 -965641998], align 4
@thread_model = internal global i32 0, align 4
@.str300 = private unnamed_addr constant [10 x i8] c"undefined\00", align 1
@.str1301 = private unnamed_addr constant [5 x i8] c"none\00", align 1
@.str2302 = private unnamed_addr constant [14 x i8] c"pthread(weak)\00", align 1
@.str3303 = private unnamed_addr constant [8 x i8] c"pthread\00", align 1
@.str4304 = private unnamed_addr constant [4 x i8] c"w32\00", align 1
@.str5305 = private unnamed_addr constant [2 x i8] c"?\00", align 1
@.str318 = private unnamed_addr constant [8 x i8] c"ARCFOUR\00", align 1
@_gcry_cipher_spec_arcfour = internal hidden global %struct.gcry_cipher_spec { i32 301, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([8 x i8]* @.str318, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 1, i32 128, i32 264, i32 (i8*, i8*, i32)* @arcfour_setkey, i32 (i8*, i8*, i8*)* null, i32 (i8*, i8*, i8*)* null, void (i8*, i8*, i8*, i32)* @encrypt_stream, void (i8*, i8*, i8*, i32)* @encrypt_stream, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@do_arcfour_setkey.initialized = internal global i32 0, align 4
@do_arcfour_setkey.selftest_failed = internal global i8* null, align 4
@.str1319 = private unnamed_addr constant [30 x i8] c"ARCFOUR selftest failed (%s)\0A\00", align 1
@selftest.key_1 = internal global [5 x i8] c"a\8Ac\D2\FB", align 1
@selftest.plaintext_1 = internal global [5 x i8] c"\DC\EEL\F9,", align 1
@selftest.ciphertext_1 = internal constant [5 x i8] c"\F18)\C9\DE", align 1
@.str2320 = private unnamed_addr constant [34 x i8] c"Arcfour encryption test 1 failed.\00", align 1
@.str3321 = private unnamed_addr constant [34 x i8] c"Arcfour decryption test 1 failed.\00", align 1
@.str322 = private unnamed_addr constant [9 x i8] c"BLOWFISH\00", align 1
@_gcry_cipher_spec_blowfish = internal hidden global %struct.gcry_cipher_spec { i32 4, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([9 x i8]* @.str322, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 8, i32 128, i32 4168, i32 (i8*, i8*, i32)* @bf_setkey, i32 (i8*, i8*, i8*)* @encrypt_block, i32 (i8*, i8*, i8*)* @decrypt_block, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@do_bf_setkey.initialized = internal global i32 0, align 4
@do_bf_setkey.selftest_failed = internal global i8* null, align 4
@.str1323 = private unnamed_addr constant [4 x i8] c"%s\0A\00", align 1
@ps = internal constant [18 x i32] [i32 608135816, i32 -2052912941, i32 320440878, i32 57701188, i32 -1542899678, i32 698298832, i32 137296536, i32 -330404727, i32 1160258022, i32 953160567, i32 -1101764913, i32 887688300, i32 -1062458953, i32 -914599715, i32 1065670069, i32 -1253635817, i32 -1843997223, i32 -1988494565], align 4
@ks0 = internal constant [256 x i32] [i32 -785314906, i32 -1730169428, i32 805139163, i32 -803545161, i32 -1193168915, i32 1780907670, i32 -1166241723, i32 -248741991, i32 614570311, i32 -1282315017, i32 134345442, i32 -2054226922, i32 1667834072, i32 1901547113, i32 -1537671517, i32 -191677058, i32 227898511, i32 1921955416, i32 1904987480, i32 -2112533778, i32 2069144605, i32 -1034266187, i32 -1674521287, i32 720527379, i32 -976113629, i32 677414384, i32 -901678824, i32 -1193592593, i32 -1904616272, i32 1614419982, i32 1822297739, i32 -1340175810, i32 -686458943, i32 -1120842969, i32 2024746970, i32 1432378464, i32 -430627341, i32 -1437226092, i32 1464375394, i32 1676153920, i32 1439316330, i32 715854006, i32 -1261675468, i32 289532110, i32 -1588296017, i32 2087905683, i32 -1276242927, i32 1668267050, i32 732546397, i32 1947742710, i32 -832815594, i32 -1685613794, i32 -1344882125, i32 1814351708, i32 2050118529, i32 680887927, i32 999245976, i32 1800124847, i32 -994056165, i32 1713906067, i32 1641548236, i32 -81679983, i32 1216130144, i32 1575780402, i32 -276538019, i32 -377129551, i32 -601480446, i32 -345695352, i32 596196993, i32 -745100091, i32 258830323, i32 -2081144263, i32 772490370, i32 -1534844924, i32 1774776394, i32 -1642095778, i32 566650946, i32 -152474470, i32 1728879713, i32 -1412200208, i32 1783734482, i32 -665571480, i32 -1777359064, i32 -1420741725, i32 1861159788, i32 326777828, i32 -1170476976, i32 2130389656, i32 -1578015459, i32 967770486, i32 1724537150, i32 -2109534584, i32 -1930525159, i32 1164943284, i32 2105845187, i32 998989502, i32 -529566248, i32 -2050940813, i32 1075463327, i32 1455516326, i32 1322494562, i32 910128902, i32 469688178, i32 1117454909, i32 936433444, i32 -804646328, i32 -619713837, i32 1240580251, i32 122909385, i32 -2137449605, i32 634681816, i32 -152510729, i32 -469872614, i32 -1233564613, i32 -1754472259, i32 79693498, i32 -1045868618, i32 1084186820, i32 1583128258, i32 426386531, i32 1761308591, i32 1047286709, i32 322548459, i32 995290223, i32 1845252383, i32 -1691314900, i32 -863943356, i32 -1352745719, i32 -1092366332, i32 -567063811, i32 1712269319, i32 422464435, i32 -1060394921, i32 1170764815, i32 -771006663, i32 -1177289765, i32 1434042557, i32 442511882, i32 -694091578, i32 1076654713, i32 1738483198, i32 -81812532, i32 -1901729288, i32 -617471240, i32 1014306527, i32 -43947243, i32 793779912, i32 -1392160085, i32 842905082, i32 -48003232, i32 1395751752, i32 1040244610, i32 -1638115397, i32 -898659168, i32 445077038, i32 -552113701, i32 -717051658, i32 679411651, i32 -1402522938, i32 -1940957837, i32 1767581616, i32 -1144366904, i32 -503340195, i32 -1192226400, i32 284835224, i32 -48135240, i32 1258075500, i32 768725851, i32 -1705778055, i32 -1225243291, i32 -762426948, i32 1274779536, i32 -505548070, i32 -1530167757, i32 1660621633, i32 -823867672, i32 -283063590, i32 913787905, i32 -797008130, i32 737222580, i32 -1780753843, i32 -1366257256, i32 -357724559, i32 1804850592, i32 -795946544, i32 -1345903136, i32 -1908647121, i32 -1904896841, i32 -1879645445, i32 -233690268, i32 -2004305902, i32 -1878134756, i32 1336762016, i32 1754252060, i32 -774901359, i32 -1280786003, i32 791618072, i32 -1106372745, i32 -361419266, i32 -1962795103, i32 -442446833, i32 -1250986776, i32 413987798, i32 -829824359, i32 -1264037920, i32 -49028937, i32 2093235073, i32 -760370983, i32 375366246, i32 -2137688315, i32 -1815317740, i32 555357303, i32 -424861595, i32 2008414854, i32 -950779147, i32 -73583153, i32 -338841844, i32 2067696032, i32 -700376109, i32 -1373733303, i32 2428461, i32 544322398, i32 577241275, i32 1471733935, i32 610547355, i32 -267798242, i32 1432588573, i32 1507829418, i32 2025931657, i32 -648391809, i32 545086370, i32 48609733, i32 -2094660746, i32 1653985193, i32 298326376, i32 1316178497, i32 -1287180854, i32 2064951626, i32 458293330, i32 -1705826027, i32 -703637697, i32 -1130641692, i32 727753846, i32 -2115603456, i32 146436021, i32 1461446943, i32 -224990101, i32 705550613, i32 -1235000031, i32 -407242314, i32 -13368018, i32 -981117340, i32 1404054877, i32 -1449160799, i32 146425753, i32 1854211946], align 4
@ks1 = internal constant [256 x i32] [i32 1266315497, i32 -1246549692, i32 -613086930, i32 -1004984797, i32 -1385257296, i32 1235738493, i32 -1662099272, i32 -1880247706, i32 -324367247, i32 1771706367, i32 1449415276, i32 -1028546847, i32 422970021, i32 1963543593, i32 -1604775104, i32 -468174274, i32 1062508698, i32 1531092325, i32 1804592342, i32 -1711849514, i32 -1580033017, i32 -269995787, i32 1294809318, i32 -265986623, i32 1289560198, i32 -2072974554, i32 1669523910, i32 35572830, i32 157838143, i32 1052438473, i32 1016535060, i32 1802137761, i32 1753167236, i32 1386275462, i32 -1214491899, i32 -1437595849, i32 1040679964, i32 2145300060, i32 -1904392980, i32 1461121720, i32 -1338320329, i32 -263189491, i32 -266592508, i32 33600511, i32 -1374882534, i32 1018524850, i32 629373528, i32 -603381315, i32 -779021319, i32 2091462646, i32 -1808644237, i32 586499841, i32 988145025, i32 935516892, i32 -927631820, i32 -1695294041, i32 -1455136442, i32 265290510, i32 -322386114, i32 -1535828415, i32 -499593831, i32 1005194799, i32 847297441, i32 406762289, i32 1314163512, i32 1332590856, i32 1866599683, i32 -167115585, i32 750260880, i32 613907577, i32 1450815602, i32 -1129346641, i32 -560302305, i32 -644675568, i32 -1282691566, i32 -590397650, i32 1427272223, i32 778793252, i32 1343938022, i32 -1618686585, i32 2052605720, i32 1946737175, i32 -1130390852, i32 -380928628, i32 -327488454, i32 -612033030, i32 1661551462, i32 -1000029230, i32 -283371449, i32 840292616, i32 -582796489, i32 616741398, i32 312560963, i32 711312465, i32 1351876610, i32 322626781, i32 1910503582, i32 271666773, i32 -2119403562, i32 1594956187, i32 70604529, i32 -677132437, i32 1007753275, i32 1495573769, i32 -225450259, i32 -1745748998, i32 -1631928532, i32 504708206, i32 -2031925904, i32 -353800271, i32 -2045878774, i32 1514023603, i32 1998579484, i32 1312622330, i32 694541497, i32 -1712906993, i32 -2143385130, i32 1382467621, i32 776784248, i32 -1676627094, i32 -971698502, i32 -1797068168, i32 -1510196141, i32 503983604, i32 -218673497, i32 907881277, i32 423175695, i32 432175456, i32 1378068232, i32 -149744970, i32 -340918674, i32 -356311194, i32 -474200683, i32 -1501837181, i32 -1317062703, i32 26017576, i32 -1020076561, i32 -1100195163, i32 1700274565, i32 1756076034, i32 -288447217, i32 -617638597, i32 720338349, i32 1533947780, i32 354530856, i32 688349552, i32 -321042571, i32 1637815568, i32 332179504, i32 -345916010, i32 53804574, i32 -1442618417, i32 -1250730864, i32 1282449977, i32 -711025141, i32 -877994476, i32 -288586052, i32 1617046695, i32 -1666491221, i32 -1292663698, i32 1686838959, i32 431878346, i32 -1608291911, i32 1700445008, i32 1080580658, i32 1009431731, i32 832498133, i32 -1071531785, i32 -1688990951, i32 -2023776103, i32 -1778935426, i32 1648197032, i32 -130578278, i32 -1746719369, i32 300782431, i32 375919233, i32 238389289, i32 -941219882, i32 -1763778655, i32 2019080857, i32 1475708069, i32 455242339, i32 -1685863425, i32 448939670, i32 -843904277, i32 1395535956, i32 -1881585436, i32 1841049896, i32 1491858159, i32 885456874, i32 -30872223, i32 -293847949, i32 1565136089, i32 -396052509, i32 1108368660, i32 540939232, i32 1173283510, i32 -1549095958, i32 -613658859, i32 -87339056, i32 -951913406, i32 -278217803, i32 1699691293, i32 1103962373, i32 -669091426, i32 -2038084153, i32 -464828566, i32 1031889488, i32 -815619598, i32 1535977030, i32 -58162272, i32 -1043876189, i32 2132092099, i32 1774941330, i32 1199868427, i32 1452454533, i32 157007616, i32 -1390851939, i32 342012276, i32 595725824, i32 1480756522, i32 206960106, i32 497939518, i32 591360097, i32 863170706, i32 -1919713727, i32 -698356495, i32 1814182875, i32 2094937945, i32 -873565088, i32 1082520231, i32 -831049106, i32 -1509457788, i32 435703966, i32 -386934699, i32 1641649973, i32 -1452693590, i32 -989067582, i32 1510255612, i32 -2146710820, i32 -1639679442, i32 -1018874748, i32 -36346107, i32 236887753, i32 -613164077, i32 274041037, i32 1734335097, i32 -479771840, i32 -976997275, i32 1899903192, i32 1026095262, i32 -244449504, i32 356393447, i32 -1884275382, i32 -421290197, i32 -612127241], align 4
@ks2 = internal constant [256 x i32] [i32 -381855128, i32 -1803468553, i32 -162781668, i32 -1805047500, i32 1091903735, i32 1979897079, i32 -1124832466, i32 -727580568, i32 -737663887, i32 857797738, i32 1136121015, i32 1342202287, i32 507115054, i32 -1759230650, i32 337727348, i32 -1081374656, i32 1301675037, i32 -1766485585, i32 1895095763, i32 1721773893, i32 -1078195732, i32 62756741, i32 2142006736, i32 835421444, i32 -1762973773, i32 1442658625, i32 -635090970, i32 -1412822374, i32 676362277, i32 1392781812, i32 170690266, i32 -373920261, i32 1759253602, i32 -683120384, i32 1745797284, i32 664899054, i32 1329594018, i32 -393761396, i32 -1249058810, i32 2062866102, i32 -1429332356, i32 -751345684, i32 -830954599, i32 1080764994, i32 553557557, i32 -638351943, i32 -298199125, i32 991055499, i32 499776247, i32 1265440854, i32 648242737, i32 -354183246, i32 980351604, i32 -581221582, i32 1749149687, i32 -898096901, i32 -83167922, i32 -654396521, i32 1161844396, i32 -1169648345, i32 1431517754, i32 545492359, i32 -26498633, i32 -795437749, i32 1437099964, i32 -1592419752, i32 -861329053, i32 -1713251533, i32 -1507177898, i32 1060185593, i32 1593081372, i32 -1876348548, i32 -34019326, i32 69676912, i32 -2135222948, i32 86519011, i32 -1782508216, i32 -456757982, i32 1220612927, i32 -955283748, i32 133810670, i32 1090789135, i32 1078426020, i32 1569222167, i32 845107691, i32 -711212847, i32 -222510705, i32 1091646820, i32 628848692, i32 1613405280, i32 -537335645, i32 526609435, i32 236106946, i32 48312990, i32 -1352249391, i32 -892239595, i32 1797494240, i32 859738849, i32 992217954, i32 -289490654, i32 -2051890674, i32 -424014439, i32 -562951028, i32 765654824, i32 -804095931, i32 -1783130883, i32 1685915746, i32 -405998096, i32 1414112111, i32 -2021832454, i32 -1013056217, i32 -214004450, i32 172450625, i32 -1724973196, i32 980381355, i32 -185008841, i32 -1475158944, i32 -1578377736, i32 -1726226100, i32 -613520627, i32 -964995824, i32 1835478071, i32 660984891, i32 -590288892, i32 -248967737, i32 -872349789, i32 -1254551662, i32 1762651403, i32 1719377915, i32 -824476260, i32 -1601057013, i32 -652910941, i32 -1156370552, i32 1364962596, i32 2073328063, i32 1983633131, i32 926494387, i32 -871278215, i32 -2144935273, i32 -198299347, i32 1749200295, i32 -966120645, i32 309677260, i32 2016342300, i32 1779581495, i32 -1215147545, i32 111262694, i32 1274766160, i32 443224088, i32 298511866, i32 1025883608, i32 -488520759, i32 1145181785, i32 168956806, i32 -653464466, i32 -710153686, i32 1689216846, i32 -628709281, i32 -1094719096, i32 1692713982, i32 -1648590761, i32 -252198778, i32 1618508792, i32 1610833997, i32 -771914938, i32 -164094032, i32 2001055236, i32 -684262196, i32 -2092799181, i32 -266425487, i32 -1333771897, i32 1006657119, i32 2006996926, i32 -1108824540, i32 1430667929, i32 -1084739999, i32 1314452623, i32 -220332638, i32 -193663176, i32 -2021016126, i32 1399257539, i32 -927756684, i32 -1267338667, i32 1190975929, i32 2062231137, i32 -1960976508, i32 -2073424263, i32 -1856006686, i32 1181637006, i32 548689776, i32 -1932175983, i32 -922558900, i32 -1190417183, i32 -1149106736, i32 296247880, i32 1970579870, i32 -1216407114, i32 -525738999, i32 1714227617, i32 -1003338189, i32 -396747006, i32 166772364, i32 1251581989, i32 493813264, i32 448347421, i32 195405023, i32 -1584991729, i32 677966185, i32 -591930749, i32 1463355134, i32 -1578971493, i32 1338867538, i32 1343315457, i32 -1492745222, i32 -1610435132, i32 233230375, i32 -1694987225, i32 2000651841, i32 -1017099258, i32 1638401717, i32 -266896856, i32 -1057650976, i32 6314154, i32 819756386, i32 300326615, i32 590932579, i32 1405279636, i32 -1027467724, i32 -1144263082, i32 -1866680610, i32 -335774303, i32 -833020554, i32 1862657033, i32 1266418056, i32 963775037, i32 2089974820, i32 -2031914401, i32 1917689273, i32 448879540, i32 -744572676, i32 -313240200, i32 150775221, i32 -667058989, i32 1303187396, i32 508620638, i32 -1318983944, i32 -1568336679, i32 1817252668, i32 1876281319, i32 1457606340, i32 908771278, i32 -574175177, i32 -677760460, i32 -1838972398, i32 1729034894, i32 1080033504], align 4
@ks3 = internal constant [256 x i32] [i32 976866871, i32 -738527793, i32 -1413318857, i32 1522871579, i32 1555064734, i32 1336096578, i32 -746444992, i32 -1715692610, i32 -720269667, i32 -1089506539, i32 -701686658, i32 -956251013, i32 -1215554709, i32 564236357, i32 -1301368386, i32 1781952180, i32 1464380207, i32 -1131123079, i32 -962365742, i32 1699332808, i32 1393555694, i32 1183702653, i32 -713881059, i32 1288719814, i32 691649499, i32 -1447410096, i32 -1399511320, i32 -1101077756, i32 -1577396752, i32 1781354906, i32 1676643554, i32 -1702433246, i32 -1064713544, i32 1126444790, i32 -1524759638, i32 -1661808476, i32 -2084544070, i32 -1679201715, i32 -1880812208, i32 -1167828010, i32 673620729, i32 -1489356063, i32 1269405062, i32 -279616791, i32 -953159725, i32 -145557542, i32 1057255273, i32 2012875353, i32 -2132498155, i32 -2018474495, i32 -1693849939, i32 993977747, i32 -376373926, i32 -1640704105, i32 753973209, i32 36408145, i32 -1764381638, i32 25011837, i32 -774947114, i32 2088578344, i32 530523599, i32 -1376601957, i32 1524020338, i32 1518925132, i32 -534139791, i32 -535190042, i32 1202760957, i32 -309069157, i32 -388774771, i32 674977740, i32 -120232407, i32 2031300136, i32 2019492241, i32 -311074731, i32 -141160892, i32 -472686964, i32 352677332, i32 -1997247046, i32 60907813, i32 90501309, i32 -1007968747, i32 1016092578, i32 -1759044884, i32 -1455814870, i32 457141659, i32 509813237, i32 -174299397, i32 652014361, i32 1966332200, i32 -1319764491, i32 55981186, i32 -1967506245, i32 676427537, i32 -1039476232, i32 -1412673177, i32 -861040033, i32 1307055953, i32 942726286, i32 933058658, i32 -1826555503, i32 -361066302, i32 -79791154, i32 1361170020, i32 2001714738, i32 -1464409218, i32 -1020707514, i32 1222529897, i32 1679025792, i32 -1565652976, i32 -580013532, i32 1770335741, i32 151462246, i32 -1281735158, i32 1682292957, i32 1483529935, i32 471910574, i32 1539241949, i32 458788160, i32 -858652289, i32 1807016891, i32 -576558466, i32 978976581, i32 1043663428, i32 -1129001515, i32 1927990952, i32 -94075717, i32 -1922690386, i32 -1086558393, i32 -761535389, i32 1412390302, i32 -1362987237, i32 -162634896, i32 1947078029, i32 -413461673, i32 -126740879, i32 -1353482915, i32 1077988104, i32 1320477388, i32 886195818, i32 18198404, i32 -508558296, i32 -1785185763, i32 112762804, i32 -831610808, i32 1866414978, i32 891333506, i32 18488651, i32 661792760, i32 1628790961, i32 -409780260, i32 -1153795797, i32 876946877, i32 -1601685023, i32 1372485963, i32 791857591, i32 -1608533303, i32 -534984578, i32 -1127755274, i32 -822013501, i32 -1578587449, i32 445679433, i32 -732971622, i32 -790962485, i32 -720709064, i32 54117162, i32 -963561881, i32 -1913048708, i32 -525259953, i32 -140617289, i32 1140177722, i32 -220915201, i32 668550556, i32 -1080614356, i32 367459370, i32 261225585, i32 -1684794075, i32 -85617823, i32 -826893077, i32 -1029151655, i32 314222801, i32 -1228863650, i32 -486184436, i32 282218597, i32 -888953790, i32 -521376242, i32 379116347, i32 1285071038, i32 846784868, i32 -1625320142, i32 -523005217, i32 -744475605, i32 -1989021154, i32 453669953, i32 1268987020, i32 -977374944, i32 -1015663912, i32 -550133875, i32 -1684459730, i32 -435458233, i32 266596637, i32 -447948204, i32 517658769, i32 -832407089, i32 -851542417, i32 370717030, i32 -47440635, i32 -2070949179, i32 -151313767, i32 -182193321, i32 -1506642397, i32 -1817692879, i32 1456262402, i32 -1393524382, i32 1517677493, i32 1846949527, i32 -1999473716, i32 -560569710, i32 -2118563376, i32 1280348187, i32 1908823572, i32 -423180355, i32 846861322, i32 1172426758, i32 -1007518822, i32 -911584259, i32 1655181056, i32 -1155153950, i32 901632758, i32 1897031941, i32 -1308360158, i32 -1228157060, i32 -847864789, i32 1393639104, i32 373351379, i32 950779232, i32 625454576, i32 -1170726756, i32 -146354570, i32 2007998917, i32 544563296, i32 -2050228658, i32 -1964470824, i32 2058025392, i32 1291430526, i32 424198748, i32 50039436, i32 29584100, i32 -689184263, i32 -1865090967, i32 -1503863136, i32 1057563949, i32 -1039604065, i32 -1219600078, i32 -831004069, i32 1469046755, i32 985887462], align 4
@selftest.plain = private unnamed_addr constant [9 x i8] c"BLOWFISH\00", align 1
@selftest.plain3 = private unnamed_addr constant [8 x i8] c"\FE\DC\BA\98vT2\10", align 1
@selftest.key3 = private unnamed_addr constant [8 x i8] c"Ayn\A0Ran\E4", align 1
@selftest.cipher3 = private unnamed_addr constant [8 x i8] c"\E1\13\F4\10,\FC\CEC", align 1
@.str2324 = private unnamed_addr constant [27 x i8] c"abcdefghijklmnopqrstuvwxyz\00", align 1
@.str3325 = private unnamed_addr constant [9 x i8] c"2N\D0\FE\F4\13\A2\03\00", align 1
@.str4326 = private unnamed_addr constant [30 x i8] c"Blowfish selftest failed (1).\00", align 1
@.str5327 = private unnamed_addr constant [30 x i8] c"Blowfish selftest failed (2).\00", align 1
@.str6328 = private unnamed_addr constant [30 x i8] c"Blowfish selftest failed (3).\00", align 1
@.str7329 = private unnamed_addr constant [30 x i8] c"Blowfish selftest failed (4).\00", align 1
@.str331 = private unnamed_addr constant [12 x i8] c"CAMELLIA128\00", align 1
@camellia128_oids = internal global [5 x %struct.gcry_cipher_oid_spec] [%struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([26 x i8]* @.str19350, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([19 x i8]* @.str20351, i32 0, i32 0), i32 1 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([19 x i8]* @.str21352, i32 0, i32 0), i32 5 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([19 x i8]* @.str22353, i32 0, i32 0), i32 2 }, %struct.gcry_cipher_oid_spec zeroinitializer], align 4
@_gcry_cipher_spec_camellia128 = internal hidden global %struct.gcry_cipher_spec { i32 310, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([12 x i8]* @.str331, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* getelementptr inbounds ([5 x %struct.gcry_cipher_oid_spec]* @camellia128_oids, i32 0, i32 0), i32 16, i32 128, i32 276, i32 (i8*, i8*, i32)* @camellia_setkey, i32 (i8*, i8*, i8*)* @camellia_encrypt, i32 (i8*, i8*, i8*)* @camellia_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str1332 = private unnamed_addr constant [12 x i8] c"CAMELLIA192\00", align 1
@camellia192_oids = internal global [5 x %struct.gcry_cipher_oid_spec] [%struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([26 x i8]* @.str7338, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([20 x i8]* @.str8339, i32 0, i32 0), i32 1 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([20 x i8]* @.str9340, i32 0, i32 0), i32 5 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([20 x i8]* @.str10341, i32 0, i32 0), i32 2 }, %struct.gcry_cipher_oid_spec zeroinitializer], align 4
@_gcry_cipher_spec_camellia192 = internal hidden global %struct.gcry_cipher_spec { i32 311, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([12 x i8]* @.str1332, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* getelementptr inbounds ([5 x %struct.gcry_cipher_oid_spec]* @camellia192_oids, i32 0, i32 0), i32 16, i32 192, i32 276, i32 (i8*, i8*, i32)* @camellia_setkey, i32 (i8*, i8*, i8*)* @camellia_encrypt, i32 (i8*, i8*, i8*)* @camellia_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str2333 = private unnamed_addr constant [12 x i8] c"CAMELLIA256\00", align 1
@camellia256_oids = internal global [5 x %struct.gcry_cipher_oid_spec] [%struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([26 x i8]* @.str3334, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([20 x i8]* @.str4335, i32 0, i32 0), i32 1 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([20 x i8]* @.str5336, i32 0, i32 0), i32 5 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([20 x i8]* @.str6337, i32 0, i32 0), i32 2 }, %struct.gcry_cipher_oid_spec zeroinitializer], align 4
@_gcry_cipher_spec_camellia256 = internal hidden global %struct.gcry_cipher_spec { i32 312, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([12 x i8]* @.str2333, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* getelementptr inbounds ([5 x %struct.gcry_cipher_oid_spec]* @camellia256_oids, i32 0, i32 0), i32 16, i32 256, i32 276, i32 (i8*, i8*, i32)* @camellia_setkey, i32 (i8*, i8*, i8*)* @camellia_encrypt, i32 (i8*, i8*, i8*)* @camellia_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str3334 = private unnamed_addr constant [26 x i8] c"1.2.392.200011.61.1.1.1.4\00", align 1
@.str4335 = private unnamed_addr constant [20 x i8] c"0.3.4401.5.3.1.9.41\00", align 1
@.str5336 = private unnamed_addr constant [20 x i8] c"0.3.4401.5.3.1.9.43\00", align 1
@.str6337 = private unnamed_addr constant [20 x i8] c"0.3.4401.5.3.1.9.44\00", align 1
@.str7338 = private unnamed_addr constant [26 x i8] c"1.2.392.200011.61.1.1.1.3\00", align 1
@.str8339 = private unnamed_addr constant [20 x i8] c"0.3.4401.5.3.1.9.21\00", align 1
@.str9340 = private unnamed_addr constant [20 x i8] c"0.3.4401.5.3.1.9.23\00", align 1
@.str10341 = private unnamed_addr constant [20 x i8] c"0.3.4401.5.3.1.9.24\00", align 1
@camellia_setkey.initialized = internal global i32 0, align 4
@camellia_setkey.selftest_failed = internal global i8* null, align 4
@.str11342 = private unnamed_addr constant [4 x i8] c"%s\0A\00", align 1
@selftest.plaintext = internal constant [16 x i8] c"\01#Eg\89\AB\CD\EF\FE\DC\BA\98vT2\10", align 1
@selftest.key_128 = internal constant [16 x i8] c"\01#Eg\89\AB\CD\EF\FE\DC\BA\98vT2\10", align 1
@selftest.ciphertext_128 = internal constant [16 x i8] c"gg18T\96is\08W\06VH\EA\BEC", align 1
@selftest.key_192 = internal constant [24 x i8] c"\01#Eg\89\AB\CD\EF\FE\DC\BA\98vT2\10\00\11\223DUfw", align 1
@selftest.ciphertext_192 = internal constant [16 x i8] c"\B4\994\01\B3\E9\96\F8N\E5\CE\E7\D7\9B\09\B9", align 1
@selftest.key_256 = internal constant [32 x i8] c"\01#Eg\89\AB\CD\EF\FE\DC\BA\98vT2\10\00\11\223DUfw\88\99\AA\BB\CC\DD\EE\FF", align 1
@selftest.ciphertext_256 = internal constant [16 x i8] c"\9A\CC#}\FF\16\D7l \EF|\91\9E:u\09", align 1
@.str12343 = private unnamed_addr constant [37 x i8] c"CAMELLIA-128 test encryption failed.\00", align 1
@.str13344 = private unnamed_addr constant [37 x i8] c"CAMELLIA-128 test decryption failed.\00", align 1
@.str14345 = private unnamed_addr constant [37 x i8] c"CAMELLIA-192 test encryption failed.\00", align 1
@.str15346 = private unnamed_addr constant [37 x i8] c"CAMELLIA-192 test decryption failed.\00", align 1
@.str16347 = private unnamed_addr constant [37 x i8] c"CAMELLIA-256 test encryption failed.\00", align 1
@.str17348 = private unnamed_addr constant [37 x i8] c"CAMELLIA-256 test decryption failed.\00", align 1
@.str18349 = private unnamed_addr constant [9 x i8] c"CAMELLIA\00", align 1
@.str19350 = private unnamed_addr constant [26 x i8] c"1.2.392.200011.61.1.1.1.2\00", align 1
@.str20351 = private unnamed_addr constant [19 x i8] c"0.3.4401.5.3.1.9.1\00", align 1
@.str21352 = private unnamed_addr constant [19 x i8] c"0.3.4401.5.3.1.9.3\00", align 1
@.str22353 = private unnamed_addr constant [19 x i8] c"0.3.4401.5.3.1.9.4\00", align 1
@camellia_sp1110 = internal constant [256 x i32] [i32 1886416896, i32 -2105376256, i32 741092352, i32 -320017408, i32 -1280068864, i32 656877312, i32 -1061109760, i32 -437918464, i32 -454761472, i32 -2054847232, i32 1465341696, i32 892679424, i32 -353703424, i32 202116096, i32 -1364283904, i32 1094795520, i32 589505280, i32 -269488384, i32 1802201856, i32 -1819045120, i32 1162167552, i32 421075200, i32 -1515870976, i32 555819264, i32 -303174400, i32 235802112, i32 1330597632, i32 1313754624, i32 488447232, i32 1701143808, i32 -1835888128, i32 -1111638784, i32 -2038004224, i32 -1195853824, i32 -1347440896, i32 -1886417152, i32 2088532992, i32 -336860416, i32 522133248, i32 -825307648, i32 1044266496, i32 808464384, i32 -589505536, i32 1600085760, i32 1583242752, i32 -976894720, i32 185273088, i32 437918208, i32 -1499027968, i32 -505290496, i32 960051456, i32 -892679680, i32 -707406592, i32 1195853568, i32 1566399744, i32 1027423488, i32 -640034560, i32 16843008, i32 1515870720, i32 -690563584, i32 1364283648, i32 1448498688, i32 1819044864, i32 1296911616, i32 -1953789184, i32 218959104, i32 -1701144064, i32 1717986816, i32 -67372288, i32 -858993664, i32 -1330597888, i32 757935360, i32 1953788928, i32 303174144, i32 724249344, i32 538976256, i32 -252645376, i32 -1313754880, i32 -2071690240, i32 -1717987072, i32 -538976512, i32 1280068608, i32 -875836672, i32 -1027423744, i32 875836416, i32 2122219008, i32 1987474944, i32 84215040, i32 1835887872, i32 -1212696832, i32 -1448498944, i32 825307392, i32 -774778624, i32 387389184, i32 67372032, i32 -673720576, i32 336860160, i32 1482184704, i32 976894464, i32 1633771776, i32 -555819520, i32 454761216, i32 286331136, i32 471604224, i32 842150400, i32 252645120, i32 -1667458048, i32 370546176, i32 1397969664, i32 404232192, i32 -218959360, i32 572662272, i32 -16843264, i32 1145324544, i32 -808464640, i32 -1296911872, i32 -1010580736, i32 -1246382848, i32 2054846976, i32 -1852731136, i32 606348288, i32 134744064, i32 -387389440, i32 -1465341952, i32 1616928768, i32 -50529280, i32 1768515840, i32 1347440640, i32 -1431655936, i32 -791621632, i32 -1600086016, i32 2105376000, i32 -1583243008, i32 -1987475200, i32 1650614784, i32 -1751673088, i32 1414812672, i32 1532713728, i32 505290240, i32 -1785359104, i32 -522133504, i32 -256, i32 1684300800, i32 -757935616, i32 269488128, i32 -993737728, i32 0, i32 1212696576, i32 -1549556992, i32 -134744320, i32 1970631936, i32 -606348544, i32 -1970632192, i32 50529024, i32 -421075456, i32 -623191552, i32 151587072, i32 1061109504, i32 -572662528, i32 -1802202112, i32 -2021161216, i32 1549556736, i32 -2088533248, i32 33686016, i32 -842150656, i32 1246382592, i32 -1869574144, i32 858993408, i32 1936945920, i32 1734829824, i32 -151587328, i32 -202116352, i32 -1650615040, i32 2139062016, i32 -1077952768, i32 -488447488, i32 1381126656, i32 -1684301056, i32 -656877568, i32 640034304, i32 -926365696, i32 926365440, i32 -960051712, i32 993737472, i32 -2122219264, i32 -1768516096, i32 1869573888, i32 1263225600, i32 320017152, i32 -1094795776, i32 1667457792, i32 774778368, i32 -370546432, i32 2038003968, i32 -1482184960, i32 -1936946176, i32 -1616929024, i32 1852730880, i32 -1128481792, i32 -1903260160, i32 690563328, i32 -168430336, i32 -101058304, i32 -1229539840, i32 791621376, i32 -33686272, i32 -1263225856, i32 1499027712, i32 2021160960, i32 -1734830080, i32 101058048, i32 1785358848, i32 -404232448, i32 1179010560, i32 1903259904, i32 -1162167808, i32 -724249600, i32 623191296, i32 -1414812928, i32 1111638528, i32 -2004318208, i32 -1566400000, i32 -1920103168, i32 -84215296, i32 1920102912, i32 117901056, i32 -1179010816, i32 1431655680, i32 -117901312, i32 -286331392, i32 -1397969920, i32 168430080, i32 909522432, i32 1229539584, i32 707406336, i32 1751672832, i32 1010580480, i32 943208448, i32 -235802368, i32 -1532713984, i32 1077952512, i32 673720320, i32 -741092608, i32 2071689984, i32 -1145324800, i32 -909522688, i32 1128481536, i32 -1044266752, i32 353703168, i32 -471604480, i32 -1381126912, i32 -185273344, i32 2004317952, i32 -943208704, i32 -2139062272, i32 -1633772032], align 4
@camellia_sp0222 = internal constant [256 x i32] [i32 14737632, i32 328965, i32 5789784, i32 14277081, i32 6776679, i32 5131854, i32 8487297, i32 13355979, i32 13224393, i32 723723, i32 11447982, i32 6974058, i32 14013909, i32 1579032, i32 6118749, i32 8553090, i32 4605510, i32 14671839, i32 14079702, i32 2565927, i32 9079434, i32 3289650, i32 4934475, i32 4342338, i32 14408667, i32 1842204, i32 10395294, i32 10263708, i32 3815994, i32 13290186, i32 2434341, i32 8092539, i32 855309, i32 7434609, i32 6250335, i32 2039583, i32 16316664, i32 14145495, i32 4079166, i32 10329501, i32 8158332, i32 6316128, i32 12171705, i32 12500670, i32 12369084, i32 9145227, i32 1447446, i32 3421236, i32 5066061, i32 12829635, i32 7500402, i32 9803157, i32 11250603, i32 9342606, i32 12237498, i32 8026746, i32 11776947, i32 131586, i32 11842740, i32 11382189, i32 10658466, i32 11316396, i32 14211288, i32 10132122, i32 1513239, i32 1710618, i32 3487029, i32 13421772, i32 16250871, i32 10066329, i32 6381921, i32 5921370, i32 15263976, i32 2368548, i32 5658198, i32 4210752, i32 14803425, i32 6513507, i32 592137, i32 3355443, i32 12566463, i32 10000536, i32 9934743, i32 8750469, i32 6842472, i32 16579836, i32 15527148, i32 657930, i32 14342874, i32 7303023, i32 5460819, i32 6447714, i32 10724259, i32 3026478, i32 526344, i32 11513775, i32 2631720, i32 11579568, i32 7631988, i32 12763842, i32 12434877, i32 3552822, i32 2236962, i32 3684408, i32 6579300, i32 1973790, i32 3750201, i32 2894892, i32 10921638, i32 3158064, i32 15066597, i32 4473924, i32 16645629, i32 8947848, i32 10461087, i32 6645093, i32 8882055, i32 7039851, i32 16053492, i32 2302755, i32 4737096, i32 1052688, i32 13750737, i32 5329233, i32 12632256, i32 16382457, i32 13816530, i32 10526880, i32 5592405, i32 10592673, i32 4276545, i32 16448250, i32 4408131, i32 1250067, i32 12895428, i32 3092271, i32 11053224, i32 11974326, i32 3947580, i32 2829099, i32 12698049, i32 16777215, i32 13158600, i32 10855845, i32 2105376, i32 9013641, i32 0, i32 9474192, i32 4671303, i32 15724527, i32 15395562, i32 12040119, i32 1381653, i32 394758, i32 13487565, i32 11908533, i32 1184274, i32 8289918, i32 12303291, i32 2697513, i32 986895, i32 12105912, i32 460551, i32 263172, i32 10197915, i32 9737364, i32 2171169, i32 6710886, i32 15132390, i32 13553358, i32 15592941, i32 15198183, i32 3881787, i32 16711422, i32 8355711, i32 12961221, i32 10790052, i32 3618615, i32 11645361, i32 5000268, i32 9539985, i32 7237230, i32 9276813, i32 7763574, i32 197379, i32 2960685, i32 14606046, i32 9868950, i32 2500134, i32 8224125, i32 13027014, i32 6052956, i32 13882323, i32 15921906, i32 5197647, i32 1644825, i32 4144959, i32 14474460, i32 7960953, i32 1907997, i32 5395026, i32 15461355, i32 15987699, i32 7171437, i32 6184542, i32 16514043, i32 6908265, i32 11711154, i32 15790320, i32 3223857, i32 789516, i32 13948116, i32 13619151, i32 9211020, i32 14869218, i32 7697781, i32 11119017, i32 4868682, i32 5723991, i32 8684676, i32 1118481, i32 4539717, i32 1776411, i32 16119285, i32 15000804, i32 921102, i32 7566195, i32 11184810, i32 15856113, i32 14540253, i32 5855577, i32 1315860, i32 7105644, i32 9605778, i32 5526612, i32 13684944, i32 7895160, i32 7368816, i32 14935011, i32 4802889, i32 8421504, i32 5263440, i32 10987431, i32 16185078, i32 7829367, i32 9671571, i32 8816262, i32 8618883, i32 2763306, i32 13092807, i32 5987163, i32 15329769, i32 15658734, i32 9408399, i32 65793, i32 4013373], align 4
@camellia_sp3033 = internal constant [256 x i32] [i32 939538488, i32 1090535745, i32 369104406, i32 1979741814, i32 -654255655, i32 -1828678765, i32 1610637408, i32 -234818830, i32 1912631922, i32 -1040137534, i32 -1426019413, i32 -1711236454, i32 1962964341, i32 100664838, i32 1459640151, i32 -1610571616, i32 -1862233711, i32 -150931465, i32 -1258244683, i32 -922695223, i32 -1577016670, i32 -1946121076, i32 -771697966, i32 -1879011184, i32 -167708938, i32 117442311, i32 -1493129305, i32 654321447, i32 -1912566130, i32 -1308577102, i32 1224755529, i32 -570368290, i32 1124090691, i32 1543527516, i32 -687810601, i32 -956250169, i32 1040203326, i32 -184486411, i32 -1895788657, i32 1728079719, i32 520101663, i32 402659352, i32 1845522030, i32 -1358909521, i32 788541231, i32 -503258398, i32 -2063563387, i32 218107149, i32 1392530259, i32 -268373776, i32 -1677681508, i32 1694524773, i32 -369038614, i32 -1560239197, i32 -1375686994, i32 -1644126562, i32 -335483668, i32 -2147450752, i32 754986285, i32 1795189611, i32 -1476351832, i32 721431339, i32 905983542, i32 -1509906778, i32 -989805115, i32 -2046785914, i32 1291865421, i32 855651123, i32 -50266627, i32 1711302246, i32 1476417624, i32 -1778346346, i32 973093434, i32 150997257, i32 -1795123819, i32 268439568, i32 2013296760, i32 -671033128, i32 1107313218, i32 -872362804, i32 -285151249, i32 637543974, i32 -452925979, i32 1627414881, i32 436214298, i32 1056980799, i32 989870907, i32 -2113895806, i32 -1241467210, i32 -620700709, i32 -738143020, i32 -1744791400, i32 -402593560, i32 -1962898549, i32 33554946, i32 -352261141, i32 167774730, i32 738208812, i32 486546717, i32 -1342132048, i32 1862299503, i32 -1929343603, i32 -2013230968, i32 234884622, i32 419436825, i32 -2030008441, i32 1308642894, i32 184552203, i32 -1459574359, i32 201329676, i32 2030074233, i32 285217041, i32 2130739071, i32 570434082, i32 -419371033, i32 1493195097, i32 -520035871, i32 -637478182, i32 1023425853, i32 -939472696, i32 301994514, i32 67109892, i32 1946186868, i32 1409307732, i32 805318704, i32 2113961598, i32 -1275022156, i32 671098920, i32 1426085205, i32 1744857192, i32 1342197840, i32 -1107247426, i32 -805252912, i32 -1006582588, i32 822096177, i32 -889140277, i32 704653866, i32 -1392464467, i32 251662095, i32 -905917750, i32 1879076976, i32 -16711681, i32 838873650, i32 1761634665, i32 134219784, i32 1644192354, i32 0, i32 603989028, i32 -788475439, i32 -83821573, i32 -1174357318, i32 -318706195, i32 1157645637, i32 -2130673279, i32 1929409395, i32 1828744557, i32 -2080340860, i32 -1627349089, i32 -301928722, i32 1241533002, i32 -1023360061, i32 771763758, i32 -1056915007, i32 16777473, i32 -436148506, i32 620766501, i32 1207978056, i32 -1728013927, i32 -1191134791, i32 -1291799629, i32 2063629179, i32 -117376519, i32 -838807858, i32 -1090469953, i32 -553590817, i32 1895854449, i32 687876393, i32 -855585331, i32 1811967084, i32 318771987, i32 1677747300, i32 -1694458981, i32 1660969827, i32 -1660904035, i32 -1073692480, i32 1258310475, i32 -1224689737, i32 -1526684251, i32 -1996453495, i32 1593859935, i32 -1325354575, i32 385881879, i32 -201263884, i32 -1140802372, i32 -754920493, i32 1174423110, i32 -822030385, i32 922761015, i32 1577082462, i32 1191200583, i32 -1811901292, i32 -100599046, i32 -67044100, i32 1526750043, i32 -1761568873, i32 -33489154, i32 1509972570, i32 -1409241940, i32 1006648380, i32 1275087948, i32 50332419, i32 889206069, i32 -218041357, i32 587211555, i32 -1207912264, i32 1560304989, i32 1778412138, i32 -1845456238, i32 -721365547, i32 553656609, i32 1140868164, i32 1358975313, i32 -973027642, i32 2097184125, i32 956315961, i32 -2097118333, i32 -603923236, i32 -1442796886, i32 2080406652, i32 1996519287, i32 1442862678, i32 83887365, i32 452991771, i32 -1543461724, i32 352326933, i32 872428596, i32 503324190, i32 469769244, i32 -134153992, i32 1375752786, i32 536879136, i32 335549460, i32 -385816087, i32 -1124024899, i32 -587145763, i32 -469703452, i32 -1593794143, i32 -536813344, i32 -1979676022, i32 -251596303, i32 -704588074, i32 2046851706, i32 -1157579845, i32 -486480925, i32 1073758272, i32 1325420367], align 4
@camellia_sp4404 = internal constant [256 x i32] [i32 1886388336, i32 741081132, i32 -1280114509, i32 -1061158720, i32 -454819612, i32 1465319511, i32 -353763094, i32 -1364328274, i32 589496355, i32 1802174571, i32 1162149957, i32 -1515913051, i32 -303234835, i32 1330577487, i32 488439837, i32 -1835925358, i32 -2038038394, i32 -1347485521, i32 2088501372, i32 522125343, i32 1044250686, i32 -589561636, i32 1583218782, i32 185270283, i32 -1499070298, i32 960036921, i32 -707460907, i32 1566376029, i32 -640089895, i32 1515847770, i32 1364262993, i32 1819017324, i32 -1953824629, i32 -1701183334, i32 -67436293, i32 -1330642768, i32 1953759348, i32 724238379, i32 -252706576, i32 -2071723900, i32 -539033377, i32 -875888437, i32 875823156, i32 1987444854, i32 1835860077, i32 -1448542039, i32 -774831919, i32 67371012, i32 336855060, i32 976879674, i32 -555876130, i32 286326801, i32 842137650, i32 -1667497828, i32 1397948499, i32 -219021070, i32 -16908034, i32 -808517425, i32 -1010630461, i32 2054815866, i32 606339108, i32 -387448600, i32 1616904288, i32 1768489065, i32 -1431699286, i32 -1600126816, i32 -1583284063, i32 1650589794, i32 1414791252, i32 505282590, i32 -522190624, i32 1684275300, i32 269484048, i32 0, i32 -1549598557, i32 1970602101, i32 -1970667382, i32 -421134106, i32 151584777, i32 -572718883, i32 -2021195641, i32 -2088566653, i32 -842202931, i32 -1869610864, i32 1936916595, i32 -151650058, i32 -1650655075, i32 -1078001473, i32 1381105746, i32 -656932648, i32 -926416696, i32 -960102202, i32 -2122252159, i32 1869545583, i32 320012307, i32 1667432547, i32 -370605847, i32 -1482227545, i32 -1616969569, i32 -1128529732, i32 690552873, i32 -101121799, i32 791609391, i32 -1263271756, i32 2021130360, i32 101056518, i32 -404291353, i32 1903231089, i32 -724303660, i32 -1414856533, i32 -2004352888, i32 -1920139123, i32 1920073842, i32 -1179057991, i32 -117964552, i32 -1398013780, i32 909508662, i32 707395626, i32 1010565180, i32 -235863823, i32 1077936192, i32 -741146413, i32 -1145372485, i32 1128464451, i32 353697813, i32 -1381171027, i32 2004287607, i32 -2139094912, i32 -2105409406, i32 -320077588, i32 656867367, i32 -437976859, i32 -2054881147, i32 892665909, i32 202113036, i32 1094778945, i32 -269549329, i32 -1819082605, i32 421068825, i32 555810849, i32 235798542, i32 1313734734, i32 1701118053, i32 -1111686979, i32 -1195900744, i32 -1886453617, i32 -336920341, i32 -825360178, i32 808452144, i32 1600061535, i32 -976944955, i32 437911578, i32 -505347871, i32 -892731190, i32 1195835463, i32 1027407933, i32 16842753, i32 -690618154, i32 1448476758, i32 1296891981, i32 218955789, i32 1717960806, i32 -859045684, i32 757923885, i32 303169554, i32 538968096, i32 -1313800015, i32 -1718026087, i32 1280049228, i32 -1027473214, i32 2122186878, i32 84213765, i32 -1212743497, i32 825294897, i32 387383319, i32 -673775401, i32 1482162264, i32 1633747041, i32 454754331, i32 471597084, i32 252641295, i32 370540566, i32 404226072, i32 572653602, i32 1145307204, i32 -1296957262, i32 -1246429003, i32 -1852768111, i32 134742024, i32 -1465384792, i32 -50593540, i32 1347420240, i32 -791674672, i32 2105344125, i32 -1987510135, i32 -1751711593, i32 1532690523, i32 -1785397099, i32 -65281, i32 -757989166, i32 -993787708, i32 1212678216, i32 -134807305, i32 -606404389, i32 50528259, i32 -623247142, i32 1061093439, i32 -1802239852, i32 1549533276, i32 33685506, i32 1246363722, i32 858980403, i32 1734803559, i32 -202178317, i32 2139029631, i32 -488505118, i32 -1684340581, i32 640024614, i32 926351415, i32 993722427, i32 -1768554346, i32 1263206475, i32 -1094844226, i32 774766638, i32 2037973113, i32 -1936981876, i32 1852702830, i32 -1903296370, i32 -168492811, i32 -1229586250, i32 -33750787, i32 1499005017, i32 -1734868840, i32 1785331818, i32 1178992710, i32 -1162215238, i32 623181861, i32 1111621698, i32 -1566441310, i32 -84279046, i32 117899271, i32 1431634005, i32 -286392082, i32 168427530, i32 1229520969, i32 1751646312, i32 943194168, i32 -1532755804, i32 673710120, i32 2071658619, i32 -909573943, i32 -1044315967, i32 -471662365, i32 -185335564, i32 -943259449, i32 -1633812322], align 4
@_gcry_cast5_s1to4 = internal hidden constant [4 x [256 x i32]] [[256 x i32] [i32 821772500, i32 -1616838901, i32 1810681135, i32 1059425402, i32 505495343, i32 -1677701677, i32 1610868032, i32 -811611831, i32 -1076580569, i32 -2000962123, i32 -503103344, i32 -1731160459, i32 1852023008, i32 365126098, i32 -1025022435, i32 584384398, i32 677919599, i32 -1065365415, i32 -14452280, i32 2002735330, i32 1136869587, i32 -550533546, i32 -2005097446, i32 -1563247315, i32 -1580605226, i32 879511577, i32 1639411079, i32 575934255, i32 717107937, i32 -1437329813, i32 576097850, i32 -1563213360, i32 1725645000, i32 -1484506833, i32 5111599, i32 767152862, i32 -1751892052, i32 1251459544, i32 1383482551, i32 -1242286169, i32 -1205028113, i32 -682503847, i32 1878520045, i32 1510570527, i32 -2105841456, i32 -1863518930, i32 582008916, i32 -1131521739, i32 1265446783, i32 1354458274, i32 -765048560, i32 -1092255443, i32 -1221385584, i32 -382003809, i32 -1265703919, i32 1275016285, i32 -45759936, i32 -1389258945, i32 -990457810, i32 1442611557, i32 -709768531, i32 -1582551634, i32 -1563117715, i32 -1046803376, i32 -2011021070, i32 208555832, i32 -1528512553, i32 1331405426, i32 1447828783, i32 -979610855, i32 -1186340012, i32 -1337562626, i32 -1313428598, i32 -955033379, i32 1669711173, i32 286233437, i32 1465092821, i32 1782121619, i32 -432195616, i32 710211251, i32 980974943, i32 1651941557, i32 430374111, i32 2051154026, i32 704238805, i32 -165996399, i32 -1150146722, i32 -1437564569, i32 948965521, i32 -961214997, i32 -2067281012, i32 718756367, i32 -2025188313, i32 -1563323541, i32 718440111, i32 -1437150575, i32 -678870176, i32 1113355533, i32 -1816945114, i32 410092745, i32 1811985197, i32 1944238868, i32 -1598112708, i32 1415722873, i32 1682284203, i32 1060277122, i32 1998114690, i32 1503841958, i32 82706478, i32 -1979811610, i32 1068173648, i32 845149890, i32 -2127020283, i32 1768146376, i32 1993038550, i32 -728140599, i32 -904393265, i32 940016341, i32 -939893514, i32 -1966926575, i32 904371731, i32 1205506512, i32 -200306554, i32 -1478344290, i32 825647681, i32 85914773, i32 -1437123836, i32 1249926541, i32 1417871568, i32 3287612, i32 -1083912737, i32 -1168660850, i32 1975924523, i32 1353700161, i32 -1480510859, i32 -1856369675, i32 1800716203, i32 722146342, i32 -1421030953, i32 1151126914, i32 -134483355, i32 -1417296397, i32 458611604, i32 -1428888796, i32 -811287233, i32 770352098, i32 -1642050302, i32 -927128148, i32 -354462285, i32 -708993384, i32 -485346894, i32 718646636, i32 -1790760482, i32 -1380039384, i32 -663679127, i32 -1437480689, i32 -1434948618, i32 575749918, i32 -1437489253, i32 718488780, i32 2069512688, i32 -746783827, i32 453416197, i32 1106044049, i32 -1262275866, i32 52586708, i32 -916452660, i32 -835158419, i32 -1083461268, i32 1785789304, i32 218356169, i32 -723568162, i32 -535796774, i32 1194783844, i32 1523787992, i32 -1287140202, i32 1975193539, i32 -1739514885, i32 1341901877, i32 -1249128598, i32 -518059332, i32 -1077543350, i32 -1492456432, i32 -1405528310, i32 1057244207, i32 1636348243, i32 -533104082, i32 1462225785, i32 -1662303857, i32 481089165, i32 718503062, i32 24497053, i32 -962724087, i32 -950311440, i32 -639942440, i32 -334596231, i32 1195698900, i32 -1323552140, i32 -584791138, i32 2115785917, i32 -267303687, i32 -769388879, i32 -1770671107, i32 -1548994731, i32 -730060881, i32 1372086093, i32 1452307862, i32 -1514465818, i32 1476592880, i32 -905696015, i32 18495466, i32 -1916818725, i32 901398090, i32 891748256, i32 -1015329527, i32 -1137676583, i32 -1734007194, i32 1447622437, i32 -10594659, i32 216884176, i32 2086908623, i32 1879786977, i32 -706064143, i32 -2052511630, i32 -1356874329, i32 -735885200, i32 -1484321805, i32 758861177, i32 1121993112, i32 215018983, i32 642190776, i32 -125730484, i32 1196255959, i32 2081185372, i32 -786228903, i32 941322904, i32 -170724133, i32 -1417443757, i32 1848581667, i32 -2089706338, i32 -1114513338, i32 -1705622162, i32 -600236020, i32 550028657, i32 -1775511012, i32 -504981761, i32 -1321096440, i32 2093648313, i32 443148163, i32 46942275, i32 -1560820359, i32 1117713533, i32 1115362972, i32 1523183689, i32 -577827072, i32 1551984063], [256 x i32] [i32 522195092, i32 -284448933, i32 1776537470, i32 960447360, i32 -27144326, i32 -289070982, i32 1435016340, i32 1929119313, i32 -1381503111, i32 1310552629, i32 -715496498, i32 -570149190, i32 -1715195665, i32 1594623892, i32 417127293, i32 -1579749389, i32 -1598738565, i32 1508390405, i32 -300568428, i32 -369108727, i32 -599523194, i32 -275495847, i32 -1165767501, i32 -524038661, i32 -774225535, i32 990456497, i32 -107482687, i32 -1511600261, i32 21106139, i32 -454561957, i32 631373633, i32 -511641594, i32 532942976, i32 396095098, i32 -746928471, i32 -27774812, i32 -1730245761, i32 2011709262, i32 2039648873, i32 620404603, i32 -518797221, i32 -1396440957, i32 -682609371, i32 -135634593, i32 1645490516, i32 223693667, i32 1567101217, i32 -932789415, i32 1029951347, i32 -824036160, i32 -724009337, i32 1550265121, i32 119497089, i32 972513919, i32 907948164, i32 -454338757, i32 1613718692, i32 -700789348, i32 465323573, i32 -1635712211, i32 654439692, i32 -1719371084, i32 -1595678855, i32 -1167264884, i32 277098644, i32 624404830, i32 -194023426, i32 -1577108705, i32 546110314, i32 -1891267468, i32 -639589849, i32 1321679412, i32 -58175639, i32 1045293279, i32 -284295032, i32 895050893, i32 -1975175028, i32 494945126, i32 1914543101, i32 -1517910853, i32 -400202957, i32 -2075229678, i32 311263384, i32 -19710028, i32 -836236575, i32 669096869, i32 -710491566, i32 -459844419, i32 -975809059, i32 -345608092, i32 2005142349, i32 -1581864959, i32 -2066012503, i32 -524982508, i32 569394103, i32 -439330720, i32 1425027204, i32 108000370, i32 -1558535853, i32 -623098027, i32 -1251844673, i32 1750473702, i32 -2083886188, i32 762237499, i32 -321977893, i32 -1496067910, i32 -1233109668, i32 -1351112951, i32 867476300, i32 964413654, i32 1591880597, i32 1594774276, i32 -2115145887, i32 552026980, i32 -1268903048, i32 -568826981, i32 -2011389662, i32 -1184422191, i32 -2142656536, i32 582474363, i32 1582640421, i32 1383256631, i32 2043843868, i32 -972191412, i32 1217180674, i32 463797851, i32 -1531928725, i32 480777679, i32 -1576259579, i32 -2005803165, i32 -1176621109, i32 214354409, i32 200212307, i32 -484358889, i32 -1269553099, i32 -1620891332, i32 -297670871, i32 1847405948, i32 1342460550, i32 510035443, i32 -214695482, i32 815934613, i32 833030224, i32 1620250387, i32 1945732119, i32 -1591306151, i32 -328967100, i32 1388869545, i32 -838913114, i32 -1607788735, i32 2092620194, i32 562037615, i32 1356438536, i32 -885045151, i32 -1033119899, i32 1688467115, i32 -2144065930, i32 631725691, i32 -454635012, i32 549916902, i32 -839862656, i32 394546491, i32 837744717, i32 2114462948, i32 751520235, i32 -2073412690, i32 -1879607160, i32 -295870218, i32 2063029875, i32 803036379, i32 -1592380991, i32 821456707, i32 -1275401132, i32 360699898, i32 -276465204, i32 -783098280, i32 -617611938, i32 -1892495847, i32 812317050, i32 49299192, i32 -1724802347, i32 -1035798001, i32 -1478235216, i32 -963753722, i32 -1193663732, i32 -2138951640, i32 -589368376, i32 -748703375, i32 143268808, i32 -1094662816, i32 1638124008, i32 -1129777843, i32 -953159686, i32 578956953, i32 -2100989772, i32 -656847223, i32 -1961085764, i32 807278310, i32 658237817, i32 -1325405530, i32 1641658566, i32 11683945, i32 -1207972289, i32 148645947, i32 1138423386, i32 -136210536, i32 1981396783, i32 -1893950556, i32 -595183712, i32 380097457, i32 -1614572617, i32 -1491898645, i32 -960707010, i32 441530178, i32 -278386500, i32 1375954390, i32 761952171, i32 891809099, i32 -2111843818, i32 157052462, i32 -611126533, i32 1592404427, i32 341349109, i32 -1856483457, i32 1417898363, i32 644327628, i32 -2061934520, i32 -1941197590, i32 -2093457196, i32 220455161, i32 1815641738, i32 182899273, i32 -1299947508, i32 -667585763, i32 -592329145, i32 -1404283158, i32 1052606899, i32 588164016, i32 1681439879, i32 -256527878, i32 -1889623373, i32 -65518014, i32 167996282, i32 1336969661, i32 1688053129, i32 -1555742370, i32 1543734051, i32 1046297529, i32 1138201970, i32 2121126012, i32 115334942, i32 1819067631, i32 1902159161, i32 1941945968, i32 -2088274427, i32 1159982321], [256 x i32] [i32 -1913667008, i32 637164959, i32 -342868545, i32 -401553145, i32 1197506559, i32 916448331, i32 -1944074684, i32 -1362179440, i32 -1095632449, i32 -285488406, i32 -389080752, i32 1373570990, i32 -1844541434, i32 -257096376, i32 -516125309, i32 -1838149419, i32 286293407, i32 124026297, i32 -1293687596, i32 1028597854, i32 -1179670496, i32 -86080800, i32 -1603852661, i32 -2106427090, i32 1430237888, i32 1218109995, i32 -722495596, i32 308166588, i32 570424558, i32 -2107958275, i32 -1839872531, i32 307733056, i32 1310360322, i32 -1159692289, i32 1384269543, i32 -1906895858, i32 863238079, i32 -1935703672, i32 -1493414168, i32 -914180699, i32 -1463804489, i32 1470087780, i32 1728663345, i32 -222478497, i32 1090516929, i32 532123132, i32 -1905536319, i32 1132193179, i32 -1716503105, i32 -1243888053, i32 1670234342, i32 1434557849, i32 -1583888356, i32 1241591150, i32 -980923864, i32 -859607183, i32 -1203518957, i32 1812415473, i32 -2096527044, i32 267246943, i32 796911696, i32 -675250306, i32 38830015, i32 1526438404, i32 -1488465200, i32 374413614, i32 -1351565506, i32 1489179520, i32 1603809326, i32 1920779204, i32 168801282, i32 260042626, i32 -1936261715, i32 1563175598, i32 -1897293239, i32 1356499128, i32 -2077756256, i32 514611088, i32 2037363785, i32 -2108498923, i32 -272794213, i32 -1502455427, i32 -1381482280, i32 1173701892, i32 -94538749, i32 -398540027, i32 1334932762, i32 -1839830590, i32 602925377, i32 -1459359442, i32 1613172210, i32 41346230, i32 -1795332748, i32 -1837529678, i32 -2106139701, i32 41386358, i32 -122711667, i32 1313404830, i32 -1889440289, i32 -492993522, i32 -2077262461, i32 873260488, i32 -1766082942, i32 -1816874680, i32 -282051413, i32 -1739608280, i32 2006953883, i32 -1831053811, i32 575479328, i32 -2076726648, i32 2099895446, i32 660001756, i32 -1953465106, i32 -1256205760, i32 -406815517, i32 -446253919, i32 -1008115362, i32 1022894237, i32 1620365795, i32 -845372607, i32 1551255054, i32 15374395, i32 -724141951, i32 -45656276, i32 -143856167, i32 -1113054564, i32 310226346, i32 1133119310, i32 530038928, i32 136043402, i32 -1818198338, i32 -1187460587, i32 -1750057729, i32 1036173560, i32 -1927630100, i32 1681395281, i32 1758231547, i32 -653318264, i32 306774401, i32 1575354324, i32 -578881430, i32 1990386196, i32 -1180433560, i32 -1839360625, i32 1262092282, i32 -1170624791, i32 -1526738165, i32 -84438213, i32 1833535011, i32 423410938, i32 660763973, i32 -2107837318, i32 1639812000, i32 -786545967, i32 -827521804, i32 310289298, i32 272797111, i32 -2106414734, i32 -1838103384, i32 310240523, i32 677093832, i32 1013118031, i32 901835429, i32 -402271695, i32 1116285435, i32 -1258496126, i32 1337354835, i32 243122523, i32 520626091, i32 277223598, i32 -50526099, i32 -100718455, i32 1766575121, i32 594173102, i32 316590669, i32 742362309, i32 -758108674, i32 -118531946, i32 -456174886, i32 -1793762457, i32 1229605004, i32 -1179211764, i32 1552908988, i32 -1982633147, i32 979407927, i32 -335492695, i32 1148277331, i32 176638793, i32 -680281024, i32 2083809052, i32 40992502, i32 1340822838, i32 -1563414529, i32 -759209788, i32 -734067776, i32 1354035053, i32 122129617, i32 7215240, i32 -1562034347, i32 -1176054596, i32 -1576763370, i32 -1755891661, i32 -685736601, i32 -569405635, i32 1928887091, i32 -1412673741, i32 1988674909, i32 2063640240, i32 -1803878399, i32 1459647954, i32 -105150216, i32 -1992162914, i32 1113892351, i32 -2057108768, i32 1927010603, i32 -292086935, i32 1856122846, i32 1594404395, i32 -1350934163, i32 -439777433, i32 -819991598, i32 1643104450, i32 -240376463, i32 -863880766, i32 1730235576, i32 -1310358575, i32 -1210302878, i32 2131803598, i32 -116761544, i32 267404349, i32 1617849798, i32 1616132681, i32 1462223176, i32 736725533, i32 -1967909064, i32 551665188, i32 -1349068273, i32 1749386277, i32 -1719452699, i32 1611482493, i32 674206544, i32 -2093698206, i32 -652406496, i32 728599968, i32 1680547377, i32 -1674552832, i32 1388111496, i32 453204106, i32 -138743851, i32 1094905244, i32 -1540269039, i32 -2093859131, i32 -537967050, i32 -1590442751, i32 -372026596, i32 -298502269], [256 x i32] [i32 -1649212384, i32 532081118, i32 -1480688657, i32 -764173672, i32 1246723035, i32 1689095255, i32 -2058288061, i32 -100528431, i32 2116582143, i32 -435177885, i32 157234593, i32 2045505824, i32 -49963709, i32 1687664561, i32 -211542173, i32 605965023, i32 672431967, i32 1336064205, i32 -918355904, i32 214114848, i32 -36500688, i32 -1062914225, i32 489488601, i32 605322005, i32 -296939238, i32 264917351, i32 1912574028, i32 756637694, i32 436560991, i32 202637054, i32 135989450, i32 85393697, i32 -2142043904, i32 -398565634, i32 -1399130888, i32 2145855233, i32 -759632289, i32 115294817, i32 -1147233398, i32 1922296357, i32 -830144545, i32 -177108991, i32 1037454084, i32 -1569774021, i32 2127856640, i32 1417604070, i32 1148013728, i32 1827919605, i32 642362335, i32 -1365194763, i32 909348033, i32 1346338451, i32 -747167647, i32 297154785, i32 1917849091, i32 -133254469, i32 -1411362770, i32 -326273058, i32 1469521537, i32 -514889914, i32 -919383040, i32 1763717519, i32 136166297, i32 -3996507, i32 1295325189, i32 2134727907, i32 -1496815930, i32 1566297257, i32 -622039062, i32 -1617793135, i32 -1622793681, i32 965822077, i32 -1514181234, i32 289653839, i32 1133871874, i32 -803123477, i32 35685304, i32 1068898316, i32 418943774, i32 672553190, i32 642281022, i32 -1948808592, i32 1954014401, i32 -1257840516, i32 -215152091, i32 2030668546, i32 -454378623, i32 672283427, i32 1776201016, i32 359975446, i32 -544793758, i32 555499703, i32 -1524982023, i32 1324923, i32 69110472, i32 152125443, i32 -1118182190, i32 -472820011, i32 1340634837, i32 798073664, i32 1434183902, i32 15393959, i32 216384236, i32 1303690150, i32 -413745665, i32 -583833172, i32 -333991883, i32 106373927, i32 -1716533072, i32 1455997841, i32 1801814300, i32 1578393881, i32 1854262133, i32 -1106788350, i32 -1036888713, i32 -1992297236, i32 1539295533, i32 -789824731, i32 -1216341321, i32 -1922221276, i32 549938159, i32 -1016683012, i32 -1674041216, i32 181285381, i32 -1429646198, i32 -324937785, i32 68876850, i32 488006234, i32 1728155692, i32 -1686799788, i32 836007927, i32 -1859735503, i32 919367643, i32 -955544762, i32 -639210936, i32 1457871481, i32 40520939, i32 1380155135, i32 797931188, i32 234455205, i32 -2039165469, i32 -304478997, i32 397000196, i32 739833055, i32 -1217101923, i32 -1423247436, i32 -272413408, i32 772369276, i32 390177364, i32 -441016267, i32 557662966, i32 740064294, i32 1640166671, i32 1699928825, i32 -759025160, i32 622006121, i32 -669614174, i32 68743880, i32 1742502, i32 219489963, i32 1664179233, i32 1577743084, i32 1236991741, i32 410585305, i32 -1928479354, i32 823226535, i32 1050371084, i32 -868347689, i32 -708127818, i32 212779912, i32 -147848735, i32 1819446015, i32 1911218849, i32 530248558, i32 -808726225, i32 -1042381801, i32 -1408778645, i32 -884694568, i32 -1952772266, i32 20547779, i32 -1312477238, i32 -1262603827, i32 -663214074, i32 312714466, i32 1870521650, i32 1493008054, i32 -803280640, i32 615382978, i32 -191295547, i32 -1760449851, i32 1932181, i32 -2098862126, i32 278426614, i32 6369430, i32 -1020422879, i32 -1381948929, i32 697336853, i32 2143000447, i32 -1348553765, i32 701099306, i32 1558357093, i32 -1489964244, i32 -794148888, i32 -1973632879, i32 -727831321, i32 216290473, i32 -703935098, i32 23009561, i32 1996984579, i32 -559924490, i32 2024298078, i32 -555526433, i32 569400510, i32 -1955208313, i32 -1278933423, i32 -1197095953, i32 -655444270, i32 -450642313, i32 -1038793431, i32 795471839, i32 -1343849733, i32 -193936206, i32 -203363493, i32 -691234698, i32 971261452, i32 534414648, i32 428311343, i32 -905940121, i32 -1450097416, i32 694888862, i32 1227866773, i32 -1838760277, i32 -1251512727, i32 -1680613926, i32 -545389265, i32 -618303460, i32 459166190, i32 -162323226, i32 1794958188, i32 51825668, i32 -2042355394, i32 -1210295856, i32 2036672799, i32 -858325693, i32 1099053433, i32 -1825845770, i32 -1235762355, i32 1323291266, i32 2061838604, i32 1018778475, i32 -2061623042, i32 -1741466242, i32 334295216, i32 -738217102, i32 1065731521, i32 183467730]], align 4
@.str366 = private unnamed_addr constant [6 x i8] c"CAST5\00", align 1
@_gcry_cipher_spec_cast5 = internal hidden global %struct.gcry_cipher_spec { i32 3, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([6 x i8]* @.str366, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 8, i32 128, i32 80, i32 (i8*, i8*, i32)* @cast_setkey, i32 (i8*, i8*, i8*)* @encrypt_block376, i32 (i8*, i8*, i8*)* @decrypt_block377, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@do_cast_setkey.initialized = internal global i32 0, align 4
@do_cast_setkey.selftest_failed = internal global i8* null, align 4
@.str1367 = private unnamed_addr constant [29 x i8] c"CAST5 selftest failed (%s).\0A\00", align 1
@s5 = internal constant [256 x i32] [i32 2127105028, i32 745436345, i32 -1693554977, i32 -1506576111, i32 -1200979969, i32 500390133, i32 1155374404, i32 389092991, i32 150729210, i32 -403369524, i32 -771417344, i32 1935325696, i32 716645080, i32 946045387, i32 -1393155014, i32 1774124410, i32 -425531521, i32 -255385395, i32 -1001830378, i32 -856309376, i32 948246080, i32 363898952, i32 -427091765, i32 1286266623, i32 1598556673, i32 68334250, i32 630723836, i32 1104211938, i32 1312863373, i32 613332731, i32 -1917182722, i32 1101634306, i32 441780740, i32 -1165007413, i32 1917973735, i32 -1784342747, i32 -1056510761, i32 -1750755318, i32 -986072662, i32 1299840618, i32 -218892445, i32 1756332096, i32 -317940138, i32 297047435, i32 -504669560, i32 -2029394256, i32 -673156778, i32 1311375015, i32 1667687725, i32 47300608, i32 -995324411, i32 -1820854927, i32 201668394, i32 1468347890, i32 576830978, i32 -700276535, i32 -552361344, i32 1958042578, i32 1747032512, i32 -735975956, i32 1408974056, i32 -928125517, i32 682131401, i32 1033214337, i32 1545599232, i32 -29830247, i32 206503691, i32 103024618, i32 -1439739983, i32 1337551222, i32 -1865968379, i32 -1331124364, i32 -279600641, i32 -442719550, i32 -1498010329, i32 -429243805, i32 -547028961, i32 247794022, i32 -539142724, i32 702416469, i32 -1860275302, i32 397379957, i32 851939612, i32 -1980197784, i32 218229120, i32 1380406772, i32 62274761, i32 214451378, i32 -1124863830, i32 -2018756887, i32 -449154010, i32 28563499, i32 446592073, i32 1693330814, i32 -841240102, i32 29968656, i32 -1201094784, i32 220656637, i32 -1824330265, i32 77972100, i32 1667708854, i32 1358280214, i32 -230201629, i32 -1899350335, i32 325977563, i32 -17726575, i32 -74941897, i32 -689440812, i32 -939819575, i32 811859167, i32 -1225422370, i32 -332840486, i32 652502677, i32 -1219075047, i32 -162205755, i32 -796043081, i32 1217549313, i32 -1044722817, i32 -436251377, i32 -1240977335, i32 1538642152, i32 -2015941030, i32 -1419088159, i32 574252750, i32 -970198067, i32 -1643608583, i32 1758150215, i32 141295887, i32 -1575098336, i32 -779392546, i32 -201959561, i32 -100482058, i32 1082055363, i32 -877406896, i32 395511885, i32 -1328083270, i32 179534037, i32 -648938740, i32 -556279210, i32 1092926436, i32 -1798698154, i32 257381841, i32 -522066578, i32 1636087230, i32 1477059743, i32 -1795732544, i32 -483948402, i32 -1619307167, i32 -1008991616, i32 90732309, i32 1684827095, i32 1150307763, i32 1723134115, i32 -1057921910, i32 1769919919, i32 1240018934, i32 815675215, i32 750138730, i32 -2055174797, i32 1234303040, i32 1995484674, i32 138143821, i32 675421338, i32 1145607174, i32 1936608440, i32 -1056364272, i32 -1949737018, i32 2105974004, i32 323969391, i32 779555213, i32 -1290064927, i32 -1433357198, i32 1017501463, i32 2098600890, i32 -1666346992, i32 -1354355806, i32 -1612424750, i32 1171473753, i32 -638395885, i32 -607759225, i32 -203097778, i32 393037935, i32 159126506, i32 1662887367, i32 1147106178, i32 391545844, i32 -842634601, i32 1891500680, i32 -1278357646, i32 1851642611, i32 546529401, i32 1167818917, i32 -1100946725, i32 -1446891263, i32 -341495460, i32 575554290, i32 475796850, i32 -160294100, i32 450035699, i32 -1943715762, i32 844027695, i32 1080539133, i32 86184846, i32 1554234488, i32 -602941842, i32 1972511363, i32 2018339607, i32 1491841390, i32 1141460869, i32 1061690759, i32 -50418053, i32 2008416118, i32 -1943862593, i32 -1426819754, i32 1598468138, i32 722020353, i32 1027143159, i32 212344630, i32 1387219594, i32 1725294528, i32 -549779340, i32 -1794813680, i32 458938280, i32 -165751379, i32 1828119673, i32 544571780, i32 -791741851, i32 -1997029800, i32 1241802790, i32 267843827, i32 -1600356496, i32 1397140384, i32 1558801448, i32 -512299613, i32 1806446719, i32 929573330, i32 -2060054615, i32 400817706, i32 616011623, i32 -173446368, i32 -691198571, i32 1761550015, i32 1968522284, i32 -241236290, i32 -102734438, i32 -289847011, i32 872482584, i32 -1154430280, i32 -400359915, i32 -2007561853, i32 1963876937, i32 -631079339, i32 1584857000, i32 -1319942842, i32 1833426440, i32 -269883436], align 4
@s6 = internal constant [256 x i32] [i32 -151351395, i32 749497569, i32 1285769319, i32 -499941508, i32 -1780807449, i32 23610292, i32 -319988548, i32 844452780, i32 -1080096416, i32 -543038739, i32 -2081400931, i32 1676510905, i32 448177848, i32 -564216263, i32 -208668878, i32 -1987464904, i32 871450977, i32 -1072089155, i32 -184105254, i32 -463315330, i32 -1559696743, i32 1310974780, i32 2043402188, i32 1218528103, i32 -1558931943, i32 -20362283, i32 -1592518838, i32 -358606746, i32 -1601905875, i32 162023535, i32 -1467457206, i32 687910808, i32 23484817, i32 -510056349, i32 -923595680, i32 779677500, i32 -791340750, i32 -821040108, i32 -137754670, i32 -794288014, i32 -46065282, i32 -1828346192, i32 -395582502, i32 1958663117, i32 925738300, i32 1283408968, i32 -625617856, i32 1840910019, i32 137959847, i32 -1615139111, i32 1239142320, i32 1315376211, i32 1547541505, i32 1690155329, i32 739140458, i32 -1166157363, i32 -361794680, i32 -418658462, i32 905091803, i32 1548541325, i32 -254505588, i32 -1199483934, i32 144808038, i32 451078856, i32 676114313, i32 -1433239005, i32 -1825259949, i32 993665471, i32 373509091, i32 -1695926010, i32 -269958290, i32 -124727847, i32 -2145227346, i32 -1019173725, i32 -545350647, i32 -1500207097, i32 1534877388, i32 572371878, i32 -1704353745, i32 1753320020, i32 -827184785, i32 1405125690, i32 -24562091, i32 633333386, i32 -1268610372, i32 -819843393, i32 632057672, i32 -1448504441, i32 1404951397, i32 -412091417, i32 -379060872, i32 195638627, i32 -1909183551, i32 -392094743, i32 1233155085, i32 -938967556, i32 -1914388583, i32 -1592720992, i32 2144565621, i32 -631626048, i32 -400582321, i32 -1792488055, i32 -46948371, i32 -1200081729, i32 1594115437, i32 572884632, i32 -909850565, i32 767645374, i32 1331858858, i32 1475698373, i32 -501085506, i32 -762220865, i32 1321687957, i32 619889600, i32 1121017241, i32 -854753376, i32 2070816767, i32 -1461941520, i32 1933951238, i32 -199351505, i32 890643334, i32 -420837082, i32 859025556, i32 360630002, i32 925594799, i32 1764062180, i32 -374745016, i32 -216661367, i32 979562269, i32 -1484266952, i32 -207227274, i32 1949714515, i32 546639971, i32 1165388173, i32 -1225075705, i32 1495988560, i32 922170659, i32 1291546247, i32 2107952832, i32 1813327274, i32 -888957272, i32 -988938659, i32 -53016661, i32 153207855, i32 -1981812549, i32 1608695416, i32 1150242611, i32 1967526857, i32 721801357, i32 1220138373, i32 -603679679, i32 -938897509, i32 2112743302, i32 -1013304461, i32 1111556101, i32 1778980689, i32 250857638, i32 -1996459306, i32 673216130, i32 -1448478786, i32 -1087215715, i32 -732210315, i32 -1286341376, i32 -877599912, i32 -2096160246, i32 529510932, i32 -747450616, i32 -868464109, i32 -1930022554, i32 102533054, i32 -2000056440, i32 1617093527, i32 1204784762, i32 -1228385661, i32 1019391227, i32 1069574518, i32 1317995090, i32 1691889997, i32 -633835293, i32 510022745, i32 -1056372496, i32 1362108837, i32 1817929911, i32 -2110813536, i32 805817662, i32 1953603311, i32 -595122559, i32 120799444, i32 2118332377, i32 207536705, i32 -2012665748, i32 -174925679, i32 145305846, i32 -1786842363, i32 -1208221763, i32 -1033442961, i32 1877257368, i32 -1317802816, i32 -1134513110, i32 -1791715110, i32 -73290222, i32 759945014, i32 254147243, i32 -1527513877, i32 -493448925, i32 629083197, i32 -1823953079, i32 907280572, i32 -394170550, i32 940896768, i32 -1543946173, i32 -1669704510, i32 -1133490345, i32 -633214983, i32 -1034235078, i32 1425318020, i32 -1317055227, i32 1496677566, i32 -306375224, i32 2140652971, i32 -1168455755, i32 -1225335121, i32 977771578, i32 1392695845, i32 1698528874, i32 1411812681, i32 1369733098, i32 1343739227, i32 -674079352, i32 1142123638, i32 67414216, i32 -1192910559, i32 -1206218102, i32 1626167401, i32 -1748673642, i32 -353593061, i32 697522451, i32 33404913, i32 143560186, i32 -1699285259, i32 994885535, i32 1247667115, i32 -435872459, i32 -1595811755, i32 -747942671, i32 -180032021, i32 -1326893788, i32 -1095004227, i32 -1562942769, i32 1237921620, i32 951448369, i32 1898488916, i32 1211705605, i32 -1503978056, i32 -2061723715, i32 -696922321], align 4
@s7 = internal constant [256 x i32] [i32 -2048901095, i32 858518887, i32 1714274303, i32 -809085293, i32 713916271, i32 -1415853806, i32 -564131679, i32 539548191, i32 36158695, i32 1298409750, i32 419087104, i32 1358007170, i32 749914897, i32 -1305286820, i32 1261868530, i32 -1299773474, i32 -1604338442, i32 -851344919, i32 -514842356, i32 -498142787, i32 -1318534271, i32 -35330167, i32 1551479000, i32 512490819, i32 1296650241, i32 951993153, i32 -1858277859, i32 -1834509249, i32 144139966, i32 -1158763020, i32 310820559, i32 -1226126567, i32 643875328, i32 1969602020, i32 1680088954, i32 -2109154135, i32 -1011634842, i32 672358534, i32 198762408, i32 896343282, i32 276269502, i32 -1280120370, i32 84060815, i32 197145886, i32 376173866, i32 -351076478, i32 -481793775, i32 -749898474, i32 1316698879, i32 1598252827, i32 -1661542345, i32 1233235075, i32 859989710, i32 -1936506441, i32 -791128896, i32 -885363576, i32 1203513385, i32 1193654839, i32 -1502948821, i32 2060853022, i32 207403770, i32 1144516871, i32 -1226335902, i32 1121114134, i32 177607304, i32 -509230994, i32 326409831, i32 1929119770, i32 -1311688201, i32 -111659195, i32 -820388008, i32 -1094453418, i32 -1066485200, i32 119610148, i32 1170376745, i32 -916573825, i32 -1131494127, i32 951863017, i32 -957941228, i32 -1159178166, i32 -1387348922, i32 1183797387, i32 2015970143, i32 -249292741, i32 -2111980897, i32 -1342828556, i32 -366195091, i32 384012900, i32 -1839969653, i32 10178499, i32 -1415148307, i32 -1698074760, i32 111523738, i32 -1299878290, i32 451689641, i32 -1098676600, i32 235406569, i32 1441906262, i32 -404408773, i32 -1281232291, i32 -136397947, i32 1644036924, i32 376726067, i32 1006849064, i32 -630387596, i32 2041234796, i32 1021632941, i32 1374734338, i32 -1728515238, i32 371631263, i32 -287823063, i32 490221539, i32 206551450, i32 -1154328712, i32 1053219195, i32 1853335209, i32 -882537636, i32 -732811065, i32 735133835, i32 1623211703, i32 -1190752904, i32 -1556654860, i32 -198129539, i32 -928574718, i32 -1184003022, i32 -338368578, i32 -1098146515, i32 2038037254, i32 -417180920, i32 -1955213449, i32 300912036, i32 -528234408, i32 -1922336657, i32 1516443558, i32 -94570592, i32 1574567987, i32 -225525840, i32 -172375280, i32 -1595227520, i32 146372218, i32 -1546005840, i32 2043888151, i32 35287437, i32 -1698286742, i32 655490400, i32 1132482787, i32 110692520, i32 1031794116, i32 -2106774545, i32 1324057718, i32 1217253157, i32 919197030, i32 686247489, i32 -1033827638, i32 1028237775, i32 -1159480865, i32 -1235251738, i32 -1834045596, i32 986174950, i32 -1633155831, i32 -232062595, i32 -1541980304, i32 -585230653, i32 367056889, i32 1353824391, i32 731860949, i32 1650113154, i32 1778481506, i32 784341916, i32 357075625, i32 -686364864, i32 1074092588, i32 -1814914526, i32 -483541094, i32 92751289, i32 877911070, i32 -694605458, i32 1231880047, i32 480201094, i32 -538776313, i32 -1200471343, i32 434011822, i32 87971354, i32 363687820, i32 1717726236, i32 1901380172, i32 -368563414, i32 -1813305031, i32 400339184, i32 1490350766, i32 -1633512197, i32 1389319756, i32 -1736180122, i32 784598401, i32 1983468483, i32 30828846, i32 -744439544, i32 -1578691058, i32 -453845082, i32 1765724805, i32 1955612312, i32 1277890269, i32 1333098070, i32 1564029816, i32 -1590549681, i32 1026694237, i32 -1007296108, i32 1260819201, i32 -945880529, i32 1016692350, i32 1582273796, i32 1073413053, i32 1995943182, i32 694588404, i32 1025494639, i32 -971094594, i32 -743068876, i32 -148112969, i32 453260480, i32 1316140391, i32 1435673405, i32 -1256025343, i32 -808277889, i32 1622062951, i32 403978347, i32 817677117, i32 950059133, i32 -48888078, i32 -1016901221, i32 1486738320, i32 1417279718, i32 481875527, i32 -1745002071, i32 -361276940, i32 760697757, i32 1452955855, i32 -397515859, i32 1177426808, i32 1702951038, i32 -209618668, i32 -1847962124, i32 1084371187, i32 -778531019, i32 -1226630958, i32 1073369276, i32 1027665953, i32 -1010778706, i32 1230553676, i32 1368340146, i32 -2068720784, i32 267243139, i32 -2020746534, i32 -224233017, i32 -1797252120, i32 -1871614133, i32 -1790211421], align 4
@s8 = internal constant [256 x i32] [i32 -501862387, i32 -1143078916, i32 -1477715267, i32 895778965, i32 2005530807, i32 -423554533, i32 237245952, i32 86829237, i32 296341424, i32 -443207919, i32 -320366326, i32 -1819881100, i32 709006108, i32 1994621201, i32 -1322389702, i32 937287164, i32 -560275791, i32 168608556, i32 -1105629143, i32 -2069886656, i32 -1155253745, i32 -1261357105, i32 -1269925392, i32 77524477, i32 185966941, i32 1208824168, i32 -1950622118, i32 1721625922, i32 -940775375, i32 1066374631, i32 1927223579, i32 1971335949, i32 -1811463599, i32 1551748602, i32 -1413583517, i32 -1438637724, i32 -1291725814, i32 48746954, i32 1398218158, i32 2050065058, i32 313056748, i32 -39177379, i32 393167848, i32 1912293076, i32 940740642, i32 -829121836, i32 -1203279443, i32 -1772365726, i32 -2097950635, i32 1727764327, i32 364383054, i32 492521376, i32 1291706479, i32 -1030830920, i32 1474851438, i32 1685747964, i32 -1719247548, i32 1619776915, i32 1814040067, i32 970743798, i32 1561002147, i32 -1369198606, i32 2123093554, i32 1880132620, i32 -1143779255, i32 697884420, i32 -1743981526, i32 -1687292783, i32 -1635852973, i32 110200136, i32 1489731079, i32 997519150, i32 1378877361, i32 -767096628, i32 478029773, i32 -1528094373, i32 1022481122, i32 431258168, i32 1112503832, i32 897933369, i32 -1659379993, i32 669726182, i32 -911214981, i32 918222264, i32 163866573, i32 -1047981903, i32 -518144133, i32 114105080, i32 1903216136, i32 761148244, i32 -723629734, i32 1690750982, i32 -1128217044, i32 1037045171, i32 1888456500, i32 2010454850, i32 642736655, i32 616092351, i32 365016990, i32 1185228132, i32 -120068786, i32 1043824992, i32 2023083429, i32 -2053368411, i32 -431646840, i32 -1015298209, i32 -620250612, i32 108438443, i32 2132974366, i32 830746235, i32 606445527, i32 -121703310, i32 -2090861384, i32 1844756978, i32 -1762283115, i32 -49614596, i32 -1325526196, i32 -498045635, i32 1335562986, i32 -233442779, i32 -1574734993, i32 -1615543256, i32 634407289, i32 885462008, i32 -1000242809, i32 -361075048, i32 2094100220, i32 339117932, i32 -246136569, i32 -1092686316, i32 1458155303, i32 -1605721023, i32 1022871705, i32 -1829979418, i32 -580451987, i32 353796843, i32 -1472008481, i32 -38117196, i32 -242189451, i32 551748367, i32 618185374, i32 -516331717, i32 -274317384, i32 1904685140, i32 -1225601221, i32 -1624087486, i32 -887774004, i32 -1340455676, i32 -236683891, i32 -2075517979, i32 -1159208996, i32 1120655984, i32 -847401462, i32 1474845562, i32 -717268234, i32 550456716, i32 -828058584, i32 2043752612, i32 881257467, i32 869518812, i32 2005220179, i32 938474677, i32 -989427848, i32 -444550170, i32 1315485940, i32 -976702594, i32 226533026, i32 965733244, i32 321539988, i32 1136104718, i32 804158748, i32 573969341, i32 -586757470, i32 937399083, i32 -1004240247, i32 -1393300541, i32 1461057207, i32 -281773859, i32 -228105873, i32 -1052193820, i32 -1873641122, i32 1581322155, i32 -1266015131, i32 786071460, i32 -394575644, i32 -376528764, i32 1485433313, i32 -271347460, i32 -586689701, i32 -616016236, i32 953673138, i32 1467089153, i32 1930354364, i32 1533292819, i32 -1802404273, i32 1346121658, i32 1685000834, i32 1965281866, i32 -529033579, i32 -104760689, i32 2052792609, i32 -779634538, i32 690371149, i32 -1169093409, i32 -2114683745, i32 -1391369235, i32 -361014939, i32 436236910, i32 289419410, i32 14314871, i32 1242357089, i32 -1390459389, i32 1616633776, i32 -1628585116, i32 585885352, i32 -823668086, i32 -1595459936, i32 1432659641, i32 277164553, i32 -940863689, i32 770115018, i32 -1991158001, i32 -553024981, i32 -1117185428, i32 -1441602318, i32 -2025513969, i32 -520707462, i32 987383833, i32 1290892879, i32 225909803, i32 1741533526, i32 890078084, i32 1496906255, i32 1111072499, i32 916028167, i32 243534141, i32 1252605537, i32 -2090805125, i32 531204876, i32 290011180, i32 -378133083, i32 102027703, i32 237315147, i32 209093447, i32 1486785922, i32 220223953, i32 -1536771298, i32 -119928190, i32 82940208, i32 -1167176000, i32 -1725542044, i32 518464269, i32 1353887104, i32 -353474559, i32 -1917672829, i32 -359926370], align 4
@selftest.key = private unnamed_addr constant [16 x i8] c"\01#Eg\124Vx#Eg\894Vx\9A", align 1
@selftest.plain368 = private unnamed_addr constant [8 x i8] c"\01#Eg\89\AB\CD\EF", align 1
@selftest.cipher = private unnamed_addr constant [8 x i8] c"#\8BO\E5\84~D\B2", align 1
@.str2369 = private unnamed_addr constant [2 x i8] c"1\00", align 1
@.str3370 = private unnamed_addr constant [2 x i8] c"2\00", align 1
@.str392 = private unnamed_addr constant [22 x i8] c"c->unused < blocksize\00", align 1
@.str1393 = private unnamed_addr constant [13 x i8] c"cipher-ctr.c\00", align 1
@__FUNCTION__._gcry_cipher_ctr_encrypt = private unnamed_addr constant [25 x i8] c"_gcry_cipher_ctr_encrypt\00", align 1
@_gcry_selftest_helper_cbc.key = internal constant [16 x i8] c"f\9A\00\7F\C7jE\9F\98\BA\F9\17\FE\DF\95\22", align 16
@.str400 = private unnamed_addr constant [26 x i8] c"failed to allocate memory\00", align 1
@.str1401 = private unnamed_addr constant [49 x i8] c"selftest for CBC failed - see syslog for details\00", align 1
@_gcry_selftest_helper_cfb.key = internal constant [16 x i8] c"\11\9A\00\7F\C7jE\9F\98\BA\F9\17\FE\DF\953", align 16
@.str2402 = private unnamed_addr constant [49 x i8] c"selftest for CFB failed - see syslog for details\00", align 1
@_gcry_selftest_helper_ctr.key = internal constant [16 x i8] c"\06\9A\00\7F\C7jE\9F\98\BA\F9\17\FE\DF\95!", align 16
@.str3403 = private unnamed_addr constant [49 x i8] c"selftest for CTR failed - see syslog for details\00", align 1
@.str412 = private unnamed_addr constant [2 x i8] c"?\00", align 1
@.str1413 = private unnamed_addr constant [49 x i8] c"gcry_cipher_close: already closed/invalid handle\00", align 1
@.str6418 = private unnamed_addr constant [9 x i8] c"cipher.c\00", align 1
@.str7419 = private unnamed_addr constant [7 x i8] c"cipher\00", align 1
@.str8420 = private unnamed_addr constant [7 x i8] c"module\00", align 1
@.str9421 = private unnamed_addr constant [22 x i8] c"no selftest available\00", align 1
@.str10422 = private unnamed_addr constant [19 x i8] c"algorithm disabled\00", align 1
@.str11423 = private unnamed_addr constant [20 x i8] c"algorithm not found\00", align 1
@.str14426 = private unnamed_addr constant [43 x i8] c"WARNING: cipher_setiv: ivlen=%u blklen=%u\0A\00", align 1
@__FUNCTION__.cipher_setiv = private unnamed_addr constant [13 x i8] c"cipher_setiv\00", align 1
@.str15427 = private unnamed_addr constant [37 x i8] c"IV length does not match blocklength\00", align 1
@__FUNCTION__.cipher_decrypt = private unnamed_addr constant [15 x i8] c"cipher_decrypt\00", align 1
@.str16428 = private unnamed_addr constant [22 x i8] c"cipher mode NONE used\00", align 1
@.str17429 = private unnamed_addr constant [33 x i8] c"cipher_decrypt: invalid mode %d\0A\00", align 1
@__FUNCTION__.cipher_encrypt = private unnamed_addr constant [15 x i8] c"cipher_encrypt\00", align 1
@.str18430 = private unnamed_addr constant [33 x i8] c"cipher_encrypt: invalid mode %d\0A\00", align 1
@cipher_list = internal global [24 x %struct.gcry_cipher_spec*] [%struct.gcry_cipher_spec* @_gcry_cipher_spec_blowfish, %struct.gcry_cipher_spec* @_gcry_cipher_spec_des, %struct.gcry_cipher_spec* @_gcry_cipher_spec_tripledes, %struct.gcry_cipher_spec* @_gcry_cipher_spec_arcfour, %struct.gcry_cipher_spec* @_gcry_cipher_spec_cast5, %struct.gcry_cipher_spec* @_gcry_cipher_spec_aes, %struct.gcry_cipher_spec* @_gcry_cipher_spec_aes192, %struct.gcry_cipher_spec* @_gcry_cipher_spec_aes256, %struct.gcry_cipher_spec* @_gcry_cipher_spec_twofish, %struct.gcry_cipher_spec* @_gcry_cipher_spec_twofish128, %struct.gcry_cipher_spec* @_gcry_cipher_spec_serpent128, %struct.gcry_cipher_spec* @_gcry_cipher_spec_serpent192, %struct.gcry_cipher_spec* @_gcry_cipher_spec_serpent256, %struct.gcry_cipher_spec* @_gcry_cipher_spec_rfc2268_40, %struct.gcry_cipher_spec* @_gcry_cipher_spec_rfc2268_128, %struct.gcry_cipher_spec* @_gcry_cipher_spec_seed, %struct.gcry_cipher_spec* @_gcry_cipher_spec_camellia128, %struct.gcry_cipher_spec* @_gcry_cipher_spec_camellia192, %struct.gcry_cipher_spec* @_gcry_cipher_spec_camellia256, %struct.gcry_cipher_spec* @_gcry_cipher_spec_idea, %struct.gcry_cipher_spec* @_gcry_cipher_spec_salsa20, %struct.gcry_cipher_spec* @_gcry_cipher_spec_salsa20r12, %struct.gcry_cipher_spec* @_gcry_cipher_spec_gost28147, %struct.gcry_cipher_spec* null], align 4
@.str477 = private unnamed_addr constant [6 x i8] c"CRC32\00", align 1
@_gcry_digest_spec_crc32 = internal hidden global %struct.gcry_md_spec { i32 302, %struct.anon.98 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([6 x i8]* @.str477, i32 0, i32 0), i8* null, i32 0, %struct.gcry_md_oid_spec* null, i32 4, void (i8*)* @crc32_init, void (i8*, i8*, i32)* @crc32_write, void (i8*)* @crc32_final, i8* (i8*)* @crc32_read, i32 8, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@.str1478 = private unnamed_addr constant [13 x i8] c"CRC32RFC1510\00", align 1
@_gcry_digest_spec_crc32_rfc1510 = internal hidden global %struct.gcry_md_spec { i32 303, %struct.anon.98 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([13 x i8]* @.str1478, i32 0, i32 0), i8* null, i32 0, %struct.gcry_md_oid_spec* null, i32 4, void (i8*)* @crc32rfc1510_init, void (i8*, i8*, i32)* @crc32_write, void (i8*)* @crc32rfc1510_final, i8* (i8*)* @crc32_read, i32 8, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@.str2479 = private unnamed_addr constant [13 x i8] c"CRC24RFC2440\00", align 1
@_gcry_digest_spec_crc24_rfc2440 = internal hidden global %struct.gcry_md_spec { i32 304, %struct.anon.98 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([13 x i8]* @.str2479, i32 0, i32 0), i8* null, i32 0, %struct.gcry_md_oid_spec* null, i32 3, void (i8*)* @crc24rfc2440_init, void (i8*, i8*, i32)* @crc24rfc2440_write, void (i8*)* @crc24rfc2440_final, i8* (i8*)* @crc32_read, i32 8, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@crc32_table = internal global [256 x i32] [i32 0, i32 1996959894, i32 -301047508, i32 -1727442502, i32 124634137, i32 1886057615, i32 -379345611, i32 -1637575261, i32 249268274, i32 2044508324, i32 -522852066, i32 -1747789432, i32 162941995, i32 2125561021, i32 -407360249, i32 -1866523247, i32 498536548, i32 1789927666, i32 -205950648, i32 -2067906082, i32 450548861, i32 1843258603, i32 -187386543, i32 -2083289657, i32 325883990, i32 1684777152, i32 -43845254, i32 -1973040660, i32 335633487, i32 1661365465, i32 -99664541, i32 -1928851979, i32 997073096, i32 1281953886, i32 -715111964, i32 -1570279054, i32 1006888145, i32 1258607687, i32 -770865667, i32 -1526024853, i32 901097722, i32 1119000684, i32 -608450090, i32 -1396901568, i32 853044451, i32 1172266101, i32 -589951537, i32 -1412350631, i32 651767980, i32 1373503546, i32 -925412992, i32 -1076862698, i32 565507253, i32 1454621731, i32 -809855591, i32 -1195530993, i32 671266974, i32 1594198024, i32 -972236366, i32 -1324619484, i32 795835527, i32 1483230225, i32 -1050600021, i32 -1234817731, i32 1994146192, i32 31158534, i32 -1731059524, i32 -271249366, i32 1907459465, i32 112637215, i32 -1614814043, i32 -390540237, i32 2013776290, i32 251722036, i32 -1777751922, i32 -519137256, i32 2137656763, i32 141376813, i32 -1855689577, i32 -429695999, i32 1802195444, i32 476864866, i32 -2056965928, i32 -228458418, i32 1812370925, i32 453092731, i32 -2113342271, i32 -183516073, i32 1706088902, i32 314042704, i32 -1950435094, i32 -54949764, i32 1658658271, i32 366619977, i32 -1932296973, i32 -69972891, i32 1303535960, i32 984961486, i32 -1547960204, i32 -725929758, i32 1256170817, i32 1037604311, i32 -1529756563, i32 -740887301, i32 1131014506, i32 879679996, i32 -1385723834, i32 -631195440, i32 1141124467, i32 855842277, i32 -1442165665, i32 -586318647, i32 1342533948, i32 654459306, i32 -1106571248, i32 -921952122, i32 1466479909, i32 544179635, i32 -1184443383, i32 -832445281, i32 1591671054, i32 702138776, i32 -1328506846, i32 -942167884, i32 1504918807, i32 783551873, i32 -1212326853, i32 -1061524307, i32 -306674912, i32 -1698712650, i32 62317068, i32 1957810842, i32 -355121351, i32 -1647151185, i32 81470997, i32 1943803523, i32 -480048366, i32 -1805370492, i32 225274430, i32 2053790376, i32 -468791541, i32 -1828061283, i32 167816743, i32 2097651377, i32 -267414716, i32 -2029476910, i32 503444072, i32 1762050814, i32 -144550051, i32 -2140837941, i32 426522225, i32 1852507879, i32 -19653770, i32 -1982649376, i32 282753626, i32 1742555852, i32 -105259153, i32 -1900089351, i32 397917763, i32 1622183637, i32 -690576408, i32 -1580100738, i32 953729732, i32 1340076626, i32 -776247311, i32 -1497606297, i32 1068828381, i32 1219638859, i32 -670225446, i32 -1358292148, i32 906185462, i32 1090812512, i32 -547295293, i32 -1469587627, i32 829329135, i32 1181335161, i32 -882789492, i32 -1134132454, i32 628085408, i32 1382605366, i32 -871598187, i32 -1156888829, i32 570562233, i32 1426400815, i32 -977650754, i32 -1296233688, i32 733239954, i32 1555261956, i32 -1026031705, i32 -1244606671, i32 752459403, i32 1541320221, i32 -1687895376, i32 -328994266, i32 1969922972, i32 40735498, i32 -1677130071, i32 -351390145, i32 1913087877, i32 83908371, i32 -1782625662, i32 -491226604, i32 2075208622, i32 213261112, i32 -1831694693, i32 -438977011, i32 2094854071, i32 198958881, i32 -2032938284, i32 -237706686, i32 1759359992, i32 534414190, i32 -2118248755, i32 -155638181, i32 1873836001, i32 414664567, i32 -2012718362, i32 -15766928, i32 1711684554, i32 285281116, i32 -1889165569, i32 -127750551, i32 1634467795, i32 376229701, i32 -1609899400, i32 -686959890, i32 1308918612, i32 956543938, i32 -1486412191, i32 -799009033, i32 1231636301, i32 1047427035, i32 -1362007478, i32 -640263460, i32 1088359270, i32 936918000, i32 -1447252397, i32 -558129467, i32 1202900863, i32 817233897, i32 -1111625188, i32 -893730166, i32 1404277552, i32 615818150, i32 -1160759803, i32 -841546093, i32 1423857449, i32 601450431, i32 -1285129682, i32 -1000256840, i32 1567103746, i32 711928724, i32 -1274298825, i32 -1022587231, i32 1510334235, i32 755167117], align 4
@.str480 = private unnamed_addr constant [4 x i8] c"DES\00", align 1
@_gcry_cipher_spec_des = internal hidden global %struct.gcry_cipher_spec { i32 302, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([4 x i8]* @.str480, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 8, i32 64, i32 256, i32 (i8*, i8*, i32)* @do_des_setkey, i32 (i8*, i8*, i8*)* @do_des_encrypt, i32 (i8*, i8*, i8*)* @do_des_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str1483 = private unnamed_addr constant [5 x i8] c"3DES\00", align 1
@oids_tripledes = internal global [4 x %struct.gcry_cipher_oid_spec] [%struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([19 x i8]* @.str14497, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([17 x i8]* @.str15498, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str16499, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec zeroinitializer], align 4
@_gcry_cipher_spec_tripledes = internal hidden global %struct.gcry_cipher_spec { i32 2, %struct.anon.11 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([5 x i8]* @.str1483, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* getelementptr inbounds ([4 x %struct.gcry_cipher_oid_spec]* @oids_tripledes, i32 0, i32 0), i32 8, i32 192, i32 772, i32 (i8*, i8*, i32)* @do_tripledes_setkey, i32 (i8*, i8*, i8*)* @do_tripledes_encrypt, i32 (i8*, i8*, i8*)* @do_tripledes_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests, i32 (i8*, i32, i8*, i32)* @do_tripledes_set_extra_info, void (i8*, i8*, i32)* null }, align 4
@.str2486 = private unnamed_addr constant [10 x i8] c"low-level\00", align 1
@.str3487 = private unnamed_addr constant [7 x i8] c"cipher\00", align 1
@selftest.key488 = private unnamed_addr constant [8 x i8] c"UUUUUUUU", align 1
@selftest.input = private unnamed_addr constant [8 x i8] c"\FF\FF\FF\FF\FF\FF\FF\FF", align 1
@selftest.result = private unnamed_addr constant [8 x i8] c"$n\9D\B9\C5P8\1A", align 1
@.str4489 = private unnamed_addr constant [29 x i8] c"DES maintenance test failed.\00", align 1
@selftest.input5 = private unnamed_addr constant [8 x i8] c"\FE\DC\BA\98vT2\10", align 1
@selftest.key1 = private unnamed_addr constant [8 x i8] c"\124Vx\9A\BC\DE\F0", align 1
@selftest.key2 = private unnamed_addr constant [8 x i8] c"\11\223D\FF\AA\CC\DD", align 1
@selftest.result6 = private unnamed_addr constant [8 x i8] c"{8;#\A2}&\D3", align 1
@.str7490 = private unnamed_addr constant [24 x i8] c"Triple-DES test failed.\00", align 1
@selftest.testdata = private unnamed_addr constant [10 x %struct.anon.1.102] [%struct.anon.1.102 { [24 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01", [8 x i8] c"\95\F8\A5\E5\DD1\D9\00", [8 x i8] c"\80\00\00\00\00\00\00\00" }, %struct.anon.1.102 { [24 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01", [8 x i8] c"\9DdUZ\9A\10\B8R", [8 x i8] c"\00\00\00\10\00\00\00\00" }, %struct.anon.1.102 { [24 x i8] c"8IgL&\021\9E8IgL&\021\9E8IgL&\021\9E", [8 x i8] c"QEKX-\DFD\0A", [8 x i8] c"qx\87n\01\F1\9B*" }, %struct.anon.1.102 { [24 x i8] c"\04\B9\15\BAC\FE\B5\B6\04\B9\15\BAC\FE\B5\B6\04\B9\15\BAC\FE\B5\B6", [8 x i8] c"B\FDD0YW\7F\A2", [8 x i8] c"\AF7\FBB\1F\8C@\95" }, %struct.anon.1.102 { [24 x i8] c"\01#Eg\89\AB\CD\EF\01#Eg\89\AB\CD\EF\01#Eg\89\AB\CD\EF", [8 x i8] c"somedata", [8 x i8] c"=\12O\E2\19\8B\A3\18" }, %struct.anon.1.102 { [24 x i8] c"\01#Eg\89\AB\CD\EFUUUUUUUU\01#Eg\89\AB\CD\EF", [8 x i8] c"somedata", [8 x i8] c"\FB\AB\A1\FF\9D\05\E9\B1" }, %struct.anon.1.102 { [24 x i8] c"\01#Eg\89\AB\CD\EFUUUUUUUU\FE\DC\BA\98vT2\10", [8 x i8] c"somedata", [8 x i8] c"\18\D7H\E5cb\05r" }, %struct.anon.1.102 { [24 x i8] c"\03R\02\07g \82\17\86\02\87fY\08!\98d\05j\BD\FE\A94W", [8 x i8] c"squiggle", [8 x i8] c"\C0}*\0F\A5f\FA0" }, %struct.anon.1.102 { [24 x i8] c"\01\01\01\01\01\01\01\01\80\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02", [8 x i8] zeroinitializer, [8 x i8] c"\E6\E6\DD[~r)t" }, %struct.anon.1.102 { [24 x i8] c"\10F\104\89\98\80 \91\07\D0\15\89\19\01\01\19\07\92\10\98\1A\01\01", [8 x i8] zeroinitializer, [8 x i8] c"\E1\EFb\C32\FE\82[" }], align 1
@.str8491 = private unnamed_addr constant [45 x i8] c"Triple-DES SSLeay test failed on encryption.\00", align 1
@.str9492 = private unnamed_addr constant [45 x i8] c"Triple-DES SSLeay test failed on decryption.\00", align 1
@.str10493 = private unnamed_addr constant [19 x i8] c"SHA1 not available\00", align 1
@weak_keys = internal global [64 x [8 x i8]] [[8 x i8] zeroinitializer, [8 x i8] c"\00\00\1E\1E\00\00\0E\0E", [8 x i8] c"\00\00\E0\E0\00\00\F0\F0", [8 x i8] c"\00\00\FE\FE\00\00\FE\FE", [8 x i8] c"\00\1E\00\1E\00\0E\00\0E", [8 x i8] c"\00\1E\1E\00\00\0E\0E\00", [8 x i8] c"\00\1E\E0\FE\00\0E\F0\FE", [8 x i8] c"\00\1E\FE\E0\00\0E\FE\F0", [8 x i8] c"\00\E0\00\E0\00\F0\00\F0", [8 x i8] c"\00\E0\1E\FE\00\F0\0E\FE", [8 x i8] c"\00\E0\E0\00\00\F0\F0\00", [8 x i8] c"\00\E0\FE\1E\00\F0\FE\0E", [8 x i8] c"\00\FE\00\FE\00\FE\00\FE", [8 x i8] c"\00\FE\1E\E0\00\FE\0E\F0", [8 x i8] c"\00\FE\E0\1E\00\FE\F0\0E", [8 x i8] c"\00\FE\FE\00\00\FE\FE\00", [8 x i8] c"\1E\00\00\1E\0E\00\00\0E", [8 x i8] c"\1E\00\1E\00\0E\00\0E\00", [8 x i8] c"\1E\00\E0\FE\0E\00\F0\FE", [8 x i8] c"\1E\00\FE\E0\0E\00\FE\F0", [8 x i8] c"\1E\1E\00\00\0E\0E\00\00", [8 x i8] c"\1E\1E\1E\1E\0E\0E\0E\0E", [8 x i8] c"\1E\1E\E0\E0\0E\0E\F0\F0", [8 x i8] c"\1E\1E\FE\FE\0E\0E\FE\FE", [8 x i8] c"\1E\E0\00\FE\0E\F0\00\FE", [8 x i8] c"\1E\E0\1E\E0\0E\F0\0E\F0", [8 x i8] c"\1E\E0\E0\1E\0E\F0\F0\0E", [8 x i8] c"\1E\E0\FE\00\0E\F0\FE\00", [8 x i8] c"\1E\FE\00\E0\0E\FE\00\F0", [8 x i8] c"\1E\FE\1E\FE\0E\FE\0E\FE", [8 x i8] c"\1E\FE\E0\00\0E\FE\F0\00", [8 x i8] c"\1E\FE\FE\1E\0E\FE\FE\0E", [8 x i8] c"\E0\00\00\E0\F0\00\00\F0", [8 x i8] c"\E0\00\1E\FE\F0\00\0E\FE", [8 x i8] c"\E0\00\E0\00\F0\00\F0\00", [8 x i8] c"\E0\00\FE\1E\F0\00\FE\0E", [8 x i8] c"\E0\1E\00\FE\F0\0E\00\FE", [8 x i8] c"\E0\1E\1E\E0\F0\0E\0E\F0", [8 x i8] c"\E0\1E\E0\1E\F0\0E\F0\0E", [8 x i8] c"\E0\1E\FE\00\F0\0E\FE\00", [8 x i8] c"\E0\E0\00\00\F0\F0\00\00", [8 x i8] c"\E0\E0\1E\1E\F0\F0\0E\0E", [8 x i8] c"\E0\E0\E0\E0\F0\F0\F0\F0", [8 x i8] c"\E0\E0\FE\FE\F0\F0\FE\FE", [8 x i8] c"\E0\FE\00\1E\F0\FE\00\0E", [8 x i8] c"\E0\FE\1E\00\F0\FE\0E\00", [8 x i8] c"\E0\FE\E0\FE\F0\FE\F0\FE", [8 x i8] c"\E0\FE\FE\E0\F0\FE\FE\F0", [8 x i8] c"\FE\00\00\FE\FE\00\00\FE", [8 x i8] c"\FE\00\1E\E0\FE\00\0E\F0", [8 x i8] c"\FE\00\E0\1E\FE\00\F0\0E", [8 x i8] c"\FE\00\FE\00\FE\00\FE\00", [8 x i8] c"\FE\1E\00\E0\FE\0E\00\F0", [8 x i8] c"\FE\1E\1E\FE\FE\0E\0E\FE", [8 x i8] c"\FE\1E\E0\00\FE\0E\F0\00", [8 x i8] c"\FE\1E\FE\1E\FE\0E\FE\0E", [8 x i8] c"\FE\E0\00\1E\FE\F0\00\0E", [8 x i8] c"\FE\E0\1E\00\FE\F0\0E\00", [8 x i8] c"\FE\E0\E0\FE\FE\F0\F0\FE", [8 x i8] c"\FE\E0\FE\E0\FE\F0\FE\F0", [8 x i8] c"\FE\FE\00\00\FE\FE\00\00", [8 x i8] c"\FE\FE\1E\1E\FE\FE\0E\0E", [8 x i8] c"\FE\FE\E0\E0\FE\FE\F0\F0", [8 x i8] c"\FE\FE\FE\FE\FE\FE\FE\FE"], align 1
@weak_keys_chksum = internal global [20 x i8] c"\D0\CF\078\93p\8A\83}\D7\8A6e)l\1F|?\D3A", align 1
@.str11494 = private unnamed_addr constant [22 x i8] c"weak key table defect\00", align 1
@.str12495 = private unnamed_addr constant [30 x i8] c"DES weak key detection failed\00", align 1
@tripledes_set3keys.selftest_failed = internal global i8* null, align 4
@initialized = internal global i32 0, align 4
@.str13496 = private unnamed_addr constant [4 x i8] c"%s\0A\00", align 1
@leftkey_swap = internal global [16 x i32] [i32 0, i32 1, i32 256, i32 257, i32 65536, i32 65537, i32 65792, i32 65793, i32 16777216, i32 16777217, i32 16777472, i32 16777473, i32 16842752, i32 16842753, i32 16843008, i32 16843009], align 4
@rightkey_swap = internal global [16 x i32] [i32 0, i32 16777216, i32 65536, i32 16842752, i32 256, i32 16777472, i32 65792, i32 16843008, i32 1, i32 16777217, i32 65537, i32 16842753, i32 257, i32 16777473, i32 65793, i32 16843009], align 4
@encrypt_rotate_tab = internal global [16 x i8] c"\01\01\02\02\02\02\02\02\01\02\02\02\02\02\02\01", align 1
@sbox8 = internal global [64 x i32] [i32 268439616, i32 4096, i32 262144, i32 268701760, i32 268435456, i32 268439616, i32 64, i32 268435456, i32 262208, i32 268697600, i32 268701760, i32 266240, i32 268701696, i32 266304, i32 4096, i32 64, i32 268697600, i32 268435520, i32 268439552, i32 4160, i32 266240, i32 262208, i32 268697664, i32 268701696, i32 4160, i32 0, i32 0, i32 268697664, i32 268435520, i32 268439552, i32 266304, i32 262144, i32 266304, i32 262144, i32 268701696, i32 4096, i32 64, i32 268697664, i32 4096, i32 266304, i32 268439552, i32 64, i32 268435520, i32 268697600, i32 268697664, i32 268435456, i32 262144, i32 268439616, i32 0, i32 268701760, i32 262208, i32 268435520, i32 268697600, i32 268439552, i32 268439616, i32 0, i32 268701760, i32 266240, i32 266240, i32 4160, i32 4160, i32 262208, i32 268435456, i32 268701696], align 4
@sbox6 = internal global [64 x i32] [i32 536870928, i32 541065216, i32 16384, i32 541081616, i32 541065216, i32 16, i32 541081616, i32 4194304, i32 536887296, i32 4210704, i32 4194304, i32 536870928, i32 4194320, i32 536887296, i32 536870912, i32 16400, i32 0, i32 4194320, i32 536887312, i32 16384, i32 4210688, i32 536887312, i32 16, i32 541065232, i32 541065232, i32 0, i32 4210704, i32 541081600, i32 16400, i32 4210688, i32 541081600, i32 536870912, i32 536887296, i32 16, i32 541065232, i32 4210688, i32 541081616, i32 4194304, i32 16400, i32 536870928, i32 4194304, i32 536887296, i32 536870912, i32 16400, i32 536870928, i32 541081616, i32 4210688, i32 541065216, i32 4210704, i32 541081600, i32 0, i32 541065232, i32 16, i32 16384, i32 541065216, i32 4210704, i32 16384, i32 4194320, i32 536887312, i32 0, i32 541081600, i32 536870912, i32 4194320, i32 536887312], align 4
@sbox4 = internal global [64 x i32] [i32 8396801, i32 8321, i32 8321, i32 128, i32 8396928, i32 8388737, i32 8388609, i32 8193, i32 0, i32 8396800, i32 8396800, i32 8396929, i32 129, i32 0, i32 8388736, i32 8388609, i32 1, i32 8192, i32 8388608, i32 8396801, i32 128, i32 8388608, i32 8193, i32 8320, i32 8388737, i32 1, i32 8320, i32 8388736, i32 8192, i32 8396928, i32 8396929, i32 129, i32 8388736, i32 8388609, i32 8396800, i32 8396929, i32 129, i32 0, i32 0, i32 8396800, i32 8320, i32 8388736, i32 8388737, i32 1, i32 8396801, i32 8321, i32 8321, i32 128, i32 8396929, i32 129, i32 1, i32 8192, i32 8388609, i32 8193, i32 8396928, i32 8388737, i32 8193, i32 8320, i32 8388608, i32 8396801, i32 128, i32 8388608, i32 8192, i32 8396928], align 4
@sbox2 = internal global [64 x i32] [i32 -2146402272, i32 -2147450880, i32 32768, i32 1081376, i32 1048576, i32 32, i32 -2146435040, i32 -2147450848, i32 -2147483616, i32 -2146402272, i32 -2146402304, i32 -2147483648, i32 -2147450880, i32 1048576, i32 32, i32 -2146435040, i32 1081344, i32 1048608, i32 -2147450848, i32 0, i32 -2147483648, i32 32768, i32 1081376, i32 -2146435072, i32 1048608, i32 -2147483616, i32 0, i32 1081344, i32 32800, i32 -2146402304, i32 -2146435072, i32 32800, i32 0, i32 1081376, i32 -2146435040, i32 1048576, i32 -2147450848, i32 -2146435072, i32 -2146402304, i32 32768, i32 -2146435072, i32 -2147450880, i32 32, i32 -2146402272, i32 1081376, i32 32, i32 32768, i32 -2147483648, i32 32800, i32 -2146402304, i32 1048576, i32 -2147483616, i32 1048608, i32 -2147450848, i32 -2147483616, i32 1048608, i32 1081344, i32 0, i32 -2147450880, i32 32800, i32 -2147483648, i32 -2146435040, i32 -2146402272, i32 1081344], align 4
@sbox7 = internal global [64 x i32] [i32 2097152, i32 69206018, i32 67110914, i32 0, i32 2048, i32 67110914, i32 2099202, i32 69208064, i32 69208066, i32 2097152, i32 0, i32 67108866, i32 2, i32 67108864, i32 69206018, i32 2050, i32 67110912, i32 2099202, i32 2097154, i32 67110912, i32 67108866, i32 69206016, i32 69208064, i32 2097154, i32 69206016, i32 2048, i32 2050, i32 69208066, i32 2099200, i32 2, i32 67108864, i32 2099200, i32 67108864, i32 2099200, i32 2097152, i32 67110914, i32 67110914, i32 69206018, i32 69206018, i32 2, i32 2097154, i32 67108864, i32 67110912, i32 2097152, i32 69208064, i32 2050, i32 2099202, i32 69208064, i32 2050, i32 67108866, i32 69208066, i32 69206016, i32 2099200, i32 0, i32 2, i32 69208066, i32 0, i32 2099202, i32 69206016, i32 2048, i32 67108866, i32 67110912, i32 2048, i32 2097154], align 4
@sbox5 = internal global [64 x i32] [i32 256, i32 34078976, i32 34078720, i32 1107296512, i32 524288, i32 256, i32 1073741824, i32 34078720, i32 1074266368, i32 524288, i32 33554688, i32 1074266368, i32 1107296512, i32 1107820544, i32 524544, i32 1073741824, i32 33554432, i32 1074266112, i32 1074266112, i32 0, i32 1073742080, i32 1107820800, i32 1107820800, i32 33554688, i32 1107820544, i32 1073742080, i32 0, i32 1107296256, i32 34078976, i32 33554432, i32 1107296256, i32 524544, i32 524288, i32 1107296512, i32 256, i32 33554432, i32 1073741824, i32 34078720, i32 1107296512, i32 1074266368, i32 33554688, i32 1073741824, i32 1107820544, i32 34078976, i32 1074266368, i32 256, i32 33554432, i32 1107820544, i32 1107820800, i32 524544, i32 1107296256, i32 1107820800, i32 34078720, i32 0, i32 1074266112, i32 1107296256, i32 524544, i32 33554688, i32 1073742080, i32 524288, i32 0, i32 1074266112, i32 34078976, i32 1073742080], align 4
@sbox3 = internal global [64 x i32] [i32 520, i32 134349312, i32 0, i32 134348808, i32 134218240, i32 0, i32 131592, i32 134218240, i32 131080, i32 134217736, i32 134217736, i32 131072, i32 134349320, i32 131080, i32 134348800, i32 520, i32 134217728, i32 8, i32 134349312, i32 512, i32 131584, i32 134348800, i32 134348808, i32 131592, i32 134218248, i32 131584, i32 131072, i32 134218248, i32 8, i32 134349320, i32 512, i32 134217728, i32 134349312, i32 134217728, i32 131080, i32 520, i32 131072, i32 134349312, i32 134218240, i32 0, i32 512, i32 131080, i32 134349320, i32 134218240, i32 134217736, i32 512, i32 0, i32 134348808, i32 134218248, i32 131072, i32 134217728, i32 134349320, i32 8, i32 131592, i32 131584, i32 134217736, i32 134348800, i32 134218248, i32 520, i32 134348800, i32 131592, i32 8, i32 134348808, i32 131584], align 4
@sbox1 = internal global [64 x i32] [i32 16843776, i32 0, i32 65536, i32 16843780, i32 16842756, i32 66564, i32 4, i32 65536, i32 1024, i32 16843776, i32 16843780, i32 1024, i32 16778244, i32 16842756, i32 16777216, i32 4, i32 1028, i32 16778240, i32 16778240, i32 66560, i32 66560, i32 16842752, i32 16842752, i32 16778244, i32 65540, i32 16777220, i32 16777220, i32 65540, i32 0, i32 1028, i32 66564, i32 16777216, i32 65536, i32 16843780, i32 4, i32 16842752, i32 16843776, i32 16777216, i32 16777216, i32 1024, i32 16842756, i32 65536, i32 66560, i32 16777220, i32 1024, i32 4, i32 16778244, i32 66564, i32 16843780, i32 65540, i32 16842752, i32 16778244, i32 16777220, i32 1028, i32 66564, i32 16843776, i32 1028, i32 16778240, i32 16778240, i32 0, i32 65540, i32 66560, i32 0, i32 16842756], align 4
@des_setkey.selftest_failed = internal global i8* null, align 4
@.str14497 = private unnamed_addr constant [19 x i8] c"1.2.840.113549.3.7\00", align 1
@.str15498 = private unnamed_addr constant [17 x i8] c"1.3.36.3.1.3.2.1\00", align 1
@.str16499 = private unnamed_addr constant [24 x i8] c"1.2.840.113549.1.12.1.3\00", align 1
@.str503 = private unnamed_addr constant [47 x i8] c"choosing a random k of %u bits at seclevel %d\0A\00", align 1
@.str1504 = private unnamed_addr constant [22 x i8] c"\09k too large - again\0A\00", align 1
@.str2505 = private unnamed_addr constant [20 x i8] c"\09k is zero - again\0A\00", align 1
@.str3506 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@.str4507 = private unnamed_addr constant [2 x i8] c"\01\00", align 1
@progress_cb = internal global void (i8*, i8*, i32, i32, i32)* null, align 4
@progress_cb_data = internal global i8* null, align 4
@.str508 = private unnamed_addr constant [4 x i8] c"DSA\00", align 1
@dsa_names = internal global [3 x i8*] [i8* getelementptr inbounds ([4 x i8]* @.str68, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str69, i32 0, i32 0), i8* null], align 4
@.str1509 = private unnamed_addr constant [5 x i8] c"pqgy\00", align 1
@.str2510 = private unnamed_addr constant [6 x i8] c"pqgyx\00", align 1
@.str3511 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@.str4512 = private unnamed_addr constant [3 x i8] c"rs\00", align 1
@_gcry_pubkey_spec_dsa = internal hidden global %struct.gcry_pk_spec { i32 17, %struct.anon.109 { i8 2, [3 x i8] undef }, i32 1, i8* getelementptr inbounds ([4 x i8]* @.str508, i32 0, i32 0), i8** getelementptr inbounds ([3 x i8*]* @dsa_names, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str1509, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str2510, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8]* @.str3511, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str4512, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str1509, i32 0, i32 0), i32 (%struct.gcry_sexp*, %struct.gcry_sexp**)* @dsa_generate, i32 (%struct.gcry_sexp*)* @dsa_check_secret_key, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* null, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* null, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* @dsa_sign, i32 (%struct.gcry_sexp*, %struct.gcry_sexp*, %struct.gcry_sexp*)* @dsa_verify, i32 (%struct.gcry_sexp*)* @dsa_get_nbits, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests549, i32 (%struct.gcry_md_handle*, %struct.gcry_sexp*)* null, i32 (i8*, %struct.gcry_mpi**)* null, i8* (%struct.gcry_sexp*, i32, i32*)* null, %struct.gcry_sexp* (i8*)* null }, align 4
@.str5513 = private unnamed_addr constant [8 x i8] c"convert\00", align 1
@sample_secret_key = internal constant [966 x i8] c"(private-key (dsa (p #00AD7C0025BA1A15F775F3F2D673718391D00456978D347B33D7B49E7F32EDAB 96273899DD8B2BB46CD6ECA263FAF04A28903503D59062A8865D2AE8ADFB5191 CF36FFB562D0E2F5809801A1F675DAE59698A9E01EFE8D7DCFCA084F4C6F5A44 44D499A06FFAEA5E8EF5E01F2FD20A7B7EF3F6968AFBA1FB8D91F1559D52D8777B#) (q #00EB7B5751D25EBBB7BD59D920315FD840E19AEBF9#) (g #1574363387FDFD1DDF38F4FBE135BB20C7EE4772FB94C337AF86EA8E49666503 AE04B6BE81A2F8DD095311E0217ACA698A11E6C5D33CCDAE71498ED35D13991E B02F09AB40BD8F4C5ED8C75DA779D0AE104BC34C960B002377068AB4B5A1F984 3FBA91F537F1B7CAC4D8DD6D89B0D863AF7025D549F9C765D2FC07EE208F8D15#) (y #64B11EF8871BE4AB572AA810D5D3CA11A6CDBC637A8014602C72960DB135BF46 A1816A724C34F87330FC9E187C5D66897A04535CC2AC9164A7150ABFA8179827 6E45831AB811EEE848EBB24D9F5F2883B6E5DDC4C659DEF944DCFD80BF4D0A20 42CAA7DC289F0C5A9D155F02D3D551DB741A81695B74D4C8F477F9C7838EB0FB#) (x #11D54E4ADBD3034160F2CED4B7CD292A4EBF3EC0#)))\00", align 1
@sample_public_key = internal constant [917 x i8] c"(public-key (dsa (p #00AD7C0025BA1A15F775F3F2D673718391D00456978D347B33D7B49E7F32EDAB 96273899DD8B2BB46CD6ECA263FAF04A28903503D59062A8865D2AE8ADFB5191 CF36FFB562D0E2F5809801A1F675DAE59698A9E01EFE8D7DCFCA084F4C6F5A44 44D499A06FFAEA5E8EF5E01F2FD20A7B7EF3F6968AFBA1FB8D91F1559D52D8777B#) (q #00EB7B5751D25EBBB7BD59D920315FD840E19AEBF9#) (g #1574363387FDFD1DDF38F4FBE135BB20C7EE4772FB94C337AF86EA8E49666503 AE04B6BE81A2F8DD095311E0217ACA698A11E6C5D33CCDAE71498ED35D13991E B02F09AB40BD8F4C5ED8C75DA779D0AE104BC34C960B002377068AB4B5A1F984 3FBA91F537F1B7CAC4D8DD6D89B0D863AF7025D549F9C765D2FC07EE208F8D15#) (y #64B11EF8871BE4AB572AA810D5D3CA11A6CDBC637A8014602C72960DB135BF46 A1816A724C34F87330FC9E187C5D66897A04535CC2AC9164A7150ABFA8179827 6E45831AB811EEE848EBB24D9F5F2883B6E5DDC4C659DEF944DCFD80BF4D0A20 42CAA7DC289F0C5A9D155F02D3D551DB741A81695B74D4C8F477F9C7838EB0FB#)))\00", align 1
@.str6514 = private unnamed_addr constant [16 x i8] c"key consistency\00", align 1
@.str7515 = private unnamed_addr constant [5 x i8] c"sign\00", align 1
@.str8516 = private unnamed_addr constant [7 x i8] c"pubkey\00", align 1
@selftest_sign_1024.sample_data = internal constant [70 x i8] c"(data (flags raw) (value #a0b1c2d3e4f500102030405060708090a1b2c3d4#))\00", align 1
@selftest_sign_1024.sample_data_bad = internal constant [70 x i8] c"(data (flags raw) (value #a0b1c2d3e4f510102030405060708090a1b2c3d4#))\00", align 1
@.str9517 = private unnamed_addr constant [23 x i8] c"converting data failed\00", align 1
@.str10518 = private unnamed_addr constant [15 x i8] c"signing failed\00", align 1
@.str11519 = private unnamed_addr constant [14 x i8] c"verify failed\00", align 1
@.str12520 = private unnamed_addr constant [27 x i8] c"bad signature not detected\00", align 1
@.str13521 = private unnamed_addr constant [2 x i8] c"p\00", align 1
@.str14522 = private unnamed_addr constant [16 x i8] c"dsa_verify data\00", align 1
@.str15523 = private unnamed_addr constant [16 x i8] c"dsa_verify s_r\00", align 1
@.str16524 = private unnamed_addr constant [16 x i8] c"dsa_verify s_s\00", align 1
@.str17525 = private unnamed_addr constant [16 x i8] c"dsa_verify p\00", align 1
@.str18526 = private unnamed_addr constant [16 x i8] c"dsa_verify q\00", align 1
@.str19527 = private unnamed_addr constant [16 x i8] c"dsa_verify g\00", align 1
@.str20528 = private unnamed_addr constant [16 x i8] c"dsa_verify y\00", align 1
@.str21529 = private unnamed_addr constant [21 x i8] c"dsa_verify => %s\0A\00", align 1
@.str22530 = private unnamed_addr constant [5 x i8] c"Good\00", align 1
@.str23531 = private unnamed_addr constant [16 x i8] c"dsa_sign data\00", align 1
@.str24532 = private unnamed_addr constant [16 x i8] c"dsa_sign p\00", align 1
@.str25533 = private unnamed_addr constant [16 x i8] c"dsa_sign q\00", align 1
@.str26534 = private unnamed_addr constant [16 x i8] c"dsa_sign g\00", align 1
@.str27535 = private unnamed_addr constant [16 x i8] c"dsa_sign y\00", align 1
@.str28536 = private unnamed_addr constant [16 x i8] c"dsa_sign x\00", align 1
@.str29537 = private unnamed_addr constant [16 x i8] c"dsa_sign sig_r\00", align 1
@.str30538 = private unnamed_addr constant [16 x i8] c"dsa_sign sig_s\00", align 1
@.str31539 = private unnamed_addr constant [25 x i8] c"(sig-val(dsa(r%M)(s%M)))\00", align 1
@.str32540 = private unnamed_addr constant [21 x i8] c"dsa_sign => %s\0A\00", align 1
@.str33541 = private unnamed_addr constant [22 x i8] c"dsa_testkey => %s\0A\00", align 1
@.str34542 = private unnamed_addr constant [6 x i8] c"flags\00", align 1
@.str35543 = private unnamed_addr constant [6 x i8] c"qbits\00", align 1
@.str36544 = private unnamed_addr constant [14 x i8] c"transient-key\00", align 1
@.str37545 = private unnamed_addr constant [13 x i8] c"derive-parms\00", align 1
@.str38 = private unnamed_addr constant [12 x i8] c"use-fips186\00", align 1
@.str39 = private unnamed_addr constant [14 x i8] c"use-fips186-2\00", align 1
@.str40 = private unnamed_addr constant [7 x i8] c"domain\00", align 1
@.str41 = private unnamed_addr constant [2 x i8] c"q\00", align 1
@.str42 = private unnamed_addr constant [2 x i8] c"g\00", align 1
@.str43 = private unnamed_addr constant [41 x i8] c"(seed-values(counter %d)(seed %b)(h %m))\00", align 1
@.str44 = private unnamed_addr constant [15 x i8] c"(misc-key-info\00", align 1
@.str45 = private unnamed_addr constant [3 x i8] c"%S\00", align 1
@.str46 = private unnamed_addr constant [13 x i8] c"(pm1-factors\00", align 1
@.str47 = private unnamed_addr constant [3 x i8] c"%m\00", align 1
@.str48546 = private unnamed_addr constant [2 x i8] c")\00", align 1
@.str49 = private unnamed_addr constant [100 x i8] c"(key-data (public-key (dsa(p%m)(q%m)(g%m)(y%m))) (private-key (dsa(p%m)(q%m)(g%m)(y%m)(x%m))) %S)\00", align 1
@.str50 = private unnamed_addr constant [35 x i8] c"_gcry_mpi_get_nbits ((p)) == nbits\00", align 1
@.str51 = private unnamed_addr constant [6 x i8] c"dsa.c\00", align 1
@__FUNCTION__.generate = private unnamed_addr constant [9 x i8] c"generate\00", align 1
@.str52 = private unnamed_addr constant [35 x i8] c"_gcry_mpi_get_nbits ((q)) == qbits\00", align 1
@.str53 = private unnamed_addr constant [23 x i8] c"choosing a random x%s\0A\00", align 1
@.str54 = private unnamed_addr constant [17 x i8] c" (transient-key)\00", align 1
@.str55 = private unnamed_addr constant [13 x i8] c"qbits >= 160\00", align 1
@.str56 = private unnamed_addr constant [7 x i8] c"dsa p\00", align 1
@.str57 = private unnamed_addr constant [7 x i8] c"dsa q\00", align 1
@.str58 = private unnamed_addr constant [7 x i8] c"dsa g\00", align 1
@.str59 = private unnamed_addr constant [7 x i8] c"dsa y\00", align 1
@.str60 = private unnamed_addr constant [7 x i8] c"dsa x\00", align 1
@.str61 = private unnamed_addr constant [38 x i8] c"self-test after key generation failed\00", align 1
@.str62 = private unnamed_addr constant [7 x i8] c"pk_dsa\00", align 1
@.str63 = private unnamed_addr constant [41 x i8] c"_gcry_mpi_get_nbits ((prime_p)) == nbits\00", align 1
@__FUNCTION__.generate_fips186 = private unnamed_addr constant [17 x i8] c"generate_fips186\00", align 1
@.str64 = private unnamed_addr constant [41 x i8] c"_gcry_mpi_get_nbits ((prime_q)) == qbits\00", align 1
@.str65 = private unnamed_addr constant [13 x i8] c"!deriveparms\00", align 1
@.str66 = private unnamed_addr constant [5 x i8] c"seed\00", align 1
@.str67 = private unnamed_addr constant [7 x i8] c"dsa h\00", align 1
@.str68 = private unnamed_addr constant [4 x i8] c"dsa\00", align 1
@.str69 = private unnamed_addr constant [12 x i8] c"openpgp-dsa\00", align 1
@domain_parms = internal constant [16 x %struct.ecc_domain_parms_t] [%struct.ecc_domain_parms_t { i8* getelementptr inbounds ([8 x i8]* @.str20571, i32 0, i32 0), i32 256, i8 0, i32 2, i32 1, i8* getelementptr inbounds ([67 x i8]* @.str58609, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str59610, i32 0, i32 0), i8* getelementptr inbounds ([68 x i8]* @.str60611, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str61612, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str62613, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str63614, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([11 x i8]* @.str22573, i32 0, i32 0), i32 192, i8 1, i32 0, i32 0, i8* getelementptr inbounds ([51 x i8]* @.str64615, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str65616, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str66617, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str67618, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str68619, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str69620, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([11 x i8]* @.str27578, i32 0, i32 0), i32 224, i8 1, i32 0, i32 0, i8* getelementptr inbounds ([59 x i8]* @.str70, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str71, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str72, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str73, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str74, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str75, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([11 x i8]* @.str31582, i32 0, i32 0), i32 256, i8 1, i32 0, i32 0, i8* getelementptr inbounds ([67 x i8]* @.str76, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str77, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str78, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str79, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str80, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str81, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([11 x i8]* @.str36587, i32 0, i32 0), i32 384, i8 1, i32 0, i32 0, i8* getelementptr inbounds ([99 x i8]* @.str82, i32 0, i32 0), i8* getelementptr inbounds ([99 x i8]* @.str83, i32 0, i32 0), i8* getelementptr inbounds ([99 x i8]* @.str84, i32 0, i32 0), i8* getelementptr inbounds ([99 x i8]* @.str85, i32 0, i32 0), i8* getelementptr inbounds ([99 x i8]* @.str86, i32 0, i32 0), i8* getelementptr inbounds ([99 x i8]* @.str87, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([11 x i8]* @.str40591, i32 0, i32 0), i32 521, i8 1, i32 0, i32 0, i8* getelementptr inbounds ([135 x i8]* @.str88, i32 0, i32 0), i8* getelementptr inbounds ([135 x i8]* @.str89, i32 0, i32 0), i8* getelementptr inbounds ([134 x i8]* @.str90, i32 0, i32 0), i8* getelementptr inbounds ([134 x i8]* @.str91, i32 0, i32 0), i8* getelementptr inbounds ([133 x i8]* @.str92, i32 0, i32 0), i8* getelementptr inbounds ([134 x i8]* @.str93, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([16 x i8]* @.str44595, i32 0, i32 0), i32 160, i8 0, i32 0, i32 0, i8* getelementptr inbounds ([43 x i8]* @.str94, i32 0, i32 0), i8* getelementptr inbounds ([43 x i8]* @.str95, i32 0, i32 0), i8* getelementptr inbounds ([43 x i8]* @.str96, i32 0, i32 0), i8* getelementptr inbounds ([43 x i8]* @.str97, i32 0, i32 0), i8* getelementptr inbounds ([43 x i8]* @.str98, i32 0, i32 0), i8* getelementptr inbounds ([43 x i8]* @.str99, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([16 x i8]* @.str46597, i32 0, i32 0), i32 192, i8 0, i32 0, i32 0, i8* getelementptr inbounds ([51 x i8]* @.str100, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str101, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str102, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str103, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str104, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str105, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([16 x i8]* @.str48599, i32 0, i32 0), i32 224, i8 0, i32 0, i32 0, i8* getelementptr inbounds ([59 x i8]* @.str106, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str107, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str108, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str109, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str110, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str111, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([16 x i8]* @.str50601, i32 0, i32 0), i32 256, i8 0, i32 0, i32 0, i8* getelementptr inbounds ([67 x i8]* @.str112621, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str113, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str114, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str115, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str116, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str117, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([16 x i8]* @.str52603, i32 0, i32 0), i32 320, i8 0, i32 0, i32 0, i8* getelementptr inbounds ([83 x i8]* @.str118, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8]* @.str119, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8]* @.str120, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8]* @.str121, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8]* @.str122, i32 0, i32 0), i8* getelementptr inbounds ([83 x i8]* @.str123, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([16 x i8]* @.str54605, i32 0, i32 0), i32 384, i8 0, i32 0, i32 0, i8* getelementptr inbounds ([99 x i8]* @.str124, i32 0, i32 0), i8* getelementptr inbounds ([99 x i8]* @.str125, i32 0, i32 0), i8* getelementptr inbounds ([99 x i8]* @.str126, i32 0, i32 0), i8* getelementptr inbounds ([99 x i8]* @.str127, i32 0, i32 0), i8* getelementptr inbounds ([99 x i8]* @.str128, i32 0, i32 0), i8* getelementptr inbounds ([99 x i8]* @.str129, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([16 x i8]* @.str56607, i32 0, i32 0), i32 512, i8 0, i32 0, i32 0, i8* getelementptr inbounds ([131 x i8]* @.str130622, i32 0, i32 0), i8* getelementptr inbounds ([131 x i8]* @.str131, i32 0, i32 0), i8* getelementptr inbounds ([131 x i8]* @.str132, i32 0, i32 0), i8* getelementptr inbounds ([131 x i8]* @.str133, i32 0, i32 0), i8* getelementptr inbounds ([131 x i8]* @.str134, i32 0, i32 0), i8* getelementptr inbounds ([131 x i8]* @.str135, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([14 x i8]* @.str136, i32 0, i32 0), i32 256, i8 0, i32 0, i32 0, i8* getelementptr inbounds ([67 x i8]* @.str137, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str138, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str139, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str140, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str141, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str142, i32 0, i32 0) }, %struct.ecc_domain_parms_t { i8* getelementptr inbounds ([14 x i8]* @.str143, i32 0, i32 0), i32 511, i8 0, i32 0, i32 0, i8* getelementptr inbounds ([131 x i8]* @.str144, i32 0, i32 0), i8* getelementptr inbounds ([67 x i8]* @.str138, i32 0, i32 0), i8* getelementptr inbounds ([131 x i8]* @.str145, i32 0, i32 0), i8* getelementptr inbounds ([131 x i8]* @.str146, i32 0, i32 0), i8* getelementptr inbounds ([131 x i8]* @.str147, i32 0, i32 0), i8* getelementptr inbounds ([131 x i8]* @.str148, i32 0, i32 0) }, %struct.ecc_domain_parms_t zeroinitializer], align 4
@curve_aliases = internal constant [26 x %struct.anon.115] [%struct.anon.115 { i8* getelementptr inbounds ([8 x i8]* @.str20571, i32 0, i32 0), i8* getelementptr inbounds ([23 x i8]* @.str21572, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str22573, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8]* @.str23574, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str22573, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str24575, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str22573, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str25576, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str22573, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str26577, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str27578, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str28579, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str27578, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str29580, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str27578, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str30581, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str31582, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8]* @.str32583, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str31582, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8]* @.str33584, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str31582, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str34585, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str31582, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str35586, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str36587, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str37588, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str36587, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str38589, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str36587, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str39590, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str40591, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str41592, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str40591, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8]* @.str42593, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([11 x i8]* @.str40591, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str43594, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([16 x i8]* @.str44595, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str45596, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([16 x i8]* @.str46597, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str47598, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([16 x i8]* @.str48599, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str49600, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([16 x i8]* @.str50601, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str51602, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([16 x i8]* @.str52603, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str53604, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([16 x i8]* @.str54605, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8]* @.str55606, i32 0, i32 0) }, %struct.anon.115 { i8* getelementptr inbounds ([16 x i8]* @.str56607, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8]* @.str57608, i32 0, i32 0) }, %struct.anon.115 zeroinitializer], align 4
@.str551 = private unnamed_addr constant [7 x i8] c"-pabgn\00", align 1
@.str9560 = private unnamed_addr constant [49 x i8] c"ecc get param: Failed to get affine coordinates\0A\00", align 1
@.str10561 = private unnamed_addr constant [43 x i8] c"(public-key(ecc(p%m)(a%m)(b%m)(g%m)(n%m)))\00", align 1
@.str19570 = private unnamed_addr constant [35 x i8] c"scanning ECC parameter failed: %s\0A\00", align 1
@.str20571 = private unnamed_addr constant [8 x i8] c"Ed25519\00", align 1
@.str21572 = private unnamed_addr constant [23 x i8] c"1.3.6.1.4.1.3029.1.5.1\00", align 1
@.str22573 = private unnamed_addr constant [11 x i8] c"NIST P-192\00", align 1
@.str23574 = private unnamed_addr constant [20 x i8] c"1.2.840.10045.3.1.1\00", align 1
@.str24575 = private unnamed_addr constant [11 x i8] c"prime192v1\00", align 1
@.str25576 = private unnamed_addr constant [10 x i8] c"secp192r1\00", align 1
@.str26577 = private unnamed_addr constant [9 x i8] c"nistp192\00", align 1
@.str27578 = private unnamed_addr constant [11 x i8] c"NIST P-224\00", align 1
@.str28579 = private unnamed_addr constant [10 x i8] c"secp224r1\00", align 1
@.str29580 = private unnamed_addr constant [13 x i8] c"1.3.132.0.33\00", align 1
@.str30581 = private unnamed_addr constant [9 x i8] c"nistp224\00", align 1
@.str31582 = private unnamed_addr constant [11 x i8] c"NIST P-256\00", align 1
@.str32583 = private unnamed_addr constant [20 x i8] c"1.2.840.10045.3.1.7\00", align 1
@.str33584 = private unnamed_addr constant [11 x i8] c"prime256v1\00", align 1
@.str34585 = private unnamed_addr constant [10 x i8] c"secp256r1\00", align 1
@.str35586 = private unnamed_addr constant [9 x i8] c"nistp256\00", align 1
@.str36587 = private unnamed_addr constant [11 x i8] c"NIST P-384\00", align 1
@.str37588 = private unnamed_addr constant [10 x i8] c"secp384r1\00", align 1
@.str38589 = private unnamed_addr constant [13 x i8] c"1.3.132.0.34\00", align 1
@.str39590 = private unnamed_addr constant [9 x i8] c"nistp384\00", align 1
@.str40591 = private unnamed_addr constant [11 x i8] c"NIST P-521\00", align 1
@.str41592 = private unnamed_addr constant [10 x i8] c"secp521r1\00", align 1
@.str42593 = private unnamed_addr constant [13 x i8] c"1.3.132.0.35\00", align 1
@.str43594 = private unnamed_addr constant [9 x i8] c"nistp521\00", align 1
@.str44595 = private unnamed_addr constant [16 x i8] c"brainpoolP160r1\00", align 1
@.str45596 = private unnamed_addr constant [21 x i8] c"1.3.36.3.3.2.8.1.1.1\00", align 1
@.str46597 = private unnamed_addr constant [16 x i8] c"brainpoolP192r1\00", align 1
@.str47598 = private unnamed_addr constant [21 x i8] c"1.3.36.3.3.2.8.1.1.3\00", align 1
@.str48599 = private unnamed_addr constant [16 x i8] c"brainpoolP224r1\00", align 1
@.str49600 = private unnamed_addr constant [21 x i8] c"1.3.36.3.3.2.8.1.1.5\00", align 1
@.str50601 = private unnamed_addr constant [16 x i8] c"brainpoolP256r1\00", align 1
@.str51602 = private unnamed_addr constant [21 x i8] c"1.3.36.3.3.2.8.1.1.7\00", align 1
@.str52603 = private unnamed_addr constant [16 x i8] c"brainpoolP320r1\00", align 1
@.str53604 = private unnamed_addr constant [21 x i8] c"1.3.36.3.3.2.8.1.1.9\00", align 1
@.str54605 = private unnamed_addr constant [16 x i8] c"brainpoolP384r1\00", align 1
@.str55606 = private unnamed_addr constant [22 x i8] c"1.3.36.3.3.2.8.1.1.11\00", align 1
@.str56607 = private unnamed_addr constant [16 x i8] c"brainpoolP512r1\00", align 1
@.str57608 = private unnamed_addr constant [22 x i8] c"1.3.36.3.3.2.8.1.1.13\00", align 1
@.str58609 = private unnamed_addr constant [67 x i8] c"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED\00", align 1
@.str59610 = private unnamed_addr constant [6 x i8] c"-0x01\00", align 1
@.str60611 = private unnamed_addr constant [68 x i8] c"-0x2DFC9311D490018C7338BF8688861767FF8FF5B2BEBE27548A14B235ECA6874A\00", align 1
@.str61612 = private unnamed_addr constant [67 x i8] c"0x1000000000000000000000000000000014DEF9DEA2F79CD65812631A5CF5D3ED\00", align 1
@.str62613 = private unnamed_addr constant [67 x i8] c"0x216936D3CD6E53FEC0A4E231FDD6DC5C692CC7609525A7B2C9562D608F25D51A\00", align 1
@.str63614 = private unnamed_addr constant [67 x i8] c"0x6666666666666666666666666666666666666666666666666666666666666658\00", align 1
@.str64615 = private unnamed_addr constant [51 x i8] c"0xfffffffffffffffffffffffffffffffeffffffffffffffff\00", align 1
@.str65616 = private unnamed_addr constant [51 x i8] c"0xfffffffffffffffffffffffffffffffefffffffffffffffc\00", align 1
@.str66617 = private unnamed_addr constant [51 x i8] c"0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1\00", align 1
@.str67618 = private unnamed_addr constant [51 x i8] c"0xffffffffffffffffffffffff99def836146bc9b1b4d22831\00", align 1
@.str68619 = private unnamed_addr constant [51 x i8] c"0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012\00", align 1
@.str69620 = private unnamed_addr constant [51 x i8] c"0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811\00", align 1
@.str70 = private unnamed_addr constant [59 x i8] c"0xffffffffffffffffffffffffffffffff000000000000000000000001\00", align 1
@.str71 = private unnamed_addr constant [59 x i8] c"0xfffffffffffffffffffffffffffffffefffffffffffffffffffffffe\00", align 1
@.str72 = private unnamed_addr constant [59 x i8] c"0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4\00", align 1
@.str73 = private unnamed_addr constant [59 x i8] c"0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\00", align 1
@.str74 = private unnamed_addr constant [59 x i8] c"0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21\00", align 1
@.str75 = private unnamed_addr constant [59 x i8] c"0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34\00", align 1
@.str76 = private unnamed_addr constant [67 x i8] c"0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff\00", align 1
@.str77 = private unnamed_addr constant [67 x i8] c"0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc\00", align 1
@.str78 = private unnamed_addr constant [67 x i8] c"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b\00", align 1
@.str79 = private unnamed_addr constant [67 x i8] c"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\00", align 1
@.str80 = private unnamed_addr constant [67 x i8] c"0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296\00", align 1
@.str81 = private unnamed_addr constant [67 x i8] c"0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5\00", align 1
@.str82 = private unnamed_addr constant [99 x i8] c"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff\00", align 1
@.str83 = private unnamed_addr constant [99 x i8] c"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc\00", align 1
@.str84 = private unnamed_addr constant [99 x i8] c"0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef\00", align 1
@.str85 = private unnamed_addr constant [99 x i8] c"0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\00", align 1
@.str86 = private unnamed_addr constant [99 x i8] c"0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7\00", align 1
@.str87 = private unnamed_addr constant [99 x i8] c"0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f\00", align 1
@.str88 = private unnamed_addr constant [135 x i8] c"0x01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\00", align 1
@.str89 = private unnamed_addr constant [135 x i8] c"0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc\00", align 1
@.str90 = private unnamed_addr constant [134 x i8] c"0x051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00\00", align 1
@.str91 = private unnamed_addr constant [134 x i8] c"0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409\00", align 1
@.str92 = private unnamed_addr constant [133 x i8] c"0xc6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66\00", align 1
@.str93 = private unnamed_addr constant [134 x i8] c"0x11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650\00", align 1
@.str94 = private unnamed_addr constant [43 x i8] c"0xe95e4a5f737059dc60dfc7ad95b3d8139515620f\00", align 1
@.str95 = private unnamed_addr constant [43 x i8] c"0x340e7be2a280eb74e2be61bada745d97e8f7c300\00", align 1
@.str96 = private unnamed_addr constant [43 x i8] c"0x1e589a8595423412134faa2dbdec95c8d8675e58\00", align 1
@.str97 = private unnamed_addr constant [43 x i8] c"0xe95e4a5f737059dc60df5991d45029409e60fc09\00", align 1
@.str98 = private unnamed_addr constant [43 x i8] c"0xbed5af16ea3f6a4f62938c4631eb5af7bdbcdbc3\00", align 1
@.str99 = private unnamed_addr constant [43 x i8] c"0x1667cb477a1a8ec338f94741669c976316da6321\00", align 1
@.str100 = private unnamed_addr constant [51 x i8] c"0xc302f41d932a36cda7a3463093d18db78fce476de1a86297\00", align 1
@.str101 = private unnamed_addr constant [51 x i8] c"0x6a91174076b1e0e19c39c031fe8685c1cae040e5c69a28ef\00", align 1
@.str102 = private unnamed_addr constant [51 x i8] c"0x469a28ef7c28cca3dc721d044f4496bcca7ef4146fbf25c9\00", align 1
@.str103 = private unnamed_addr constant [51 x i8] c"0xc302f41d932a36cda7a3462f9e9e916b5be8f1029ac4acc1\00", align 1
@.str104 = private unnamed_addr constant [51 x i8] c"0xc0a0647eaab6a48753b033c56cb0f0900a2f5c4853375fd6\00", align 1
@.str105 = private unnamed_addr constant [51 x i8] c"0x14b690866abd5bb88b5f4828c1490002e6773fa2fa299b8f\00", align 1
@.str106 = private unnamed_addr constant [59 x i8] c"0xd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff\00", align 1
@.str107 = private unnamed_addr constant [59 x i8] c"0x68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43\00", align 1
@.str108 = private unnamed_addr constant [59 x i8] c"0x2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b\00", align 1
@.str109 = private unnamed_addr constant [59 x i8] c"0xd7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f\00", align 1
@.str110 = private unnamed_addr constant [59 x i8] c"0x0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d\00", align 1
@.str111 = private unnamed_addr constant [59 x i8] c"0x58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd\00", align 1
@.str112621 = private unnamed_addr constant [67 x i8] c"0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377\00", align 1
@.str113 = private unnamed_addr constant [67 x i8] c"0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9\00", align 1
@.str114 = private unnamed_addr constant [67 x i8] c"0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6\00", align 1
@.str115 = private unnamed_addr constant [67 x i8] c"0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7\00", align 1
@.str116 = private unnamed_addr constant [67 x i8] c"0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262\00", align 1
@.str117 = private unnamed_addr constant [67 x i8] c"0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997\00", align 1
@.str118 = private unnamed_addr constant [83 x i8] c"0xd35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27\00", align 1
@.str119 = private unnamed_addr constant [83 x i8] c"0x3ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb4\00", align 1
@.str120 = private unnamed_addr constant [83 x i8] c"0x520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a6\00", align 1
@.str121 = private unnamed_addr constant [83 x i8] c"0xd35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311\00", align 1
@.str122 = private unnamed_addr constant [83 x i8] c"0x43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611\00", align 1
@.str123 = private unnamed_addr constant [83 x i8] c"0x14fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1\00", align 1
@.str124 = private unnamed_addr constant [99 x i8] c"0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53\00", align 1
@.str125 = private unnamed_addr constant [99 x i8] c"0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826\00", align 1
@.str126 = private unnamed_addr constant [99 x i8] c"0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11\00", align 1
@.str127 = private unnamed_addr constant [99 x i8] c"0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565\00", align 1
@.str128 = private unnamed_addr constant [99 x i8] c"0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e\00", align 1
@.str129 = private unnamed_addr constant [99 x i8] c"0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315\00", align 1
@.str130622 = private unnamed_addr constant [131 x i8] c"0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3\00", align 1
@.str131 = private unnamed_addr constant [131 x i8] c"0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca\00", align 1
@.str132 = private unnamed_addr constant [131 x i8] c"0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723\00", align 1
@.str133 = private unnamed_addr constant [131 x i8] c"0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069\00", align 1
@.str134 = private unnamed_addr constant [131 x i8] c"0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822\00", align 1
@.str135 = private unnamed_addr constant [131 x i8] c"0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892\00", align 1
@.str136 = private unnamed_addr constant [14 x i8] c"GOST2001-test\00", align 1
@.str137 = private unnamed_addr constant [67 x i8] c"0x8000000000000000000000000000000000000000000000000000000000000431\00", align 1
@.str138 = private unnamed_addr constant [67 x i8] c"0x0000000000000000000000000000000000000000000000000000000000000007\00", align 1
@.str139 = private unnamed_addr constant [67 x i8] c"0x5fbff498aa938ce739b8e022fbafef40563f6e6a3472fc2a514c0ce9dae23b7e\00", align 1
@.str140 = private unnamed_addr constant [67 x i8] c"0x8000000000000000000000000000000150fe8a1892976154c59cfc193accf5b3\00", align 1
@.str141 = private unnamed_addr constant [67 x i8] c"0x0000000000000000000000000000000000000000000000000000000000000002\00", align 1
@.str142 = private unnamed_addr constant [67 x i8] c"0x08e2a8a0e65147d4bd6316030e16d19c85c97f0a9ca267122b96abbcea7e8fc8\00", align 1
@.str143 = private unnamed_addr constant [14 x i8] c"GOST2012-test\00", align 1
@.str144 = private unnamed_addr constant [131 x i8] c"0x4531acd1fe0023c7550d267b6b2fee80922b14b2ffb90f04d4eb7c09b5d2d15df1d852741af4704a0458047e80e4546d35b8336fac224dd81664bbf528be6373\00", align 1
@.str145 = private unnamed_addr constant [131 x i8] c"0x1cff0806a31116da29d8cfa54e57eb748bc5f377e49400fdd788b649eca1ac4361834013b2ad7322480a89ca58e0cf74bc9e540c2add6897fad0a3084f302adc\00", align 1
@.str146 = private unnamed_addr constant [131 x i8] c"0x4531acd1fe0023c7550d267b6b2fee80922b14b2ffb90f04d4eb7c09b5d2d15da82f2d7ecb1dbac719905c5eecc423f1d86e25edbe23c595d644aaf187e6e6df\00", align 1
@.str147 = private unnamed_addr constant [131 x i8] c"0x24d19cc64572ee30f396bf6ebbfd7a6c5213b3b3d7057cc825f91093a68cd762fd60611262cd838dc6b60aa7eee804e28bc849977fac33b4b530f1b120248a9a\00", align 1
@.str148 = private unnamed_addr constant [131 x i8] c"0x2bb312a43bd2ce6e0d020613c857acddcfbf061e91e5f2c3f32447c259f39b2c83ab156d77f1496bf7eb3351e1ee4e43dc1a18b91b24640b6dbb92cb1add371e\00", align 1
@.str625 = private unnamed_addr constant [18 x i8] c"ecdsa sign hash \00", align 1
@.str1626 = private unnamed_addr constant [44 x i8] c"ecc sign: Failed to get affine coordinates\0A\00", align 1
@.str2627 = private unnamed_addr constant [21 x i8] c"ecdsa sign result r \00", align 1
@.str3628 = private unnamed_addr constant [21 x i8] c"ecdsa sign result s \00", align 1
@.str4629 = private unnamed_addr constant [22 x i8] c"ecc verify: Rejected\0A\00", align 1
@.str5630 = private unnamed_addr constant [46 x i8] c"ecc verify: Failed to get affine coordinates\0A\00", align 1
@.str6631 = private unnamed_addr constant [7 x i8] c" x\00", align 1
@.str7632 = private unnamed_addr constant [7 x i8] c" r\00", align 1
@.str8633 = private unnamed_addr constant [7 x i8] c" s\00", align 1
@.str636 = private unnamed_addr constant [53 x i8] c"eddsa_encodepoint: Failed to get affine coordinates\0A\00", align 1
@.str1637 = private unnamed_addr constant [14 x i8] c"ecgen pk\00", align 1
@.str2638 = private unnamed_addr constant [7 x i8] c"* e_pk\00", align 1
@.str3639 = private unnamed_addr constant [7 x i8] c" e_pk\00", align 1
@.str4640 = private unnamed_addr constant [7 x i8] c" m\00", align 1
@.str5641 = private unnamed_addr constant [7 x i8] c" r\00", align 1
@.str6642 = private unnamed_addr constant [5 x i8] c" r\00", align 1
@.str7643 = private unnamed_addr constant [7 x i8] c" e_r\00", align 1
@.str8644 = private unnamed_addr constant [7 x i8] c" H(R+)\00", align 1
@.str9645 = private unnamed_addr constant [7 x i8] c" e_s\00", align 1
@.str10646 = private unnamed_addr constant [7 x i8] c" s\00", align 1
@.str654 = private unnamed_addr constant [17 x i8] c"gost sign hash \00", align 1
@.str1655 = private unnamed_addr constant [44 x i8] c"ecc sign: Failed to get affine coordinates\0A\00", align 1
@.str2656 = private unnamed_addr constant [20 x i8] c"gost sign result r \00", align 1
@.str3657 = private unnamed_addr constant [20 x i8] c"gost sign result s \00", align 1
@.str4658 = private unnamed_addr constant [22 x i8] c"ecc verify: Rejected\0A\00", align 1
@.str5659 = private unnamed_addr constant [46 x i8] c"ecc verify: Failed to get affine coordinates\0A\00", align 1
@.str6660 = private unnamed_addr constant [7 x i8] c" x\00", align 1
@.str7661 = private unnamed_addr constant [7 x i8] c" r\00", align 1
@.str8662 = private unnamed_addr constant [7 x i8] c" s\00", align 1
@.str9663 = private unnamed_addr constant [26 x i8] c"ecc verify: Not verified\0A\00", align 1
@.str10664 = private unnamed_addr constant [22 x i8] c"ecc verify: Accepted\0A\00", align 1
@.str666 = private unnamed_addr constant [2 x i8] c"?\00", align 1
@.str1667 = private unnamed_addr constant [12 x i8] c"Weierstrass\00", align 1
@.str2668 = private unnamed_addr constant [11 x i8] c"Montgomery\00", align 1
@.str3669 = private unnamed_addr constant [16 x i8] c"Twisted Edwards\00", align 1
@.str4670 = private unnamed_addr constant [9 x i8] c"Standard\00", align 1
@.str5671 = private unnamed_addr constant [8 x i8] c"Ed25519\00", align 1
@.str6672 = private unnamed_addr constant [22 x i8] c"mpi_print failed: %s\0A\00", align 1
@.str7673 = private unnamed_addr constant [21 x i8] c"mpi_scan failed: %s\0A\00", align 1
@.str2692 = private unnamed_addr constant [4 x i8] c"ECC\00", align 1
@ecc_names = internal global [6 x i8*] [i8* getelementptr inbounds ([4 x i8]* @.str119809, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str120810, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str121811, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8]* @.str122812, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str123813, i32 0, i32 0), i8* null], align 4
@.str3693 = private unnamed_addr constant [7 x i8] c"pabgnq\00", align 1
@.str4694 = private unnamed_addr constant [8 x i8] c"pabgnqd\00", align 1
@.str5695 = private unnamed_addr constant [3 x i8] c"sw\00", align 1
@.str6696 = private unnamed_addr constant [3 x i8] c"rs\00", align 1
@_gcry_pubkey_spec_ecc = internal hidden global %struct.gcry_pk_spec { i32 18, %struct.anon.109 { i8 0, [3 x i8] undef }, i32 3, i8* getelementptr inbounds ([4 x i8]* @.str2692, i32 0, i32 0), i8** getelementptr inbounds ([6 x i8*]* @ecc_names, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str3693, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str4694, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str5695, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str6696, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str3693, i32 0, i32 0), i32 (%struct.gcry_sexp*, %struct.gcry_sexp**)* @ecc_generate, i32 (%struct.gcry_sexp*)* @ecc_check_secret_key, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* @ecc_encrypt_raw, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* @ecc_decrypt_raw, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* @ecc_sign, i32 (%struct.gcry_sexp*, %struct.gcry_sexp*, %struct.gcry_sexp*)* @ecc_verify, i32 (%struct.gcry_sexp*)* @ecc_get_nbits, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests814, i32 (%struct.gcry_md_handle*, %struct.gcry_sexp*)* @compute_keygrip, i32 (i8*, %struct.gcry_mpi**)* @_gcry_ecc_get_param, i8* (%struct.gcry_sexp*, i32, i32*)* @_gcry_ecc_get_curve, %struct.gcry_sexp* (i8*)* @_gcry_ecc_get_param_sexp }, align 4
@compute_keygrip.names = internal constant [7 x i8] c"pabgnq\00", align 1
@.str7697 = private unnamed_addr constant [6 x i8] c"curve\00", align 1
@.str8698 = private unnamed_addr constant [9 x i8] c"(1:%c%u:\00", align 1
@.str9699 = private unnamed_addr constant [2 x i8] c")\00", align 1
@.str10700 = private unnamed_addr constant [10 x i8] c"low-level\00", align 1
@.str11701 = private unnamed_addr constant [7 x i8] c"pubkey\00", align 1
@.str12702 = private unnamed_addr constant [2 x i8] c"p\00", align 1
@.str13703 = private unnamed_addr constant [16 x i8] c"ecc_verify data\00", align 1
@.str14704 = private unnamed_addr constant [4 x i8] c"/rs\00", align 1
@.str15705 = private unnamed_addr constant [16 x i8] c"ecc_verify s_r\00", align 1
@.str16706 = private unnamed_addr constant [16 x i8] c"ecc_verify s_s\00", align 1
@.str17707 = private unnamed_addr constant [15 x i8] c"-p?a?b?g?n?/q?\00", align 1
@.str18708 = private unnamed_addr constant [26 x i8] c"ecc_verify info: %s/%s%s\0A\00", align 1
@.str19709 = private unnamed_addr constant [7 x i8] c"/ECDSA\00", align 1
@.str20710 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@.str21711 = private unnamed_addr constant [21 x i8] c"ecc_verify name: %s\0A\00", align 1
@.str22712 = private unnamed_addr constant [16 x i8] c"ecc_verify p\00", align 1
@.str23713 = private unnamed_addr constant [16 x i8] c"ecc_verify a\00", align 1
@.str24714 = private unnamed_addr constant [16 x i8] c"ecc_verify b\00", align 1
@.str25715 = private unnamed_addr constant [14 x i8] c"ecc_verify g\00", align 1
@.str26716 = private unnamed_addr constant [16 x i8] c"ecc_verify n\00", align 1
@.str27717 = private unnamed_addr constant [16 x i8] c"ecc_verify q\00", align 1
@.str28718 = private unnamed_addr constant [21 x i8] c"ecc_verify => %s\0A\00", align 1
@.str29719 = private unnamed_addr constant [5 x i8] c"Good\00", align 1
@.str30720 = private unnamed_addr constant [16 x i8] c"ecc_sign data\00", align 1
@.str31721 = private unnamed_addr constant [17 x i8] c"-p?a?b?g?n?/q?+d\00", align 1
@.str32722 = private unnamed_addr constant [26 x i8] c"ecc_sign info: %s/%s%s\0A\00", align 1
@.str33723 = private unnamed_addr constant [6 x i8] c"ECDSA\00", align 1
@.str34724 = private unnamed_addr constant [21 x i8] c"ecc_sign name: %s\0A\00", align 1
@.str35725 = private unnamed_addr constant [16 x i8] c"ecc_sign p\00", align 1
@.str36726 = private unnamed_addr constant [16 x i8] c"ecc_sign a\00", align 1
@.str37727 = private unnamed_addr constant [16 x i8] c"ecc_sign b\00", align 1
@.str38728 = private unnamed_addr constant [14 x i8] c"ecc_sign g\00", align 1
@.str39729 = private unnamed_addr constant [16 x i8] c"ecc_sign n\00", align 1
@.str40730 = private unnamed_addr constant [16 x i8] c"ecc_sign q\00", align 1
@.str41731 = private unnamed_addr constant [16 x i8] c"ecc_sign d\00", align 1
@.str42732 = private unnamed_addr constant [27 x i8] c"(sig-val(eddsa(r%M)(s%M)))\00", align 1
@.str43733 = private unnamed_addr constant [26 x i8] c"(sig-val(gost(r%M)(s%M)))\00", align 1
@.str44734 = private unnamed_addr constant [27 x i8] c"(sig-val(ecdsa(r%M)(s%M)))\00", align 1
@.str45735 = private unnamed_addr constant [21 x i8] c"ecc_sign => %s\0A\00", align 1
@.str46736 = private unnamed_addr constant [2 x i8] c"e\00", align 1
@.str47737 = private unnamed_addr constant [17 x i8] c"ecc_decrypt d_e\00", align 1
@.str48738 = private unnamed_addr constant [14 x i8] c"-p?a?b?g?n?+d\00", align 1
@.str49739 = private unnamed_addr constant [25 x i8] c"ecc_decrypt info: %s/%s\0A\00", align 1
@.str50740 = private unnamed_addr constant [22 x i8] c"ecc_decrypt name: %s\0A\00", align 1
@.str51741 = private unnamed_addr constant [17 x i8] c"ecc_decrypt p\00", align 1
@.str52742 = private unnamed_addr constant [17 x i8] c"ecc_decrypt a\00", align 1
@.str53743 = private unnamed_addr constant [17 x i8] c"ecc_decrypt b\00", align 1
@.str54744 = private unnamed_addr constant [15 x i8] c"ecc_decrypt g\00", align 1
@.str55745 = private unnamed_addr constant [17 x i8] c"ecc_decrypt n\00", align 1
@.str56746 = private unnamed_addr constant [17 x i8] c"ecc_decrypt d\00", align 1
@.str57747 = private unnamed_addr constant [40 x i8] c"ecdh: Failed to get affine coordinates\0A\00", align 1
@.str58748 = private unnamed_addr constant [17 x i8] c"ecc_decrypt res\00", align 1
@.str59749 = private unnamed_addr constant [11 x i8] c"(value %m)\00", align 1
@.str60750 = private unnamed_addr constant [22 x i8] c"ecc_decrypt => %s\0A\00", align 1
@.str61751 = private unnamed_addr constant [17 x i8] c"ecc_encrypt data\00", align 1
@.str62752 = private unnamed_addr constant [14 x i8] c"-p?a?b?g?n?+q\00", align 1
@.str63753 = private unnamed_addr constant [25 x i8] c"ecc_encrypt info: %s/%s\0A\00", align 1
@.str64754 = private unnamed_addr constant [22 x i8] c"ecc_encrypt name: %s\0A\00", align 1
@.str65755 = private unnamed_addr constant [17 x i8] c"ecc_encrypt p\00", align 1
@.str66756 = private unnamed_addr constant [17 x i8] c"ecc_encrypt a\00", align 1
@.str67757 = private unnamed_addr constant [17 x i8] c"ecc_encrypt b\00", align 1
@.str68758 = private unnamed_addr constant [15 x i8] c"ecc_encrypt g\00", align 1
@.str69759 = private unnamed_addr constant [17 x i8] c"ecc_encrypt n\00", align 1
@.str70760 = private unnamed_addr constant [17 x i8] c"ecc_encrypt q\00", align 1
@.str71761 = private unnamed_addr constant [48 x i8] c"ecdh: Failed to get affine coordinates for kdG\0A\00", align 1
@.str72762 = private unnamed_addr constant [47 x i8] c"ecdh: Failed to get affine coordinates for kG\0A\00", align 1
@.str73763 = private unnamed_addr constant [26 x i8] c"(enc-val(ecdh(s%m)(e%m)))\00", align 1
@.str74764 = private unnamed_addr constant [22 x i8] c"ecc_encrypt => %s\0A\00", align 1
@.str75765 = private unnamed_addr constant [24 x i8] c"ecc_testkey inf: %s/%s\0A\00", align 1
@.str76766 = private unnamed_addr constant [21 x i8] c"ecc_testkey nam: %s\0A\00", align 1
@.str77767 = private unnamed_addr constant [16 x i8] c"ecc_testkey p\00", align 1
@.str78768 = private unnamed_addr constant [16 x i8] c"ecc_testkey a\00", align 1
@.str79769 = private unnamed_addr constant [16 x i8] c"ecc_testkey b\00", align 1
@.str80770 = private unnamed_addr constant [14 x i8] c"ecc_testkey g\00", align 1
@.str81771 = private unnamed_addr constant [16 x i8] c"ecc_testkey n\00", align 1
@.str82772 = private unnamed_addr constant [16 x i8] c"ecc_testkey q\00", align 1
@.str83773 = private unnamed_addr constant [16 x i8] c"ecc_testkey d\00", align 1
@.str84774 = private unnamed_addr constant [21 x i8] c"ecc_testkey => %s\0A\00", align 1
@.str85775 = private unnamed_addr constant [52 x i8] c"Bad check: Point 'G' does not belong to curve 'E'!\0A\00", align 1
@.str86776 = private unnamed_addr constant [45 x i8] c"Bad check: 'G' cannot be Point at Infinity!\0A\00", align 1
@.str87777 = private unnamed_addr constant [47 x i8] c"check_secret_key: E is not a curve of order n\0A\00", align 1
@.str88778 = private unnamed_addr constant [46 x i8] c"Bad check: Q can not be a Point at Infinity!\0A\00", align 1
@.str89779 = private unnamed_addr constant [60 x i8] c"Bad check: There is NO correspondence between 'd' and 'Q'!\0A\00", align 1
@.str90780 = private unnamed_addr constant [14 x i8] c"transient-key\00", align 1
@.str91781 = private unnamed_addr constant [6 x i8] c"flags\00", align 1
@.str92782 = private unnamed_addr constant [25 x i8] c"ecgen curve info: %s/%s\0A\00", align 1
@.str93783 = private unnamed_addr constant [22 x i8] c"ecgen curve used: %s\0A\00", align 1
@.str94784 = private unnamed_addr constant [16 x i8] c"ecgen curve p\00", align 1
@.str95785 = private unnamed_addr constant [16 x i8] c"ecgen curve a\00", align 1
@.str96786 = private unnamed_addr constant [16 x i8] c"ecgen curve b\00", align 1
@.str97787 = private unnamed_addr constant [16 x i8] c"ecgen curve n\00", align 1
@.str98788 = private unnamed_addr constant [14 x i8] c"ecgen curve G\00", align 1
@.str99789 = private unnamed_addr constant [48 x i8] c"ecgen: Failed to get affine coordinates for %s\0A\00", align 1
@.str100790 = private unnamed_addr constant [2 x i8] c"G\00", align 1
@.str101791 = private unnamed_addr constant [2 x i8] c"Q\00", align 1
@.str102792 = private unnamed_addr constant [11 x i8] c"(curve %s)\00", align 1
@.str103793 = private unnamed_addr constant [14 x i8] c"(flags ecdsa)\00", align 1
@.str104794 = private unnamed_addr constant [126 x i8] c"(key-data (public-key (ecc%S%S(p%m)(a%m)(b%m)(g%m)(n%m)(q%m))) (private-key (ecc%S%S(p%m)(a%m)(b%m)(g%m)(n%m)(q%m)(d%m))) )\00", align 1
@.str105795 = private unnamed_addr constant [16 x i8] c"ecgen result p\00", align 1
@.str106796 = private unnamed_addr constant [16 x i8] c"ecgen result a\00", align 1
@.str107797 = private unnamed_addr constant [16 x i8] c"ecgen result b\00", align 1
@.str108798 = private unnamed_addr constant [16 x i8] c"ecgen result G\00", align 1
@.str109799 = private unnamed_addr constant [16 x i8] c"ecgen result n\00", align 1
@.str110800 = private unnamed_addr constant [16 x i8] c"ecgen result Q\00", align 1
@.str111801 = private unnamed_addr constant [16 x i8] c"ecgen result d\00", align 1
@.str112802 = private unnamed_addr constant [35 x i8] c"ecgen result using Ed25519/ECDSA\0A\00", align 1
@.str113803 = private unnamed_addr constant [40 x i8] c"ecgen converted Q to a compliant point\0A\00", align 1
@.str114804 = private unnamed_addr constant [53 x i8] c"ecgen didn't need to convert Q to a compliant point\0A\00", align 1
@.str115805 = private unnamed_addr constant [14 x i8] c"Testing key.\0A\00", align 1
@.str116806 = private unnamed_addr constant [30 x i8] c"ECDSA operation: sign failed\0A\00", align 1
@.str117807 = private unnamed_addr constant [38 x i8] c"ECDSA operation: sign, verify failed\0A\00", align 1
@.str118808 = private unnamed_addr constant [35 x i8] c"ECDSA operation: sign, verify ok.\0A\00", align 1
@.str119809 = private unnamed_addr constant [4 x i8] c"ecc\00", align 1
@.str120810 = private unnamed_addr constant [6 x i8] c"ecdsa\00", align 1
@.str121811 = private unnamed_addr constant [5 x i8] c"ecdh\00", align 1
@.str122812 = private unnamed_addr constant [6 x i8] c"eddsa\00", align 1
@.str123813 = private unnamed_addr constant [5 x i8] c"gost\00", align 1
@progress_cb819 = internal global void (i8*, i8*, i32, i32, i32)* null, align 4
@progress_cb_data820 = internal global i8* null, align 4
@.str821 = private unnamed_addr constant [4 x i8] c"ELG\00", align 1
@elg_names = internal global [4 x i8*] [i8* getelementptr inbounds ([4 x i8]* @.str58880, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str59881, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8]* @.str60882, i32 0, i32 0), i8* null], align 4
@.str1822 = private unnamed_addr constant [4 x i8] c"pgy\00", align 1
@.str2823 = private unnamed_addr constant [5 x i8] c"pgyx\00", align 1
@.str3824 = private unnamed_addr constant [3 x i8] c"ab\00", align 1
@.str4825 = private unnamed_addr constant [3 x i8] c"rs\00", align 1
@_gcry_pubkey_spec_elg = internal hidden global %struct.gcry_pk_spec { i32 20, %struct.anon.109 { i8 0, [3 x i8] undef }, i32 3, i8* getelementptr inbounds ([4 x i8]* @.str821, i32 0, i32 0), i8** getelementptr inbounds ([4 x i8*]* @elg_names, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str1822, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str2823, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str3824, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str4825, i32 0, i32 0), i8* getelementptr inbounds ([4 x i8]* @.str1822, i32 0, i32 0), i32 (%struct.gcry_sexp*, %struct.gcry_sexp**)* @elg_generate, i32 (%struct.gcry_sexp*)* @elg_check_secret_key, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* @elg_encrypt, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* @elg_decrypt, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* @elg_sign, i32 (%struct.gcry_sexp*, %struct.gcry_sexp*, %struct.gcry_sexp*)* @elg_verify, i32 (%struct.gcry_sexp*)* @elg_get_nbits, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (%struct.gcry_md_handle*, %struct.gcry_sexp*)* null, i32 (i8*, %struct.gcry_mpi**)* null, i8* (%struct.gcry_sexp*, i32, i32*)* null, %struct.gcry_sexp* (i8*)* null }, align 4
@.str5826 = private unnamed_addr constant [2 x i8] c"p\00", align 1
@.str6827 = private unnamed_addr constant [16 x i8] c"elg_verify data\00", align 1
@.str7828 = private unnamed_addr constant [16 x i8] c"elg_verify s_r\00", align 1
@.str8829 = private unnamed_addr constant [16 x i8] c"elg_verify s_s\00", align 1
@.str9830 = private unnamed_addr constant [16 x i8] c"elg_verify p\00", align 1
@.str10831 = private unnamed_addr constant [16 x i8] c"elg_verify g\00", align 1
@.str11832 = private unnamed_addr constant [16 x i8] c"elg_verify y\00", align 1
@.str12833 = private unnamed_addr constant [21 x i8] c"elg_verify => %s\0A\00", align 1
@.str13834 = private unnamed_addr constant [5 x i8] c"Good\00", align 1
@.str14835 = private unnamed_addr constant [16 x i8] c"elg_sign data\00", align 1
@.str15836 = private unnamed_addr constant [16 x i8] c"elg_sign p\00", align 1
@.str16837 = private unnamed_addr constant [16 x i8] c"elg_sign g\00", align 1
@.str17838 = private unnamed_addr constant [16 x i8] c"elg_sign y\00", align 1
@.str18839 = private unnamed_addr constant [16 x i8] c"elg_sign x\00", align 1
@.str19840 = private unnamed_addr constant [16 x i8] c"elg_sign sig_r\00", align 1
@.str20841 = private unnamed_addr constant [16 x i8] c"elg_sign sig_s\00", align 1
@.str21842 = private unnamed_addr constant [25 x i8] c"(sig-val(elg(r%M)(s%M)))\00", align 1
@.str22843 = private unnamed_addr constant [21 x i8] c"elg_sign => %s\0A\00", align 1
@.str23844 = private unnamed_addr constant [10 x i8] c"elgamal.c\00", align 1
@__FUNCTION__.gen_k = private unnamed_addr constant [6 x i8] c"gen_k\00", align 1
@.str24845 = private unnamed_addr constant [21 x i8] c"choosing a random k\0A\00", align 1
@.str25846 = private unnamed_addr constant [7 x i8] c"pk_elg\00", align 1
@wiener_map.t = internal global [20 x %struct.anon.0.178] [%struct.anon.0.178 { i32 512, i32 119 }, %struct.anon.0.178 { i32 768, i32 145 }, %struct.anon.0.178 { i32 1024, i32 165 }, %struct.anon.0.178 { i32 1280, i32 183 }, %struct.anon.0.178 { i32 1536, i32 198 }, %struct.anon.0.178 { i32 1792, i32 212 }, %struct.anon.0.178 { i32 2048, i32 225 }, %struct.anon.0.178 { i32 2304, i32 237 }, %struct.anon.0.178 { i32 2560, i32 249 }, %struct.anon.0.178 { i32 2816, i32 259 }, %struct.anon.0.178 { i32 3072, i32 269 }, %struct.anon.0.178 { i32 3328, i32 279 }, %struct.anon.0.178 { i32 3584, i32 288 }, %struct.anon.0.178 { i32 3840, i32 296 }, %struct.anon.0.178 { i32 4096, i32 305 }, %struct.anon.0.178 { i32 4352, i32 313 }, %struct.anon.0.178 { i32 4608, i32 320 }, %struct.anon.0.178 { i32 4864, i32 328 }, %struct.anon.0.178 { i32 5120, i32 335 }, %struct.anon.0.178 zeroinitializer], align 4
@.str26847 = private unnamed_addr constant [17 x i8] c"elg_decrypt d_a\00", align 1
@.str27848 = private unnamed_addr constant [17 x i8] c"elg_decrypt d_b\00", align 1
@.str28849 = private unnamed_addr constant [17 x i8] c"elg_decrypt p\00", align 1
@.str29850 = private unnamed_addr constant [17 x i8] c"elg_decrypt g\00", align 1
@.str30851 = private unnamed_addr constant [17 x i8] c"elg_decrypt y\00", align 1
@.str31852 = private unnamed_addr constant [17 x i8] c"elg_decrypt x\00", align 1
@.str32853 = private unnamed_addr constant [17 x i8] c"elg_decrypt res\00", align 1
@.str33854 = private unnamed_addr constant [11 x i8] c"(value %b)\00", align 1
@.str34855 = private unnamed_addr constant [3 x i8] c"%m\00", align 1
@.str35856 = private unnamed_addr constant [11 x i8] c"(value %m)\00", align 1
@.str36857 = private unnamed_addr constant [22 x i8] c"elg_decrypt => %s\0A\00", align 1
@.str37858 = private unnamed_addr constant [17 x i8] c"elg_encrypt data\00", align 1
@.str38859 = private unnamed_addr constant [15 x i8] c"elg_encrypt p\00", align 1
@.str39860 = private unnamed_addr constant [15 x i8] c"elg_encrypt g\00", align 1
@.str40861 = private unnamed_addr constant [15 x i8] c"elg_encrypt y\00", align 1
@.str41862 = private unnamed_addr constant [25 x i8] c"(enc-val(elg(a%m)(b%m)))\00", align 1
@.str42863 = private unnamed_addr constant [21 x i8] c"elg_encrypt => %s\0A\00", align 1
@.str43864 = private unnamed_addr constant [22 x i8] c"elg_testkey => %s\0A\00", align 1
@.str44865 = private unnamed_addr constant [7 x i8] c"xvalue\00", align 1
@.str45866 = private unnamed_addr constant [27 x i8] c"(misc-key-info(pm1-factors\00", align 1
@.str46867 = private unnamed_addr constant [3 x i8] c"))\00", align 1
@.str47868 = private unnamed_addr constant [90 x i8] c"(key-data (public-key (elg(p%m)(g%m)(y%m))) (private-key (elg(p%m)(g%m)(y%m)(x%m))) %S)\00", align 1
@__FUNCTION__.generate869 = private unnamed_addr constant [9 x i8] c"generate\00", align 1
@.str48870 = private unnamed_addr constant [32 x i8] c"choosing a random x of size %u\0A\00", align 1
@.str49871 = private unnamed_addr constant [7 x i8] c"elg p\00", align 1
@.str50872 = private unnamed_addr constant [7 x i8] c"elg g\00", align 1
@.str51873 = private unnamed_addr constant [7 x i8] c"elg y\00", align 1
@.str52874 = private unnamed_addr constant [7 x i8] c"elg x\00", align 1
@.str53875 = private unnamed_addr constant [35 x i8] c"Elgamal test key for %s %s failed\0A\00", align 1
@.str54876 = private unnamed_addr constant [16 x i8] c"encrypt+decrypt\00", align 1
@.str55877 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@.str56878 = private unnamed_addr constant [12 x i8] c"sign+verify\00", align 1
@.str57879 = private unnamed_addr constant [30 x i8] c"using a supplied x of size %u\00", align 1
@.str58880 = private unnamed_addr constant [4 x i8] c"elg\00", align 1
@.str59881 = private unnamed_addr constant [12 x i8] c"openpgp-elg\00", align 1
@.str60882 = private unnamed_addr constant [16 x i8] c"openpgp-elg-sig\00", align 1
@test_sbox = internal hidden global [128 x i8] c"\04\0E\05\07\06\04\0D\01\0A\0B\08\0D\0C\0B\0B\0F\09\04\01\0A\07\0A\04\0D\02\0C\0D\01\01\00\01\00\0D\06\0A\00\05\07\03\05\08\0D\03\08\0F\02\0F\07\00\0F\04\09\0D\01\05\0A\0E\0A\02\0F\08\0D\09\04\06\02\0E\0E\04\03\00\09\0B\03\0F\04\0A\06\0A\02\01\08\0C\06\09\08\0E\03\0C\01\07\0C\0E\05\07\0E\07\00\06\0B\00\09\06\06\0F\07\00\02\03\0C\08\0B\05\05\09\05\0B\0F\02\08\03\09\0B\03\02\0E\0C\0C", align 1
@.str893 = private unnamed_addr constant [10 x i8] c"GOST28147\00", align 1
@_gcry_cipher_spec_gost28147 = internal hidden global %struct.gcry_cipher_spec { i32 315, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([10 x i8]* @.str893, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 8, i32 256, i32 4132, i32 (i8*, i8*, i32)* @gost_setkey, i32 (i8*, i8*, i8*)* @gost_encrypt_block, i32 (i8*, i8*, i8*)* @gost_decrypt_block, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str896 = private unnamed_addr constant [13 x i8] c"GOSTR3411_94\00", align 1
@_gcry_digest_spec_gost3411_94 = internal hidden global %struct.gcry_md_spec { i32 308, %struct.anon.98 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([13 x i8]* @.str896, i32 0, i32 0), i8* null, i32 0, %struct.gcry_md_oid_spec* null, i32 32, void (i8*)* @gost3411_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @gost3411_final, i8* (i8*)* @gost3411_read, i32 4344, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@.str898 = private unnamed_addr constant [41 x i8] c"digest size does not match expected size\00", align 1
@.str1899 = private unnamed_addr constant [20 x i8] c"gcry_md_open failed\00", align 1
@.str2900 = private unnamed_addr constant [17 x i8] c"invalid DATAMODE\00", align 1
@.str3901 = private unnamed_addr constant [16 x i8] c"digest mismatch\00", align 1
@.str4902 = private unnamed_addr constant [14 x i8] c"hash-common.c\00", align 1
@__FUNCTION__._gcry_md_block_write = private unnamed_addr constant [21 x i8] c"_gcry_md_block_write\00", align 1
@.str905 = private unnamed_addr constant [5 x i8] c"hmac\00", align 1
@.str1906 = private unnamed_addr constant [7 x i8] c"module\00", align 1
@.str2907 = private unnamed_addr constant [24 x i8] c"algorithm not available\00", align 1
@selftests_sha512.tv = internal global [7 x %struct.anon.190] [%struct.anon.190 { i8* getelementptr inbounds ([14 x i8]* @.str3908, i32 0, i32 0), i8* getelementptr inbounds ([29 x i8]* @.str4909, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str5910, i32 0, i32 0), [64 x i8] c"\16Kz{\FC\F8\19\E2\E3\95\FB\E7;V\E0\A3\87\BDd\22.\83\1F\D6\10'\0C\D7\EA%\05T\97X\BFu\C0Z\99Jm\03Oe\F8\F0\E6\FD\CA\EA\B1\A3MJkKcn\07\0A8\BC\E77" }, %struct.anon.190 { i8* getelementptr inbounds ([14 x i8]* @.str6911, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str7912, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str8913, i32 0, i32 0), [64 x i8] c"\87\AA|\DE\A5\EFa\9DO\F0\B4$\1A\1Dl\B0#y\F4\E2\CEN\C2xz\D0\B3\05E\E1|\DE\DA\A83\B7\D6\B8\A7\02\03\8B'N\AE\A3\F4\E4\BE\9D\91N\EBa\F1p.il :\12hT" }, %struct.anon.190 { i8* getelementptr inbounds ([15 x i8]* @.str9914, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str10915, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str11916, i32 0, i32 0), [64 x i8] c"\FAs\B0\08\9DV\A2\84\EF\B0\F0ul\89\0B\E9\B1\B5\DB\DD\8E\E8\1A6U\F8>3\B2'\9D9\BF>\84\82y\A7\22\C8\06\B4\85\A4~g\C8\07\B9F\A37\BE\E8\94&t'\88Y\E12\92\FB" }, %struct.anon.190 { i8* getelementptr inbounds ([15 x i8]* @.str12917, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str13918, i32 0, i32 0), i8* getelementptr inbounds ([26 x i8]* @.str14919, i32 0, i32 0), [64 x i8] c"\B0\BAFV7E\8Ci\90\E5\A8\C5\F6\1DJ\F7\E5v\D9\7F\F9K\87-\E7o\80P6\1E\E3\DB\A9\1C\A5\C1\1A\A2^\B4\D6y'\5C\C5x\80c\A5\F1\97A\12\0CO-\E2\AD\EB\EB\10\A2\98\DD" }, %struct.anon.190 { i8* getelementptr inbounds ([16 x i8]* @.str15920, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8]* @.str16921, i32 0, i32 0), i8* getelementptr inbounds ([132 x i8]* @.str17922, i32 0, i32 0), [64 x i8] c"\80\B2Bc\C7\C1\A3\EB\B7\14\93\C1\DD{\E8\B4\9BF\D1\F4\1BJ\EE\C1\12\1B\017\83\F8\F3RkV\D07\E0_%\98\BD\0F\D2!]j\1ER\95\E6Os\F6?\0A\EC\8B\91Z\98]xe\98" }, %struct.anon.190 { i8* getelementptr inbounds ([17 x i8]* @.str18923, i32 0, i32 0), i8* getelementptr inbounds ([153 x i8]* @.str19924, i32 0, i32 0), i8* getelementptr inbounds ([132 x i8]* @.str17922, i32 0, i32 0), [64 x i8] c"\E3{jw]\C8}\BA\A4\DF\A9\F9n^?\FD\DE\BDq\F8\86r\89\86]\F5\A3- \CD\C9D\B6\02,\AC<I\82\B1\0D^\EBU\C3\E4\DE\15\13Fv\FBm\E0D`e\C9t@\FA\8CjX" }, %struct.anon.190 zeroinitializer], align 4
@.str3908 = private unnamed_addr constant [14 x i8] c"data-28 key-4\00", align 1
@.str4909 = private unnamed_addr constant [29 x i8] c"what do ya want for nothing?\00", align 1
@.str5910 = private unnamed_addr constant [5 x i8] c"Jefe\00", align 1
@.str6911 = private unnamed_addr constant [14 x i8] c"data-9 key-20\00", align 1
@.str7912 = private unnamed_addr constant [9 x i8] c"Hi There\00", align 1
@.str8913 = private unnamed_addr constant [21 x i8] c"\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\0B\00", align 1
@.str9914 = private unnamed_addr constant [15 x i8] c"data-50 key-20\00", align 1
@.str10915 = private unnamed_addr constant [51 x i8] c"\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\DD\00", align 1
@.str11916 = private unnamed_addr constant [21 x i8] c"\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\00", align 1
@.str12917 = private unnamed_addr constant [15 x i8] c"data-50 key-26\00", align 1
@.str13918 = private unnamed_addr constant [51 x i8] c"\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\CD\00", align 1
@.str14919 = private unnamed_addr constant [26 x i8] c"\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\10\11\12\13\14\15\16\17\18\19\00", align 1
@.str15920 = private unnamed_addr constant [16 x i8] c"data-54 key-131\00", align 1
@.str16921 = private unnamed_addr constant [55 x i8] c"Test Using Larger Than Block-Size Key - Hash Key First\00", align 1
@.str17922 = private unnamed_addr constant [132 x i8] c"\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\AA\00", align 1
@.str18923 = private unnamed_addr constant [17 x i8] c"data-152 key-131\00", align 1
@.str19924 = private unnamed_addr constant [153 x i8] c"This is a test using a larger than block-size key and a larger than block-size data. The key needs to be hashed before being used by the HMAC algorithm.\00", align 1
@.str20925 = private unnamed_addr constant [19 x i8] c"invalid tests data\00", align 1
@.str21926 = private unnamed_addr constant [20 x i8] c"gcry_md_open failed\00", align 1
@.str22927 = private unnamed_addr constant [22 x i8] c"gcry_md_setkey failed\00", align 1
@.str23928 = private unnamed_addr constant [20 x i8] c"gcry_md_read failed\00", align 1
@.str24929 = private unnamed_addr constant [15 x i8] c"does not match\00", align 1
@selftests_sha384.tv = internal global [7 x %struct.anon.0.191] [%struct.anon.0.191 { i8* getelementptr inbounds ([14 x i8]* @.str3908, i32 0, i32 0), i8* getelementptr inbounds ([29 x i8]* @.str4909, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str5910, i32 0, i32 0), [48 x i8] c"\AFE\D2\E3vH@1a\7Fx\D2\B5\8Ak\1B\9C~\F4d\F5\A0\1BG\E4.\C3sc\22D^\8E\22@\CA^i\E2\C7\8B29\EC\FA\B2\16I" }, %struct.anon.0.191 { i8* getelementptr inbounds ([14 x i8]* @.str6911, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str7912, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str8913, i32 0, i32 0), [48 x i8] c"\AF\D09D\D8H\95bk\08%\F4\ABF\90\7F\15\F9\DA\DB\E4\10\1E\C6\82\AA\03L|\EB\C5\9C\FA\EA\9E\A9\07n\DE\7FJ\F1R\E8\B2\FA\9C\B6" }, %struct.anon.0.191 { i8* getelementptr inbounds ([15 x i8]* @.str9914, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str10915, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str11916, i32 0, i32 0), [48 x i8] c"\88\06&\08\D3\E6\AD\8A\0A\A2\AC\E0\14\C8\A8o\0A\A65\D9G\AC\9F\EB\E8>\F4\E5Yf\14K*Z\B3\9D\C18\14\B9N:\B6\E1\01\A3O'" }, %struct.anon.0.191 { i8* getelementptr inbounds ([15 x i8]* @.str12917, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str13918, i32 0, i32 0), i8* getelementptr inbounds ([26 x i8]* @.str14919, i32 0, i32 0), [48 x i8] c">\8Ai\B7x<%\85\193\ABb\90\AFl\A7z\99\81H\08P\00\9C\C5W|n\1FW;Nh\01\DD#\C4\A7\D6y\CC\F8\A3\86\C6t\CF\FB" }, %struct.anon.0.191 { i8* getelementptr inbounds ([16 x i8]* @.str15920, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8]* @.str16921, i32 0, i32 0), i8* getelementptr inbounds ([132 x i8]* @.str17922, i32 0, i32 0), [48 x i8] c"N\CE\08D\85\81>\90\88\D2\C6:\04\1B\C5\B4O\9E\F1\01*+X\8F<\D1\1F\05\03:\C4\C6\0C.\F6\AB@0\FE\82\96$\8D\F1c\F4IR" }, %struct.anon.0.191 { i8* getelementptr inbounds ([17 x i8]* @.str18923, i32 0, i32 0), i8* getelementptr inbounds ([153 x i8]* @.str19924, i32 0, i32 0), i8* getelementptr inbounds ([132 x i8]* @.str17922, i32 0, i32 0), [48 x i8] c"f\17\17\8E\94\1F\02\0D5\1E/%N\8F\D3,`$ \FE\B0\B8\FB\9A\DC\CE\BB\82F\1E\99\C5\A6x\CC1\E7\99\17m8`\E6\11\0CFR>" }, %struct.anon.0.191 zeroinitializer], align 4
@selftests_sha256.tv = internal global [7 x %struct.anon.1.192] [%struct.anon.1.192 { i8* getelementptr inbounds ([14 x i8]* @.str3908, i32 0, i32 0), i8* getelementptr inbounds ([29 x i8]* @.str4909, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str5910, i32 0, i32 0), [32 x i8] c"[\DC\C1F\BF`uNj\04$&\08\95u\C7Z\00?\08\9D'9\83\9D\ECX\B9d\EC8C" }, %struct.anon.1.192 { i8* getelementptr inbounds ([14 x i8]* @.str6911, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str7912, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str8913, i32 0, i32 0), [32 x i8] c"\B04La\D8\DB8S\5C\A8\AF\CE\AF\0B\F1+\88\1D\C2\00\C9\83=\A7&\E97l.2\CF\F7" }, %struct.anon.1.192 { i8* getelementptr inbounds ([15 x i8]* @.str9914, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str10915, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str11916, i32 0, i32 0), [32 x i8] c"w>\A9\1E6\80\0EF\85M\B8\EB\D0\91\81\A7)Y\09\8B>\F8\C1\22\D9cU\14\CE\D5e\FE" }, %struct.anon.1.192 { i8* getelementptr inbounds ([15 x i8]* @.str12917, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str13918, i32 0, i32 0), i8* getelementptr inbounds ([26 x i8]* @.str14919, i32 0, i32 0), [32 x i8] c"\82U\8A8\9AD<\0E\A4\CC\81\98\99\F2\08:\85\F0\FA\A3\E5x\F8\07z.?\F4g)f[" }, %struct.anon.1.192 { i8* getelementptr inbounds ([16 x i8]* @.str15920, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8]* @.str16921, i32 0, i32 0), i8* getelementptr inbounds ([132 x i8]* @.str17922, i32 0, i32 0), [32 x i8] c"`\E41Y\1E\E0\B6\7F\0D\8A&\AA\CB\F5\B7\7F\8E\0B\C6!7(\C5\14\05F\04\0F\0E\E3\7FT" }, %struct.anon.1.192 { i8* getelementptr inbounds ([17 x i8]* @.str18923, i32 0, i32 0), i8* getelementptr inbounds ([153 x i8]* @.str19924, i32 0, i32 0), i8* getelementptr inbounds ([132 x i8]* @.str17922, i32 0, i32 0), [32 x i8] c"\9B\09\FF\A7\1B\94/\CB'c_\BC\D5\B0\E9D\BF\DCcdO\07\13\93\8A\7FQS\5C:5\E2" }, %struct.anon.1.192 zeroinitializer], align 4
@.str25930 = private unnamed_addr constant [25 x i8] c"_gcry_hmac256_new failed\00", align 1
@.str26931 = private unnamed_addr constant [30 x i8] c"_gcry_hmac256_finalize failed\00", align 1
@.str27932 = private unnamed_addr constant [40 x i8] c"does not match in second implementation\00", align 1
@selftests_sha224.tv = internal global [7 x %struct.anon.2] [%struct.anon.2 { i8* getelementptr inbounds ([14 x i8]* @.str3908, i32 0, i32 0), i8* getelementptr inbounds ([29 x i8]* @.str4909, i32 0, i32 0), i8* getelementptr inbounds ([5 x i8]* @.str5910, i32 0, i32 0), [28 x i8] c"\A3\0E\01\09\8B\C6\DB\BFEi\0F:~\9Em\0F\8B\BE\A2\A3\9EaH\00\8F\D0^D" }, %struct.anon.2 { i8* getelementptr inbounds ([14 x i8]* @.str6911, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8]* @.str7912, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str8913, i32 0, i32 0), [28 x i8] c"\89o\B1\12\8A\BB\DF\19h2\10|\D4\9D\F3?G\B4\B1\16\99\12\BAOShK\22" }, %struct.anon.2 { i8* getelementptr inbounds ([15 x i8]* @.str9914, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str10915, i32 0, i32 0), i8* getelementptr inbounds ([21 x i8]* @.str11916, i32 0, i32 0), [28 x i8] c"\7F\B3\CB5\88\C6\C1\F6\FF\A9iM}j\D2d\93e\B0\C1\F6]i\D1\EC\833\EA" }, %struct.anon.2 { i8* getelementptr inbounds ([15 x i8]* @.str12917, i32 0, i32 0), i8* getelementptr inbounds ([51 x i8]* @.str13918, i32 0, i32 0), i8* getelementptr inbounds ([26 x i8]* @.str14919, i32 0, i32 0), [28 x i8] c"l\11Pht\01<\ACj*\BC\1B\B3\82b|\ECj\90\D8n\FC\01-\E7\AF\ECZ" }, %struct.anon.2 { i8* getelementptr inbounds ([16 x i8]* @.str15920, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8]* @.str16921, i32 0, i32 0), i8* getelementptr inbounds ([132 x i8]* @.str17922, i32 0, i32 0), [28 x i8] c"\95\E9\A0\DB\96 \95\AD\AE\BE\9B-o\0D\BC\E2\D4\99\F1\12\F2\D2\B7'?\A6\87\0E" }, %struct.anon.2 { i8* getelementptr inbounds ([17 x i8]* @.str18923, i32 0, i32 0), i8* getelementptr inbounds ([153 x i8]* @.str19924, i32 0, i32 0), i8* getelementptr inbounds ([132 x i8]* @.str17922, i32 0, i32 0), [28 x i8] c":\85Af\AC]\9F\02?T\D5\17\D0\B3\9D\BD\94gp\DB\9C+\95\C9\F6\F5e\D1" }, %struct.anon.2 zeroinitializer], align 4
@.str28933 = private unnamed_addr constant [15 x i8] c"FIPS-198a, A.1\00", align 1
@.str29934 = private unnamed_addr constant [10 x i8] c"Sample #1\00", align 1
@.str30935 = private unnamed_addr constant [21 x i8] c"OL\A3\D5\D6\8B\A7\CC\0A\12\08\C9\C6\1E\9C]\A0@<\0A\00", align 1
@.str31936 = private unnamed_addr constant [15 x i8] c"FIPS-198a, A.2\00", align 1
@.str32937 = private unnamed_addr constant [10 x i8] c"Sample #2\00", align 1
@.str33938 = private unnamed_addr constant [21 x i8] c"\09\22\D3@_\AA=\19O\82\A4X0s}\5C\C6\C7]$\00", align 1
@.str34939 = private unnamed_addr constant [15 x i8] c"FIPS-198a, A.3\00", align 1
@.str35940 = private unnamed_addr constant [10 x i8] c"Sample #3\00", align 1
@.str36941 = private unnamed_addr constant [21 x i8] c"\BC\F4\1E\AB\8B\B2\D8\02\F3\D0\5C\AF|\B0\92\EC\F8\D1\A3\AA\00", align 1
@.str37942 = private unnamed_addr constant [15 x i8] c"FIPS-198a, A.4\00", align 1
@.str38943 = private unnamed_addr constant [10 x i8] c"Sample #4\00", align 1
@.str39944 = private unnamed_addr constant [21 x i8] c"\9E\A8\86\EF\E2h\DB\EC\CEB\0Cu$\DF2\E0u\1A*&\00", align 1
@.str950 = private unnamed_addr constant [5 x i8] c"IDEA\00", align 1
@_gcry_cipher_spec_idea = internal hidden global %struct.gcry_cipher_spec { i32 1, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([5 x i8]* @.str950, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 8, i32 128, i32 212, i32 (i8*, i8*, i32)* @idea_setkey, i32 (i8*, i8*, i8*)* @idea_encrypt, i32 (i8*, i8*, i8*)* @idea_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@do_setkey.initialized = internal global i32 0, align 4
@do_setkey.selftest_failed = internal global i8* null, align 4
@.str1953 = private unnamed_addr constant [4 x i8] c"%s\0A\00", align 1
@.str2954 = private unnamed_addr constant [13 x i8] c"keylen == 16\00", align 1
@.str3955 = private unnamed_addr constant [7 x i8] c"idea.c\00", align 1
@__func__.do_setkey = private unnamed_addr constant [10 x i8] c"do_setkey\00", align 1
@selftest.test_vectors = internal global [11 x %struct.anon.0.199] [%struct.anon.0.199 { [16 x i8] c"\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08", [8 x i8] c"\00\00\00\01\00\02\00\03", [8 x i8] c"\11\FB\ED+\01\98m\E5" }, %struct.anon.0.199 { [16 x i8] c"\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08", [8 x i8] c"\01\02\03\04\05\06\07\08", [8 x i8] c"T\0E_\EA\18\C2\F8\B1" }, %struct.anon.0.199 { [16 x i8] c"\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08", [8 x i8] c"\00\192Kd}\96\AF", [8 x i8] c"\9F\0A\0A\B6\E1\0C\EDx" }, %struct.anon.0.199 { [16 x i8] c"\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08", [8 x i8] c"\F5 -[\9Cg\1B\08", [8 x i8] c"\CF\18\FDsU\E2\C5\C5" }, %struct.anon.0.199 { [16 x i8] c"\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08", [8 x i8] c"\FA\E6\D2\BE\AA\96\82n", [8 x i8] c"\85\DFR\00V\08\19=" }, %struct.anon.0.199 { [16 x i8] c"\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08", [8 x i8] c"\0A\14\1E(2<FP", [8 x i8] c"/}\E7P!/\B74" }, %struct.anon.0.199 { [16 x i8] c"\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08", [8 x i8] c"\05\0A\0F\14\19\1E#(", [8 x i8] c"{s\14\92]\E5\9C\09" }, %struct.anon.0.199 { [16 x i8] c"\00\05\00\0A\00\0F\00\14\00\19\00\1E\00#\00(", [8 x i8] c"\01\02\03\04\05\06\07\08", [8 x i8] c">\C0G\80\BE\FFn " }, %struct.anon.0.199 { [16 x i8] c":\98N \00\19]\B3.\E5\01\C8\C4|\EA`", [8 x i8] c"\01\02\03\04\05\06\07\08", [8 x i8] c"\97\BC\D8 \07\80\DA\86" }, %struct.anon.0.199 { [16 x i8] c"\00d\00\C8\01,\01\90\01\F4\02X\02\BC\03 ", [8 x i8] c"\052\0Ad\14\C8\19\FA", [8 x i8] c"e\BE\87\E7\A2S\8A\ED" }, %struct.anon.0.199 { [16 x i8] c"\9D@u\C1\03\BC2*\FB\03\E7\BEj\B3\00\06", [8 x i8] c"\08\08\08\08\08\08\08\08", [8 x i8] c"\F5\DB\1A\C4^^\F9\F9" }], align 1
@.str4956 = private unnamed_addr constant [29 x i8] c"IDEA test encryption failed.\00", align 1
@.str5957 = private unnamed_addr constant [29 x i8] c"IDEA test decryption failed.\00", align 1
@.str966 = private unnamed_addr constant [2 x i8] c"?\00", align 1
@.str1967 = private unnamed_addr constant [5 x i8] c"md.c\00", align 1
@.str3969 = private unnamed_addr constant [9 x i8] c"MD5 used\00", align 1
@.str4970 = private unnamed_addr constant [36 x i8] c"gcry_md_open failed for algo %d: %s\00", align 1
@.str5971 = private unnamed_addr constant [7 x i8] c"digest\00", align 1
@.str6972 = private unnamed_addr constant [7 x i8] c"module\00", align 1
@.str7973 = private unnamed_addr constant [22 x i8] c"no selftest available\00", align 1
@.str8974 = private unnamed_addr constant [19 x i8] c"algorithm disabled\00", align 1
@.str9975 = private unnamed_addr constant [20 x i8] c"algorithm not found\00", align 1
@md_start_debug.idx = internal global i32 0, align 4
@.str10976 = private unnamed_addr constant [32 x i8] c"Oops: md debug already started\0A\00", align 1
@.str11977 = private unnamed_addr constant [17 x i8] c"dbgmd-%05d.%.10s\00", align 1
@.str12978 = private unnamed_addr constant [2 x i8] c"w\00", align 1
@.str13979 = private unnamed_addr constant [25 x i8] c"md debug: can't open %s\0A\00", align 1
@.str14980 = private unnamed_addr constant [29 x i8] c"no ASN.1 OID for md algo %d\0A\00", align 1
@__FUNCTION__.md_get_algo = private unnamed_addr constant [12 x i8] c"md_get_algo\00", align 1
@.str15981 = private unnamed_addr constant [21 x i8] c"possible usage error\00", align 1
@.str16982 = private unnamed_addr constant [51 x i8] c"WARNING: more than one algorithm in md_get_algo()\0A\00", align 1
@.str17983 = private unnamed_addr constant [39 x i8] c"more than one algorithm in md_read(0)\0A\00", align 1
@__FUNCTION__.md_read = private unnamed_addr constant [8 x i8] c"md_read\00", align 1
@.str18984 = private unnamed_addr constant [33 x i8] c"keylen <= hd->ctx->macpads_Bsize\00", align 1
@__FUNCTION__.prepare_macpads = private unnamed_addr constant [16 x i8] c"prepare_macpads\00", align 1
@__FUNCTION__.md_write = private unnamed_addr constant [9 x i8] c"md_write\00", align 1
@.str22988 = private unnamed_addr constant [39 x i8] c"md_enable: algorithm %d not available\0A\00", align 1
@digest_list = internal global [19 x %struct.gcry_md_spec*] [%struct.gcry_md_spec* @_gcry_digest_spec_crc32, %struct.gcry_md_spec* @_gcry_digest_spec_crc32_rfc1510, %struct.gcry_md_spec* @_gcry_digest_spec_crc24_rfc2440, %struct.gcry_md_spec* @_gcry_digest_spec_sha1, %struct.gcry_md_spec* @_gcry_digest_spec_sha256, %struct.gcry_md_spec* @_gcry_digest_spec_sha224, %struct.gcry_md_spec* @_gcry_digest_spec_sha512, %struct.gcry_md_spec* @_gcry_digest_spec_sha384, %struct.gcry_md_spec* @_gcry_digest_spec_gost3411_94, %struct.gcry_md_spec* @_gcry_digest_spec_stribog_256, %struct.gcry_md_spec* @_gcry_digest_spec_stribog_512, %struct.gcry_md_spec* @_gcry_digest_spec_whirlpool, %struct.gcry_md_spec* @_gcry_digest_spec_rmd160, %struct.gcry_md_spec* @_gcry_digest_spec_tiger, %struct.gcry_md_spec* @_gcry_digest_spec_tiger1, %struct.gcry_md_spec* @_gcry_digest_spec_tiger2, %struct.gcry_md_spec* @_gcry_digest_spec_md5, %struct.gcry_md_spec* @_gcry_digest_spec_md4, %struct.gcry_md_spec* null], align 4
@.str23989 = private unnamed_addr constant [5 x i8] c"oid.\00", align 1
@.str24990 = private unnamed_addr constant [5 x i8] c"OID.\00", align 1
@.str1046 = private unnamed_addr constant [4 x i8] c"MD4\00", align 1
@asn = internal global [18 x i8] c"0 0\0C\06\08*\86H\86\F7\0D\02\04\05\00\04\10", align 1
@oid_spec_md4 = internal global [2 x %struct.gcry_md_oid_spec] [%struct.gcry_md_oid_spec { i8* getelementptr inbounds ([19 x i8]* @.str11049, i32 0, i32 0) }, %struct.gcry_md_oid_spec zeroinitializer], align 4
@_gcry_digest_spec_md4 = internal hidden global %struct.gcry_md_spec { i32 301, %struct.anon.98 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([4 x i8]* @.str1046, i32 0, i32 0), i8* getelementptr inbounds ([18 x i8]* @asn, i32 0, i32 0), i32 18, %struct.gcry_md_oid_spec* getelementptr inbounds ([2 x %struct.gcry_md_oid_spec]* @oid_spec_md4, i32 0, i32 0), i32 16, void (i8*)* @md4_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @md4_final, i8* (i8*)* @md4_read, i32 160, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@.str11049 = private unnamed_addr constant [19 x i8] c"1.2.840.113549.2.4\00", align 1
@.str1052 = private unnamed_addr constant [4 x i8] c"MD5\00", align 1
@asn1053 = internal global [18 x i8] c"0 0\0C\06\08*\86H\86\F7\0D\02\05\05\00\04\10", align 1
@oid_spec_md5 = internal global [3 x %struct.gcry_md_oid_spec] [%struct.gcry_md_oid_spec { i8* getelementptr inbounds ([21 x i8]* @.str11056, i32 0, i32 0) }, %struct.gcry_md_oid_spec { i8* getelementptr inbounds ([19 x i8]* @.str21057, i32 0, i32 0) }, %struct.gcry_md_oid_spec zeroinitializer], align 4
@_gcry_digest_spec_md5 = internal hidden global %struct.gcry_md_spec { i32 1, %struct.anon.98 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([4 x i8]* @.str1052, i32 0, i32 0), i8* getelementptr inbounds ([18 x i8]* @asn1053, i32 0, i32 0), i32 18, %struct.gcry_md_oid_spec* getelementptr inbounds ([3 x %struct.gcry_md_oid_spec]* @oid_spec_md5, i32 0, i32 0), i32 16, void (i8*)* @md5_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @md5_final, i8* (i8*)* @md5_read, i32 160, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@.str11056 = private unnamed_addr constant [21 x i8] c"1.2.840.113549.1.1.4\00", align 1
@.str21057 = private unnamed_addr constant [19 x i8] c"1.2.840.113549.2.5\00", align 1
@primepool_lock = internal global i8* null, align 4
@progress_cb1062 = internal global void (i8*, i8*, i32, i32, i32)* null, align 4
@progress_cb_data1063 = internal global i8* null, align 4
@.str1064 = private unnamed_addr constant [11 x i8] c"checking g\00", align 1
@.str21066 = private unnamed_addr constant [11 x i8] c"primegen.c\00", align 1
@primepool = internal hidden global %struct.primepool_s* null, align 4
@small_prime_numbers = internal global [669 x i16] [i16 3, i16 5, i16 7, i16 11, i16 13, i16 17, i16 19, i16 23, i16 29, i16 31, i16 37, i16 41, i16 43, i16 47, i16 53, i16 59, i16 61, i16 67, i16 71, i16 73, i16 79, i16 83, i16 89, i16 97, i16 101, i16 103, i16 107, i16 109, i16 113, i16 127, i16 131, i16 137, i16 139, i16 149, i16 151, i16 157, i16 163, i16 167, i16 173, i16 179, i16 181, i16 191, i16 193, i16 197, i16 199, i16 211, i16 223, i16 227, i16 229, i16 233, i16 239, i16 241, i16 251, i16 257, i16 263, i16 269, i16 271, i16 277, i16 281, i16 283, i16 293, i16 307, i16 311, i16 313, i16 317, i16 331, i16 337, i16 347, i16 349, i16 353, i16 359, i16 367, i16 373, i16 379, i16 383, i16 389, i16 397, i16 401, i16 409, i16 419, i16 421, i16 431, i16 433, i16 439, i16 443, i16 449, i16 457, i16 461, i16 463, i16 467, i16 479, i16 487, i16 491, i16 499, i16 503, i16 509, i16 521, i16 523, i16 541, i16 547, i16 557, i16 563, i16 569, i16 571, i16 577, i16 587, i16 593, i16 599, i16 601, i16 607, i16 613, i16 617, i16 619, i16 631, i16 641, i16 643, i16 647, i16 653, i16 659, i16 661, i16 673, i16 677, i16 683, i16 691, i16 701, i16 709, i16 719, i16 727, i16 733, i16 739, i16 743, i16 751, i16 757, i16 761, i16 769, i16 773, i16 787, i16 797, i16 809, i16 811, i16 821, i16 823, i16 827, i16 829, i16 839, i16 853, i16 857, i16 859, i16 863, i16 877, i16 881, i16 883, i16 887, i16 907, i16 911, i16 919, i16 929, i16 937, i16 941, i16 947, i16 953, i16 967, i16 971, i16 977, i16 983, i16 991, i16 997, i16 1009, i16 1013, i16 1019, i16 1021, i16 1031, i16 1033, i16 1039, i16 1049, i16 1051, i16 1061, i16 1063, i16 1069, i16 1087, i16 1091, i16 1093, i16 1097, i16 1103, i16 1109, i16 1117, i16 1123, i16 1129, i16 1151, i16 1153, i16 1163, i16 1171, i16 1181, i16 1187, i16 1193, i16 1201, i16 1213, i16 1217, i16 1223, i16 1229, i16 1231, i16 1237, i16 1249, i16 1259, i16 1277, i16 1279, i16 1283, i16 1289, i16 1291, i16 1297, i16 1301, i16 1303, i16 1307, i16 1319, i16 1321, i16 1327, i16 1361, i16 1367, i16 1373, i16 1381, i16 1399, i16 1409, i16 1423, i16 1427, i16 1429, i16 1433, i16 1439, i16 1447, i16 1451, i16 1453, i16 1459, i16 1471, i16 1481, i16 1483, i16 1487, i16 1489, i16 1493, i16 1499, i16 1511, i16 1523, i16 1531, i16 1543, i16 1549, i16 1553, i16 1559, i16 1567, i16 1571, i16 1579, i16 1583, i16 1597, i16 1601, i16 1607, i16 1609, i16 1613, i16 1619, i16 1621, i16 1627, i16 1637, i16 1657, i16 1663, i16 1667, i16 1669, i16 1693, i16 1697, i16 1699, i16 1709, i16 1721, i16 1723, i16 1733, i16 1741, i16 1747, i16 1753, i16 1759, i16 1777, i16 1783, i16 1787, i16 1789, i16 1801, i16 1811, i16 1823, i16 1831, i16 1847, i16 1861, i16 1867, i16 1871, i16 1873, i16 1877, i16 1879, i16 1889, i16 1901, i16 1907, i16 1913, i16 1931, i16 1933, i16 1949, i16 1951, i16 1973, i16 1979, i16 1987, i16 1993, i16 1997, i16 1999, i16 2003, i16 2011, i16 2017, i16 2027, i16 2029, i16 2039, i16 2053, i16 2063, i16 2069, i16 2081, i16 2083, i16 2087, i16 2089, i16 2099, i16 2111, i16 2113, i16 2129, i16 2131, i16 2137, i16 2141, i16 2143, i16 2153, i16 2161, i16 2179, i16 2203, i16 2207, i16 2213, i16 2221, i16 2237, i16 2239, i16 2243, i16 2251, i16 2267, i16 2269, i16 2273, i16 2281, i16 2287, i16 2293, i16 2297, i16 2309, i16 2311, i16 2333, i16 2339, i16 2341, i16 2347, i16 2351, i16 2357, i16 2371, i16 2377, i16 2381, i16 2383, i16 2389, i16 2393, i16 2399, i16 2411, i16 2417, i16 2423, i16 2437, i16 2441, i16 2447, i16 2459, i16 2467, i16 2473, i16 2477, i16 2503, i16 2521, i16 2531, i16 2539, i16 2543, i16 2549, i16 2551, i16 2557, i16 2579, i16 2591, i16 2593, i16 2609, i16 2617, i16 2621, i16 2633, i16 2647, i16 2657, i16 2659, i16 2663, i16 2671, i16 2677, i16 2683, i16 2687, i16 2689, i16 2693, i16 2699, i16 2707, i16 2711, i16 2713, i16 2719, i16 2729, i16 2731, i16 2741, i16 2749, i16 2753, i16 2767, i16 2777, i16 2789, i16 2791, i16 2797, i16 2801, i16 2803, i16 2819, i16 2833, i16 2837, i16 2843, i16 2851, i16 2857, i16 2861, i16 2879, i16 2887, i16 2897, i16 2903, i16 2909, i16 2917, i16 2927, i16 2939, i16 2953, i16 2957, i16 2963, i16 2969, i16 2971, i16 2999, i16 3001, i16 3011, i16 3019, i16 3023, i16 3037, i16 3041, i16 3049, i16 3061, i16 3067, i16 3079, i16 3083, i16 3089, i16 3109, i16 3119, i16 3121, i16 3137, i16 3163, i16 3167, i16 3169, i16 3181, i16 3187, i16 3191, i16 3203, i16 3209, i16 3217, i16 3221, i16 3229, i16 3251, i16 3253, i16 3257, i16 3259, i16 3271, i16 3299, i16 3301, i16 3307, i16 3313, i16 3319, i16 3323, i16 3329, i16 3331, i16 3343, i16 3347, i16 3359, i16 3361, i16 3371, i16 3373, i16 3389, i16 3391, i16 3407, i16 3413, i16 3433, i16 3449, i16 3457, i16 3461, i16 3463, i16 3467, i16 3469, i16 3491, i16 3499, i16 3511, i16 3517, i16 3527, i16 3529, i16 3533, i16 3539, i16 3541, i16 3547, i16 3557, i16 3559, i16 3571, i16 3581, i16 3583, i16 3593, i16 3607, i16 3613, i16 3617, i16 3623, i16 3631, i16 3637, i16 3643, i16 3659, i16 3671, i16 3673, i16 3677, i16 3691, i16 3697, i16 3701, i16 3709, i16 3719, i16 3727, i16 3733, i16 3739, i16 3761, i16 3767, i16 3769, i16 3779, i16 3793, i16 3797, i16 3803, i16 3821, i16 3823, i16 3833, i16 3847, i16 3851, i16 3853, i16 3863, i16 3877, i16 3881, i16 3889, i16 3907, i16 3911, i16 3917, i16 3919, i16 3923, i16 3929, i16 3931, i16 3943, i16 3947, i16 3967, i16 3989, i16 4001, i16 4003, i16 4007, i16 4013, i16 4019, i16 4021, i16 4027, i16 4049, i16 4051, i16 4057, i16 4073, i16 4079, i16 4091, i16 4093, i16 4099, i16 4111, i16 4127, i16 4129, i16 4133, i16 4139, i16 4153, i16 4157, i16 4159, i16 4177, i16 4201, i16 4211, i16 4217, i16 4219, i16 4229, i16 4231, i16 4241, i16 4243, i16 4253, i16 4259, i16 4261, i16 4271, i16 4273, i16 4283, i16 4289, i16 4297, i16 4327, i16 4337, i16 4339, i16 4349, i16 4357, i16 4363, i16 4373, i16 4391, i16 4397, i16 4409, i16 4421, i16 4423, i16 4441, i16 4447, i16 4451, i16 4457, i16 4463, i16 4481, i16 4483, i16 4493, i16 4507, i16 4513, i16 4517, i16 4519, i16 4523, i16 4547, i16 4549, i16 4561, i16 4567, i16 4583, i16 4591, i16 4597, i16 4603, i16 4621, i16 4637, i16 4639, i16 4643, i16 4649, i16 4651, i16 4657, i16 4663, i16 4673, i16 4679, i16 4691, i16 4703, i16 4721, i16 4723, i16 4729, i16 4733, i16 4751, i16 4759, i16 4783, i16 4787, i16 4789, i16 4793, i16 4799, i16 4801, i16 4813, i16 4817, i16 4831, i16 4861, i16 4871, i16 4877, i16 4889, i16 4903, i16 4909, i16 4919, i16 4931, i16 4933, i16 4937, i16 4943, i16 4951, i16 4957, i16 4967, i16 4969, i16 4973, i16 4987, i16 4993, i16 4999, i16 0], align 2
@.str91073 = private unnamed_addr constant [68 x i8] c"_gcry_mpi_cmp ((x),(nminus1)) < 0 && _gcry_mpi_cmp_ui ((x),(1)) > 0\00", align 1
@__FUNCTION__.is_prime = private unnamed_addr constant [9 x i8] c"is_prime\00", align 1
@.str101074 = private unnamed_addr constant [47 x i8] c"can't generate a prime with less than %d bits\0A\00", align 1
@no_of_small_prime_numbers = internal global i32 668, align 4
@.str111075 = private unnamed_addr constant [30 x i8] c"overflow in prime generation\0A\00", align 1
@.str121076 = private unnamed_addr constant [47 x i8] c"gen prime: pbits=%u qbits=%u fbits=%u/%u n=%d\0A\00", align 1
@.str131077 = private unnamed_addr constant [10 x i8] c"prime \00", align 1
@.str141078 = private unnamed_addr constant [10 x i8] c"factor q\00", align 1
@.str151079 = private unnamed_addr constant [10 x i8] c"factor q0\00", align 1
@.str161080 = private unnamed_addr constant [10 x i8] c"factor pi\00", align 1
@.str171081 = private unnamed_addr constant [26 x i8] c"bit sizes: prime=%u, q=%u\00", align 1
@.str181082 = private unnamed_addr constant [8 x i8] c", q0=%u\00", align 1
@.str191083 = private unnamed_addr constant [9 x i8] c", p%d=%u\00", align 1
@.str201084 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@__FUNCTION__.m_out_of_n = private unnamed_addr constant [11 x i8] c"m_out_of_n\00", align 1
@.str211085 = private unnamed_addr constant [39 x i8] c"nbits == _gcry_mpi_get_nbits ((prime))\00", align 1
@__FUNCTION__.get_pool_prime = private unnamed_addr constant [15 x i8] c"get_pool_prime\00", align 1
@.str221086 = private unnamed_addr constant [9 x i8] c"primegen\00", align 1
@.str1109 = private unnamed_addr constant [8 x i8] c"rfc6979\00", align 1
@.str11110 = private unnamed_addr constant [6 x i8] c"eddsa\00", align 1
@.str21111 = private unnamed_addr constant [6 x i8] c"ecdsa\00", align 1
@.str31112 = private unnamed_addr constant [5 x i8] c"gost\00", align 1
@.str41113 = private unnamed_addr constant [4 x i8] c"raw\00", align 1
@.str51114 = private unnamed_addr constant [6 x i8] c"pkcs1\00", align 1
@.str61115 = private unnamed_addr constant [5 x i8] c"oaep\00", align 1
@.str71116 = private unnamed_addr constant [4 x i8] c"pss\00", align 1
@.str81117 = private unnamed_addr constant [12 x i8] c"no-blinding\00", align 1
@.str91118 = private unnamed_addr constant [14 x i8] c"transient-key\00", align 1
@.str101119 = private unnamed_addr constant [9 x i8] c"use-x931\00", align 1
@.str111120 = private unnamed_addr constant [12 x i8] c"use-fips186\00", align 1
@.str121121 = private unnamed_addr constant [14 x i8] c"use-fips186-2\00", align 1
@.str131122 = private unnamed_addr constant [6 x i8] c"nbits\00", align 1
@.str141123 = private unnamed_addr constant [10 x i8] c"rsa-use-e\00", align 1
@.str151124 = private unnamed_addr constant [8 x i8] c"sig-val\00", align 1
@.str161125 = private unnamed_addr constant [6 x i8] c"flags\00", align 1
@.str171126 = private unnamed_addr constant [8 x i8] c"enc-val\00", align 1
@.str181127 = private unnamed_addr constant [10 x i8] c"hash-algo\00", align 1
@.str191128 = private unnamed_addr constant [6 x i8] c"label\00", align 1
@.str201129 = private unnamed_addr constant [16 x i8] c"random-override\00", align 1
@.str211130 = private unnamed_addr constant [5 x i8] c"data\00", align 1
@.str221131 = private unnamed_addr constant [5 x i8] c"hash\00", align 1
@.str231132 = private unnamed_addr constant [6 x i8] c"value\00", align 1
@.str241133 = private unnamed_addr constant [12 x i8] c"salt-length\00", align 1
@get_hash_algo.hashnames = internal constant [13 x %struct.anon.219] [%struct.anon.219 { i8* getelementptr inbounds ([5 x i8]* @.str251134, i32 0, i32 0), i32 2 }, %struct.anon.219 { i8* getelementptr inbounds ([4 x i8]* @.str261135, i32 0, i32 0), i32 1 }, %struct.anon.219 { i8* getelementptr inbounds ([7 x i8]* @.str271136, i32 0, i32 0), i32 8 }, %struct.anon.219 { i8* getelementptr inbounds ([10 x i8]* @.str281137, i32 0, i32 0), i32 3 }, %struct.anon.219 { i8* getelementptr inbounds ([7 x i8]* @.str291138, i32 0, i32 0), i32 3 }, %struct.anon.219 { i8* getelementptr inbounds ([7 x i8]* @.str301139, i32 0, i32 0), i32 9 }, %struct.anon.219 { i8* getelementptr inbounds ([7 x i8]* @.str311140, i32 0, i32 0), i32 10 }, %struct.anon.219 { i8* getelementptr inbounds ([7 x i8]* @.str321141, i32 0, i32 0), i32 11 }, %struct.anon.219 { i8* getelementptr inbounds ([4 x i8]* @.str331142, i32 0, i32 0), i32 5 }, %struct.anon.219 { i8* getelementptr inbounds ([4 x i8]* @.str341143, i32 0, i32 0), i32 301 }, %struct.anon.219 { i8* getelementptr inbounds ([6 x i8]* @.str351144, i32 0, i32 0), i32 6 }, %struct.anon.219 { i8* getelementptr inbounds ([6 x i8]* @.str361145, i32 0, i32 0), i32 7 }, %struct.anon.219 zeroinitializer], align 4
@.str251134 = private unnamed_addr constant [5 x i8] c"sha1\00", align 1
@.str261135 = private unnamed_addr constant [4 x i8] c"md5\00", align 1
@.str271136 = private unnamed_addr constant [7 x i8] c"sha256\00", align 1
@.str281137 = private unnamed_addr constant [10 x i8] c"ripemd160\00", align 1
@.str291138 = private unnamed_addr constant [7 x i8] c"rmd160\00", align 1
@.str301139 = private unnamed_addr constant [7 x i8] c"sha384\00", align 1
@.str311140 = private unnamed_addr constant [7 x i8] c"sha512\00", align 1
@.str321141 = private unnamed_addr constant [7 x i8] c"sha224\00", align 1
@.str331142 = private unnamed_addr constant [4 x i8] c"md2\00", align 1
@.str341143 = private unnamed_addr constant [4 x i8] c"md4\00", align 1
@.str351144 = private unnamed_addr constant [6 x i8] c"tiger\00", align 1
@.str361145 = private unnamed_addr constant [6 x i8] c"haval\00", align 1
@.str1160 = private unnamed_addr constant [2 x i8] c"?\00", align 1
@.str21162 = private unnamed_addr constant [11 x i8] c"public-key\00", align 1
@.str31163 = private unnamed_addr constant [12 x i8] c"private-key\00", align 1
@.str91169 = private unnamed_addr constant [7 x i8] c"pubkey\00", align 1
@.str101170 = private unnamed_addr constant [7 x i8] c"module\00", align 1
@.str111171 = private unnamed_addr constant [22 x i8] c"no selftest available\00", align 1
@.str121172 = private unnamed_addr constant [19 x i8] c"algorithm disabled\00", align 1
@.str131173 = private unnamed_addr constant [20 x i8] c"algorithm not found\00", align 1
@pubkey_list = internal global [5 x %struct.gcry_pk_spec*] [%struct.gcry_pk_spec* @_gcry_pubkey_spec_ecc, %struct.gcry_pk_spec* @_gcry_pubkey_spec_rsa, %struct.gcry_pk_spec* @_gcry_pubkey_spec_dsa, %struct.gcry_pk_spec* @_gcry_pubkey_spec_elg, %struct.gcry_pk_spec* null], align 4
@.str1215 = private unnamed_addr constant [11 x i8] c"RFC2268_40\00", align 1
@oids_rfc2268_40 = internal global [2 x %struct.gcry_cipher_oid_spec] [%struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str101232, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec zeroinitializer], align 4
@_gcry_cipher_spec_rfc2268_40 = internal hidden global %struct.gcry_cipher_spec { i32 307, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([11 x i8]* @.str1215, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* getelementptr inbounds ([2 x %struct.gcry_cipher_oid_spec]* @oids_rfc2268_40, i32 0, i32 0), i32 8, i32 40, i32 128, i32 (i8*, i8*, i32)* @do_setkey1233, i32 (i8*, i8*, i8*)* @encrypt_block1234, i32 (i8*, i8*, i8*)* @decrypt_block1235, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str11218 = private unnamed_addr constant [12 x i8] c"RFC2268_128\00", align 1
@oids_rfc2268_128 = internal global [2 x %struct.gcry_cipher_oid_spec] [%struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str21221, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec zeroinitializer], align 4
@_gcry_cipher_spec_rfc2268_128 = internal hidden global %struct.gcry_cipher_spec { i32 308, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([12 x i8]* @.str11218, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* getelementptr inbounds ([2 x %struct.gcry_cipher_oid_spec]* @oids_rfc2268_128, i32 0, i32 0), i32 8, i32 128, i32 128, i32 (i8*, i8*, i32)* @do_setkey1233, i32 (i8*, i8*, i8*)* @encrypt_block1234, i32 (i8*, i8*, i8*)* @decrypt_block1235, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str21221 = private unnamed_addr constant [24 x i8] c"1.2.840.113549.1.12.1.5\00", align 1
@setkey_core.initialized = internal global i32 0, align 4
@setkey_core.selftest_failed = internal global i8* null, align 4
@.str31222 = private unnamed_addr constant [31 x i8] c"RFC2268 selftest failed (%s).\0A\00", align 1
@rfc2268_sbox = internal constant [256 x i8] c"\D9x\F9\C4\19\DD\B5\ED(\E9\FDyJ\A0\D8\9D\C6~7\83+vS\8EbLd\88D\8B\FB\A2\17\9AY\F5\87\B3O\13aEm\8D\09\81}2\BD\8F@\EB\86\B7{\0B\F0\95!\22\5CkN\82T\D6e\93\CE`\B2\1CsV\C0\14\A7\8C\F1\DC\12u\CA\1F;\BE\E4\D1B=\D40\A3<\B6&o\BF\0E\DAFi\07W'\F2\1D\9B\BC\94C\03\F8\11\C7\F6\90\EF>\E7\06\C3\D5/\C8f\1E\D7\08\E8\EA\DE\80R\EE\F7\84\AAr\AC5Mj*\96\1A\D2qZ\15ItK\9F\D0^\04\18\A4\EC\C2\E0An\0FQ\CB\CC$\91\AFP\A1\F4p9\99|:\85#\B8\B4z\FC\026[%U\971-]\FA\98\E3\8A\92\AE\05\DF)\10gl\BA\C9\D3\00\E6\CF\E1\9E\A8,c\16\01?X\E2\89\A9\0D84\1B\AB3\FF\B0\BBH\0C_\B9\B1\CD.\C5\F3\DBG\E5\A5\9Cw\0A\A6 h\FE\7F\C1\AD", align 1
@selftest.key_11223 = internal global [16 x i8] zeroinitializer, align 1
@selftest.plaintext_11224 = internal global [8 x i8] zeroinitializer, align 1
@selftest.ciphertext_11225 = internal constant [8 x i8] c"\1C\19\8A\83\8D\F0(\B7", align 1
@selftest.key_2 = internal global [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", align 1
@selftest.plaintext_2 = internal global [8 x i8] zeroinitializer, align 1
@selftest.ciphertext_2 = internal global [8 x i8] c"P\DC\01b\BDu\7F1", align 1
@selftest.key_3 = internal global [16 x i8] c"0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", align 1
@selftest.plaintext_3 = internal global [8 x i8] c"\10\00\00\00\00\00\00\00", align 1
@selftest.ciphertext_3 = internal global [8 x i8] c"\8F\D1\03\893k\F9^", align 1
@.str41226 = private unnamed_addr constant [34 x i8] c"RFC2268 encryption test 1 failed.\00", align 1
@.str51227 = private unnamed_addr constant [34 x i8] c"RFC2268 decryption test 1 failed.\00", align 1
@.str61228 = private unnamed_addr constant [34 x i8] c"RFC2268 encryption test 2 failed.\00", align 1
@.str71229 = private unnamed_addr constant [34 x i8] c"RFC2268 decryption test 2 failed.\00", align 1
@.str81230 = private unnamed_addr constant [34 x i8] c"RFC2268 encryption test 3 failed.\00", align 1
@.str91231 = private unnamed_addr constant [34 x i8] c"RFC2268 decryption test 3 failed.\00", align 1
@.str101232 = private unnamed_addr constant [24 x i8] c"1.2.840.113549.1.12.1.6\00", align 1
@.str1238 = private unnamed_addr constant [4 x i8] c"AES\00", align 1
@rijndael_names = internal global [4 x i8*] [i8* getelementptr inbounds ([9 x i8]* @.str381284, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str391285, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str401286, i32 0, i32 0), i8* null], align 4
@rijndael_oids = internal global [5 x %struct.gcry_cipher_oid_spec] [%struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([23 x i8]* @.str341280, i32 0, i32 0), i32 1 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([23 x i8]* @.str351281, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([23 x i8]* @.str361282, i32 0, i32 0), i32 5 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([23 x i8]* @.str371283, i32 0, i32 0), i32 2 }, %struct.gcry_cipher_oid_spec zeroinitializer], align 4
@_gcry_cipher_spec_aes = internal hidden global %struct.gcry_cipher_spec { i32 7, %struct.anon.11 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([4 x i8]* @.str1238, i32 0, i32 0), i8** getelementptr inbounds ([4 x i8*]* @rijndael_names, i32 0, i32 0), %struct.gcry_cipher_oid_spec* getelementptr inbounds ([5 x %struct.gcry_cipher_oid_spec]* @rijndael_oids, i32 0, i32 0), i32 16, i32 128, i32 488, i32 (i8*, i8*, i32)* @rijndael_setkey, i32 (i8*, i8*, i8*)* @rijndael_encrypt, i32 (i8*, i8*, i8*)* @rijndael_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests1304, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str11241 = private unnamed_addr constant [7 x i8] c"AES192\00", align 1
@rijndael192_names = internal global [3 x i8*] [i8* getelementptr inbounds ([12 x i8]* @.str131257, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str141258, i32 0, i32 0), i8* null], align 4
@rijndael192_oids = internal global [5 x %struct.gcry_cipher_oid_spec] [%struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str91253, i32 0, i32 0), i32 1 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str101254, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str111255, i32 0, i32 0), i32 5 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str121256, i32 0, i32 0), i32 2 }, %struct.gcry_cipher_oid_spec zeroinitializer], align 4
@_gcry_cipher_spec_aes192 = internal hidden global %struct.gcry_cipher_spec { i32 8, %struct.anon.11 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([7 x i8]* @.str11241, i32 0, i32 0), i8** getelementptr inbounds ([3 x i8*]* @rijndael192_names, i32 0, i32 0), %struct.gcry_cipher_oid_spec* getelementptr inbounds ([5 x %struct.gcry_cipher_oid_spec]* @rijndael192_oids, i32 0, i32 0), i32 16, i32 192, i32 488, i32 (i8*, i8*, i32)* @rijndael_setkey, i32 (i8*, i8*, i8*)* @rijndael_encrypt, i32 (i8*, i8*, i8*)* @rijndael_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests1304, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str21244 = private unnamed_addr constant [7 x i8] c"AES256\00", align 1
@rijndael256_names = internal global [3 x i8*] [i8* getelementptr inbounds ([12 x i8]* @.str71251, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8]* @.str81252, i32 0, i32 0), i8* null], align 4
@rijndael256_oids = internal global [5 x %struct.gcry_cipher_oid_spec] [%struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str31247, i32 0, i32 0), i32 1 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str41248, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str51249, i32 0, i32 0), i32 5 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([24 x i8]* @.str61250, i32 0, i32 0), i32 2 }, %struct.gcry_cipher_oid_spec zeroinitializer], align 4
@_gcry_cipher_spec_aes256 = internal hidden global %struct.gcry_cipher_spec { i32 9, %struct.anon.11 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([7 x i8]* @.str21244, i32 0, i32 0), i8** getelementptr inbounds ([3 x i8*]* @rijndael256_names, i32 0, i32 0), %struct.gcry_cipher_oid_spec* getelementptr inbounds ([5 x %struct.gcry_cipher_oid_spec]* @rijndael256_oids, i32 0, i32 0), i32 16, i32 256, i32 488, i32 (i8*, i8*, i32)* @rijndael_setkey, i32 (i8*, i8*, i8*)* @rijndael_encrypt, i32 (i8*, i8*, i8*)* @rijndael_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests1304, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str31247 = private unnamed_addr constant [24 x i8] c"2.16.840.1.101.3.4.1.41\00", align 1
@.str41248 = private unnamed_addr constant [24 x i8] c"2.16.840.1.101.3.4.1.42\00", align 1
@.str51249 = private unnamed_addr constant [24 x i8] c"2.16.840.1.101.3.4.1.43\00", align 1
@.str61250 = private unnamed_addr constant [24 x i8] c"2.16.840.1.101.3.4.1.44\00", align 1
@.str71251 = private unnamed_addr constant [12 x i8] c"RIJNDAEL256\00", align 1
@.str81252 = private unnamed_addr constant [8 x i8] c"AES-256\00", align 1
@.str91253 = private unnamed_addr constant [24 x i8] c"2.16.840.1.101.3.4.1.21\00", align 1
@.str101254 = private unnamed_addr constant [24 x i8] c"2.16.840.1.101.3.4.1.22\00", align 1
@.str111255 = private unnamed_addr constant [24 x i8] c"2.16.840.1.101.3.4.1.23\00", align 1
@.str121256 = private unnamed_addr constant [24 x i8] c"2.16.840.1.101.3.4.1.24\00", align 1
@.str131257 = private unnamed_addr constant [12 x i8] c"RIJNDAEL192\00", align 1
@.str141258 = private unnamed_addr constant [8 x i8] c"AES-192\00", align 1
@.str151259 = private unnamed_addr constant [10 x i8] c"low-level\00", align 1
@.str161260 = private unnamed_addr constant [7 x i8] c"cipher\00", align 1
@selftest_basic_256.plaintext_256 = internal global [16 x i8] c"\06\9A\00\7F\C7jE\9F\98\BA\F9\17\FE\DF\95!", align 1
@selftest_basic_256.key_256 = internal global [32 x i8] c"\08\09\0A\0B\0D\0E\0F\10\12\13\14\15\17\18\19\1A\1C\1D\1E\1F!\22#$&'()+,-.", align 1
@selftest_basic_256.ciphertext_256 = internal constant [16 x i8] c"\08\0E\95\17\EB\16wq\9A\CFr\80\86\04\0A\E3", align 1
@.str171261 = private unnamed_addr constant [32 x i8] c"AES-256 test encryption failed.\00", align 1
@.str181262 = private unnamed_addr constant [32 x i8] c"AES-256 test decryption failed.\00", align 1
@selftest_basic_192.plaintext_192 = internal global [16 x i8] c"vwtu\F1\F2\F3\F4\F8\F9\E6\E7wpqr", align 1
@selftest_basic_192.key_192 = internal global [24 x i8] c"\04\05\06\07\09\0A\0B\0C\0E\0F\10\11\13\14\15\16\18\19\1A\1B\1D\1E\1F ", align 1
@selftest_basic_192.ciphertext_192 = internal constant [16 x i8] c"]\1E\F2\0D\CE\D6\BC\BC\12\13\1A\C7\C5G\88\AA", align 1
@.str191263 = private unnamed_addr constant [32 x i8] c"AES-192 test encryption failed.\00", align 1
@.str201264 = private unnamed_addr constant [32 x i8] c"AES-192 test decryption failed.\00", align 1
@.str211265 = private unnamed_addr constant [4 x i8] c"cfb\00", align 1
@.str221266 = private unnamed_addr constant [4 x i8] c"ofb\00", align 1
@selftest_fips_128_38a.tv = private unnamed_addr constant [2 x %struct.tv] [%struct.tv { i32 2, [16 x i8] c"+~\15\16(\AE\D2\A6\AB\F7\15\88\09\CFO<", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [4 x %struct.anon.2.237] [%struct.anon.2.237 { [16 x i8] c"k\C1\BE\E2.@\9F\96\E9=~\11s\93\17*", [16 x i8] c";?\D9.\B7-\AD 34I\F8\E8<\FBJ" }, %struct.anon.2.237 { [16 x i8] c"\AE-\8AW\1E\03\AC\9C\9E\B7o\ACE\AF\8EQ", [16 x i8] c"\C8\A6E7\A0\B3\A9?\CD\E3\CD\AD\9F\1C\E5\8B" }, %struct.anon.2.237 { [16 x i8] c"0\C8\1CF\A3\5C\E4\11\E5\FB\C1\19\1A\0AR\EF", [16 x i8] c"&u\1Fg\A3\CB\B1@\B1\80\8C\F1\87\A4\F4\DF" }, %struct.anon.2.237 { [16 x i8] c"\F6\9F$E\DFO\9B\17\AD+A{\E6l7\10", [16 x i8] c"\C0K\055|]\1C\0E\EA\C4\C6o\9F\F7\F2\E6" }] }, %struct.tv { i32 5, [16 x i8] c"+~\15\16(\AE\D2\A6\AB\F7\15\88\09\CFO<", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [4 x %struct.anon.2.237] [%struct.anon.2.237 { [16 x i8] c"k\C1\BE\E2.@\9F\96\E9=~\11s\93\17*", [16 x i8] c";?\D9.\B7-\AD 34I\F8\E8<\FBJ" }, %struct.anon.2.237 { [16 x i8] c"\AE-\8AW\1E\03\AC\9C\9E\B7o\ACE\AF\8EQ", [16 x i8] c"w\89P\8D\16\91\8F\03\F5<R\DA\C5N\D8%" }, %struct.anon.2.237 { [16 x i8] c"0\C8\1CF\A3\5C\E4\11\E5\FB\C1\19\1A\0AR\EF", [16 x i8] c"\97@\05\1E\9C_\EC\F6CD\F7\A8\22`\ED\CC" }, %struct.anon.2.237 { [16 x i8] c"\F6\9F$E\DFO\9B\17\AD+A{\E6l7\10", [16 x i8] c"0Le(\F6Y\C7xf\A5\10\D9\C1\D6\AE^" }] }], align 4
@.str231267 = private unnamed_addr constant [27 x i8] c"no test data for this mode\00", align 1
@.str241268 = private unnamed_addr constant [5 x i8] c"open\00", align 1
@.str251269 = private unnamed_addr constant [8 x i8] c"set key\00", align 1
@.str261270 = private unnamed_addr constant [7 x i8] c"set IV\00", align 1
@.str271271 = private unnamed_addr constant [16 x i8] c"encrypt command\00", align 1
@.str281272 = private unnamed_addr constant [17 x i8] c"encrypt mismatch\00", align 1
@.str291273 = private unnamed_addr constant [16 x i8] c"decrypt command\00", align 1
@.str301274 = private unnamed_addr constant [17 x i8] c"decrypt mismatch\00", align 1
@selftest_basic_128.plaintext_128 = internal constant [16 x i8] c"\01K\AF\22x\A6\9D3\1DQ\80\106C\E9\9A", align 1
@selftest_basic_128.key_128 = internal constant [16 x i8] c"\E8\E9\EA\EB\ED\EE\EF\F0\F2\F3\F4\F5\F7\F8\F9\FA", align 1
@selftest_basic_128.ciphertext_128 = internal constant [16 x i8] c"gC\C3\D1Q\9A\B4\F2\CD\9Ax\AB\09\A5\11\BD", align 1
@.str311275 = private unnamed_addr constant [32 x i8] c"AES-128 test encryption failed.\00", align 1
@.str321276 = private unnamed_addr constant [32 x i8] c"AES-128 test decryption failed.\00", align 1
@do_setkey.initialized1277 = internal global i32 0, align 4
@do_setkey.selftest_failed1278 = internal global i8* null, align 4
@.str331279 = private unnamed_addr constant [4 x i8] c"%s\0A\00", align 1
@S = internal constant [256 x i8] c"c|w{\F2ko\C50\01g+\FE\D7\ABv\CA\82\C9}\FAYG\F0\AD\D4\A2\AF\9C\A4r\C0\B7\FD\93&6?\F7\CC4\A5\E5\F1q\D81\15\04\C7#\C3\18\96\05\9A\07\12\80\E2\EB'\B2u\09\83,\1A\1BnZ\A0R;\D6\B3)\E3/\84S\D1\00\ED \FC\B1[j\CB\BE9JLX\CF\D0\EF\AA\FBCM3\85E\F9\02\7FP<\9F\A8Q\A3@\8F\92\9D8\F5\BC\B6\DA!\10\FF\F3\D2\CD\0C\13\EC_\97D\17\C4\A7~=d]\19s`\81O\DC\22*\90\88F\EE\B8\14\DE^\0B\DB\E02:\0AI\06$\5C\C2\D3\ACb\91\95\E4y\E7\C87m\8D\D5N\A9lV\F4\EAez\AE\08\BAx%.\1C\A6\B4\C6\E8\DDt\1FK\BD\8B\8Ap>\B5fH\03\F6\0Ea5W\B9\86\C1\1D\9E\E1\F8\98\11i\D9\8E\94\9B\1E\87\E9\CEU(\DF\8C\A1\89\0D\BF\E6BhA\99-\0F\B0T\BB\16", align 1
@rcon = internal constant [30 x i32] [i32 1, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64, i32 128, i32 27, i32 54, i32 108, i32 216, i32 171, i32 77, i32 154, i32 47, i32 94, i32 188, i32 99, i32 198, i32 151, i32 53, i32 106, i32 212, i32 179, i32 125, i32 250, i32 239, i32 197, i32 145], align 4
@.str341280 = private unnamed_addr constant [23 x i8] c"2.16.840.1.101.3.4.1.1\00", align 1
@.str351281 = private unnamed_addr constant [23 x i8] c"2.16.840.1.101.3.4.1.2\00", align 1
@.str361282 = private unnamed_addr constant [23 x i8] c"2.16.840.1.101.3.4.1.3\00", align 1
@.str371283 = private unnamed_addr constant [23 x i8] c"2.16.840.1.101.3.4.1.4\00", align 1
@.str381284 = private unnamed_addr constant [9 x i8] c"RIJNDAEL\00", align 1
@.str391285 = private unnamed_addr constant [7 x i8] c"AES128\00", align 1
@.str401286 = private unnamed_addr constant [8 x i8] c"AES-128\00", align 1
@T5 = internal constant [256 x [4 x i8]] [[4 x i8] c"Q\F4\A7P", [4 x i8] c"~AeS", [4 x i8] c"\1A\17\A4\C3", [4 x i8] c":'^\96", [4 x i8] c";\ABk\CB", [4 x i8] c"\1F\9DE\F1", [4 x i8] c"\AC\FAX\AB", [4 x i8] c"K\E3\03\93", [4 x i8] c" 0\FAU", [4 x i8] c"\ADvm\F6", [4 x i8] c"\88\CCv\91", [4 x i8] c"\F5\02L%", [4 x i8] c"O\E5\D7\FC", [4 x i8] c"\C5*\CB\D7", [4 x i8] c"&5D\80", [4 x i8] c"\B5b\A3\8F", [4 x i8] c"\DE\B1ZI", [4 x i8] c"%\BA\1Bg", [4 x i8] c"E\EA\0E\98", [4 x i8] c"]\FE\C0\E1", [4 x i8] c"\C3/u\02", [4 x i8] c"\81L\F0\12", [4 x i8] c"\8DF\97\A3", [4 x i8] c"k\D3\F9\C6", [4 x i8] c"\03\8F_\E7", [4 x i8] c"\15\92\9C\95", [4 x i8] c"\BFmz\EB", [4 x i8] c"\95RY\DA", [4 x i8] c"\D4\BE\83-", [4 x i8] c"Xt!\D3", [4 x i8] c"I\E0i)", [4 x i8] c"\8E\C9\C8D", [4 x i8] c"u\C2\89j", [4 x i8] c"\F4\8Eyx", [4 x i8] c"\99X>k", [4 x i8] c"'\B9q\DD", [4 x i8] c"\BE\E1O\B6", [4 x i8] c"\F0\88\AD\17", [4 x i8] c"\C9 \ACf", [4 x i8] c"}\CE:\B4", [4 x i8] c"c\DFJ\18", [4 x i8] c"\E5\1A1\82", [4 x i8] c"\97Q3`", [4 x i8] c"bS\7FE", [4 x i8] c"\B1dw\E0", [4 x i8] c"\BBk\AE\84", [4 x i8] c"\FE\81\A0\1C", [4 x i8] c"\F9\08+\94", [4 x i8] c"pHhX", [4 x i8] c"\8FE\FD\19", [4 x i8] c"\94\DEl\87", [4 x i8] c"R{\F8\B7", [4 x i8] c"\ABs\D3#", [4 x i8] c"rK\02\E2", [4 x i8] c"\E3\1F\8FW", [4 x i8] c"fU\AB*", [4 x i8] c"\B2\EB(\07", [4 x i8] c"/\B5\C2\03", [4 x i8] c"\86\C5{\9A", [4 x i8] c"\D37\08\A5", [4 x i8] c"0(\87\F2", [4 x i8] c"#\BF\A5\B2", [4 x i8] c"\02\03j\BA", [4 x i8] c"\ED\16\82\5C", [4 x i8] c"\8A\CF\1C+", [4 x i8] c"\A7y\B4\92", [4 x i8] c"\F3\07\F2\F0", [4 x i8] c"Ni\E2\A1", [4 x i8] c"e\DA\F4\CD", [4 x i8] c"\06\05\BE\D5", [4 x i8] c"\D14b\1F", [4 x i8] c"\C4\A6\FE\8A", [4 x i8] c"4.S\9D", [4 x i8] c"\A2\F3U\A0", [4 x i8] c"\05\8A\E12", [4 x i8] c"\A4\F6\EBu", [4 x i8] c"\0B\83\EC9", [4 x i8] c"@`\EF\AA", [4 x i8] c"^q\9F\06", [4 x i8] c"\BDn\10Q", [4 x i8] c">!\8A\F9", [4 x i8] c"\96\DD\06=", [4 x i8] c"\DD>\05\AE", [4 x i8] c"M\E6\BDF", [4 x i8] c"\91T\8D\B5", [4 x i8] c"q\C4]\05", [4 x i8] c"\04\06\D4o", [4 x i8] c"`P\15\FF", [4 x i8] c"\19\98\FB$", [4 x i8] c"\D6\BD\E9\97", [4 x i8] c"\89@C\CC", [4 x i8] c"g\D9\9Ew", [4 x i8] c"\B0\E8B\BD", [4 x i8] c"\07\89\8B\88", [4 x i8] c"\E7\19[8", [4 x i8] c"y\C8\EE\DB", [4 x i8] c"\A1|\0AG", [4 x i8] c"|B\0F\E9", [4 x i8] c"\F8\84\1E\C9", [4 x i8] zeroinitializer, [4 x i8] c"\09\80\86\83", [4 x i8] c"2+\EDH", [4 x i8] c"\1E\11p\AC", [4 x i8] c"lZrN", [4 x i8] c"\FD\0E\FF\FB", [4 x i8] c"\0F\858V", [4 x i8] c"=\AE\D5\1E", [4 x i8] c"6-9'", [4 x i8] c"\0A\0F\D9d", [4 x i8] c"h\5C\A6!", [4 x i8] c"\9B[T\D1", [4 x i8] c"$6.:", [4 x i8] c"\0C\0Ag\B1", [4 x i8] c"\93W\E7\0F", [4 x i8] c"\B4\EE\96\D2", [4 x i8] c"\1B\9B\91\9E", [4 x i8] c"\80\C0\C5O", [4 x i8] c"a\DC \A2", [4 x i8] c"ZwKi", [4 x i8] c"\1C\12\1A\16", [4 x i8] c"\E2\93\BA\0A", [4 x i8] c"\C0\A0*\E5", [4 x i8] c"<\22\E0C", [4 x i8] c"\12\1B\17\1D", [4 x i8] c"\0E\09\0D\0B", [4 x i8] c"\F2\8B\C7\AD", [4 x i8] c"-\B6\A8\B9", [4 x i8] c"\14\1E\A9\C8", [4 x i8] c"W\F1\19\85", [4 x i8] c"\AFu\07L", [4 x i8] c"\EE\99\DD\BB", [4 x i8] c"\A3\7F`\FD", [4 x i8] c"\F7\01&\9F", [4 x i8] c"\5Cr\F5\BC", [4 x i8] c"Df;\C5", [4 x i8] c"[\FB~4", [4 x i8] c"\8BC)v", [4 x i8] c"\CB#\C6\DC", [4 x i8] c"\B6\ED\FCh", [4 x i8] c"\B8\E4\F1c", [4 x i8] c"\D71\DC\CA", [4 x i8] c"Bc\85\10", [4 x i8] c"\13\97\22@", [4 x i8] c"\84\C6\11 ", [4 x i8] c"\85J$}", [4 x i8] c"\D2\BB=\F8", [4 x i8] c"\AE\F92\11", [4 x i8] c"\C7)\A1m", [4 x i8] c"\1D\9E/K", [4 x i8] c"\DC\B20\F3", [4 x i8] c"\0D\86R\EC", [4 x i8] c"w\C1\E3\D0", [4 x i8] c"+\B3\16l", [4 x i8] c"\A9p\B9\99", [4 x i8] c"\11\94H\FA", [4 x i8] c"G\E9d\22", [4 x i8] c"\A8\FC\8C\C4", [4 x i8] c"\A0\F0?\1A", [4 x i8] c"V},\D8", [4 x i8] c"\223\90\EF", [4 x i8] c"\87IN\C7", [4 x i8] c"\D98\D1\C1", [4 x i8] c"\8C\CA\A2\FE", [4 x i8] c"\98\D4\0B6", [4 x i8] c"\A6\F5\81\CF", [4 x i8] c"\A5z\DE(", [4 x i8] c"\DA\B7\8E&", [4 x i8] c"?\AD\BF\A4", [4 x i8] c",:\9D\E4", [4 x i8] c"Px\92\0D", [4 x i8] c"j_\CC\9B", [4 x i8] c"T~Fb", [4 x i8] c"\F6\8D\13\C2", [4 x i8] c"\90\D8\B8\E8", [4 x i8] c".9\F7^", [4 x i8] c"\82\C3\AF\F5", [4 x i8] c"\9F]\80\BE", [4 x i8] c"i\D0\93|", [4 x i8] c"o\D5-\A9", [4 x i8] c"\CF%\12\B3", [4 x i8] c"\C8\AC\99;", [4 x i8] c"\10\18}\A7", [4 x i8] c"\E8\9Ccn", [4 x i8] c"\DB;\BB{", [4 x i8] c"\CD&x\09", [4 x i8] c"nY\18\F4", [4 x i8] c"\EC\9A\B7\01", [4 x i8] c"\83O\9A\A8", [4 x i8] c"\E6\95ne", [4 x i8] c"\AA\FF\E6~", [4 x i8] c"!\BC\CF\08", [4 x i8] c"\EF\15\E8\E6", [4 x i8] c"\BA\E7\9B\D9", [4 x i8] c"Jo6\CE", [4 x i8] c"\EA\9F\09\D4", [4 x i8] c")\B0|\D6", [4 x i8] c"1\A4\B2\AF", [4 x i8] c"*?#1", [4 x i8] c"\C6\A5\940", [4 x i8] c"5\A2f\C0", [4 x i8] c"tN\BC7", [4 x i8] c"\FC\82\CA\A6", [4 x i8] c"\E0\90\D0\B0", [4 x i8] c"3\A7\D8\15", [4 x i8] c"\F1\04\98J", [4 x i8] c"A\EC\DA\F7", [4 x i8] c"\7F\CDP\0E", [4 x i8] c"\17\91\F6/", [4 x i8] c"vM\D6\8D", [4 x i8] c"C\EF\B0M", [4 x i8] c"\CC\AAMT", [4 x i8] c"\E4\96\04\DF", [4 x i8] c"\9E\D1\B5\E3", [4 x i8] c"Lj\88\1B", [4 x i8] c"\C1,\1F\B8", [4 x i8] c"FeQ\7F", [4 x i8] c"\9D^\EA\04", [4 x i8] c"\01\8C5]", [4 x i8] c"\FA\87ts", [4 x i8] c"\FB\0BA.", [4 x i8] c"\B3g\1DZ", [4 x i8] c"\92\DB\D2R", [4 x i8] c"\E9\10V3", [4 x i8] c"m\D6G\13", [4 x i8] c"\9A\D7a\8C", [4 x i8] c"7\A1\0Cz", [4 x i8] c"Y\F8\14\8E", [4 x i8] c"\EB\13<\89", [4 x i8] c"\CE\A9'\EE", [4 x i8] c"\B7a\C95", [4 x i8] c"\E1\1C\E5\ED", [4 x i8] c"zG\B1<", [4 x i8] c"\9C\D2\DFY", [4 x i8] c"U\F2s?", [4 x i8] c"\18\14\CEy", [4 x i8] c"s\C77\BF", [4 x i8] c"S\F7\CD\EA", [4 x i8] c"_\FD\AA[", [4 x i8] c"\DF=o\14", [4 x i8] c"xD\DB\86", [4 x i8] c"\CA\AF\F3\81", [4 x i8] c"\B9h\C4>", [4 x i8] c"8$4,", [4 x i8] c"\C2\A3@_", [4 x i8] c"\16\1D\C3r", [4 x i8] c"\BC\E2%\0C", [4 x i8] c"(<I\8B", [4 x i8] c"\FF\0D\95A", [4 x i8] c"9\A8\01q", [4 x i8] c"\08\0C\B3\DE", [4 x i8] c"\D8\B4\E4\9C", [4 x i8] c"dV\C1\90", [4 x i8] c"{\CB\84a", [4 x i8] c"\D52\B6p", [4 x i8] c"Hl\5Ct", [4 x i8] c"\D0\B8WB"], align 1
@T6 = internal constant [256 x [4 x i8]] [[4 x i8] c"PQ\F4\A7", [4 x i8] c"S~Ae", [4 x i8] c"\C3\1A\17\A4", [4 x i8] c"\96:'^", [4 x i8] c"\CB;\ABk", [4 x i8] c"\F1\1F\9DE", [4 x i8] c"\AB\AC\FAX", [4 x i8] c"\93K\E3\03", [4 x i8] c"U 0\FA", [4 x i8] c"\F6\ADvm", [4 x i8] c"\91\88\CCv", [4 x i8] c"%\F5\02L", [4 x i8] c"\FCO\E5\D7", [4 x i8] c"\D7\C5*\CB", [4 x i8] c"\80&5D", [4 x i8] c"\8F\B5b\A3", [4 x i8] c"I\DE\B1Z", [4 x i8] c"g%\BA\1B", [4 x i8] c"\98E\EA\0E", [4 x i8] c"\E1]\FE\C0", [4 x i8] c"\02\C3/u", [4 x i8] c"\12\81L\F0", [4 x i8] c"\A3\8DF\97", [4 x i8] c"\C6k\D3\F9", [4 x i8] c"\E7\03\8F_", [4 x i8] c"\95\15\92\9C", [4 x i8] c"\EB\BFmz", [4 x i8] c"\DA\95RY", [4 x i8] c"-\D4\BE\83", [4 x i8] c"\D3Xt!", [4 x i8] c")I\E0i", [4 x i8] c"D\8E\C9\C8", [4 x i8] c"ju\C2\89", [4 x i8] c"x\F4\8Ey", [4 x i8] c"k\99X>", [4 x i8] c"\DD'\B9q", [4 x i8] c"\B6\BE\E1O", [4 x i8] c"\17\F0\88\AD", [4 x i8] c"f\C9 \AC", [4 x i8] c"\B4}\CE:", [4 x i8] c"\18c\DFJ", [4 x i8] c"\82\E5\1A1", [4 x i8] c"`\97Q3", [4 x i8] c"EbS\7F", [4 x i8] c"\E0\B1dw", [4 x i8] c"\84\BBk\AE", [4 x i8] c"\1C\FE\81\A0", [4 x i8] c"\94\F9\08+", [4 x i8] c"XpHh", [4 x i8] c"\19\8FE\FD", [4 x i8] c"\87\94\DEl", [4 x i8] c"\B7R{\F8", [4 x i8] c"#\ABs\D3", [4 x i8] c"\E2rK\02", [4 x i8] c"W\E3\1F\8F", [4 x i8] c"*fU\AB", [4 x i8] c"\07\B2\EB(", [4 x i8] c"\03/\B5\C2", [4 x i8] c"\9A\86\C5{", [4 x i8] c"\A5\D37\08", [4 x i8] c"\F20(\87", [4 x i8] c"\B2#\BF\A5", [4 x i8] c"\BA\02\03j", [4 x i8] c"\5C\ED\16\82", [4 x i8] c"+\8A\CF\1C", [4 x i8] c"\92\A7y\B4", [4 x i8] c"\F0\F3\07\F2", [4 x i8] c"\A1Ni\E2", [4 x i8] c"\CDe\DA\F4", [4 x i8] c"\D5\06\05\BE", [4 x i8] c"\1F\D14b", [4 x i8] c"\8A\C4\A6\FE", [4 x i8] c"\9D4.S", [4 x i8] c"\A0\A2\F3U", [4 x i8] c"2\05\8A\E1", [4 x i8] c"u\A4\F6\EB", [4 x i8] c"9\0B\83\EC", [4 x i8] c"\AA@`\EF", [4 x i8] c"\06^q\9F", [4 x i8] c"Q\BDn\10", [4 x i8] c"\F9>!\8A", [4 x i8] c"=\96\DD\06", [4 x i8] c"\AE\DD>\05", [4 x i8] c"FM\E6\BD", [4 x i8] c"\B5\91T\8D", [4 x i8] c"\05q\C4]", [4 x i8] c"o\04\06\D4", [4 x i8] c"\FF`P\15", [4 x i8] c"$\19\98\FB", [4 x i8] c"\97\D6\BD\E9", [4 x i8] c"\CC\89@C", [4 x i8] c"wg\D9\9E", [4 x i8] c"\BD\B0\E8B", [4 x i8] c"\88\07\89\8B", [4 x i8] c"8\E7\19[", [4 x i8] c"\DBy\C8\EE", [4 x i8] c"G\A1|\0A", [4 x i8] c"\E9|B\0F", [4 x i8] c"\C9\F8\84\1E", [4 x i8] zeroinitializer, [4 x i8] c"\83\09\80\86", [4 x i8] c"H2+\ED", [4 x i8] c"\AC\1E\11p", [4 x i8] c"NlZr", [4 x i8] c"\FB\FD\0E\FF", [4 x i8] c"V\0F\858", [4 x i8] c"\1E=\AE\D5", [4 x i8] c"'6-9", [4 x i8] c"d\0A\0F\D9", [4 x i8] c"!h\5C\A6", [4 x i8] c"\D1\9B[T", [4 x i8] c":$6.", [4 x i8] c"\B1\0C\0Ag", [4 x i8] c"\0F\93W\E7", [4 x i8] c"\D2\B4\EE\96", [4 x i8] c"\9E\1B\9B\91", [4 x i8] c"O\80\C0\C5", [4 x i8] c"\A2a\DC ", [4 x i8] c"iZwK", [4 x i8] c"\16\1C\12\1A", [4 x i8] c"\0A\E2\93\BA", [4 x i8] c"\E5\C0\A0*", [4 x i8] c"C<\22\E0", [4 x i8] c"\1D\12\1B\17", [4 x i8] c"\0B\0E\09\0D", [4 x i8] c"\AD\F2\8B\C7", [4 x i8] c"\B9-\B6\A8", [4 x i8] c"\C8\14\1E\A9", [4 x i8] c"\85W\F1\19", [4 x i8] c"L\AFu\07", [4 x i8] c"\BB\EE\99\DD", [4 x i8] c"\FD\A3\7F`", [4 x i8] c"\9F\F7\01&", [4 x i8] c"\BC\5Cr\F5", [4 x i8] c"\C5Df;", [4 x i8] c"4[\FB~", [4 x i8] c"v\8BC)", [4 x i8] c"\DC\CB#\C6", [4 x i8] c"h\B6\ED\FC", [4 x i8] c"c\B8\E4\F1", [4 x i8] c"\CA\D71\DC", [4 x i8] c"\10Bc\85", [4 x i8] c"@\13\97\22", [4 x i8] c" \84\C6\11", [4 x i8] c"}\85J$", [4 x i8] c"\F8\D2\BB=", [4 x i8] c"\11\AE\F92", [4 x i8] c"m\C7)\A1", [4 x i8] c"K\1D\9E/", [4 x i8] c"\F3\DC\B20", [4 x i8] c"\EC\0D\86R", [4 x i8] c"\D0w\C1\E3", [4 x i8] c"l+\B3\16", [4 x i8] c"\99\A9p\B9", [4 x i8] c"\FA\11\94H", [4 x i8] c"\22G\E9d", [4 x i8] c"\C4\A8\FC\8C", [4 x i8] c"\1A\A0\F0?", [4 x i8] c"\D8V},", [4 x i8] c"\EF\223\90", [4 x i8] c"\C7\87IN", [4 x i8] c"\C1\D98\D1", [4 x i8] c"\FE\8C\CA\A2", [4 x i8] c"6\98\D4\0B", [4 x i8] c"\CF\A6\F5\81", [4 x i8] c"(\A5z\DE", [4 x i8] c"&\DA\B7\8E", [4 x i8] c"\A4?\AD\BF", [4 x i8] c"\E4,:\9D", [4 x i8] c"\0DPx\92", [4 x i8] c"\9Bj_\CC", [4 x i8] c"bT~F", [4 x i8] c"\C2\F6\8D\13", [4 x i8] c"\E8\90\D8\B8", [4 x i8] c"^.9\F7", [4 x i8] c"\F5\82\C3\AF", [4 x i8] c"\BE\9F]\80", [4 x i8] c"|i\D0\93", [4 x i8] c"\A9o\D5-", [4 x i8] c"\B3\CF%\12", [4 x i8] c";\C8\AC\99", [4 x i8] c"\A7\10\18}", [4 x i8] c"n\E8\9Cc", [4 x i8] c"{\DB;\BB", [4 x i8] c"\09\CD&x", [4 x i8] c"\F4nY\18", [4 x i8] c"\01\EC\9A\B7", [4 x i8] c"\A8\83O\9A", [4 x i8] c"e\E6\95n", [4 x i8] c"~\AA\FF\E6", [4 x i8] c"\08!\BC\CF", [4 x i8] c"\E6\EF\15\E8", [4 x i8] c"\D9\BA\E7\9B", [4 x i8] c"\CEJo6", [4 x i8] c"\D4\EA\9F\09", [4 x i8] c"\D6)\B0|", [4 x i8] c"\AF1\A4\B2", [4 x i8] c"1*?#", [4 x i8] c"0\C6\A5\94", [4 x i8] c"\C05\A2f", [4 x i8] c"7tN\BC", [4 x i8] c"\A6\FC\82\CA", [4 x i8] c"\B0\E0\90\D0", [4 x i8] c"\153\A7\D8", [4 x i8] c"J\F1\04\98", [4 x i8] c"\F7A\EC\DA", [4 x i8] c"\0E\7F\CDP", [4 x i8] c"/\17\91\F6", [4 x i8] c"\8DvM\D6", [4 x i8] c"MC\EF\B0", [4 x i8] c"T\CC\AAM", [4 x i8] c"\DF\E4\96\04", [4 x i8] c"\E3\9E\D1\B5", [4 x i8] c"\1BLj\88", [4 x i8] c"\B8\C1,\1F", [4 x i8] c"\7FFeQ", [4 x i8] c"\04\9D^\EA", [4 x i8] c"]\01\8C5", [4 x i8] c"s\FA\87t", [4 x i8] c".\FB\0BA", [4 x i8] c"Z\B3g\1D", [4 x i8] c"R\92\DB\D2", [4 x i8] c"3\E9\10V", [4 x i8] c"\13m\D6G", [4 x i8] c"\8C\9A\D7a", [4 x i8] c"z7\A1\0C", [4 x i8] c"\8EY\F8\14", [4 x i8] c"\89\EB\13<", [4 x i8] c"\EE\CE\A9'", [4 x i8] c"5\B7a\C9", [4 x i8] c"\ED\E1\1C\E5", [4 x i8] c"<zG\B1", [4 x i8] c"Y\9C\D2\DF", [4 x i8] c"?U\F2s", [4 x i8] c"y\18\14\CE", [4 x i8] c"\BFs\C77", [4 x i8] c"\EAS\F7\CD", [4 x i8] c"[_\FD\AA", [4 x i8] c"\14\DF=o", [4 x i8] c"\86xD\DB", [4 x i8] c"\81\CA\AF\F3", [4 x i8] c">\B9h\C4", [4 x i8] c",8$4", [4 x i8] c"_\C2\A3@", [4 x i8] c"r\16\1D\C3", [4 x i8] c"\0C\BC\E2%", [4 x i8] c"\8B(<I", [4 x i8] c"A\FF\0D\95", [4 x i8] c"q9\A8\01", [4 x i8] c"\DE\08\0C\B3", [4 x i8] c"\9C\D8\B4\E4", [4 x i8] c"\90dV\C1", [4 x i8] c"a{\CB\84", [4 x i8] c"p\D52\B6", [4 x i8] c"tHl\5C", [4 x i8] c"B\D0\B8W"], align 1
@T7 = internal constant [256 x [4 x i8]] [[4 x i8] c"\A7PQ\F4", [4 x i8] c"eS~A", [4 x i8] c"\A4\C3\1A\17", [4 x i8] c"^\96:'", [4 x i8] c"k\CB;\AB", [4 x i8] c"E\F1\1F\9D", [4 x i8] c"X\AB\AC\FA", [4 x i8] c"\03\93K\E3", [4 x i8] c"\FAU 0", [4 x i8] c"m\F6\ADv", [4 x i8] c"v\91\88\CC", [4 x i8] c"L%\F5\02", [4 x i8] c"\D7\FCO\E5", [4 x i8] c"\CB\D7\C5*", [4 x i8] c"D\80&5", [4 x i8] c"\A3\8F\B5b", [4 x i8] c"ZI\DE\B1", [4 x i8] c"\1Bg%\BA", [4 x i8] c"\0E\98E\EA", [4 x i8] c"\C0\E1]\FE", [4 x i8] c"u\02\C3/", [4 x i8] c"\F0\12\81L", [4 x i8] c"\97\A3\8DF", [4 x i8] c"\F9\C6k\D3", [4 x i8] c"_\E7\03\8F", [4 x i8] c"\9C\95\15\92", [4 x i8] c"z\EB\BFm", [4 x i8] c"Y\DA\95R", [4 x i8] c"\83-\D4\BE", [4 x i8] c"!\D3Xt", [4 x i8] c"i)I\E0", [4 x i8] c"\C8D\8E\C9", [4 x i8] c"\89ju\C2", [4 x i8] c"yx\F4\8E", [4 x i8] c">k\99X", [4 x i8] c"q\DD'\B9", [4 x i8] c"O\B6\BE\E1", [4 x i8] c"\AD\17\F0\88", [4 x i8] c"\ACf\C9 ", [4 x i8] c":\B4}\CE", [4 x i8] c"J\18c\DF", [4 x i8] c"1\82\E5\1A", [4 x i8] c"3`\97Q", [4 x i8] c"\7FEbS", [4 x i8] c"w\E0\B1d", [4 x i8] c"\AE\84\BBk", [4 x i8] c"\A0\1C\FE\81", [4 x i8] c"+\94\F9\08", [4 x i8] c"hXpH", [4 x i8] c"\FD\19\8FE", [4 x i8] c"l\87\94\DE", [4 x i8] c"\F8\B7R{", [4 x i8] c"\D3#\ABs", [4 x i8] c"\02\E2rK", [4 x i8] c"\8FW\E3\1F", [4 x i8] c"\AB*fU", [4 x i8] c"(\07\B2\EB", [4 x i8] c"\C2\03/\B5", [4 x i8] c"{\9A\86\C5", [4 x i8] c"\08\A5\D37", [4 x i8] c"\87\F20(", [4 x i8] c"\A5\B2#\BF", [4 x i8] c"j\BA\02\03", [4 x i8] c"\82\5C\ED\16", [4 x i8] c"\1C+\8A\CF", [4 x i8] c"\B4\92\A7y", [4 x i8] c"\F2\F0\F3\07", [4 x i8] c"\E2\A1Ni", [4 x i8] c"\F4\CDe\DA", [4 x i8] c"\BE\D5\06\05", [4 x i8] c"b\1F\D14", [4 x i8] c"\FE\8A\C4\A6", [4 x i8] c"S\9D4.", [4 x i8] c"U\A0\A2\F3", [4 x i8] c"\E12\05\8A", [4 x i8] c"\EBu\A4\F6", [4 x i8] c"\EC9\0B\83", [4 x i8] c"\EF\AA@`", [4 x i8] c"\9F\06^q", [4 x i8] c"\10Q\BDn", [4 x i8] c"\8A\F9>!", [4 x i8] c"\06=\96\DD", [4 x i8] c"\05\AE\DD>", [4 x i8] c"\BDFM\E6", [4 x i8] c"\8D\B5\91T", [4 x i8] c"]\05q\C4", [4 x i8] c"\D4o\04\06", [4 x i8] c"\15\FF`P", [4 x i8] c"\FB$\19\98", [4 x i8] c"\E9\97\D6\BD", [4 x i8] c"C\CC\89@", [4 x i8] c"\9Ewg\D9", [4 x i8] c"B\BD\B0\E8", [4 x i8] c"\8B\88\07\89", [4 x i8] c"[8\E7\19", [4 x i8] c"\EE\DBy\C8", [4 x i8] c"\0AG\A1|", [4 x i8] c"\0F\E9|B", [4 x i8] c"\1E\C9\F8\84", [4 x i8] zeroinitializer, [4 x i8] c"\86\83\09\80", [4 x i8] c"\EDH2+", [4 x i8] c"p\AC\1E\11", [4 x i8] c"rNlZ", [4 x i8] c"\FF\FB\FD\0E", [4 x i8] c"8V\0F\85", [4 x i8] c"\D5\1E=\AE", [4 x i8] c"9'6-", [4 x i8] c"\D9d\0A\0F", [4 x i8] c"\A6!h\5C", [4 x i8] c"T\D1\9B[", [4 x i8] c".:$6", [4 x i8] c"g\B1\0C\0A", [4 x i8] c"\E7\0F\93W", [4 x i8] c"\96\D2\B4\EE", [4 x i8] c"\91\9E\1B\9B", [4 x i8] c"\C5O\80\C0", [4 x i8] c" \A2a\DC", [4 x i8] c"KiZw", [4 x i8] c"\1A\16\1C\12", [4 x i8] c"\BA\0A\E2\93", [4 x i8] c"*\E5\C0\A0", [4 x i8] c"\E0C<\22", [4 x i8] c"\17\1D\12\1B", [4 x i8] c"\0D\0B\0E\09", [4 x i8] c"\C7\AD\F2\8B", [4 x i8] c"\A8\B9-\B6", [4 x i8] c"\A9\C8\14\1E", [4 x i8] c"\19\85W\F1", [4 x i8] c"\07L\AFu", [4 x i8] c"\DD\BB\EE\99", [4 x i8] c"`\FD\A3\7F", [4 x i8] c"&\9F\F7\01", [4 x i8] c"\F5\BC\5Cr", [4 x i8] c";\C5Df", [4 x i8] c"~4[\FB", [4 x i8] c")v\8BC", [4 x i8] c"\C6\DC\CB#", [4 x i8] c"\FCh\B6\ED", [4 x i8] c"\F1c\B8\E4", [4 x i8] c"\DC\CA\D71", [4 x i8] c"\85\10Bc", [4 x i8] c"\22@\13\97", [4 x i8] c"\11 \84\C6", [4 x i8] c"$}\85J", [4 x i8] c"=\F8\D2\BB", [4 x i8] c"2\11\AE\F9", [4 x i8] c"\A1m\C7)", [4 x i8] c"/K\1D\9E", [4 x i8] c"0\F3\DC\B2", [4 x i8] c"R\EC\0D\86", [4 x i8] c"\E3\D0w\C1", [4 x i8] c"\16l+\B3", [4 x i8] c"\B9\99\A9p", [4 x i8] c"H\FA\11\94", [4 x i8] c"d\22G\E9", [4 x i8] c"\8C\C4\A8\FC", [4 x i8] c"?\1A\A0\F0", [4 x i8] c",\D8V}", [4 x i8] c"\90\EF\223", [4 x i8] c"N\C7\87I", [4 x i8] c"\D1\C1\D98", [4 x i8] c"\A2\FE\8C\CA", [4 x i8] c"\0B6\98\D4", [4 x i8] c"\81\CF\A6\F5", [4 x i8] c"\DE(\A5z", [4 x i8] c"\8E&\DA\B7", [4 x i8] c"\BF\A4?\AD", [4 x i8] c"\9D\E4,:", [4 x i8] c"\92\0DPx", [4 x i8] c"\CC\9Bj_", [4 x i8] c"FbT~", [4 x i8] c"\13\C2\F6\8D", [4 x i8] c"\B8\E8\90\D8", [4 x i8] c"\F7^.9", [4 x i8] c"\AF\F5\82\C3", [4 x i8] c"\80\BE\9F]", [4 x i8] c"\93|i\D0", [4 x i8] c"-\A9o\D5", [4 x i8] c"\12\B3\CF%", [4 x i8] c"\99;\C8\AC", [4 x i8] c"}\A7\10\18", [4 x i8] c"cn\E8\9C", [4 x i8] c"\BB{\DB;", [4 x i8] c"x\09\CD&", [4 x i8] c"\18\F4nY", [4 x i8] c"\B7\01\EC\9A", [4 x i8] c"\9A\A8\83O", [4 x i8] c"ne\E6\95", [4 x i8] c"\E6~\AA\FF", [4 x i8] c"\CF\08!\BC", [4 x i8] c"\E8\E6\EF\15", [4 x i8] c"\9B\D9\BA\E7", [4 x i8] c"6\CEJo", [4 x i8] c"\09\D4\EA\9F", [4 x i8] c"|\D6)\B0", [4 x i8] c"\B2\AF1\A4", [4 x i8] c"#1*?", [4 x i8] c"\940\C6\A5", [4 x i8] c"f\C05\A2", [4 x i8] c"\BC7tN", [4 x i8] c"\CA\A6\FC\82", [4 x i8] c"\D0\B0\E0\90", [4 x i8] c"\D8\153\A7", [4 x i8] c"\98J\F1\04", [4 x i8] c"\DA\F7A\EC", [4 x i8] c"P\0E\7F\CD", [4 x i8] c"\F6/\17\91", [4 x i8] c"\D6\8DvM", [4 x i8] c"\B0MC\EF", [4 x i8] c"MT\CC\AA", [4 x i8] c"\04\DF\E4\96", [4 x i8] c"\B5\E3\9E\D1", [4 x i8] c"\88\1BLj", [4 x i8] c"\1F\B8\C1,", [4 x i8] c"Q\7FFe", [4 x i8] c"\EA\04\9D^", [4 x i8] c"5]\01\8C", [4 x i8] c"ts\FA\87", [4 x i8] c"A.\FB\0B", [4 x i8] c"\1DZ\B3g", [4 x i8] c"\D2R\92\DB", [4 x i8] c"V3\E9\10", [4 x i8] c"G\13m\D6", [4 x i8] c"a\8C\9A\D7", [4 x i8] c"\0Cz7\A1", [4 x i8] c"\14\8EY\F8", [4 x i8] c"<\89\EB\13", [4 x i8] c"'\EE\CE\A9", [4 x i8] c"\C95\B7a", [4 x i8] c"\E5\ED\E1\1C", [4 x i8] c"\B1<zG", [4 x i8] c"\DFY\9C\D2", [4 x i8] c"s?U\F2", [4 x i8] c"\CEy\18\14", [4 x i8] c"7\BFs\C7", [4 x i8] c"\CD\EAS\F7", [4 x i8] c"\AA[_\FD", [4 x i8] c"o\14\DF=", [4 x i8] c"\DB\86xD", [4 x i8] c"\F3\81\CA\AF", [4 x i8] c"\C4>\B9h", [4 x i8] c"4,8$", [4 x i8] c"@_\C2\A3", [4 x i8] c"\C3r\16\1D", [4 x i8] c"%\0C\BC\E2", [4 x i8] c"I\8B(<", [4 x i8] c"\95A\FF\0D", [4 x i8] c"\01q9\A8", [4 x i8] c"\B3\DE\08\0C", [4 x i8] c"\E4\9C\D8\B4", [4 x i8] c"\C1\90dV", [4 x i8] c"\84a{\CB", [4 x i8] c"\B6p\D52", [4 x i8] c"\5CtHl", [4 x i8] c"WB\D0\B8"], align 1
@T8 = internal constant [256 x [4 x i8]] [[4 x i8] c"\F4\A7PQ", [4 x i8] c"AeS~", [4 x i8] c"\17\A4\C3\1A", [4 x i8] c"'^\96:", [4 x i8] c"\ABk\CB;", [4 x i8] c"\9DE\F1\1F", [4 x i8] c"\FAX\AB\AC", [4 x i8] c"\E3\03\93K", [4 x i8] c"0\FAU ", [4 x i8] c"vm\F6\AD", [4 x i8] c"\CCv\91\88", [4 x i8] c"\02L%\F5", [4 x i8] c"\E5\D7\FCO", [4 x i8] c"*\CB\D7\C5", [4 x i8] c"5D\80&", [4 x i8] c"b\A3\8F\B5", [4 x i8] c"\B1ZI\DE", [4 x i8] c"\BA\1Bg%", [4 x i8] c"\EA\0E\98E", [4 x i8] c"\FE\C0\E1]", [4 x i8] c"/u\02\C3", [4 x i8] c"L\F0\12\81", [4 x i8] c"F\97\A3\8D", [4 x i8] c"\D3\F9\C6k", [4 x i8] c"\8F_\E7\03", [4 x i8] c"\92\9C\95\15", [4 x i8] c"mz\EB\BF", [4 x i8] c"RY\DA\95", [4 x i8] c"\BE\83-\D4", [4 x i8] c"t!\D3X", [4 x i8] c"\E0i)I", [4 x i8] c"\C9\C8D\8E", [4 x i8] c"\C2\89ju", [4 x i8] c"\8Eyx\F4", [4 x i8] c"X>k\99", [4 x i8] c"\B9q\DD'", [4 x i8] c"\E1O\B6\BE", [4 x i8] c"\88\AD\17\F0", [4 x i8] c" \ACf\C9", [4 x i8] c"\CE:\B4}", [4 x i8] c"\DFJ\18c", [4 x i8] c"\1A1\82\E5", [4 x i8] c"Q3`\97", [4 x i8] c"S\7FEb", [4 x i8] c"dw\E0\B1", [4 x i8] c"k\AE\84\BB", [4 x i8] c"\81\A0\1C\FE", [4 x i8] c"\08+\94\F9", [4 x i8] c"HhXp", [4 x i8] c"E\FD\19\8F", [4 x i8] c"\DEl\87\94", [4 x i8] c"{\F8\B7R", [4 x i8] c"s\D3#\AB", [4 x i8] c"K\02\E2r", [4 x i8] c"\1F\8FW\E3", [4 x i8] c"U\AB*f", [4 x i8] c"\EB(\07\B2", [4 x i8] c"\B5\C2\03/", [4 x i8] c"\C5{\9A\86", [4 x i8] c"7\08\A5\D3", [4 x i8] c"(\87\F20", [4 x i8] c"\BF\A5\B2#", [4 x i8] c"\03j\BA\02", [4 x i8] c"\16\82\5C\ED", [4 x i8] c"\CF\1C+\8A", [4 x i8] c"y\B4\92\A7", [4 x i8] c"\07\F2\F0\F3", [4 x i8] c"i\E2\A1N", [4 x i8] c"\DA\F4\CDe", [4 x i8] c"\05\BE\D5\06", [4 x i8] c"4b\1F\D1", [4 x i8] c"\A6\FE\8A\C4", [4 x i8] c".S\9D4", [4 x i8] c"\F3U\A0\A2", [4 x i8] c"\8A\E12\05", [4 x i8] c"\F6\EBu\A4", [4 x i8] c"\83\EC9\0B", [4 x i8] c"`\EF\AA@", [4 x i8] c"q\9F\06^", [4 x i8] c"n\10Q\BD", [4 x i8] c"!\8A\F9>", [4 x i8] c"\DD\06=\96", [4 x i8] c">\05\AE\DD", [4 x i8] c"\E6\BDFM", [4 x i8] c"T\8D\B5\91", [4 x i8] c"\C4]\05q", [4 x i8] c"\06\D4o\04", [4 x i8] c"P\15\FF`", [4 x i8] c"\98\FB$\19", [4 x i8] c"\BD\E9\97\D6", [4 x i8] c"@C\CC\89", [4 x i8] c"\D9\9Ewg", [4 x i8] c"\E8B\BD\B0", [4 x i8] c"\89\8B\88\07", [4 x i8] c"\19[8\E7", [4 x i8] c"\C8\EE\DBy", [4 x i8] c"|\0AG\A1", [4 x i8] c"B\0F\E9|", [4 x i8] c"\84\1E\C9\F8", [4 x i8] zeroinitializer, [4 x i8] c"\80\86\83\09", [4 x i8] c"+\EDH2", [4 x i8] c"\11p\AC\1E", [4 x i8] c"ZrNl", [4 x i8] c"\0E\FF\FB\FD", [4 x i8] c"\858V\0F", [4 x i8] c"\AE\D5\1E=", [4 x i8] c"-9'6", [4 x i8] c"\0F\D9d\0A", [4 x i8] c"\5C\A6!h", [4 x i8] c"[T\D1\9B", [4 x i8] c"6.:$", [4 x i8] c"\0Ag\B1\0C", [4 x i8] c"W\E7\0F\93", [4 x i8] c"\EE\96\D2\B4", [4 x i8] c"\9B\91\9E\1B", [4 x i8] c"\C0\C5O\80", [4 x i8] c"\DC \A2a", [4 x i8] c"wKiZ", [4 x i8] c"\12\1A\16\1C", [4 x i8] c"\93\BA\0A\E2", [4 x i8] c"\A0*\E5\C0", [4 x i8] c"\22\E0C<", [4 x i8] c"\1B\17\1D\12", [4 x i8] c"\09\0D\0B\0E", [4 x i8] c"\8B\C7\AD\F2", [4 x i8] c"\B6\A8\B9-", [4 x i8] c"\1E\A9\C8\14", [4 x i8] c"\F1\19\85W", [4 x i8] c"u\07L\AF", [4 x i8] c"\99\DD\BB\EE", [4 x i8] c"\7F`\FD\A3", [4 x i8] c"\01&\9F\F7", [4 x i8] c"r\F5\BC\5C", [4 x i8] c"f;\C5D", [4 x i8] c"\FB~4[", [4 x i8] c"C)v\8B", [4 x i8] c"#\C6\DC\CB", [4 x i8] c"\ED\FCh\B6", [4 x i8] c"\E4\F1c\B8", [4 x i8] c"1\DC\CA\D7", [4 x i8] c"c\85\10B", [4 x i8] c"\97\22@\13", [4 x i8] c"\C6\11 \84", [4 x i8] c"J$}\85", [4 x i8] c"\BB=\F8\D2", [4 x i8] c"\F92\11\AE", [4 x i8] c")\A1m\C7", [4 x i8] c"\9E/K\1D", [4 x i8] c"\B20\F3\DC", [4 x i8] c"\86R\EC\0D", [4 x i8] c"\C1\E3\D0w", [4 x i8] c"\B3\16l+", [4 x i8] c"p\B9\99\A9", [4 x i8] c"\94H\FA\11", [4 x i8] c"\E9d\22G", [4 x i8] c"\FC\8C\C4\A8", [4 x i8] c"\F0?\1A\A0", [4 x i8] c"},\D8V", [4 x i8] c"3\90\EF\22", [4 x i8] c"IN\C7\87", [4 x i8] c"8\D1\C1\D9", [4 x i8] c"\CA\A2\FE\8C", [4 x i8] c"\D4\0B6\98", [4 x i8] c"\F5\81\CF\A6", [4 x i8] c"z\DE(\A5", [4 x i8] c"\B7\8E&\DA", [4 x i8] c"\AD\BF\A4?", [4 x i8] c":\9D\E4,", [4 x i8] c"x\92\0DP", [4 x i8] c"_\CC\9Bj", [4 x i8] c"~FbT", [4 x i8] c"\8D\13\C2\F6", [4 x i8] c"\D8\B8\E8\90", [4 x i8] c"9\F7^.", [4 x i8] c"\C3\AF\F5\82", [4 x i8] c"]\80\BE\9F", [4 x i8] c"\D0\93|i", [4 x i8] c"\D5-\A9o", [4 x i8] c"%\12\B3\CF", [4 x i8] c"\AC\99;\C8", [4 x i8] c"\18}\A7\10", [4 x i8] c"\9Ccn\E8", [4 x i8] c";\BB{\DB", [4 x i8] c"&x\09\CD", [4 x i8] c"Y\18\F4n", [4 x i8] c"\9A\B7\01\EC", [4 x i8] c"O\9A\A8\83", [4 x i8] c"\95ne\E6", [4 x i8] c"\FF\E6~\AA", [4 x i8] c"\BC\CF\08!", [4 x i8] c"\15\E8\E6\EF", [4 x i8] c"\E7\9B\D9\BA", [4 x i8] c"o6\CEJ", [4 x i8] c"\9F\09\D4\EA", [4 x i8] c"\B0|\D6)", [4 x i8] c"\A4\B2\AF1", [4 x i8] c"?#1*", [4 x i8] c"\A5\940\C6", [4 x i8] c"\A2f\C05", [4 x i8] c"N\BC7t", [4 x i8] c"\82\CA\A6\FC", [4 x i8] c"\90\D0\B0\E0", [4 x i8] c"\A7\D8\153", [4 x i8] c"\04\98J\F1", [4 x i8] c"\EC\DA\F7A", [4 x i8] c"\CDP\0E\7F", [4 x i8] c"\91\F6/\17", [4 x i8] c"M\D6\8Dv", [4 x i8] c"\EF\B0MC", [4 x i8] c"\AAMT\CC", [4 x i8] c"\96\04\DF\E4", [4 x i8] c"\D1\B5\E3\9E", [4 x i8] c"j\88\1BL", [4 x i8] c",\1F\B8\C1", [4 x i8] c"eQ\7FF", [4 x i8] c"^\EA\04\9D", [4 x i8] c"\8C5]\01", [4 x i8] c"\87ts\FA", [4 x i8] c"\0BA.\FB", [4 x i8] c"g\1DZ\B3", [4 x i8] c"\DB\D2R\92", [4 x i8] c"\10V3\E9", [4 x i8] c"\D6G\13m", [4 x i8] c"\D7a\8C\9A", [4 x i8] c"\A1\0Cz7", [4 x i8] c"\F8\14\8EY", [4 x i8] c"\13<\89\EB", [4 x i8] c"\A9'\EE\CE", [4 x i8] c"a\C95\B7", [4 x i8] c"\1C\E5\ED\E1", [4 x i8] c"G\B1<z", [4 x i8] c"\D2\DFY\9C", [4 x i8] c"\F2s?U", [4 x i8] c"\14\CEy\18", [4 x i8] c"\C77\BFs", [4 x i8] c"\F7\CD\EAS", [4 x i8] c"\FD\AA[_", [4 x i8] c"=o\14\DF", [4 x i8] c"D\DB\86x", [4 x i8] c"\AF\F3\81\CA", [4 x i8] c"h\C4>\B9", [4 x i8] c"$4,8", [4 x i8] c"\A3@_\C2", [4 x i8] c"\1D\C3r\16", [4 x i8] c"\E2%\0C\BC", [4 x i8] c"<I\8B(", [4 x i8] c"\0D\95A\FF", [4 x i8] c"\A8\01q9", [4 x i8] c"\0C\B3\DE\08", [4 x i8] c"\B4\E4\9C\D8", [4 x i8] c"V\C1\90d", [4 x i8] c"\CB\84a{", [4 x i8] c"2\B6p\D5", [4 x i8] c"l\5CtH", [4 x i8] c"\B8WB\D0"], align 1
@S5 = internal constant [256 x i8] c"R\09j\D506\A58\BF@\A3\9E\81\F3\D7\FB|\E39\82\9B/\FF\874\8ECD\C4\DE\E9\CBT{\942\A6\C2#=\EEL\95\0BB\FA\C3N\08.\A1f(\D9$\B2v[\A2Im\8B\D1%r\F8\F6d\86h\98\16\D4\A4\5C\CC]e\B6\92lpHP\FD\ED\B9\DA^\15FW\A7\8D\9D\84\90\D8\AB\00\8C\BC\D3\0A\F7\E4X\05\B8\B3E\06\D0,\1E\8F\CA?\0F\02\C1\AF\BD\03\01\13\8Ak:\91\11AOg\DC\EA\97\F2\CF\CE\F0\B4\E6s\96\ACt\22\E7\AD5\85\E2\F97\E8\1Cu\DFnG\F1\1Aq\1D)\C5\89o\B7b\0E\AA\18\BE\1B\FCV>K\C6\D2y \9A\DB\C0\FEx\CDZ\F4\1F\DD\A83\88\07\C71\B1\12\10Y'\80\EC_`Q\7F\A9\19\B5J\0D-\E5z\9F\93\C9\9C\EF\A0\E0;M\AE*\F5\B0\C8\EB\BB<\83S\99a\17+\04~\BAw\D6&\E1i\14cU!\0C}", align 1
@U1 = internal constant [256 x [4 x i8]] [[4 x i8] zeroinitializer, [4 x i8] c"\0E\09\0D\0B", [4 x i8] c"\1C\12\1A\16", [4 x i8] c"\12\1B\17\1D", [4 x i8] c"8$4,", [4 x i8] c"6-9'", [4 x i8] c"$6.:", [4 x i8] c"*?#1", [4 x i8] c"pHhX", [4 x i8] c"~AeS", [4 x i8] c"lZrN", [4 x i8] c"bS\7FE", [4 x i8] c"Hl\5Ct", [4 x i8] c"FeQ\7F", [4 x i8] c"T~Fb", [4 x i8] c"ZwKi", [4 x i8] c"\E0\90\D0\B0", [4 x i8] c"\EE\99\DD\BB", [4 x i8] c"\FC\82\CA\A6", [4 x i8] c"\F2\8B\C7\AD", [4 x i8] c"\D8\B4\E4\9C", [4 x i8] c"\D6\BD\E9\97", [4 x i8] c"\C4\A6\FE\8A", [4 x i8] c"\CA\AF\F3\81", [4 x i8] c"\90\D8\B8\E8", [4 x i8] c"\9E\D1\B5\E3", [4 x i8] c"\8C\CA\A2\FE", [4 x i8] c"\82\C3\AF\F5", [4 x i8] c"\A8\FC\8C\C4", [4 x i8] c"\A6\F5\81\CF", [4 x i8] c"\B4\EE\96\D2", [4 x i8] c"\BA\E7\9B\D9", [4 x i8] c"\DB;\BB{", [4 x i8] c"\D52\B6p", [4 x i8] c"\C7)\A1m", [4 x i8] c"\C9 \ACf", [4 x i8] c"\E3\1F\8FW", [4 x i8] c"\ED\16\82\5C", [4 x i8] c"\FF\0D\95A", [4 x i8] c"\F1\04\98J", [4 x i8] c"\ABs\D3#", [4 x i8] c"\A5z\DE(", [4 x i8] c"\B7a\C95", [4 x i8] c"\B9h\C4>", [4 x i8] c"\93W\E7\0F", [4 x i8] c"\9D^\EA\04", [4 x i8] c"\8FE\FD\19", [4 x i8] c"\81L\F0\12", [4 x i8] c";\ABk\CB", [4 x i8] c"5\A2f\C0", [4 x i8] c"'\B9q\DD", [4 x i8] c")\B0|\D6", [4 x i8] c"\03\8F_\E7", [4 x i8] c"\0D\86R\EC", [4 x i8] c"\1F\9DE\F1", [4 x i8] c"\11\94H\FA", [4 x i8] c"K\E3\03\93", [4 x i8] c"E\EA\0E\98", [4 x i8] c"W\F1\19\85", [4 x i8] c"Y\F8\14\8E", [4 x i8] c"s\C77\BF", [4 x i8] c"}\CE:\B4", [4 x i8] c"o\D5-\A9", [4 x i8] c"a\DC \A2", [4 x i8] c"\ADvm\F6", [4 x i8] c"\A3\7F`\FD", [4 x i8] c"\B1dw\E0", [4 x i8] c"\BFmz\EB", [4 x i8] c"\95RY\DA", [4 x i8] c"\9B[T\D1", [4 x i8] c"\89@C\CC", [4 x i8] c"\87IN\C7", [4 x i8] c"\DD>\05\AE", [4 x i8] c"\D37\08\A5", [4 x i8] c"\C1,\1F\B8", [4 x i8] c"\CF%\12\B3", [4 x i8] c"\E5\1A1\82", [4 x i8] c"\EB\13<\89", [4 x i8] c"\F9\08+\94", [4 x i8] c"\F7\01&\9F", [4 x i8] c"M\E6\BDF", [4 x i8] c"C\EF\B0M", [4 x i8] c"Q\F4\A7P", [4 x i8] c"_\FD\AA[", [4 x i8] c"u\C2\89j", [4 x i8] c"{\CB\84a", [4 x i8] c"i\D0\93|", [4 x i8] c"g\D9\9Ew", [4 x i8] c"=\AE\D5\1E", [4 x i8] c"3\A7\D8\15", [4 x i8] c"!\BC\CF\08", [4 x i8] c"/\B5\C2\03", [4 x i8] c"\05\8A\E12", [4 x i8] c"\0B\83\EC9", [4 x i8] c"\19\98\FB$", [4 x i8] c"\17\91\F6/", [4 x i8] c"vM\D6\8D", [4 x i8] c"xD\DB\86", [4 x i8] c"j_\CC\9B", [4 x i8] c"dV\C1\90", [4 x i8] c"Ni\E2\A1", [4 x i8] c"@`\EF\AA", [4 x i8] c"R{\F8\B7", [4 x i8] c"\5Cr\F5\BC", [4 x i8] c"\06\05\BE\D5", [4 x i8] c"\08\0C\B3\DE", [4 x i8] c"\1A\17\A4\C3", [4 x i8] c"\14\1E\A9\C8", [4 x i8] c">!\8A\F9", [4 x i8] c"0(\87\F2", [4 x i8] c"\223\90\EF", [4 x i8] c",:\9D\E4", [4 x i8] c"\96\DD\06=", [4 x i8] c"\98\D4\0B6", [4 x i8] c"\8A\CF\1C+", [4 x i8] c"\84\C6\11 ", [4 x i8] c"\AE\F92\11", [4 x i8] c"\A0\F0?\1A", [4 x i8] c"\B2\EB(\07", [4 x i8] c"\BC\E2%\0C", [4 x i8] c"\E6\95ne", [4 x i8] c"\E8\9Ccn", [4 x i8] c"\FA\87ts", [4 x i8] c"\F4\8Eyx", [4 x i8] c"\DE\B1ZI", [4 x i8] c"\D0\B8WB", [4 x i8] c"\C2\A3@_", [4 x i8] c"\CC\AAMT", [4 x i8] c"A\EC\DA\F7", [4 x i8] c"O\E5\D7\FC", [4 x i8] c"]\FE\C0\E1", [4 x i8] c"S\F7\CD\EA", [4 x i8] c"y\C8\EE\DB", [4 x i8] c"w\C1\E3\D0", [4 x i8] c"e\DA\F4\CD", [4 x i8] c"k\D3\F9\C6", [4 x i8] c"1\A4\B2\AF", [4 x i8] c"?\AD\BF\A4", [4 x i8] c"-\B6\A8\B9", [4 x i8] c"#\BF\A5\B2", [4 x i8] c"\09\80\86\83", [4 x i8] c"\07\89\8B\88", [4 x i8] c"\15\92\9C\95", [4 x i8] c"\1B\9B\91\9E", [4 x i8] c"\A1|\0AG", [4 x i8] c"\AFu\07L", [4 x i8] c"\BDn\10Q", [4 x i8] c"\B3g\1DZ", [4 x i8] c"\99X>k", [4 x i8] c"\97Q3`", [4 x i8] c"\85J$}", [4 x i8] c"\8BC)v", [4 x i8] c"\D14b\1F", [4 x i8] c"\DF=o\14", [4 x i8] c"\CD&x\09", [4 x i8] c"\C3/u\02", [4 x i8] c"\E9\10V3", [4 x i8] c"\E7\19[8", [4 x i8] c"\F5\02L%", [4 x i8] c"\FB\0BA.", [4 x i8] c"\9A\D7a\8C", [4 x i8] c"\94\DEl\87", [4 x i8] c"\86\C5{\9A", [4 x i8] c"\88\CCv\91", [4 x i8] c"\A2\F3U\A0", [4 x i8] c"\AC\FAX\AB", [4 x i8] c"\BE\E1O\B6", [4 x i8] c"\B0\E8B\BD", [4 x i8] c"\EA\9F\09\D4", [4 x i8] c"\E4\96\04\DF", [4 x i8] c"\F6\8D\13\C2", [4 x i8] c"\F8\84\1E\C9", [4 x i8] c"\D2\BB=\F8", [4 x i8] c"\DC\B20\F3", [4 x i8] c"\CE\A9'\EE", [4 x i8] c"\C0\A0*\E5", [4 x i8] c"zG\B1<", [4 x i8] c"tN\BC7", [4 x i8] c"fU\AB*", [4 x i8] c"h\5C\A6!", [4 x i8] c"Bc\85\10", [4 x i8] c"Lj\88\1B", [4 x i8] c"^q\9F\06", [4 x i8] c"Px\92\0D", [4 x i8] c"\0A\0F\D9d", [4 x i8] c"\04\06\D4o", [4 x i8] c"\16\1D\C3r", [4 x i8] c"\18\14\CEy", [4 x i8] c"2+\EDH", [4 x i8] c"<\22\E0C", [4 x i8] c".9\F7^", [4 x i8] c" 0\FAU", [4 x i8] c"\EC\9A\B7\01", [4 x i8] c"\E2\93\BA\0A", [4 x i8] c"\F0\88\AD\17", [4 x i8] c"\FE\81\A0\1C", [4 x i8] c"\D4\BE\83-", [4 x i8] c"\DA\B7\8E&", [4 x i8] c"\C8\AC\99;", [4 x i8] c"\C6\A5\940", [4 x i8] c"\9C\D2\DFY", [4 x i8] c"\92\DB\D2R", [4 x i8] c"\80\C0\C5O", [4 x i8] c"\8E\C9\C8D", [4 x i8] c"\A4\F6\EBu", [4 x i8] c"\AA\FF\E6~", [4 x i8] c"\B8\E4\F1c", [4 x i8] c"\B6\ED\FCh", [4 x i8] c"\0C\0Ag\B1", [4 x i8] c"\02\03j\BA", [4 x i8] c"\10\18}\A7", [4 x i8] c"\1E\11p\AC", [4 x i8] c"4.S\9D", [4 x i8] c":'^\96", [4 x i8] c"(<I\8B", [4 x i8] c"&5D\80", [4 x i8] c"|B\0F\E9", [4 x i8] c"rK\02\E2", [4 x i8] c"`P\15\FF", [4 x i8] c"nY\18\F4", [4 x i8] c"Df;\C5", [4 x i8] c"Jo6\CE", [4 x i8] c"Xt!\D3", [4 x i8] c"V},\D8", [4 x i8] c"7\A1\0Cz", [4 x i8] c"9\A8\01q", [4 x i8] c"+\B3\16l", [4 x i8] c"%\BA\1Bg", [4 x i8] c"\0F\858V", [4 x i8] c"\01\8C5]", [4 x i8] c"\13\97\22@", [4 x i8] c"\1D\9E/K", [4 x i8] c"G\E9d\22", [4 x i8] c"I\E0i)", [4 x i8] c"[\FB~4", [4 x i8] c"U\F2s?", [4 x i8] c"\7F\CDP\0E", [4 x i8] c"q\C4]\05", [4 x i8] c"c\DFJ\18", [4 x i8] c"m\D6G\13", [4 x i8] c"\D71\DC\CA", [4 x i8] c"\D98\D1\C1", [4 x i8] c"\CB#\C6\DC", [4 x i8] c"\C5*\CB\D7", [4 x i8] c"\EF\15\E8\E6", [4 x i8] c"\E1\1C\E5\ED", [4 x i8] c"\F3\07\F2\F0", [4 x i8] c"\FD\0E\FF\FB", [4 x i8] c"\A7y\B4\92", [4 x i8] c"\A9p\B9\99", [4 x i8] c"\BBk\AE\84", [4 x i8] c"\B5b\A3\8F", [4 x i8] c"\9F]\80\BE", [4 x i8] c"\91T\8D\B5", [4 x i8] c"\83O\9A\A8", [4 x i8] c"\8DF\97\A3"], align 1
@U2 = internal constant [256 x [4 x i8]] [[4 x i8] zeroinitializer, [4 x i8] c"\0B\0E\09\0D", [4 x i8] c"\16\1C\12\1A", [4 x i8] c"\1D\12\1B\17", [4 x i8] c",8$4", [4 x i8] c"'6-9", [4 x i8] c":$6.", [4 x i8] c"1*?#", [4 x i8] c"XpHh", [4 x i8] c"S~Ae", [4 x i8] c"NlZr", [4 x i8] c"EbS\7F", [4 x i8] c"tHl\5C", [4 x i8] c"\7FFeQ", [4 x i8] c"bT~F", [4 x i8] c"iZwK", [4 x i8] c"\B0\E0\90\D0", [4 x i8] c"\BB\EE\99\DD", [4 x i8] c"\A6\FC\82\CA", [4 x i8] c"\AD\F2\8B\C7", [4 x i8] c"\9C\D8\B4\E4", [4 x i8] c"\97\D6\BD\E9", [4 x i8] c"\8A\C4\A6\FE", [4 x i8] c"\81\CA\AF\F3", [4 x i8] c"\E8\90\D8\B8", [4 x i8] c"\E3\9E\D1\B5", [4 x i8] c"\FE\8C\CA\A2", [4 x i8] c"\F5\82\C3\AF", [4 x i8] c"\C4\A8\FC\8C", [4 x i8] c"\CF\A6\F5\81", [4 x i8] c"\D2\B4\EE\96", [4 x i8] c"\D9\BA\E7\9B", [4 x i8] c"{\DB;\BB", [4 x i8] c"p\D52\B6", [4 x i8] c"m\C7)\A1", [4 x i8] c"f\C9 \AC", [4 x i8] c"W\E3\1F\8F", [4 x i8] c"\5C\ED\16\82", [4 x i8] c"A\FF\0D\95", [4 x i8] c"J\F1\04\98", [4 x i8] c"#\ABs\D3", [4 x i8] c"(\A5z\DE", [4 x i8] c"5\B7a\C9", [4 x i8] c">\B9h\C4", [4 x i8] c"\0F\93W\E7", [4 x i8] c"\04\9D^\EA", [4 x i8] c"\19\8FE\FD", [4 x i8] c"\12\81L\F0", [4 x i8] c"\CB;\ABk", [4 x i8] c"\C05\A2f", [4 x i8] c"\DD'\B9q", [4 x i8] c"\D6)\B0|", [4 x i8] c"\E7\03\8F_", [4 x i8] c"\EC\0D\86R", [4 x i8] c"\F1\1F\9DE", [4 x i8] c"\FA\11\94H", [4 x i8] c"\93K\E3\03", [4 x i8] c"\98E\EA\0E", [4 x i8] c"\85W\F1\19", [4 x i8] c"\8EY\F8\14", [4 x i8] c"\BFs\C77", [4 x i8] c"\B4}\CE:", [4 x i8] c"\A9o\D5-", [4 x i8] c"\A2a\DC ", [4 x i8] c"\F6\ADvm", [4 x i8] c"\FD\A3\7F`", [4 x i8] c"\E0\B1dw", [4 x i8] c"\EB\BFmz", [4 x i8] c"\DA\95RY", [4 x i8] c"\D1\9B[T", [4 x i8] c"\CC\89@C", [4 x i8] c"\C7\87IN", [4 x i8] c"\AE\DD>\05", [4 x i8] c"\A5\D37\08", [4 x i8] c"\B8\C1,\1F", [4 x i8] c"\B3\CF%\12", [4 x i8] c"\82\E5\1A1", [4 x i8] c"\89\EB\13<", [4 x i8] c"\94\F9\08+", [4 x i8] c"\9F\F7\01&", [4 x i8] c"FM\E6\BD", [4 x i8] c"MC\EF\B0", [4 x i8] c"PQ\F4\A7", [4 x i8] c"[_\FD\AA", [4 x i8] c"ju\C2\89", [4 x i8] c"a{\CB\84", [4 x i8] c"|i\D0\93", [4 x i8] c"wg\D9\9E", [4 x i8] c"\1E=\AE\D5", [4 x i8] c"\153\A7\D8", [4 x i8] c"\08!\BC\CF", [4 x i8] c"\03/\B5\C2", [4 x i8] c"2\05\8A\E1", [4 x i8] c"9\0B\83\EC", [4 x i8] c"$\19\98\FB", [4 x i8] c"/\17\91\F6", [4 x i8] c"\8DvM\D6", [4 x i8] c"\86xD\DB", [4 x i8] c"\9Bj_\CC", [4 x i8] c"\90dV\C1", [4 x i8] c"\A1Ni\E2", [4 x i8] c"\AA@`\EF", [4 x i8] c"\B7R{\F8", [4 x i8] c"\BC\5Cr\F5", [4 x i8] c"\D5\06\05\BE", [4 x i8] c"\DE\08\0C\B3", [4 x i8] c"\C3\1A\17\A4", [4 x i8] c"\C8\14\1E\A9", [4 x i8] c"\F9>!\8A", [4 x i8] c"\F20(\87", [4 x i8] c"\EF\223\90", [4 x i8] c"\E4,:\9D", [4 x i8] c"=\96\DD\06", [4 x i8] c"6\98\D4\0B", [4 x i8] c"+\8A\CF\1C", [4 x i8] c" \84\C6\11", [4 x i8] c"\11\AE\F92", [4 x i8] c"\1A\A0\F0?", [4 x i8] c"\07\B2\EB(", [4 x i8] c"\0C\BC\E2%", [4 x i8] c"e\E6\95n", [4 x i8] c"n\E8\9Cc", [4 x i8] c"s\FA\87t", [4 x i8] c"x\F4\8Ey", [4 x i8] c"I\DE\B1Z", [4 x i8] c"B\D0\B8W", [4 x i8] c"_\C2\A3@", [4 x i8] c"T\CC\AAM", [4 x i8] c"\F7A\EC\DA", [4 x i8] c"\FCO\E5\D7", [4 x i8] c"\E1]\FE\C0", [4 x i8] c"\EAS\F7\CD", [4 x i8] c"\DBy\C8\EE", [4 x i8] c"\D0w\C1\E3", [4 x i8] c"\CDe\DA\F4", [4 x i8] c"\C6k\D3\F9", [4 x i8] c"\AF1\A4\B2", [4 x i8] c"\A4?\AD\BF", [4 x i8] c"\B9-\B6\A8", [4 x i8] c"\B2#\BF\A5", [4 x i8] c"\83\09\80\86", [4 x i8] c"\88\07\89\8B", [4 x i8] c"\95\15\92\9C", [4 x i8] c"\9E\1B\9B\91", [4 x i8] c"G\A1|\0A", [4 x i8] c"L\AFu\07", [4 x i8] c"Q\BDn\10", [4 x i8] c"Z\B3g\1D", [4 x i8] c"k\99X>", [4 x i8] c"`\97Q3", [4 x i8] c"}\85J$", [4 x i8] c"v\8BC)", [4 x i8] c"\1F\D14b", [4 x i8] c"\14\DF=o", [4 x i8] c"\09\CD&x", [4 x i8] c"\02\C3/u", [4 x i8] c"3\E9\10V", [4 x i8] c"8\E7\19[", [4 x i8] c"%\F5\02L", [4 x i8] c".\FB\0BA", [4 x i8] c"\8C\9A\D7a", [4 x i8] c"\87\94\DEl", [4 x i8] c"\9A\86\C5{", [4 x i8] c"\91\88\CCv", [4 x i8] c"\A0\A2\F3U", [4 x i8] c"\AB\AC\FAX", [4 x i8] c"\B6\BE\E1O", [4 x i8] c"\BD\B0\E8B", [4 x i8] c"\D4\EA\9F\09", [4 x i8] c"\DF\E4\96\04", [4 x i8] c"\C2\F6\8D\13", [4 x i8] c"\C9\F8\84\1E", [4 x i8] c"\F8\D2\BB=", [4 x i8] c"\F3\DC\B20", [4 x i8] c"\EE\CE\A9'", [4 x i8] c"\E5\C0\A0*", [4 x i8] c"<zG\B1", [4 x i8] c"7tN\BC", [4 x i8] c"*fU\AB", [4 x i8] c"!h\5C\A6", [4 x i8] c"\10Bc\85", [4 x i8] c"\1BLj\88", [4 x i8] c"\06^q\9F", [4 x i8] c"\0DPx\92", [4 x i8] c"d\0A\0F\D9", [4 x i8] c"o\04\06\D4", [4 x i8] c"r\16\1D\C3", [4 x i8] c"y\18\14\CE", [4 x i8] c"H2+\ED", [4 x i8] c"C<\22\E0", [4 x i8] c"^.9\F7", [4 x i8] c"U 0\FA", [4 x i8] c"\01\EC\9A\B7", [4 x i8] c"\0A\E2\93\BA", [4 x i8] c"\17\F0\88\AD", [4 x i8] c"\1C\FE\81\A0", [4 x i8] c"-\D4\BE\83", [4 x i8] c"&\DA\B7\8E", [4 x i8] c";\C8\AC\99", [4 x i8] c"0\C6\A5\94", [4 x i8] c"Y\9C\D2\DF", [4 x i8] c"R\92\DB\D2", [4 x i8] c"O\80\C0\C5", [4 x i8] c"D\8E\C9\C8", [4 x i8] c"u\A4\F6\EB", [4 x i8] c"~\AA\FF\E6", [4 x i8] c"c\B8\E4\F1", [4 x i8] c"h\B6\ED\FC", [4 x i8] c"\B1\0C\0Ag", [4 x i8] c"\BA\02\03j", [4 x i8] c"\A7\10\18}", [4 x i8] c"\AC\1E\11p", [4 x i8] c"\9D4.S", [4 x i8] c"\96:'^", [4 x i8] c"\8B(<I", [4 x i8] c"\80&5D", [4 x i8] c"\E9|B\0F", [4 x i8] c"\E2rK\02", [4 x i8] c"\FF`P\15", [4 x i8] c"\F4nY\18", [4 x i8] c"\C5Df;", [4 x i8] c"\CEJo6", [4 x i8] c"\D3Xt!", [4 x i8] c"\D8V},", [4 x i8] c"z7\A1\0C", [4 x i8] c"q9\A8\01", [4 x i8] c"l+\B3\16", [4 x i8] c"g%\BA\1B", [4 x i8] c"V\0F\858", [4 x i8] c"]\01\8C5", [4 x i8] c"@\13\97\22", [4 x i8] c"K\1D\9E/", [4 x i8] c"\22G\E9d", [4 x i8] c")I\E0i", [4 x i8] c"4[\FB~", [4 x i8] c"?U\F2s", [4 x i8] c"\0E\7F\CDP", [4 x i8] c"\05q\C4]", [4 x i8] c"\18c\DFJ", [4 x i8] c"\13m\D6G", [4 x i8] c"\CA\D71\DC", [4 x i8] c"\C1\D98\D1", [4 x i8] c"\DC\CB#\C6", [4 x i8] c"\D7\C5*\CB", [4 x i8] c"\E6\EF\15\E8", [4 x i8] c"\ED\E1\1C\E5", [4 x i8] c"\F0\F3\07\F2", [4 x i8] c"\FB\FD\0E\FF", [4 x i8] c"\92\A7y\B4", [4 x i8] c"\99\A9p\B9", [4 x i8] c"\84\BBk\AE", [4 x i8] c"\8F\B5b\A3", [4 x i8] c"\BE\9F]\80", [4 x i8] c"\B5\91T\8D", [4 x i8] c"\A8\83O\9A", [4 x i8] c"\A3\8DF\97"], align 1
@U3 = internal constant [256 x [4 x i8]] [[4 x i8] zeroinitializer, [4 x i8] c"\0D\0B\0E\09", [4 x i8] c"\1A\16\1C\12", [4 x i8] c"\17\1D\12\1B", [4 x i8] c"4,8$", [4 x i8] c"9'6-", [4 x i8] c".:$6", [4 x i8] c"#1*?", [4 x i8] c"hXpH", [4 x i8] c"eS~A", [4 x i8] c"rNlZ", [4 x i8] c"\7FEbS", [4 x i8] c"\5CtHl", [4 x i8] c"Q\7FFe", [4 x i8] c"FbT~", [4 x i8] c"KiZw", [4 x i8] c"\D0\B0\E0\90", [4 x i8] c"\DD\BB\EE\99", [4 x i8] c"\CA\A6\FC\82", [4 x i8] c"\C7\AD\F2\8B", [4 x i8] c"\E4\9C\D8\B4", [4 x i8] c"\E9\97\D6\BD", [4 x i8] c"\FE\8A\C4\A6", [4 x i8] c"\F3\81\CA\AF", [4 x i8] c"\B8\E8\90\D8", [4 x i8] c"\B5\E3\9E\D1", [4 x i8] c"\A2\FE\8C\CA", [4 x i8] c"\AF\F5\82\C3", [4 x i8] c"\8C\C4\A8\FC", [4 x i8] c"\81\CF\A6\F5", [4 x i8] c"\96\D2\B4\EE", [4 x i8] c"\9B\D9\BA\E7", [4 x i8] c"\BB{\DB;", [4 x i8] c"\B6p\D52", [4 x i8] c"\A1m\C7)", [4 x i8] c"\ACf\C9 ", [4 x i8] c"\8FW\E3\1F", [4 x i8] c"\82\5C\ED\16", [4 x i8] c"\95A\FF\0D", [4 x i8] c"\98J\F1\04", [4 x i8] c"\D3#\ABs", [4 x i8] c"\DE(\A5z", [4 x i8] c"\C95\B7a", [4 x i8] c"\C4>\B9h", [4 x i8] c"\E7\0F\93W", [4 x i8] c"\EA\04\9D^", [4 x i8] c"\FD\19\8FE", [4 x i8] c"\F0\12\81L", [4 x i8] c"k\CB;\AB", [4 x i8] c"f\C05\A2", [4 x i8] c"q\DD'\B9", [4 x i8] c"|\D6)\B0", [4 x i8] c"_\E7\03\8F", [4 x i8] c"R\EC\0D\86", [4 x i8] c"E\F1\1F\9D", [4 x i8] c"H\FA\11\94", [4 x i8] c"\03\93K\E3", [4 x i8] c"\0E\98E\EA", [4 x i8] c"\19\85W\F1", [4 x i8] c"\14\8EY\F8", [4 x i8] c"7\BFs\C7", [4 x i8] c":\B4}\CE", [4 x i8] c"-\A9o\D5", [4 x i8] c" \A2a\DC", [4 x i8] c"m\F6\ADv", [4 x i8] c"`\FD\A3\7F", [4 x i8] c"w\E0\B1d", [4 x i8] c"z\EB\BFm", [4 x i8] c"Y\DA\95R", [4 x i8] c"T\D1\9B[", [4 x i8] c"C\CC\89@", [4 x i8] c"N\C7\87I", [4 x i8] c"\05\AE\DD>", [4 x i8] c"\08\A5\D37", [4 x i8] c"\1F\B8\C1,", [4 x i8] c"\12\B3\CF%", [4 x i8] c"1\82\E5\1A", [4 x i8] c"<\89\EB\13", [4 x i8] c"+\94\F9\08", [4 x i8] c"&\9F\F7\01", [4 x i8] c"\BDFM\E6", [4 x i8] c"\B0MC\EF", [4 x i8] c"\A7PQ\F4", [4 x i8] c"\AA[_\FD", [4 x i8] c"\89ju\C2", [4 x i8] c"\84a{\CB", [4 x i8] c"\93|i\D0", [4 x i8] c"\9Ewg\D9", [4 x i8] c"\D5\1E=\AE", [4 x i8] c"\D8\153\A7", [4 x i8] c"\CF\08!\BC", [4 x i8] c"\C2\03/\B5", [4 x i8] c"\E12\05\8A", [4 x i8] c"\EC9\0B\83", [4 x i8] c"\FB$\19\98", [4 x i8] c"\F6/\17\91", [4 x i8] c"\D6\8DvM", [4 x i8] c"\DB\86xD", [4 x i8] c"\CC\9Bj_", [4 x i8] c"\C1\90dV", [4 x i8] c"\E2\A1Ni", [4 x i8] c"\EF\AA@`", [4 x i8] c"\F8\B7R{", [4 x i8] c"\F5\BC\5Cr", [4 x i8] c"\BE\D5\06\05", [4 x i8] c"\B3\DE\08\0C", [4 x i8] c"\A4\C3\1A\17", [4 x i8] c"\A9\C8\14\1E", [4 x i8] c"\8A\F9>!", [4 x i8] c"\87\F20(", [4 x i8] c"\90\EF\223", [4 x i8] c"\9D\E4,:", [4 x i8] c"\06=\96\DD", [4 x i8] c"\0B6\98\D4", [4 x i8] c"\1C+\8A\CF", [4 x i8] c"\11 \84\C6", [4 x i8] c"2\11\AE\F9", [4 x i8] c"?\1A\A0\F0", [4 x i8] c"(\07\B2\EB", [4 x i8] c"%\0C\BC\E2", [4 x i8] c"ne\E6\95", [4 x i8] c"cn\E8\9C", [4 x i8] c"ts\FA\87", [4 x i8] c"yx\F4\8E", [4 x i8] c"ZI\DE\B1", [4 x i8] c"WB\D0\B8", [4 x i8] c"@_\C2\A3", [4 x i8] c"MT\CC\AA", [4 x i8] c"\DA\F7A\EC", [4 x i8] c"\D7\FCO\E5", [4 x i8] c"\C0\E1]\FE", [4 x i8] c"\CD\EAS\F7", [4 x i8] c"\EE\DBy\C8", [4 x i8] c"\E3\D0w\C1", [4 x i8] c"\F4\CDe\DA", [4 x i8] c"\F9\C6k\D3", [4 x i8] c"\B2\AF1\A4", [4 x i8] c"\BF\A4?\AD", [4 x i8] c"\A8\B9-\B6", [4 x i8] c"\A5\B2#\BF", [4 x i8] c"\86\83\09\80", [4 x i8] c"\8B\88\07\89", [4 x i8] c"\9C\95\15\92", [4 x i8] c"\91\9E\1B\9B", [4 x i8] c"\0AG\A1|", [4 x i8] c"\07L\AFu", [4 x i8] c"\10Q\BDn", [4 x i8] c"\1DZ\B3g", [4 x i8] c">k\99X", [4 x i8] c"3`\97Q", [4 x i8] c"$}\85J", [4 x i8] c")v\8BC", [4 x i8] c"b\1F\D14", [4 x i8] c"o\14\DF=", [4 x i8] c"x\09\CD&", [4 x i8] c"u\02\C3/", [4 x i8] c"V3\E9\10", [4 x i8] c"[8\E7\19", [4 x i8] c"L%\F5\02", [4 x i8] c"A.\FB\0B", [4 x i8] c"a\8C\9A\D7", [4 x i8] c"l\87\94\DE", [4 x i8] c"{\9A\86\C5", [4 x i8] c"v\91\88\CC", [4 x i8] c"U\A0\A2\F3", [4 x i8] c"X\AB\AC\FA", [4 x i8] c"O\B6\BE\E1", [4 x i8] c"B\BD\B0\E8", [4 x i8] c"\09\D4\EA\9F", [4 x i8] c"\04\DF\E4\96", [4 x i8] c"\13\C2\F6\8D", [4 x i8] c"\1E\C9\F8\84", [4 x i8] c"=\F8\D2\BB", [4 x i8] c"0\F3\DC\B2", [4 x i8] c"'\EE\CE\A9", [4 x i8] c"*\E5\C0\A0", [4 x i8] c"\B1<zG", [4 x i8] c"\BC7tN", [4 x i8] c"\AB*fU", [4 x i8] c"\A6!h\5C", [4 x i8] c"\85\10Bc", [4 x i8] c"\88\1BLj", [4 x i8] c"\9F\06^q", [4 x i8] c"\92\0DPx", [4 x i8] c"\D9d\0A\0F", [4 x i8] c"\D4o\04\06", [4 x i8] c"\C3r\16\1D", [4 x i8] c"\CEy\18\14", [4 x i8] c"\EDH2+", [4 x i8] c"\E0C<\22", [4 x i8] c"\F7^.9", [4 x i8] c"\FAU 0", [4 x i8] c"\B7\01\EC\9A", [4 x i8] c"\BA\0A\E2\93", [4 x i8] c"\AD\17\F0\88", [4 x i8] c"\A0\1C\FE\81", [4 x i8] c"\83-\D4\BE", [4 x i8] c"\8E&\DA\B7", [4 x i8] c"\99;\C8\AC", [4 x i8] c"\940\C6\A5", [4 x i8] c"\DFY\9C\D2", [4 x i8] c"\D2R\92\DB", [4 x i8] c"\C5O\80\C0", [4 x i8] c"\C8D\8E\C9", [4 x i8] c"\EBu\A4\F6", [4 x i8] c"\E6~\AA\FF", [4 x i8] c"\F1c\B8\E4", [4 x i8] c"\FCh\B6\ED", [4 x i8] c"g\B1\0C\0A", [4 x i8] c"j\BA\02\03", [4 x i8] c"}\A7\10\18", [4 x i8] c"p\AC\1E\11", [4 x i8] c"S\9D4.", [4 x i8] c"^\96:'", [4 x i8] c"I\8B(<", [4 x i8] c"D\80&5", [4 x i8] c"\0F\E9|B", [4 x i8] c"\02\E2rK", [4 x i8] c"\15\FF`P", [4 x i8] c"\18\F4nY", [4 x i8] c";\C5Df", [4 x i8] c"6\CEJo", [4 x i8] c"!\D3Xt", [4 x i8] c",\D8V}", [4 x i8] c"\0Cz7\A1", [4 x i8] c"\01q9\A8", [4 x i8] c"\16l+\B3", [4 x i8] c"\1Bg%\BA", [4 x i8] c"8V\0F\85", [4 x i8] c"5]\01\8C", [4 x i8] c"\22@\13\97", [4 x i8] c"/K\1D\9E", [4 x i8] c"d\22G\E9", [4 x i8] c"i)I\E0", [4 x i8] c"~4[\FB", [4 x i8] c"s?U\F2", [4 x i8] c"P\0E\7F\CD", [4 x i8] c"]\05q\C4", [4 x i8] c"J\18c\DF", [4 x i8] c"G\13m\D6", [4 x i8] c"\DC\CA\D71", [4 x i8] c"\D1\C1\D98", [4 x i8] c"\C6\DC\CB#", [4 x i8] c"\CB\D7\C5*", [4 x i8] c"\E8\E6\EF\15", [4 x i8] c"\E5\ED\E1\1C", [4 x i8] c"\F2\F0\F3\07", [4 x i8] c"\FF\FB\FD\0E", [4 x i8] c"\B4\92\A7y", [4 x i8] c"\B9\99\A9p", [4 x i8] c"\AE\84\BBk", [4 x i8] c"\A3\8F\B5b", [4 x i8] c"\80\BE\9F]", [4 x i8] c"\8D\B5\91T", [4 x i8] c"\9A\A8\83O", [4 x i8] c"\97\A3\8DF"], align 1
@U4 = internal constant [256 x [4 x i8]] [[4 x i8] zeroinitializer, [4 x i8] c"\09\0D\0B\0E", [4 x i8] c"\12\1A\16\1C", [4 x i8] c"\1B\17\1D\12", [4 x i8] c"$4,8", [4 x i8] c"-9'6", [4 x i8] c"6.:$", [4 x i8] c"?#1*", [4 x i8] c"HhXp", [4 x i8] c"AeS~", [4 x i8] c"ZrNl", [4 x i8] c"S\7FEb", [4 x i8] c"l\5CtH", [4 x i8] c"eQ\7FF", [4 x i8] c"~FbT", [4 x i8] c"wKiZ", [4 x i8] c"\90\D0\B0\E0", [4 x i8] c"\99\DD\BB\EE", [4 x i8] c"\82\CA\A6\FC", [4 x i8] c"\8B\C7\AD\F2", [4 x i8] c"\B4\E4\9C\D8", [4 x i8] c"\BD\E9\97\D6", [4 x i8] c"\A6\FE\8A\C4", [4 x i8] c"\AF\F3\81\CA", [4 x i8] c"\D8\B8\E8\90", [4 x i8] c"\D1\B5\E3\9E", [4 x i8] c"\CA\A2\FE\8C", [4 x i8] c"\C3\AF\F5\82", [4 x i8] c"\FC\8C\C4\A8", [4 x i8] c"\F5\81\CF\A6", [4 x i8] c"\EE\96\D2\B4", [4 x i8] c"\E7\9B\D9\BA", [4 x i8] c";\BB{\DB", [4 x i8] c"2\B6p\D5", [4 x i8] c")\A1m\C7", [4 x i8] c" \ACf\C9", [4 x i8] c"\1F\8FW\E3", [4 x i8] c"\16\82\5C\ED", [4 x i8] c"\0D\95A\FF", [4 x i8] c"\04\98J\F1", [4 x i8] c"s\D3#\AB", [4 x i8] c"z\DE(\A5", [4 x i8] c"a\C95\B7", [4 x i8] c"h\C4>\B9", [4 x i8] c"W\E7\0F\93", [4 x i8] c"^\EA\04\9D", [4 x i8] c"E\FD\19\8F", [4 x i8] c"L\F0\12\81", [4 x i8] c"\ABk\CB;", [4 x i8] c"\A2f\C05", [4 x i8] c"\B9q\DD'", [4 x i8] c"\B0|\D6)", [4 x i8] c"\8F_\E7\03", [4 x i8] c"\86R\EC\0D", [4 x i8] c"\9DE\F1\1F", [4 x i8] c"\94H\FA\11", [4 x i8] c"\E3\03\93K", [4 x i8] c"\EA\0E\98E", [4 x i8] c"\F1\19\85W", [4 x i8] c"\F8\14\8EY", [4 x i8] c"\C77\BFs", [4 x i8] c"\CE:\B4}", [4 x i8] c"\D5-\A9o", [4 x i8] c"\DC \A2a", [4 x i8] c"vm\F6\AD", [4 x i8] c"\7F`\FD\A3", [4 x i8] c"dw\E0\B1", [4 x i8] c"mz\EB\BF", [4 x i8] c"RY\DA\95", [4 x i8] c"[T\D1\9B", [4 x i8] c"@C\CC\89", [4 x i8] c"IN\C7\87", [4 x i8] c">\05\AE\DD", [4 x i8] c"7\08\A5\D3", [4 x i8] c",\1F\B8\C1", [4 x i8] c"%\12\B3\CF", [4 x i8] c"\1A1\82\E5", [4 x i8] c"\13<\89\EB", [4 x i8] c"\08+\94\F9", [4 x i8] c"\01&\9F\F7", [4 x i8] c"\E6\BDFM", [4 x i8] c"\EF\B0MC", [4 x i8] c"\F4\A7PQ", [4 x i8] c"\FD\AA[_", [4 x i8] c"\C2\89ju", [4 x i8] c"\CB\84a{", [4 x i8] c"\D0\93|i", [4 x i8] c"\D9\9Ewg", [4 x i8] c"\AE\D5\1E=", [4 x i8] c"\A7\D8\153", [4 x i8] c"\BC\CF\08!", [4 x i8] c"\B5\C2\03/", [4 x i8] c"\8A\E12\05", [4 x i8] c"\83\EC9\0B", [4 x i8] c"\98\FB$\19", [4 x i8] c"\91\F6/\17", [4 x i8] c"M\D6\8Dv", [4 x i8] c"D\DB\86x", [4 x i8] c"_\CC\9Bj", [4 x i8] c"V\C1\90d", [4 x i8] c"i\E2\A1N", [4 x i8] c"`\EF\AA@", [4 x i8] c"{\F8\B7R", [4 x i8] c"r\F5\BC\5C", [4 x i8] c"\05\BE\D5\06", [4 x i8] c"\0C\B3\DE\08", [4 x i8] c"\17\A4\C3\1A", [4 x i8] c"\1E\A9\C8\14", [4 x i8] c"!\8A\F9>", [4 x i8] c"(\87\F20", [4 x i8] c"3\90\EF\22", [4 x i8] c":\9D\E4,", [4 x i8] c"\DD\06=\96", [4 x i8] c"\D4\0B6\98", [4 x i8] c"\CF\1C+\8A", [4 x i8] c"\C6\11 \84", [4 x i8] c"\F92\11\AE", [4 x i8] c"\F0?\1A\A0", [4 x i8] c"\EB(\07\B2", [4 x i8] c"\E2%\0C\BC", [4 x i8] c"\95ne\E6", [4 x i8] c"\9Ccn\E8", [4 x i8] c"\87ts\FA", [4 x i8] c"\8Eyx\F4", [4 x i8] c"\B1ZI\DE", [4 x i8] c"\B8WB\D0", [4 x i8] c"\A3@_\C2", [4 x i8] c"\AAMT\CC", [4 x i8] c"\EC\DA\F7A", [4 x i8] c"\E5\D7\FCO", [4 x i8] c"\FE\C0\E1]", [4 x i8] c"\F7\CD\EAS", [4 x i8] c"\C8\EE\DBy", [4 x i8] c"\C1\E3\D0w", [4 x i8] c"\DA\F4\CDe", [4 x i8] c"\D3\F9\C6k", [4 x i8] c"\A4\B2\AF1", [4 x i8] c"\AD\BF\A4?", [4 x i8] c"\B6\A8\B9-", [4 x i8] c"\BF\A5\B2#", [4 x i8] c"\80\86\83\09", [4 x i8] c"\89\8B\88\07", [4 x i8] c"\92\9C\95\15", [4 x i8] c"\9B\91\9E\1B", [4 x i8] c"|\0AG\A1", [4 x i8] c"u\07L\AF", [4 x i8] c"n\10Q\BD", [4 x i8] c"g\1DZ\B3", [4 x i8] c"X>k\99", [4 x i8] c"Q3`\97", [4 x i8] c"J$}\85", [4 x i8] c"C)v\8B", [4 x i8] c"4b\1F\D1", [4 x i8] c"=o\14\DF", [4 x i8] c"&x\09\CD", [4 x i8] c"/u\02\C3", [4 x i8] c"\10V3\E9", [4 x i8] c"\19[8\E7", [4 x i8] c"\02L%\F5", [4 x i8] c"\0BA.\FB", [4 x i8] c"\D7a\8C\9A", [4 x i8] c"\DEl\87\94", [4 x i8] c"\C5{\9A\86", [4 x i8] c"\CCv\91\88", [4 x i8] c"\F3U\A0\A2", [4 x i8] c"\FAX\AB\AC", [4 x i8] c"\E1O\B6\BE", [4 x i8] c"\E8B\BD\B0", [4 x i8] c"\9F\09\D4\EA", [4 x i8] c"\96\04\DF\E4", [4 x i8] c"\8D\13\C2\F6", [4 x i8] c"\84\1E\C9\F8", [4 x i8] c"\BB=\F8\D2", [4 x i8] c"\B20\F3\DC", [4 x i8] c"\A9'\EE\CE", [4 x i8] c"\A0*\E5\C0", [4 x i8] c"G\B1<z", [4 x i8] c"N\BC7t", [4 x i8] c"U\AB*f", [4 x i8] c"\5C\A6!h", [4 x i8] c"c\85\10B", [4 x i8] c"j\88\1BL", [4 x i8] c"q\9F\06^", [4 x i8] c"x\92\0DP", [4 x i8] c"\0F\D9d\0A", [4 x i8] c"\06\D4o\04", [4 x i8] c"\1D\C3r\16", [4 x i8] c"\14\CEy\18", [4 x i8] c"+\EDH2", [4 x i8] c"\22\E0C<", [4 x i8] c"9\F7^.", [4 x i8] c"0\FAU ", [4 x i8] c"\9A\B7\01\EC", [4 x i8] c"\93\BA\0A\E2", [4 x i8] c"\88\AD\17\F0", [4 x i8] c"\81\A0\1C\FE", [4 x i8] c"\BE\83-\D4", [4 x i8] c"\B7\8E&\DA", [4 x i8] c"\AC\99;\C8", [4 x i8] c"\A5\940\C6", [4 x i8] c"\D2\DFY\9C", [4 x i8] c"\DB\D2R\92", [4 x i8] c"\C0\C5O\80", [4 x i8] c"\C9\C8D\8E", [4 x i8] c"\F6\EBu\A4", [4 x i8] c"\FF\E6~\AA", [4 x i8] c"\E4\F1c\B8", [4 x i8] c"\ED\FCh\B6", [4 x i8] c"\0Ag\B1\0C", [4 x i8] c"\03j\BA\02", [4 x i8] c"\18}\A7\10", [4 x i8] c"\11p\AC\1E", [4 x i8] c".S\9D4", [4 x i8] c"'^\96:", [4 x i8] c"<I\8B(", [4 x i8] c"5D\80&", [4 x i8] c"B\0F\E9|", [4 x i8] c"K\02\E2r", [4 x i8] c"P\15\FF`", [4 x i8] c"Y\18\F4n", [4 x i8] c"f;\C5D", [4 x i8] c"o6\CEJ", [4 x i8] c"t!\D3X", [4 x i8] c"},\D8V", [4 x i8] c"\A1\0Cz7", [4 x i8] c"\A8\01q9", [4 x i8] c"\B3\16l+", [4 x i8] c"\BA\1Bg%", [4 x i8] c"\858V\0F", [4 x i8] c"\8C5]\01", [4 x i8] c"\97\22@\13", [4 x i8] c"\9E/K\1D", [4 x i8] c"\E9d\22G", [4 x i8] c"\E0i)I", [4 x i8] c"\FB~4[", [4 x i8] c"\F2s?U", [4 x i8] c"\CDP\0E\7F", [4 x i8] c"\C4]\05q", [4 x i8] c"\DFJ\18c", [4 x i8] c"\D6G\13m", [4 x i8] c"1\DC\CA\D7", [4 x i8] c"8\D1\C1\D9", [4 x i8] c"#\C6\DC\CB", [4 x i8] c"*\CB\D7\C5", [4 x i8] c"\15\E8\E6\EF", [4 x i8] c"\1C\E5\ED\E1", [4 x i8] c"\07\F2\F0\F3", [4 x i8] c"\0E\FF\FB\FD", [4 x i8] c"y\B4\92\A7", [4 x i8] c"p\B9\99\A9", [4 x i8] c"k\AE\84\BB", [4 x i8] c"b\A3\8F\B5", [4 x i8] c"]\80\BE\9F", [4 x i8] c"T\8D\B5\91", [4 x i8] c"O\9A\A8\83", [4 x i8] c"F\97\A3\8D"], align 1
@T1 = internal constant [256 x [4 x i8]] [[4 x i8] c"\C6cc\A5", [4 x i8] c"\F8||\84", [4 x i8] c"\EEww\99", [4 x i8] c"\F6{{\8D", [4 x i8] c"\FF\F2\F2\0D", [4 x i8] c"\D6kk\BD", [4 x i8] c"\DEoo\B1", [4 x i8] c"\91\C5\C5T", [4 x i8] c"`00P", [4 x i8] c"\02\01\01\03", [4 x i8] c"\CEgg\A9", [4 x i8] c"V++}", [4 x i8] c"\E7\FE\FE\19", [4 x i8] c"\B5\D7\D7b", [4 x i8] c"M\AB\AB\E6", [4 x i8] c"\ECvv\9A", [4 x i8] c"\8F\CA\CAE", [4 x i8] c"\1F\82\82\9D", [4 x i8] c"\89\C9\C9@", [4 x i8] c"\FA}}\87", [4 x i8] c"\EF\FA\FA\15", [4 x i8] c"\B2YY\EB", [4 x i8] c"\8EGG\C9", [4 x i8] c"\FB\F0\F0\0B", [4 x i8] c"A\AD\AD\EC", [4 x i8] c"\B3\D4\D4g", [4 x i8] c"_\A2\A2\FD", [4 x i8] c"E\AF\AF\EA", [4 x i8] c"#\9C\9C\BF", [4 x i8] c"S\A4\A4\F7", [4 x i8] c"\E4rr\96", [4 x i8] c"\9B\C0\C0[", [4 x i8] c"u\B7\B7\C2", [4 x i8] c"\E1\FD\FD\1C", [4 x i8] c"=\93\93\AE", [4 x i8] c"L&&j", [4 x i8] c"l66Z", [4 x i8] c"~??A", [4 x i8] c"\F5\F7\F7\02", [4 x i8] c"\83\CC\CCO", [4 x i8] c"h44\5C", [4 x i8] c"Q\A5\A5\F4", [4 x i8] c"\D1\E5\E54", [4 x i8] c"\F9\F1\F1\08", [4 x i8] c"\E2qq\93", [4 x i8] c"\AB\D8\D8s", [4 x i8] c"b11S", [4 x i8] c"*\15\15?", [4 x i8] c"\08\04\04\0C", [4 x i8] c"\95\C7\C7R", [4 x i8] c"F##e", [4 x i8] c"\9D\C3\C3^", [4 x i8] c"0\18\18(", [4 x i8] c"7\96\96\A1", [4 x i8] c"\0A\05\05\0F", [4 x i8] c"/\9A\9A\B5", [4 x i8] c"\0E\07\07\09", [4 x i8] c"$\12\126", [4 x i8] c"\1B\80\80\9B", [4 x i8] c"\DF\E2\E2=", [4 x i8] c"\CD\EB\EB&", [4 x i8] c"N''i", [4 x i8] c"\7F\B2\B2\CD", [4 x i8] c"\EAuu\9F", [4 x i8] c"\12\09\09\1B", [4 x i8] c"\1D\83\83\9E", [4 x i8] c"X,,t", [4 x i8] c"4\1A\1A.", [4 x i8] c"6\1B\1B-", [4 x i8] c"\DCnn\B2", [4 x i8] c"\B4ZZ\EE", [4 x i8] c"[\A0\A0\FB", [4 x i8] c"\A4RR\F6", [4 x i8] c"v;;M", [4 x i8] c"\B7\D6\D6a", [4 x i8] c"}\B3\B3\CE", [4 x i8] c"R)){", [4 x i8] c"\DD\E3\E3>", [4 x i8] c"^//q", [4 x i8] c"\13\84\84\97", [4 x i8] c"\A6SS\F5", [4 x i8] c"\B9\D1\D1h", [4 x i8] zeroinitializer, [4 x i8] c"\C1\ED\ED,", [4 x i8] c"@ `", [4 x i8] c"\E3\FC\FC\1F", [4 x i8] c"y\B1\B1\C8", [4 x i8] c"\B6[[\ED", [4 x i8] c"\D4jj\BE", [4 x i8] c"\8D\CB\CBF", [4 x i8] c"g\BE\BE\D9", [4 x i8] c"r99K", [4 x i8] c"\94JJ\DE", [4 x i8] c"\98LL\D4", [4 x i8] c"\B0XX\E8", [4 x i8] c"\85\CF\CFJ", [4 x i8] c"\BB\D0\D0k", [4 x i8] c"\C5\EF\EF*", [4 x i8] c"O\AA\AA\E5", [4 x i8] c"\ED\FB\FB\16", [4 x i8] c"\86CC\C5", [4 x i8] c"\9AMM\D7", [4 x i8] c"f33U", [4 x i8] c"\11\85\85\94", [4 x i8] c"\8AEE\CF", [4 x i8] c"\E9\F9\F9\10", [4 x i8] c"\04\02\02\06", [4 x i8] c"\FE\7F\7F\81", [4 x i8] c"\A0PP\F0", [4 x i8] c"x<<D", [4 x i8] c"%\9F\9F\BA", [4 x i8] c"K\A8\A8\E3", [4 x i8] c"\A2QQ\F3", [4 x i8] c"]\A3\A3\FE", [4 x i8] c"\80@@\C0", [4 x i8] c"\05\8F\8F\8A", [4 x i8] c"?\92\92\AD", [4 x i8] c"!\9D\9D\BC", [4 x i8] c"p88H", [4 x i8] c"\F1\F5\F5\04", [4 x i8] c"c\BC\BC\DF", [4 x i8] c"w\B6\B6\C1", [4 x i8] c"\AF\DA\DAu", [4 x i8] c"B!!c", [4 x i8] c" \10\100", [4 x i8] c"\E5\FF\FF\1A", [4 x i8] c"\FD\F3\F3\0E", [4 x i8] c"\BF\D2\D2m", [4 x i8] c"\81\CD\CDL", [4 x i8] c"\18\0C\0C\14", [4 x i8] c"&\13\135", [4 x i8] c"\C3\EC\EC/", [4 x i8] c"\BE__\E1", [4 x i8] c"5\97\97\A2", [4 x i8] c"\88DD\CC", [4 x i8] c".\17\179", [4 x i8] c"\93\C4\C4W", [4 x i8] c"U\A7\A7\F2", [4 x i8] c"\FC~~\82", [4 x i8] c"z==G", [4 x i8] c"\C8dd\AC", [4 x i8] c"\BA]]\E7", [4 x i8] c"2\19\19+", [4 x i8] c"\E6ss\95", [4 x i8] c"\C0``\A0", [4 x i8] c"\19\81\81\98", [4 x i8] c"\9EOO\D1", [4 x i8] c"\A3\DC\DC\7F", [4 x i8] c"D\22\22f", [4 x i8] c"T**~", [4 x i8] c";\90\90\AB", [4 x i8] c"\0B\88\88\83", [4 x i8] c"\8CFF\CA", [4 x i8] c"\C7\EE\EE)", [4 x i8] c"k\B8\B8\D3", [4 x i8] c"(\14\14<", [4 x i8] c"\A7\DE\DEy", [4 x i8] c"\BC^^\E2", [4 x i8] c"\16\0B\0B\1D", [4 x i8] c"\AD\DB\DBv", [4 x i8] c"\DB\E0\E0;", [4 x i8] c"d22V", [4 x i8] c"t::N", [4 x i8] c"\14\0A\0A\1E", [4 x i8] c"\92II\DB", [4 x i8] c"\0C\06\06\0A", [4 x i8] c"H$$l", [4 x i8] c"\B8\5C\5C\E4", [4 x i8] c"\9F\C2\C2]", [4 x i8] c"\BD\D3\D3n", [4 x i8] c"C\AC\AC\EF", [4 x i8] c"\C4bb\A6", [4 x i8] c"9\91\91\A8", [4 x i8] c"1\95\95\A4", [4 x i8] c"\D3\E4\E47", [4 x i8] c"\F2yy\8B", [4 x i8] c"\D5\E7\E72", [4 x i8] c"\8B\C8\C8C", [4 x i8] c"n77Y", [4 x i8] c"\DAmm\B7", [4 x i8] c"\01\8D\8D\8C", [4 x i8] c"\B1\D5\D5d", [4 x i8] c"\9CNN\D2", [4 x i8] c"I\A9\A9\E0", [4 x i8] c"\D8ll\B4", [4 x i8] c"\ACVV\FA", [4 x i8] c"\F3\F4\F4\07", [4 x i8] c"\CF\EA\EA%", [4 x i8] c"\CAee\AF", [4 x i8] c"\F4zz\8E", [4 x i8] c"G\AE\AE\E9", [4 x i8] c"\10\08\08\18", [4 x i8] c"o\BA\BA\D5", [4 x i8] c"\F0xx\88", [4 x i8] c"J%%o", [4 x i8] c"\5C..r", [4 x i8] c"8\1C\1C$", [4 x i8] c"W\A6\A6\F1", [4 x i8] c"s\B4\B4\C7", [4 x i8] c"\97\C6\C6Q", [4 x i8] c"\CB\E8\E8#", [4 x i8] c"\A1\DD\DD|", [4 x i8] c"\E8tt\9C", [4 x i8] c">\1F\1F!", [4 x i8] c"\96KK\DD", [4 x i8] c"a\BD\BD\DC", [4 x i8] c"\0D\8B\8B\86", [4 x i8] c"\0F\8A\8A\85", [4 x i8] c"\E0pp\90", [4 x i8] c"|>>B", [4 x i8] c"q\B5\B5\C4", [4 x i8] c"\CCff\AA", [4 x i8] c"\90HH\D8", [4 x i8] c"\06\03\03\05", [4 x i8] c"\F7\F6\F6\01", [4 x i8] c"\1C\0E\0E\12", [4 x i8] c"\C2aa\A3", [4 x i8] c"j55_", [4 x i8] c"\AEWW\F9", [4 x i8] c"i\B9\B9\D0", [4 x i8] c"\17\86\86\91", [4 x i8] c"\99\C1\C1X", [4 x i8] c":\1D\1D'", [4 x i8] c"'\9E\9E\B9", [4 x i8] c"\D9\E1\E18", [4 x i8] c"\EB\F8\F8\13", [4 x i8] c"+\98\98\B3", [4 x i8] c"\22\11\113", [4 x i8] c"\D2ii\BB", [4 x i8] c"\A9\D9\D9p", [4 x i8] c"\07\8E\8E\89", [4 x i8] c"3\94\94\A7", [4 x i8] c"-\9B\9B\B6", [4 x i8] c"<\1E\1E\22", [4 x i8] c"\15\87\87\92", [4 x i8] c"\C9\E9\E9 ", [4 x i8] c"\87\CE\CEI", [4 x i8] c"\AAUU\FF", [4 x i8] c"P((x", [4 x i8] c"\A5\DF\DFz", [4 x i8] c"\03\8C\8C\8F", [4 x i8] c"Y\A1\A1\F8", [4 x i8] c"\09\89\89\80", [4 x i8] c"\1A\0D\0D\17", [4 x i8] c"e\BF\BF\DA", [4 x i8] c"\D7\E6\E61", [4 x i8] c"\84BB\C6", [4 x i8] c"\D0hh\B8", [4 x i8] c"\82AA\C3", [4 x i8] c")\99\99\B0", [4 x i8] c"Z--w", [4 x i8] c"\1E\0F\0F\11", [4 x i8] c"{\B0\B0\CB", [4 x i8] c"\A8TT\FC", [4 x i8] c"m\BB\BB\D6", [4 x i8] c",\16\16:"], align 1
@T2 = internal constant [256 x [4 x i8]] [[4 x i8] c"\A5\C6cc", [4 x i8] c"\84\F8||", [4 x i8] c"\99\EEww", [4 x i8] c"\8D\F6{{", [4 x i8] c"\0D\FF\F2\F2", [4 x i8] c"\BD\D6kk", [4 x i8] c"\B1\DEoo", [4 x i8] c"T\91\C5\C5", [4 x i8] c"P`00", [4 x i8] c"\03\02\01\01", [4 x i8] c"\A9\CEgg", [4 x i8] c"}V++", [4 x i8] c"\19\E7\FE\FE", [4 x i8] c"b\B5\D7\D7", [4 x i8] c"\E6M\AB\AB", [4 x i8] c"\9A\ECvv", [4 x i8] c"E\8F\CA\CA", [4 x i8] c"\9D\1F\82\82", [4 x i8] c"@\89\C9\C9", [4 x i8] c"\87\FA}}", [4 x i8] c"\15\EF\FA\FA", [4 x i8] c"\EB\B2YY", [4 x i8] c"\C9\8EGG", [4 x i8] c"\0B\FB\F0\F0", [4 x i8] c"\ECA\AD\AD", [4 x i8] c"g\B3\D4\D4", [4 x i8] c"\FD_\A2\A2", [4 x i8] c"\EAE\AF\AF", [4 x i8] c"\BF#\9C\9C", [4 x i8] c"\F7S\A4\A4", [4 x i8] c"\96\E4rr", [4 x i8] c"[\9B\C0\C0", [4 x i8] c"\C2u\B7\B7", [4 x i8] c"\1C\E1\FD\FD", [4 x i8] c"\AE=\93\93", [4 x i8] c"jL&&", [4 x i8] c"Zl66", [4 x i8] c"A~??", [4 x i8] c"\02\F5\F7\F7", [4 x i8] c"O\83\CC\CC", [4 x i8] c"\5Ch44", [4 x i8] c"\F4Q\A5\A5", [4 x i8] c"4\D1\E5\E5", [4 x i8] c"\08\F9\F1\F1", [4 x i8] c"\93\E2qq", [4 x i8] c"s\AB\D8\D8", [4 x i8] c"Sb11", [4 x i8] c"?*\15\15", [4 x i8] c"\0C\08\04\04", [4 x i8] c"R\95\C7\C7", [4 x i8] c"eF##", [4 x i8] c"^\9D\C3\C3", [4 x i8] c"(0\18\18", [4 x i8] c"\A17\96\96", [4 x i8] c"\0F\0A\05\05", [4 x i8] c"\B5/\9A\9A", [4 x i8] c"\09\0E\07\07", [4 x i8] c"6$\12\12", [4 x i8] c"\9B\1B\80\80", [4 x i8] c"=\DF\E2\E2", [4 x i8] c"&\CD\EB\EB", [4 x i8] c"iN''", [4 x i8] c"\CD\7F\B2\B2", [4 x i8] c"\9F\EAuu", [4 x i8] c"\1B\12\09\09", [4 x i8] c"\9E\1D\83\83", [4 x i8] c"tX,,", [4 x i8] c".4\1A\1A", [4 x i8] c"-6\1B\1B", [4 x i8] c"\B2\DCnn", [4 x i8] c"\EE\B4ZZ", [4 x i8] c"\FB[\A0\A0", [4 x i8] c"\F6\A4RR", [4 x i8] c"Mv;;", [4 x i8] c"a\B7\D6\D6", [4 x i8] c"\CE}\B3\B3", [4 x i8] c"{R))", [4 x i8] c">\DD\E3\E3", [4 x i8] c"q^//", [4 x i8] c"\97\13\84\84", [4 x i8] c"\F5\A6SS", [4 x i8] c"h\B9\D1\D1", [4 x i8] zeroinitializer, [4 x i8] c",\C1\ED\ED", [4 x i8] c"`@ ", [4 x i8] c"\1F\E3\FC\FC", [4 x i8] c"\C8y\B1\B1", [4 x i8] c"\ED\B6[[", [4 x i8] c"\BE\D4jj", [4 x i8] c"F\8D\CB\CB", [4 x i8] c"\D9g\BE\BE", [4 x i8] c"Kr99", [4 x i8] c"\DE\94JJ", [4 x i8] c"\D4\98LL", [4 x i8] c"\E8\B0XX", [4 x i8] c"J\85\CF\CF", [4 x i8] c"k\BB\D0\D0", [4 x i8] c"*\C5\EF\EF", [4 x i8] c"\E5O\AA\AA", [4 x i8] c"\16\ED\FB\FB", [4 x i8] c"\C5\86CC", [4 x i8] c"\D7\9AMM", [4 x i8] c"Uf33", [4 x i8] c"\94\11\85\85", [4 x i8] c"\CF\8AEE", [4 x i8] c"\10\E9\F9\F9", [4 x i8] c"\06\04\02\02", [4 x i8] c"\81\FE\7F\7F", [4 x i8] c"\F0\A0PP", [4 x i8] c"Dx<<", [4 x i8] c"\BA%\9F\9F", [4 x i8] c"\E3K\A8\A8", [4 x i8] c"\F3\A2QQ", [4 x i8] c"\FE]\A3\A3", [4 x i8] c"\C0\80@@", [4 x i8] c"\8A\05\8F\8F", [4 x i8] c"\AD?\92\92", [4 x i8] c"\BC!\9D\9D", [4 x i8] c"Hp88", [4 x i8] c"\04\F1\F5\F5", [4 x i8] c"\DFc\BC\BC", [4 x i8] c"\C1w\B6\B6", [4 x i8] c"u\AF\DA\DA", [4 x i8] c"cB!!", [4 x i8] c"0 \10\10", [4 x i8] c"\1A\E5\FF\FF", [4 x i8] c"\0E\FD\F3\F3", [4 x i8] c"m\BF\D2\D2", [4 x i8] c"L\81\CD\CD", [4 x i8] c"\14\18\0C\0C", [4 x i8] c"5&\13\13", [4 x i8] c"/\C3\EC\EC", [4 x i8] c"\E1\BE__", [4 x i8] c"\A25\97\97", [4 x i8] c"\CC\88DD", [4 x i8] c"9.\17\17", [4 x i8] c"W\93\C4\C4", [4 x i8] c"\F2U\A7\A7", [4 x i8] c"\82\FC~~", [4 x i8] c"Gz==", [4 x i8] c"\AC\C8dd", [4 x i8] c"\E7\BA]]", [4 x i8] c"+2\19\19", [4 x i8] c"\95\E6ss", [4 x i8] c"\A0\C0``", [4 x i8] c"\98\19\81\81", [4 x i8] c"\D1\9EOO", [4 x i8] c"\7F\A3\DC\DC", [4 x i8] c"fD\22\22", [4 x i8] c"~T**", [4 x i8] c"\AB;\90\90", [4 x i8] c"\83\0B\88\88", [4 x i8] c"\CA\8CFF", [4 x i8] c")\C7\EE\EE", [4 x i8] c"\D3k\B8\B8", [4 x i8] c"<(\14\14", [4 x i8] c"y\A7\DE\DE", [4 x i8] c"\E2\BC^^", [4 x i8] c"\1D\16\0B\0B", [4 x i8] c"v\AD\DB\DB", [4 x i8] c";\DB\E0\E0", [4 x i8] c"Vd22", [4 x i8] c"Nt::", [4 x i8] c"\1E\14\0A\0A", [4 x i8] c"\DB\92II", [4 x i8] c"\0A\0C\06\06", [4 x i8] c"lH$$", [4 x i8] c"\E4\B8\5C\5C", [4 x i8] c"]\9F\C2\C2", [4 x i8] c"n\BD\D3\D3", [4 x i8] c"\EFC\AC\AC", [4 x i8] c"\A6\C4bb", [4 x i8] c"\A89\91\91", [4 x i8] c"\A41\95\95", [4 x i8] c"7\D3\E4\E4", [4 x i8] c"\8B\F2yy", [4 x i8] c"2\D5\E7\E7", [4 x i8] c"C\8B\C8\C8", [4 x i8] c"Yn77", [4 x i8] c"\B7\DAmm", [4 x i8] c"\8C\01\8D\8D", [4 x i8] c"d\B1\D5\D5", [4 x i8] c"\D2\9CNN", [4 x i8] c"\E0I\A9\A9", [4 x i8] c"\B4\D8ll", [4 x i8] c"\FA\ACVV", [4 x i8] c"\07\F3\F4\F4", [4 x i8] c"%\CF\EA\EA", [4 x i8] c"\AF\CAee", [4 x i8] c"\8E\F4zz", [4 x i8] c"\E9G\AE\AE", [4 x i8] c"\18\10\08\08", [4 x i8] c"\D5o\BA\BA", [4 x i8] c"\88\F0xx", [4 x i8] c"oJ%%", [4 x i8] c"r\5C..", [4 x i8] c"$8\1C\1C", [4 x i8] c"\F1W\A6\A6", [4 x i8] c"\C7s\B4\B4", [4 x i8] c"Q\97\C6\C6", [4 x i8] c"#\CB\E8\E8", [4 x i8] c"|\A1\DD\DD", [4 x i8] c"\9C\E8tt", [4 x i8] c"!>\1F\1F", [4 x i8] c"\DD\96KK", [4 x i8] c"\DCa\BD\BD", [4 x i8] c"\86\0D\8B\8B", [4 x i8] c"\85\0F\8A\8A", [4 x i8] c"\90\E0pp", [4 x i8] c"B|>>", [4 x i8] c"\C4q\B5\B5", [4 x i8] c"\AA\CCff", [4 x i8] c"\D8\90HH", [4 x i8] c"\05\06\03\03", [4 x i8] c"\01\F7\F6\F6", [4 x i8] c"\12\1C\0E\0E", [4 x i8] c"\A3\C2aa", [4 x i8] c"_j55", [4 x i8] c"\F9\AEWW", [4 x i8] c"\D0i\B9\B9", [4 x i8] c"\91\17\86\86", [4 x i8] c"X\99\C1\C1", [4 x i8] c"':\1D\1D", [4 x i8] c"\B9'\9E\9E", [4 x i8] c"8\D9\E1\E1", [4 x i8] c"\13\EB\F8\F8", [4 x i8] c"\B3+\98\98", [4 x i8] c"3\22\11\11", [4 x i8] c"\BB\D2ii", [4 x i8] c"p\A9\D9\D9", [4 x i8] c"\89\07\8E\8E", [4 x i8] c"\A73\94\94", [4 x i8] c"\B6-\9B\9B", [4 x i8] c"\22<\1E\1E", [4 x i8] c"\92\15\87\87", [4 x i8] c" \C9\E9\E9", [4 x i8] c"I\87\CE\CE", [4 x i8] c"\FF\AAUU", [4 x i8] c"xP((", [4 x i8] c"z\A5\DF\DF", [4 x i8] c"\8F\03\8C\8C", [4 x i8] c"\F8Y\A1\A1", [4 x i8] c"\80\09\89\89", [4 x i8] c"\17\1A\0D\0D", [4 x i8] c"\DAe\BF\BF", [4 x i8] c"1\D7\E6\E6", [4 x i8] c"\C6\84BB", [4 x i8] c"\B8\D0hh", [4 x i8] c"\C3\82AA", [4 x i8] c"\B0)\99\99", [4 x i8] c"wZ--", [4 x i8] c"\11\1E\0F\0F", [4 x i8] c"\CB{\B0\B0", [4 x i8] c"\FC\A8TT", [4 x i8] c"\D6m\BB\BB", [4 x i8] c":,\16\16"], align 1
@T3 = internal constant [256 x [4 x i8]] [[4 x i8] c"c\A5\C6c", [4 x i8] c"|\84\F8|", [4 x i8] c"w\99\EEw", [4 x i8] c"{\8D\F6{", [4 x i8] c"\F2\0D\FF\F2", [4 x i8] c"k\BD\D6k", [4 x i8] c"o\B1\DEo", [4 x i8] c"\C5T\91\C5", [4 x i8] c"0P`0", [4 x i8] c"\01\03\02\01", [4 x i8] c"g\A9\CEg", [4 x i8] c"+}V+", [4 x i8] c"\FE\19\E7\FE", [4 x i8] c"\D7b\B5\D7", [4 x i8] c"\AB\E6M\AB", [4 x i8] c"v\9A\ECv", [4 x i8] c"\CAE\8F\CA", [4 x i8] c"\82\9D\1F\82", [4 x i8] c"\C9@\89\C9", [4 x i8] c"}\87\FA}", [4 x i8] c"\FA\15\EF\FA", [4 x i8] c"Y\EB\B2Y", [4 x i8] c"G\C9\8EG", [4 x i8] c"\F0\0B\FB\F0", [4 x i8] c"\AD\ECA\AD", [4 x i8] c"\D4g\B3\D4", [4 x i8] c"\A2\FD_\A2", [4 x i8] c"\AF\EAE\AF", [4 x i8] c"\9C\BF#\9C", [4 x i8] c"\A4\F7S\A4", [4 x i8] c"r\96\E4r", [4 x i8] c"\C0[\9B\C0", [4 x i8] c"\B7\C2u\B7", [4 x i8] c"\FD\1C\E1\FD", [4 x i8] c"\93\AE=\93", [4 x i8] c"&jL&", [4 x i8] c"6Zl6", [4 x i8] c"?A~?", [4 x i8] c"\F7\02\F5\F7", [4 x i8] c"\CCO\83\CC", [4 x i8] c"4\5Ch4", [4 x i8] c"\A5\F4Q\A5", [4 x i8] c"\E54\D1\E5", [4 x i8] c"\F1\08\F9\F1", [4 x i8] c"q\93\E2q", [4 x i8] c"\D8s\AB\D8", [4 x i8] c"1Sb1", [4 x i8] c"\15?*\15", [4 x i8] c"\04\0C\08\04", [4 x i8] c"\C7R\95\C7", [4 x i8] c"#eF#", [4 x i8] c"\C3^\9D\C3", [4 x i8] c"\18(0\18", [4 x i8] c"\96\A17\96", [4 x i8] c"\05\0F\0A\05", [4 x i8] c"\9A\B5/\9A", [4 x i8] c"\07\09\0E\07", [4 x i8] c"\126$\12", [4 x i8] c"\80\9B\1B\80", [4 x i8] c"\E2=\DF\E2", [4 x i8] c"\EB&\CD\EB", [4 x i8] c"'iN'", [4 x i8] c"\B2\CD\7F\B2", [4 x i8] c"u\9F\EAu", [4 x i8] c"\09\1B\12\09", [4 x i8] c"\83\9E\1D\83", [4 x i8] c",tX,", [4 x i8] c"\1A.4\1A", [4 x i8] c"\1B-6\1B", [4 x i8] c"n\B2\DCn", [4 x i8] c"Z\EE\B4Z", [4 x i8] c"\A0\FB[\A0", [4 x i8] c"R\F6\A4R", [4 x i8] c";Mv;", [4 x i8] c"\D6a\B7\D6", [4 x i8] c"\B3\CE}\B3", [4 x i8] c"){R)", [4 x i8] c"\E3>\DD\E3", [4 x i8] c"/q^/", [4 x i8] c"\84\97\13\84", [4 x i8] c"S\F5\A6S", [4 x i8] c"\D1h\B9\D1", [4 x i8] zeroinitializer, [4 x i8] c"\ED,\C1\ED", [4 x i8] c" `@ ", [4 x i8] c"\FC\1F\E3\FC", [4 x i8] c"\B1\C8y\B1", [4 x i8] c"[\ED\B6[", [4 x i8] c"j\BE\D4j", [4 x i8] c"\CBF\8D\CB", [4 x i8] c"\BE\D9g\BE", [4 x i8] c"9Kr9", [4 x i8] c"J\DE\94J", [4 x i8] c"L\D4\98L", [4 x i8] c"X\E8\B0X", [4 x i8] c"\CFJ\85\CF", [4 x i8] c"\D0k\BB\D0", [4 x i8] c"\EF*\C5\EF", [4 x i8] c"\AA\E5O\AA", [4 x i8] c"\FB\16\ED\FB", [4 x i8] c"C\C5\86C", [4 x i8] c"M\D7\9AM", [4 x i8] c"3Uf3", [4 x i8] c"\85\94\11\85", [4 x i8] c"E\CF\8AE", [4 x i8] c"\F9\10\E9\F9", [4 x i8] c"\02\06\04\02", [4 x i8] c"\7F\81\FE\7F", [4 x i8] c"P\F0\A0P", [4 x i8] c"<Dx<", [4 x i8] c"\9F\BA%\9F", [4 x i8] c"\A8\E3K\A8", [4 x i8] c"Q\F3\A2Q", [4 x i8] c"\A3\FE]\A3", [4 x i8] c"@\C0\80@", [4 x i8] c"\8F\8A\05\8F", [4 x i8] c"\92\AD?\92", [4 x i8] c"\9D\BC!\9D", [4 x i8] c"8Hp8", [4 x i8] c"\F5\04\F1\F5", [4 x i8] c"\BC\DFc\BC", [4 x i8] c"\B6\C1w\B6", [4 x i8] c"\DAu\AF\DA", [4 x i8] c"!cB!", [4 x i8] c"\100 \10", [4 x i8] c"\FF\1A\E5\FF", [4 x i8] c"\F3\0E\FD\F3", [4 x i8] c"\D2m\BF\D2", [4 x i8] c"\CDL\81\CD", [4 x i8] c"\0C\14\18\0C", [4 x i8] c"\135&\13", [4 x i8] c"\EC/\C3\EC", [4 x i8] c"_\E1\BE_", [4 x i8] c"\97\A25\97", [4 x i8] c"D\CC\88D", [4 x i8] c"\179.\17", [4 x i8] c"\C4W\93\C4", [4 x i8] c"\A7\F2U\A7", [4 x i8] c"~\82\FC~", [4 x i8] c"=Gz=", [4 x i8] c"d\AC\C8d", [4 x i8] c"]\E7\BA]", [4 x i8] c"\19+2\19", [4 x i8] c"s\95\E6s", [4 x i8] c"`\A0\C0`", [4 x i8] c"\81\98\19\81", [4 x i8] c"O\D1\9EO", [4 x i8] c"\DC\7F\A3\DC", [4 x i8] c"\22fD\22", [4 x i8] c"*~T*", [4 x i8] c"\90\AB;\90", [4 x i8] c"\88\83\0B\88", [4 x i8] c"F\CA\8CF", [4 x i8] c"\EE)\C7\EE", [4 x i8] c"\B8\D3k\B8", [4 x i8] c"\14<(\14", [4 x i8] c"\DEy\A7\DE", [4 x i8] c"^\E2\BC^", [4 x i8] c"\0B\1D\16\0B", [4 x i8] c"\DBv\AD\DB", [4 x i8] c"\E0;\DB\E0", [4 x i8] c"2Vd2", [4 x i8] c":Nt:", [4 x i8] c"\0A\1E\14\0A", [4 x i8] c"I\DB\92I", [4 x i8] c"\06\0A\0C\06", [4 x i8] c"$lH$", [4 x i8] c"\5C\E4\B8\5C", [4 x i8] c"\C2]\9F\C2", [4 x i8] c"\D3n\BD\D3", [4 x i8] c"\AC\EFC\AC", [4 x i8] c"b\A6\C4b", [4 x i8] c"\91\A89\91", [4 x i8] c"\95\A41\95", [4 x i8] c"\E47\D3\E4", [4 x i8] c"y\8B\F2y", [4 x i8] c"\E72\D5\E7", [4 x i8] c"\C8C\8B\C8", [4 x i8] c"7Yn7", [4 x i8] c"m\B7\DAm", [4 x i8] c"\8D\8C\01\8D", [4 x i8] c"\D5d\B1\D5", [4 x i8] c"N\D2\9CN", [4 x i8] c"\A9\E0I\A9", [4 x i8] c"l\B4\D8l", [4 x i8] c"V\FA\ACV", [4 x i8] c"\F4\07\F3\F4", [4 x i8] c"\EA%\CF\EA", [4 x i8] c"e\AF\CAe", [4 x i8] c"z\8E\F4z", [4 x i8] c"\AE\E9G\AE", [4 x i8] c"\08\18\10\08", [4 x i8] c"\BA\D5o\BA", [4 x i8] c"x\88\F0x", [4 x i8] c"%oJ%", [4 x i8] c".r\5C.", [4 x i8] c"\1C$8\1C", [4 x i8] c"\A6\F1W\A6", [4 x i8] c"\B4\C7s\B4", [4 x i8] c"\C6Q\97\C6", [4 x i8] c"\E8#\CB\E8", [4 x i8] c"\DD|\A1\DD", [4 x i8] c"t\9C\E8t", [4 x i8] c"\1F!>\1F", [4 x i8] c"K\DD\96K", [4 x i8] c"\BD\DCa\BD", [4 x i8] c"\8B\86\0D\8B", [4 x i8] c"\8A\85\0F\8A", [4 x i8] c"p\90\E0p", [4 x i8] c">B|>", [4 x i8] c"\B5\C4q\B5", [4 x i8] c"f\AA\CCf", [4 x i8] c"H\D8\90H", [4 x i8] c"\03\05\06\03", [4 x i8] c"\F6\01\F7\F6", [4 x i8] c"\0E\12\1C\0E", [4 x i8] c"a\A3\C2a", [4 x i8] c"5_j5", [4 x i8] c"W\F9\AEW", [4 x i8] c"\B9\D0i\B9", [4 x i8] c"\86\91\17\86", [4 x i8] c"\C1X\99\C1", [4 x i8] c"\1D':\1D", [4 x i8] c"\9E\B9'\9E", [4 x i8] c"\E18\D9\E1", [4 x i8] c"\F8\13\EB\F8", [4 x i8] c"\98\B3+\98", [4 x i8] c"\113\22\11", [4 x i8] c"i\BB\D2i", [4 x i8] c"\D9p\A9\D9", [4 x i8] c"\8E\89\07\8E", [4 x i8] c"\94\A73\94", [4 x i8] c"\9B\B6-\9B", [4 x i8] c"\1E\22<\1E", [4 x i8] c"\87\92\15\87", [4 x i8] c"\E9 \C9\E9", [4 x i8] c"\CEI\87\CE", [4 x i8] c"U\FF\AAU", [4 x i8] c"(xP(", [4 x i8] c"\DFz\A5\DF", [4 x i8] c"\8C\8F\03\8C", [4 x i8] c"\A1\F8Y\A1", [4 x i8] c"\89\80\09\89", [4 x i8] c"\0D\17\1A\0D", [4 x i8] c"\BF\DAe\BF", [4 x i8] c"\E61\D7\E6", [4 x i8] c"B\C6\84B", [4 x i8] c"h\B8\D0h", [4 x i8] c"A\C3\82A", [4 x i8] c"\99\B0)\99", [4 x i8] c"-wZ-", [4 x i8] c"\0F\11\1E\0F", [4 x i8] c"\B0\CB{\B0", [4 x i8] c"T\FC\A8T", [4 x i8] c"\BB\D6m\BB", [4 x i8] c"\16:,\16"], align 1
@T4 = internal constant [256 x [4 x i8]] [[4 x i8] c"cc\A5\C6", [4 x i8] c"||\84\F8", [4 x i8] c"ww\99\EE", [4 x i8] c"{{\8D\F6", [4 x i8] c"\F2\F2\0D\FF", [4 x i8] c"kk\BD\D6", [4 x i8] c"oo\B1\DE", [4 x i8] c"\C5\C5T\91", [4 x i8] c"00P`", [4 x i8] c"\01\01\03\02", [4 x i8] c"gg\A9\CE", [4 x i8] c"++}V", [4 x i8] c"\FE\FE\19\E7", [4 x i8] c"\D7\D7b\B5", [4 x i8] c"\AB\AB\E6M", [4 x i8] c"vv\9A\EC", [4 x i8] c"\CA\CAE\8F", [4 x i8] c"\82\82\9D\1F", [4 x i8] c"\C9\C9@\89", [4 x i8] c"}}\87\FA", [4 x i8] c"\FA\FA\15\EF", [4 x i8] c"YY\EB\B2", [4 x i8] c"GG\C9\8E", [4 x i8] c"\F0\F0\0B\FB", [4 x i8] c"\AD\AD\ECA", [4 x i8] c"\D4\D4g\B3", [4 x i8] c"\A2\A2\FD_", [4 x i8] c"\AF\AF\EAE", [4 x i8] c"\9C\9C\BF#", [4 x i8] c"\A4\A4\F7S", [4 x i8] c"rr\96\E4", [4 x i8] c"\C0\C0[\9B", [4 x i8] c"\B7\B7\C2u", [4 x i8] c"\FD\FD\1C\E1", [4 x i8] c"\93\93\AE=", [4 x i8] c"&&jL", [4 x i8] c"66Zl", [4 x i8] c"??A~", [4 x i8] c"\F7\F7\02\F5", [4 x i8] c"\CC\CCO\83", [4 x i8] c"44\5Ch", [4 x i8] c"\A5\A5\F4Q", [4 x i8] c"\E5\E54\D1", [4 x i8] c"\F1\F1\08\F9", [4 x i8] c"qq\93\E2", [4 x i8] c"\D8\D8s\AB", [4 x i8] c"11Sb", [4 x i8] c"\15\15?*", [4 x i8] c"\04\04\0C\08", [4 x i8] c"\C7\C7R\95", [4 x i8] c"##eF", [4 x i8] c"\C3\C3^\9D", [4 x i8] c"\18\18(0", [4 x i8] c"\96\96\A17", [4 x i8] c"\05\05\0F\0A", [4 x i8] c"\9A\9A\B5/", [4 x i8] c"\07\07\09\0E", [4 x i8] c"\12\126$", [4 x i8] c"\80\80\9B\1B", [4 x i8] c"\E2\E2=\DF", [4 x i8] c"\EB\EB&\CD", [4 x i8] c"''iN", [4 x i8] c"\B2\B2\CD\7F", [4 x i8] c"uu\9F\EA", [4 x i8] c"\09\09\1B\12", [4 x i8] c"\83\83\9E\1D", [4 x i8] c",,tX", [4 x i8] c"\1A\1A.4", [4 x i8] c"\1B\1B-6", [4 x i8] c"nn\B2\DC", [4 x i8] c"ZZ\EE\B4", [4 x i8] c"\A0\A0\FB[", [4 x i8] c"RR\F6\A4", [4 x i8] c";;Mv", [4 x i8] c"\D6\D6a\B7", [4 x i8] c"\B3\B3\CE}", [4 x i8] c")){R", [4 x i8] c"\E3\E3>\DD", [4 x i8] c"//q^", [4 x i8] c"\84\84\97\13", [4 x i8] c"SS\F5\A6", [4 x i8] c"\D1\D1h\B9", [4 x i8] zeroinitializer, [4 x i8] c"\ED\ED,\C1", [4 x i8] c" `@", [4 x i8] c"\FC\FC\1F\E3", [4 x i8] c"\B1\B1\C8y", [4 x i8] c"[[\ED\B6", [4 x i8] c"jj\BE\D4", [4 x i8] c"\CB\CBF\8D", [4 x i8] c"\BE\BE\D9g", [4 x i8] c"99Kr", [4 x i8] c"JJ\DE\94", [4 x i8] c"LL\D4\98", [4 x i8] c"XX\E8\B0", [4 x i8] c"\CF\CFJ\85", [4 x i8] c"\D0\D0k\BB", [4 x i8] c"\EF\EF*\C5", [4 x i8] c"\AA\AA\E5O", [4 x i8] c"\FB\FB\16\ED", [4 x i8] c"CC\C5\86", [4 x i8] c"MM\D7\9A", [4 x i8] c"33Uf", [4 x i8] c"\85\85\94\11", [4 x i8] c"EE\CF\8A", [4 x i8] c"\F9\F9\10\E9", [4 x i8] c"\02\02\06\04", [4 x i8] c"\7F\7F\81\FE", [4 x i8] c"PP\F0\A0", [4 x i8] c"<<Dx", [4 x i8] c"\9F\9F\BA%", [4 x i8] c"\A8\A8\E3K", [4 x i8] c"QQ\F3\A2", [4 x i8] c"\A3\A3\FE]", [4 x i8] c"@@\C0\80", [4 x i8] c"\8F\8F\8A\05", [4 x i8] c"\92\92\AD?", [4 x i8] c"\9D\9D\BC!", [4 x i8] c"88Hp", [4 x i8] c"\F5\F5\04\F1", [4 x i8] c"\BC\BC\DFc", [4 x i8] c"\B6\B6\C1w", [4 x i8] c"\DA\DAu\AF", [4 x i8] c"!!cB", [4 x i8] c"\10\100 ", [4 x i8] c"\FF\FF\1A\E5", [4 x i8] c"\F3\F3\0E\FD", [4 x i8] c"\D2\D2m\BF", [4 x i8] c"\CD\CDL\81", [4 x i8] c"\0C\0C\14\18", [4 x i8] c"\13\135&", [4 x i8] c"\EC\EC/\C3", [4 x i8] c"__\E1\BE", [4 x i8] c"\97\97\A25", [4 x i8] c"DD\CC\88", [4 x i8] c"\17\179.", [4 x i8] c"\C4\C4W\93", [4 x i8] c"\A7\A7\F2U", [4 x i8] c"~~\82\FC", [4 x i8] c"==Gz", [4 x i8] c"dd\AC\C8", [4 x i8] c"]]\E7\BA", [4 x i8] c"\19\19+2", [4 x i8] c"ss\95\E6", [4 x i8] c"``\A0\C0", [4 x i8] c"\81\81\98\19", [4 x i8] c"OO\D1\9E", [4 x i8] c"\DC\DC\7F\A3", [4 x i8] c"\22\22fD", [4 x i8] c"**~T", [4 x i8] c"\90\90\AB;", [4 x i8] c"\88\88\83\0B", [4 x i8] c"FF\CA\8C", [4 x i8] c"\EE\EE)\C7", [4 x i8] c"\B8\B8\D3k", [4 x i8] c"\14\14<(", [4 x i8] c"\DE\DEy\A7", [4 x i8] c"^^\E2\BC", [4 x i8] c"\0B\0B\1D\16", [4 x i8] c"\DB\DBv\AD", [4 x i8] c"\E0\E0;\DB", [4 x i8] c"22Vd", [4 x i8] c"::Nt", [4 x i8] c"\0A\0A\1E\14", [4 x i8] c"II\DB\92", [4 x i8] c"\06\06\0A\0C", [4 x i8] c"$$lH", [4 x i8] c"\5C\5C\E4\B8", [4 x i8] c"\C2\C2]\9F", [4 x i8] c"\D3\D3n\BD", [4 x i8] c"\AC\AC\EFC", [4 x i8] c"bb\A6\C4", [4 x i8] c"\91\91\A89", [4 x i8] c"\95\95\A41", [4 x i8] c"\E4\E47\D3", [4 x i8] c"yy\8B\F2", [4 x i8] c"\E7\E72\D5", [4 x i8] c"\C8\C8C\8B", [4 x i8] c"77Yn", [4 x i8] c"mm\B7\DA", [4 x i8] c"\8D\8D\8C\01", [4 x i8] c"\D5\D5d\B1", [4 x i8] c"NN\D2\9C", [4 x i8] c"\A9\A9\E0I", [4 x i8] c"ll\B4\D8", [4 x i8] c"VV\FA\AC", [4 x i8] c"\F4\F4\07\F3", [4 x i8] c"\EA\EA%\CF", [4 x i8] c"ee\AF\CA", [4 x i8] c"zz\8E\F4", [4 x i8] c"\AE\AE\E9G", [4 x i8] c"\08\08\18\10", [4 x i8] c"\BA\BA\D5o", [4 x i8] c"xx\88\F0", [4 x i8] c"%%oJ", [4 x i8] c"..r\5C", [4 x i8] c"\1C\1C$8", [4 x i8] c"\A6\A6\F1W", [4 x i8] c"\B4\B4\C7s", [4 x i8] c"\C6\C6Q\97", [4 x i8] c"\E8\E8#\CB", [4 x i8] c"\DD\DD|\A1", [4 x i8] c"tt\9C\E8", [4 x i8] c"\1F\1F!>", [4 x i8] c"KK\DD\96", [4 x i8] c"\BD\BD\DCa", [4 x i8] c"\8B\8B\86\0D", [4 x i8] c"\8A\8A\85\0F", [4 x i8] c"pp\90\E0", [4 x i8] c">>B|", [4 x i8] c"\B5\B5\C4q", [4 x i8] c"ff\AA\CC", [4 x i8] c"HH\D8\90", [4 x i8] c"\03\03\05\06", [4 x i8] c"\F6\F6\01\F7", [4 x i8] c"\0E\0E\12\1C", [4 x i8] c"aa\A3\C2", [4 x i8] c"55_j", [4 x i8] c"WW\F9\AE", [4 x i8] c"\B9\B9\D0i", [4 x i8] c"\86\86\91\17", [4 x i8] c"\C1\C1X\99", [4 x i8] c"\1D\1D':", [4 x i8] c"\9E\9E\B9'", [4 x i8] c"\E1\E18\D9", [4 x i8] c"\F8\F8\13\EB", [4 x i8] c"\98\98\B3+", [4 x i8] c"\11\113\22", [4 x i8] c"ii\BB\D2", [4 x i8] c"\D9\D9p\A9", [4 x i8] c"\8E\8E\89\07", [4 x i8] c"\94\94\A73", [4 x i8] c"\9B\9B\B6-", [4 x i8] c"\1E\1E\22<", [4 x i8] c"\87\87\92\15", [4 x i8] c"\E9\E9 \C9", [4 x i8] c"\CE\CEI\87", [4 x i8] c"UU\FF\AA", [4 x i8] c"((xP", [4 x i8] c"\DF\DFz\A5", [4 x i8] c"\8C\8C\8F\03", [4 x i8] c"\A1\A1\F8Y", [4 x i8] c"\89\89\80\09", [4 x i8] c"\0D\0D\17\1A", [4 x i8] c"\BF\BF\DAe", [4 x i8] c"\E6\E61\D7", [4 x i8] c"BB\C6\84", [4 x i8] c"hh\B8\D0", [4 x i8] c"AA\C3\82", [4 x i8] c"\99\99\B0)", [4 x i8] c"--wZ", [4 x i8] c"\0F\0F\11\1E", [4 x i8] c"\B0\B0\CB{", [4 x i8] c"TT\FC\A8", [4 x i8] c"\BB\BB\D6m", [4 x i8] c"\16\16:,"], align 1
@.str1310 = private unnamed_addr constant [10 x i8] c"RIPEMD160\00", align 1
@asn1311 = internal global [15 x i8] c"0!0\09\06\05+$\03\02\01\05\00\04\14", align 1
@oid_spec_rmd160 = internal global [3 x %struct.gcry_md_oid_spec] [%struct.gcry_md_oid_spec { i8* getelementptr inbounds ([15 x i8]* @.str11314, i32 0, i32 0) }, %struct.gcry_md_oid_spec { i8* getelementptr inbounds ([13 x i8]* @.str21315, i32 0, i32 0) }, %struct.gcry_md_oid_spec zeroinitializer], align 4
@_gcry_digest_spec_rmd160 = internal hidden global %struct.gcry_md_spec { i32 3, %struct.anon.98 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([10 x i8]* @.str1310, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @asn1311, i32 0, i32 0), i32 15, %struct.gcry_md_oid_spec* getelementptr inbounds ([3 x %struct.gcry_md_oid_spec]* @oid_spec_rmd160, i32 0, i32 0), i32 20, void (i8*)* @_gcry_rmd160_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @rmd160_final, i8* (i8*)* @rmd160_read, i32 164, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@.str11314 = private unnamed_addr constant [15 x i8] c"1.3.36.3.3.1.2\00", align 1
@.str21315 = private unnamed_addr constant [13 x i8] c"1.3.36.3.2.1\00", align 1
@.str1322 = private unnamed_addr constant [6 x i8] c"i > 0\00", align 1
@.str11323 = private unnamed_addr constant [13 x i8] c"rsa-common.c\00", align 1
@__FUNCTION__._gcry_rsa_pkcs1_encode_for_enc = private unnamed_addr constant [31 x i8] c"_gcry_rsa_pkcs1_encode_for_enc\00", align 1
@.str21324 = private unnamed_addr constant [12 x i8] c"n == nframe\00", align 1
@.str31325 = private unnamed_addr constant [33 x i8] c"PKCS#1 block type 2 encoded data\00", align 1
@.str41326 = private unnamed_addr constant [54 x i8] c"value extracted from PKCS#1 block type 2 encoded data\00", align 1
@.str51327 = private unnamed_addr constant [6 x i8] c"i > 1\00", align 1
@__FUNCTION__._gcry_rsa_pkcs1_encode_for_sig = private unnamed_addr constant [31 x i8] c"_gcry_rsa_pkcs1_encode_for_sig\00", align 1
@.str61328 = private unnamed_addr constant [33 x i8] c"PKCS#1 block type 1 encoded data\00", align 1
@.str71329 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@.str81330 = private unnamed_addr constant [18 x i8] c"OAEP encoded data\00", align 1
@.str91331 = private unnamed_addr constant [39 x i8] c"value extracted from OAEP encoded data\00", align 1
@.str101332 = private unnamed_addr constant [5 x i8] c"hlen\00", align 1
@__FUNCTION__._gcry_rsa_pss_encode = private unnamed_addr constant [21 x i8] c"_gcry_rsa_pss_encode\00", align 1
@.str111333 = private unnamed_addr constant [17 x i8] c"PSS encoded data\00", align 1
@__FUNCTION__._gcry_rsa_pss_verify = private unnamed_addr constant [21 x i8] c"_gcry_rsa_pss_verify\00", align 1
@.str1350 = private unnamed_addr constant [4 x i8] c"RSA\00", align 1
@rsa_names = internal global [4 x i8*] [i8* getelementptr inbounds ([4 x i8]* @.str211376, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8]* @.str971454, i32 0, i32 0), i8* getelementptr inbounds ([25 x i8]* @.str981455, i32 0, i32 0), i8* null], align 4
@.str11351 = private unnamed_addr constant [3 x i8] c"ne\00", align 1
@.str21353 = private unnamed_addr constant [7 x i8] c"nedpqu\00", align 1
@.str31354 = private unnamed_addr constant [2 x i8] c"a\00", align 1
@.str41355 = private unnamed_addr constant [2 x i8] c"s\00", align 1
@.str51356 = private unnamed_addr constant [2 x i8] c"n\00", align 1
@_gcry_pubkey_spec_rsa = internal hidden global %struct.gcry_pk_spec { i32 1, %struct.anon.109 { i8 2, [3 x i8] undef }, i32 3, i8* getelementptr inbounds ([4 x i8]* @.str1350, i32 0, i32 0), i8** getelementptr inbounds ([4 x i8*]* @rsa_names, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str11351, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8]* @.str21353, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8]* @.str31354, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8]* @.str41355, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8]* @.str51356, i32 0, i32 0), i32 (%struct.gcry_sexp*, %struct.gcry_sexp**)* @rsa_generate, i32 (%struct.gcry_sexp*)* @rsa_check_secret_key, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* @rsa_encrypt, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* @rsa_decrypt, i32 (%struct.gcry_sexp**, %struct.gcry_sexp*, %struct.gcry_sexp*)* @rsa_sign, i32 (%struct.gcry_sexp*, %struct.gcry_sexp*, %struct.gcry_sexp*)* @rsa_verify, i32 (%struct.gcry_sexp*)* @rsa_get_nbits, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests1456, i32 (%struct.gcry_md_handle*, %struct.gcry_sexp*)* @compute_keygrip1457, i32 (i8*, %struct.gcry_mpi**)* null, i8* (%struct.gcry_sexp*, i32, i32*)* null, %struct.gcry_sexp* (i8*)* null }, align 4
@.str61359 = private unnamed_addr constant [8 x i8] c"convert\00", align 1
@sample_secret_key1360 = internal constant [1030 x i8] c"(private-key (rsa (n #00e0ce96f90b6c9e02f3922beada93fe50a875eac6bcc18bb9a9cf2e84965caa 2d1ff95a7f542465c6c0c19d276e4526ce048868a7a914fd343cc3a87dd74291 ffc565506d5bbb25cbac6a0e2dd1f8bcaab0d4a29c2f37c950f363484bf269f7 891440464baf79827e03a36e70b814938eebdc63e964247be75dc58b014b7ea251#) (e #010001#) (d #046129f2489d71579be0a75fe029bd6cdb574ebf57ea8a5b0fda942cab943b11 7d7bb95e5d28875e0f9fc5fcc06a72f6d502464dabded78ef6b716177b83d5bd c543dc5d3fed932e59f5897e92e6f58a0f33424106a3b6fa2cbf877510e4ac21 c3ee47851e97d12996222ac3566d4ccb0b83d164074abf7de655fc2446da1781#) (p #00e861b700e17e8afe6837e7512e35b6ca11d0ae47d8b85161c67baf64377213 fe52d772f2035b3ca830af41d8a4120e1c1c70d12cc22f00d28d31dd48a8d424f1#) (q #00f7a7ca5367c661f8e62df34f0d05c10c88e5492348dd7bddc942c9a8f369f9 35a07785d2db805215ed786e4285df1658eed3ce84f469b81b50d358407b4ad361#) (u #304559a9ead56d2309d203811a641bb1a09626bc8eb36fffa23c968ec5bd891e ebbafc73ae666e01ba7c8990bae06cc2bbe10b75e69fcacb353a6473079d8e9b#)))\00", align 1
@sample_public_key1361 = internal constant [317 x i8] c"(public-key (rsa (n #00e0ce96f90b6c9e02f3922beada93fe50a875eac6bcc18bb9a9cf2e84965caa 2d1ff95a7f542465c6c0c19d276e4526ce048868a7a914fd343cc3a87dd74291 ffc565506d5bbb25cbac6a0e2dd1f8bcaab0d4a29c2f37c950f363484bf269f7 891440464baf79827e03a36e70b814938eebdc63e964247be75dc58b014b7ea251#) (e #010001#)))\00", align 1
@.str71362 = private unnamed_addr constant [16 x i8] c"key consistency\00", align 1
@.str81363 = private unnamed_addr constant [5 x i8] c"sign\00", align 1
@.str91364 = private unnamed_addr constant [8 x i8] c"encrypt\00", align 1
@.str101365 = private unnamed_addr constant [7 x i8] c"pubkey\00", align 1
@.str111366 = private unnamed_addr constant [30 x i8] c"(data (flags raw) (value %m))\00", align 1
@.str121367 = private unnamed_addr constant [23 x i8] c"converting data failed\00", align 1
@.str131368 = private unnamed_addr constant [15 x i8] c"encrypt failed\00", align 1
@.str141369 = private unnamed_addr constant [33 x i8] c"gcry_pk_decrypt returned garbage\00", align 1
@.str151370 = private unnamed_addr constant [29 x i8] c"ciphertext matches plaintext\00", align 1
@.str161371 = private unnamed_addr constant [15 x i8] c"decrypt failed\00", align 1
@.str171372 = private unnamed_addr constant [6 x i8] c"value\00", align 1
@.str181373 = private unnamed_addr constant [30 x i8] c"decrypt returned no plaintext\00", align 1
@.str191374 = private unnamed_addr constant [9 x i8] c"mismatch\00", align 1
@.str201375 = private unnamed_addr constant [8 x i8] c"enc-val\00", align 1
@.str211376 = private unnamed_addr constant [4 x i8] c"rsa\00", align 1
@selftest_sign_1024.sample_data1377 = internal constant [76 x i8] c"(data (flags pkcs1) (hash sha1 #11223344556677889900aabbccddeeff10203040#))\00", align 1
@selftest_sign_1024.sample_data_bad1378 = internal constant [76 x i8] c"(data (flags pkcs1) (hash sha1 #11223344556677889900aabbccddeeff80203040#))\00", align 1
@.str221379 = private unnamed_addr constant [15 x i8] c"signing failed\00", align 1
@.str231380 = private unnamed_addr constant [14 x i8] c"verify failed\00", align 1
@.str241381 = private unnamed_addr constant [27 x i8] c"bad signature not detected\00", align 1
@.str251382 = private unnamed_addr constant [16 x i8] c"rsa_verify data\00", align 1
@.str261383 = private unnamed_addr constant [16 x i8] c"rsa_verify sig\00", align 1
@.str271384 = private unnamed_addr constant [16 x i8] c"rsa_verify n\00", align 1
@.str281385 = private unnamed_addr constant [16 x i8] c"rsa_verify e\00", align 1
@.str291386 = private unnamed_addr constant [16 x i8] c"rsa_verify cmp\00", align 1
@.str301387 = private unnamed_addr constant [21 x i8] c"rsa_verify => %s\0A\00", align 1
@.str311388 = private unnamed_addr constant [5 x i8] c"Good\00", align 1
@.str321389 = private unnamed_addr constant [16 x i8] c"rsa_sign data\00", align 1
@.str331390 = private unnamed_addr constant [10 x i8] c"nedp?q?u?\00", align 1
@.str341391 = private unnamed_addr constant [16 x i8] c"rsa_sign n\00", align 1
@.str351392 = private unnamed_addr constant [16 x i8] c"rsa_sign e\00", align 1
@.str361393 = private unnamed_addr constant [16 x i8] c"rsa_sign d\00", align 1
@.str371394 = private unnamed_addr constant [16 x i8] c"rsa_sign p\00", align 1
@.str381395 = private unnamed_addr constant [16 x i8] c"rsa_sign q\00", align 1
@.str391396 = private unnamed_addr constant [16 x i8] c"rsa_sign u\00", align 1
@.str401397 = private unnamed_addr constant [16 x i8] c"rsa_sign res\00", align 1
@.str411398 = private unnamed_addr constant [20 x i8] c"(sig-val(rsa(s%b)))\00", align 1
@.str421399 = private unnamed_addr constant [20 x i8] c"(sig-val(rsa(s%M)))\00", align 1
@.str431400 = private unnamed_addr constant [21 x i8] c"rsa_sign => %s\0A\00", align 1
@.str441401 = private unnamed_addr constant [17 x i8] c"rsa_decrypt data\00", align 1
@.str451402 = private unnamed_addr constant [17 x i8] c"rsa_decrypt n\00", align 1
@.str461403 = private unnamed_addr constant [17 x i8] c"rsa_decrypt e\00", align 1
@.str471404 = private unnamed_addr constant [17 x i8] c"rsa_decrypt d\00", align 1
@.str481405 = private unnamed_addr constant [17 x i8] c"rsa_decrypt p\00", align 1
@.str491406 = private unnamed_addr constant [17 x i8] c"rsa_decrypt q\00", align 1
@.str501407 = private unnamed_addr constant [17 x i8] c"rsa_decrypt u\00", align 1
@.str511408 = private unnamed_addr constant [17 x i8] c"rsa_decrypt res\00", align 1
@.str521409 = private unnamed_addr constant [11 x i8] c"(value %b)\00", align 1
@.str531410 = private unnamed_addr constant [3 x i8] c"%m\00", align 1
@.str541411 = private unnamed_addr constant [11 x i8] c"(value %m)\00", align 1
@.str551412 = private unnamed_addr constant [22 x i8] c"rsa_decrypt => %s\0A\00", align 1
@.str561413 = private unnamed_addr constant [17 x i8] c"rsa_encrypt data\00", align 1
@.str571414 = private unnamed_addr constant [17 x i8] c"rsa_encrypt n\00", align 1
@.str581415 = private unnamed_addr constant [17 x i8] c"rsa_encrypt e\00", align 1
@.str591416 = private unnamed_addr constant [17 x i8] c"rsa_encrypt res\00", align 1
@.str601417 = private unnamed_addr constant [20 x i8] c"(enc-val(rsa(a%b)))\00", align 1
@.str611418 = private unnamed_addr constant [20 x i8] c"(enc-val(rsa(a%m)))\00", align 1
@.str621419 = private unnamed_addr constant [22 x i8] c"rsa_encrypt => %s\0A\00", align 1
@.str631420 = private unnamed_addr constant [22 x i8] c"rsa_testkey => %s\0A\00", align 1
@.str641421 = private unnamed_addr constant [6 x i8] c"flags\00", align 1
@.str651422 = private unnamed_addr constant [13 x i8] c"derive-parms\00", align 1
@.str661423 = private unnamed_addr constant [9 x i8] c"use-x931\00", align 1
@.str671424 = private unnamed_addr constant [29 x i8] c"(misc-key-info(p-q-swapped))\00", align 1
@.str681425 = private unnamed_addr constant [14 x i8] c"transient-key\00", align 1
@.str691426 = private unnamed_addr constant [95 x i8] c"(key-data (public-key (rsa(n%m)(e%m))) (private-key (rsa(n%m)(e%m)(d%m)(p%m)(q%m)(u%m))) %S)\00", align 1
@.str701427 = private unnamed_addr constant [6 x i8] c"rsa.c\00", align 1
@__FUNCTION__.generate_std = private unnamed_addr constant [13 x i8] c"generate_std\00", align 1
@.str711428 = private unnamed_addr constant [6 x i8] c" p= \00", align 1
@.str721429 = private unnamed_addr constant [6 x i8] c" q= \00", align 1
@.str731430 = private unnamed_addr constant [6 x i8] c"phi= \00", align 1
@.str741431 = private unnamed_addr constant [6 x i8] c" g= \00", align 1
@.str751432 = private unnamed_addr constant [6 x i8] c" f= \00", align 1
@.str761433 = private unnamed_addr constant [6 x i8] c" n= \00", align 1
@.str771434 = private unnamed_addr constant [6 x i8] c" e= \00", align 1
@.str781435 = private unnamed_addr constant [6 x i8] c" d= \00", align 1
@.str791436 = private unnamed_addr constant [6 x i8] c" u= \00", align 1
@.str801437 = private unnamed_addr constant [38 x i8] c"self-test after key generation failed\00", align 1
@.str811438 = private unnamed_addr constant [4 x i8] c"Xp1\00", align 1
@.str821439 = private unnamed_addr constant [4 x i8] c"Xp2\00", align 1
@.str831440 = private unnamed_addr constant [3 x i8] c"Xp\00", align 1
@.str841441 = private unnamed_addr constant [4 x i8] c"Xq1\00", align 1
@.str851442 = private unnamed_addr constant [4 x i8] c"Xq2\00", align 1
@.str861443 = private unnamed_addr constant [3 x i8] c"Xq\00", align 1
@.str871444 = private unnamed_addr constant [26 x i8] c"_gcry_mpi_gcd (g, e, phi)\00", align 1
@__FUNCTION__.generate_x931 = private unnamed_addr constant [14 x i8] c"generate_x931\00", align 1
@.str881445 = private unnamed_addr constant [21 x i8] c"p and q are swapped\0A\00", align 1
@.str891446 = private unnamed_addr constant [4 x i8] c" p\00", align 1
@.str901447 = private unnamed_addr constant [4 x i8] c" q\00", align 1
@.str911448 = private unnamed_addr constant [4 x i8] c" n\00", align 1
@.str921449 = private unnamed_addr constant [4 x i8] c" e\00", align 1
@.str931450 = private unnamed_addr constant [4 x i8] c" d\00", align 1
@.str941451 = private unnamed_addr constant [4 x i8] c" u\00", align 1
@.str951452 = private unnamed_addr constant [34 x i8] c"_gcry_mpi_get_nbits ((xi)) == 101\00", align 1
@__FUNCTION__.gen_x931_parm_xi = private unnamed_addr constant [17 x i8] c"gen_x931_parm_xi\00", align 1
@.str961453 = private unnamed_addr constant [36 x i8] c"_gcry_mpi_get_nbits ((xp)) == nbits\00", align 1
@__FUNCTION__.gen_x931_parm_xp = private unnamed_addr constant [17 x i8] c"gen_x931_parm_xp\00", align 1
@.str971454 = private unnamed_addr constant [12 x i8] c"openpgp-rsa\00", align 1
@.str981455 = private unnamed_addr constant [25 x i8] c"oid.1.2.840.113549.1.1.1\00", align 1
@.str1463 = private unnamed_addr constant [8 x i8] c"SALSA20\00", align 1
@_gcry_cipher_spec_salsa20 = internal hidden global %struct.gcry_cipher_spec { i32 313, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([8 x i8]* @.str1463, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 1, i32 256, i32 132, i32 (i8*, i8*, i32)* @salsa20_setkey, i32 (i8*, i8*, i8*)* null, i32 (i8*, i8*, i8*)* null, void (i8*, i8*, i8*, i32)* @salsa20_encrypt_stream, void (i8*, i8*, i8*, i32)* @salsa20_encrypt_stream, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* @salsa20_setiv }, align 4
@.str11466 = private unnamed_addr constant [11 x i8] c"SALSA20R12\00", align 1
@_gcry_cipher_spec_salsa20r12 = internal hidden global %struct.gcry_cipher_spec { i32 314, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([11 x i8]* @.str11466, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 1, i32 256, i32 132, i32 (i8*, i8*, i32)* @salsa20_setkey, i32 (i8*, i8*, i8*)* null, i32 (i8*, i8*, i8*)* null, void (i8*, i8*, i8*, i32)* @salsa20r12_encrypt_stream, void (i8*, i8*, i8*, i32)* @salsa20r12_encrypt_stream, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* @salsa20_setiv }, align 4
@.str21469 = private unnamed_addr constant [17 x i8] c"ctx->unused < 64\00", align 1
@.str31470 = private unnamed_addr constant [10 x i8] c"salsa20.c\00", align 1
@__FUNCTION__.salsa20_do_encrypt_stream = private unnamed_addr constant [26 x i8] c"salsa20_do_encrypt_stream\00", align 1
@.str41471 = private unnamed_addr constant [13 x i8] c"!ctx->unused\00", align 1
@.str51472 = private unnamed_addr constant [38 x i8] c"WARNING: salsa20_setiv: bad ivlen=%u\0A\00", align 1
@salsa20_do_setkey.initialized = internal global i32 0, align 4
@salsa20_do_setkey.selftest_failed = internal global i8* null, align 4
@.str61473 = private unnamed_addr constant [30 x i8] c"SALSA20 selftest failed (%s)\0A\00", align 1
@selftest.key_11474 = internal global [32 x i8] c"\80\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", align 1
@selftest.nonce_1 = internal constant [8 x i8] zeroinitializer, align 1
@selftest.plaintext_11475 = internal constant [8 x i8] zeroinitializer, align 1
@selftest.ciphertext_11476 = internal constant [8 x i8] c"\E3\BE\8F\DD\8B\EC\A2\E3", align 1
@.str71477 = private unnamed_addr constant [34 x i8] c"Salsa20 encryption test 1 failed.\00", align 1
@.str81478 = private unnamed_addr constant [24 x i8] c"Salsa20 wrote too much.\00", align 1
@.str91479 = private unnamed_addr constant [34 x i8] c"Salsa20 decryption test 1 failed.\00", align 1
@.str1489 = private unnamed_addr constant [5 x i8] c"SEED\00", align 1
@seed_oids = internal global [5 x %struct.gcry_cipher_oid_spec] [%struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([19 x i8]* @.str41500, i32 0, i32 0), i32 1 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([19 x i8]* @.str51501, i32 0, i32 0), i32 3 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([19 x i8]* @.str61502, i32 0, i32 0), i32 2 }, %struct.gcry_cipher_oid_spec { i8* getelementptr inbounds ([19 x i8]* @.str71503, i32 0, i32 0), i32 5 }, %struct.gcry_cipher_oid_spec zeroinitializer], align 4
@_gcry_cipher_spec_seed = internal hidden global %struct.gcry_cipher_spec { i32 309, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([5 x i8]* @.str1489, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* getelementptr inbounds ([5 x %struct.gcry_cipher_oid_spec]* @seed_oids, i32 0, i32 0), i32 16, i32 128, i32 128, i32 (i8*, i8*, i32)* @seed_setkey, i32 (i8*, i8*, i8*)* @seed_encrypt, i32 (i8*, i8*, i8*)* @seed_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@SS0 = internal constant [256 x i32] [i32 696885672, i32 92635524, i32 382128852, i32 331600848, i32 340021332, i32 487395612, i32 747413676, i32 621093156, i32 491606364, i32 54739776, i32 403181592, i32 504238620, i32 289493328, i32 1020063996, i32 181060296, i32 591618912, i32 671621160, i32 71581764, i32 536879136, i32 495817116, i32 549511392, i32 583197408, i32 147374280, i32 386339604, i32 629514660, i32 261063564, i32 50529024, i32 994800504, i32 999011256, i32 318968592, i32 314757840, i32 785310444, i32 809529456, i32 210534540, i32 1057960764, i32 680042664, i32 839004720, i32 500027868, i32 919007988, i32 876900468, i32 751624428, i32 361075092, i32 185271048, i32 390550356, i32 474763356, i32 457921368, i32 1032696252, i32 16843008, i32 604250148, i32 470552604, i32 860058480, i32 411603096, i32 268439568, i32 214745292, i32 851636976, i32 432656856, i32 738992172, i32 667411428, i32 843215472, i32 58950528, i32 462132120, i32 297914832, i32 109478532, i32 164217288, i32 541089888, i32 272650320, i32 595829664, i32 734782440, i32 218956044, i32 914797236, i32 512660124, i32 256852812, i32 931640244, i32 441078360, i32 113689284, i32 944271480, i32 646357668, i32 302125584, i32 797942700, i32 365285844, i32 557932896, i32 63161280, i32 881111220, i32 21053760, i32 306336336, i32 1028485500, i32 227377548, i32 134742024, i32 521081628, i32 428446104, i32 0, i32 420024600, i32 67371012, i32 323179344, i32 935850996, i32 566354400, i32 1036907004, i32 910586484, i32 789521196, i32 654779172, i32 813740208, i32 193692552, i32 235799052, i32 730571688, i32 578986656, i32 776888940, i32 327390096, i32 223166796, i32 692674920, i32 1011642492, i32 151585032, i32 168428040, i32 1066382268, i32 802153452, i32 868479984, i32 96846276, i32 126321540, i32 335810580, i32 1053750012, i32 608460900, i32 516870876, i32 772678188, i32 189481800, i32 436867608, i32 101057028, i32 553722144, i32 726360936, i32 642146916, i32 33686016, i32 902164980, i32 310547088, i32 176849544, i32 202113036, i32 864269232, i32 1045328508, i32 281071824, i32 977957496, i32 122110788, i32 377918100, i32 633725412, i32 637936164, i32 8421504, i32 764256684, i32 533713884, i32 562143648, i32 805318704, i32 923218740, i32 781099692, i32 906375732, i32 352653588, i32 570565152, i32 940060728, i32 885321972, i32 663200676, i32 88424772, i32 206323788, i32 25264512, i32 701096424, i32 75792516, i32 394761108, i32 889532724, i32 197903304, i32 248431308, i32 1007431740, i32 826372464, i32 285282576, i32 130532292, i32 160006536, i32 893743476, i32 1003222008, i32 449499864, i32 952692984, i32 344232084, i32 424235352, i32 42107520, i32 80003268, i32 1070593020, i32 155795784, i32 956903736, i32 658989924, i32 12632256, i32 265274316, i32 398971860, i32 948482232, i32 252642060, i32 244220556, i32 37896768, i32 587408160, i32 293704080, i32 743202924, i32 466342872, i32 612671652, i32 872689716, i32 834793968, i32 138952776, i32 46318272, i32 793731948, i32 1024274748, i32 755835180, i32 4210752, i32 1049539260, i32 1041117756, i32 1015853244, i32 29475264, i32 713728680, i32 982168248, i32 240009804, i32 356864340, i32 990589752, i32 483184860, i32 675831912, i32 1062171516, i32 478974108, i32 415813848, i32 172638792, i32 373707348, i32 927429492, i32 545300640, i32 768467436, i32 105267780, i32 897954228, i32 722150184, i32 625303908, i32 986379000, i32 600040416, i32 965325240, i32 830583216, i32 529503132, i32 508449372, i32 969535992, i32 650568420, i32 847426224, i32 822161712, i32 717939432, i32 760045932, i32 525292380, i32 616882404, i32 817950960, i32 231588300, i32 143163528, i32 369496596, i32 973746744, i32 407392344, i32 348442836, i32 574775904, i32 688464168, i32 117900036, i32 855847728, i32 684253416, i32 453710616, i32 84214020, i32 961114488, i32 276861072, i32 709517928, i32 705307176, i32 445289112], align 4
@SS1 = internal constant [256 x i32] [i32 943196208, i32 -399980320, i32 741149985, i32 -1540979038, i32 -871379005, i32 -601960750, i32 -1338801229, i32 -1204254544, i32 -1406169181, i32 1612726368, i32 1410680145, i32 -1006123069, i32 1141130304, i32 1815039843, i32 1747667811, i32 1478183763, i32 -1073495101, i32 1612857954, i32 808649523, i32 -1271560783, i32 673777953, i32 -1608482656, i32 -534592798, i32 -1540913245, i32 -804011053, i32 -1877900911, i32 269549841, i32 67503618, i32 471600144, i32 -1136882512, i32 875955762, i32 1208699715, i32 -332410909, i32 -2012706688, i32 1814842464, i32 -1473738592, i32 337053459, i32 -1006320448, i32 336987666, i32 -197868304, i32 -1073560894, i32 1141196097, i32 -534658591, i32 -736704814, i32 1010765619, i32 1010634033, i32 -1945203070, i32 -1743222640, i32 673712160, i32 1276005954, i32 -197736718, i32 1010699826, i32 -1541044831, i32 -130430479, i32 202181889, i32 -601894957, i32 -669464368, i32 673909539, i32 1680229986, i32 2017086066, i32 606537507, i32 741281571, i32 -265174543, i32 1882342002, i32 1073889858, i32 -736836400, i32 1073824065, i32 -1073692480, i32 1882407795, i32 1680295779, i32 -1406366560, i32 -2012509309, i32 -197670925, i32 -1406300767, i32 -2147450752, i32 471797523, i32 -938816830, i32 741084192, i32 -1473607006, i32 875824176, i32 -804076846, i32 134941443, i32 -332476702, i32 -399914527, i32 1545424209, i32 -1810594672, i32 404228112, i32 -130496272, i32 1410811731, i32 -1406234974, i32 134744064, i32 -1006254655, i32 269681427, i32 -871510591, i32 -2079947134, i32 -1204188751, i32 -62926861, i32 2084392305, i32 -1073626687, i32 808517937, i32 -197802511, i32 -2012575102, i32 1747602018, i32 -1338932815, i32 -804142639, i32 538968096, i32 -736639021, i32 131586, i32 539099682, i32 67372032, i32 1747470432, i32 1882276209, i32 67569411, i32 -669266989, i32 -1675784815, i32 -1743156847, i32 1612792161, i32 -1136750926, i32 -467220766, i32 1478052177, i32 -602026543, i32 1343308113, i32 -1877966704, i32 -602092336, i32 -1743091054, i32 -1608285277, i32 -1473541213, i32 -804208432, i32 -2147384959, i32 202313475, i32 1141327683, i32 404359698, i32 -534527005, i32 -332608288, i32 -1945268863, i32 -1136685133, i32 -1810463086, i32 2017151859, i32 1545358416, i32 -1608351070, i32 -1608416863, i32 1612923747, i32 539165475, i32 1275940161, i32 -938948416, i32 -1675719022, i32 -1675850608, i32 943327794, i32 202116096, i32 741215778, i32 -1204122958, i32 1814974050, i32 -1675653229, i32 1478117970, i32 -265108750, i32 -1877835118, i32 -265042957, i32 1208568129, i32 2016954480, i32 -871576384, i32 336921873, i32 -130298893, i32 1882210416, i32 1949648241, i32 2084523891, i32 875889969, i32 269484048, i32 197379, i32 1680098400, i32 1814908257, i32 -1006188862, i32 1949582448, i32 -736770607, i32 -1271626576, i32 -399848734, i32 134809857, i32 1949714034, i32 404293905, i32 -62992654, i32 1073758272, i32 269615634, i32 -534724384, i32 -1136816719, i32 67437825, i32 -130364686, i32 65793, i32 -265240336, i32 673843746, i32 1545490002, i32 -1473672799, i32 1410745938, i32 1073955651, i32 -2080012927, i32 336856080, i32 -2012640895, i32 -1743025261, i32 -1338998608, i32 -467286559, i32 1208502336, i32 2017020273, i32 -1810397293, i32 -63124240, i32 471731730, i32 -2147319166, i32 539033889, i32 -1945334656, i32 404425491, i32 1545555795, i32 1949779827, i32 1410614352, i32 -1338867022, i32 471665937, i32 606405921, i32 1276071747, i32 0, i32 1141261890, i32 -332542495, i32 1477986384, i32 1343373906, i32 -399782941, i32 2084458098, i32 -669332782, i32 -938882623, i32 -63058447, i32 808452144, i32 -1810528879, i32 1680164193, i32 1010568240, i32 -1271494990, i32 -467352352, i32 -1204057165, i32 2084326512, i32 202247682, i32 1343242320, i32 943262001, i32 606471714, i32 808583730, i32 -2080078720, i32 1747536225, i32 -1877769325, i32 876021555, i32 -467154973, i32 606340128, i32 -1541110624, i32 -938751037, i32 1343439699, i32 134875650, i32 -2079881341, i32 -669398575, i32 1275874368, i32 -2147253373, i32 -1945137277, i32 -871444798, i32 943393587, i32 1208633922, i32 -1271429197], align 4
@SS2 = internal constant [256 x i32] [i32 -1582814839, i32 -2122054267, i32 -757852474, i32 -741338173, i32 1347687492, i32 287055117, i32 -1599329140, i32 556016901, i32 1364991309, i32 1128268611, i32 270014472, i32 303832590, i32 1364201793, i32 -251904820, i32 -1027077430, i32 1667244867, i32 539502600, i32 1078199364, i32 538976256, i32 -1852039795, i32 -522182464, i32 -488627518, i32 -1060632376, i32 320083719, i32 -1583078011, i32 -2087972977, i32 50332419, i32 1937259339, i32 -1279771765, i32 319820547, i32 -758115646, i32 -487838002, i32 1886400576, i32 -2138305396, i32 859586319, i32 -1599592312, i32 842019330, i32 -774103603, i32 -218876218, i32 1886663748, i32 -521392948, i32 -1852566139, i32 50858763, i32 1398019911, i32 1348213836, i32 1398283083, i32 -1313063539, i32 16777473, i32 539239428, i32 270277644, i32 1936732995, i32 -1869080440, i32 269488128, i32 -1060369204, i32 -219139390, i32 -774366775, i32 539765772, i32 -471586873, i32 1919955522, i32 -2088762493, i32 -1818748021, i32 -774893119, i32 -2105276794, i32 -1043854903, i32 1616912448, i32 1347424320, i32 -1549786237, i32 -471323701, i32 17566989, i32 -1296812410, i32 -1835262322, i32 1129058127, i32 -1280034937, i32 1381505610, i32 -1027340602, i32 1886926920, i32 -1566300538, i32 303043074, i32 -1548996721, i32 -774629947, i32 1633689921, i32 -1010826301, i32 -1330367356, i32 1094713665, i32 1380979266, i32 1903967565, i32 -2121527923, i32 526344, i32 320610063, i32 -1852302967, i32 0, i32 286791945, i32 263172, i32 1397756739, i32 -202098745, i32 -505404991, i32 -235127347, i32 1920218694, i32 590098191, i32 589571847, i32 -1330630528, i32 -2088236149, i32 34344462, i32 -1549259893, i32 -1566563710, i32 1651256910, i32 -1819274365, i32 1095503181, i32 1634216265, i32 1887190092, i32 17303817, i32 34081290, i32 -1279508593, i32 -471060529, i32 -202361917, i32 -1044118075, i32 -2088499321, i32 269751300, i32 -218349874, i32 1617175620, i32 -757326130, i32 573320718, i32 1128794955, i32 303569418, i32 33818118, i32 555753729, i32 1667771211, i32 1650730566, i32 33554946, i32 -235653691, i32 -1836051838, i32 -2105013622, i32 789516, i32 -1280298109, i32 1920745038, i32 -791670592, i32 1920481866, i32 1128531783, i32 -1835788666, i32 -505141819, i32 572794374, i32 -2139094912, i32 -1582551667, i32 -740548657, i32 -1583341183, i32 808464384, i32 859059975, i32 -1565774194, i32 842282502, i32 286528773, i32 572531202, i32 808990728, i32 -252431164, i32 -1549523065, i32 1094976837, i32 1078725708, i32 -2122317439, i32 -504878647, i32 -2138831740, i32 -1819011193, i32 825505029, i32 -1010299957, i32 -1026814258, i32 809253900, i32 1903178049, i32 286265601, i32 -1010563129, i32 -2121791095, i32 1903441221, i32 -201835573, i32 -757589302, i32 -252167992, i32 -1869343612, i32 1364728137, i32 -2105539966, i32 -1060895548, i32 -201572401, i32 1095240009, i32 825768201, i32 1667508039, i32 -1061158720, i32 -1010036785, i32 -741075001, i32 -1330104184, i32 51121935, i32 -2104750450, i32 1111491138, i32 589308675, i32 -1852829311, i32 1617701964, i32 -740811829, i32 -1599855484, i32 808727556, i32 -235916863, i32 1078462536, i32 -1027603774, i32 1668034383, i32 826031373, i32 556543245, i32 1077936192, i32 -1296286066, i32 842808846, i32 -1329841012, i32 -1044381247, i32 -1566037366, i32 -1296549238, i32 1112280654, i32 1364464965, i32 859323147, i32 -790881076, i32 1617438792, i32 1937522511, i32 -1868817268, i32 -791144248, i32 1112017482, i32 1381242438, i32 1936996167, i32 -1600118656, i32 -504615475, i32 1111754310, i32 -1313589883, i32 589835019, i32 1633953093, i32 -218613046, i32 -471850045, i32 -1313326711, i32 -1313853055, i32 -1818484849, i32 1381768782, i32 -235390519, i32 -488364346, i32 -1297075582, i32 825241857, i32 -488101174, i32 1634479437, i32 1398546255, i32 -521919292, i32 -252694336, i32 -1043591731, i32 -2138568568, i32 303306246, i32 842545674, i32 1347950664, i32 -791407420, i32 1650467394, i32 556280073, i32 50595591, i32 858796803, i32 -521656120, i32 320346891, i32 17040645, i32 1903704393, i32 -1869606784, i32 1650993738, i32 573057546, i32 -1835525494], align 4
@SS3 = internal constant [256 x i32] [i32 137377848, i32 -924784600, i32 220277805, i32 -2036161498, i32 -809251825, i32 -825041890, i32 -2085375949, i32 -2001684424, i32 -1885098961, i32 1080057888, i32 1162957845, i32 -943471609, i32 1145062404, i32 1331915823, i32 1264805931, i32 1263753243, i32 -1010581501, i32 1113743394, i32 53686323, i32 -2051951563, i32 153167913, i32 -2136956896, i32 -1025318878, i32 -2019318745, i32 -1009528813, i32 -2121166831, i32 17895441, i32 100795398, i32 202382364, i32 -1934574532, i32 103953462, i32 1262700555, i32 -807146449, i32 -2004842488, i32 1281387564, i32 -2002737112, i32 118690839, i32 -993999868, i32 101848086, i32 -990841804, i32 -1027424254, i32 1161905157, i32 -1042161631, i32 -959261674, i32 255015999, i32 221330493, i32 -1904047090, i32 -2003789800, i32 136325160, i32 1312967694, i32 -957156298, i32 238173246, i32 -2053004251, i32 -906889159, i32 218172429, i32 -808199137, i32 -925837288, i32 186853419, i32 1180853286, i32 1249015866, i32 119743527, i32 253963311, i32 -1041108943, i32 1114796082, i32 1111638018, i32 -992947180, i32 1094795265, i32 -1061109760, i32 1131638835, i32 1197696039, i32 -1935627220, i32 -1954314229, i32 -940313545, i32 -1918784467, i32 -2139062272, i32 252910623, i32 -893204470, i32 203435052, i32 -1969051606, i32 70267956, i32 -1026371566, i32 184748043, i32 -823989202, i32 -907941847, i32 1297177629, i32 -2070899692, i32 135272472, i32 -923731912, i32 1196643351, i32 -1901941714, i32 134219784, i32 -977157115, i32 51580947, i32 -842937331, i32 -2038266874, i32 -1984841671, i32 -806093761, i32 1299283005, i32 -1044267007, i32 20000817, i32 -973999051, i32 -1971156982, i32 1247963178, i32 -2119061455, i32 -1043214319, i32 2105376, i32 -942418921, i32 33685506, i32 35790882, i32 67109892, i32 1214277672, i32 1097953329, i32 117638151, i32 -875309029, i32 -1919837155, i32 -1986947047, i32 1096900641, i32 -1900889026, i32 -958208986, i32 1230067737, i32 -841884643, i32 1095847953, i32 -2138009584, i32 -858727396, i32 -1970104294, i32 -2086428637, i32 -1952208853, i32 -1060057072, i32 -2122219519, i32 251857935, i32 1195590663, i32 168957978, i32 -1008476125, i32 -857674708, i32 -1920889843, i32 -1884046273, i32 -2037214186, i32 1265858619, i32 1280334876, i32 -2103271390, i32 -2120114143, i32 1130586147, i32 52633635, i32 1296124941, i32 -926889976, i32 -1902994402, i32 -1936679908, i32 171063354, i32 201329676, i32 237120558, i32 -1967998918, i32 1315073070, i32 -1886151649, i32 1246910490, i32 -1024266190, i32 -2104324078, i32 -1007423437, i32 1229015049, i32 1215330360, i32 -859780084, i32 85005333, i32 -873203653, i32 1081110576, i32 1165063221, i32 1332968511, i32 87110709, i32 1052688, i32 50528259, i32 1147167780, i32 1298230317, i32 -960314362, i32 1148220468, i32 -976104427, i32 -2068794316, i32 -891099094, i32 151062537, i32 1181905974, i32 152115225, i32 -822936514, i32 1077952512, i32 34738194, i32 -1059004384, i32 -1917731779, i32 83952645, i32 -890046406, i32 16842753, i32 -1057951696, i32 170010666, i32 1314020382, i32 -1985894359, i32 1179800598, i32 1128480771, i32 -2055109627, i32 68162580, i32 -1987999735, i32 -1953261541, i32 -2135904208, i32 -975051739, i32 1212172296, i32 1232173113, i32 -2020371433, i32 -856622020, i32 236067870, i32 -2105376766, i32 18948129, i32 -1937732596, i32 185800731, i32 1330863135, i32 1198748727, i32 1146115092, i32 -2102218702, i32 219225117, i32 86058021, i32 1329810447, i32 0, i32 1178747910, i32 -840831955, i32 1213224984, i32 1112690706, i32 -874256341, i32 1316125758, i32 -892151782, i32 -910047223, i32 -839779267, i32 3158064, i32 -2054056939, i32 1164010533, i32 204487740, i32 -2035108810, i32 -991894492, i32 -1951156165, i32 1282440252, i32 235015182, i32 1079005200, i32 154220601, i32 102900774, i32 36843570, i32 -2071952380, i32 1231120425, i32 -2087481325, i32 120796215, i32 -941366233, i32 69215268, i32 -2069847004, i32 -876361717, i32 1129533459, i32 167905290, i32 -2021424121, i32 -908994535, i32 1279282188, i32 -2088534013, i32 -1887204337, i32 -826094578, i32 187906107, i32 1245857802, i32 -2018266057], align 4
@do_setkey.initialized1492 = internal global i32 0, align 4
@do_setkey.selftest_failed1493 = internal global i8* null, align 4
@.str11495 = private unnamed_addr constant [4 x i8] c"%s\0A\00", align 1
@KC = internal constant [16 x i32] [i32 -1640531527, i32 1013904243, i32 2027808486, i32 -239350324, i32 -478700647, i32 -957401293, i32 -1914802585, i32 465362127, i32 930724254, i32 1861448508, i32 -572070280, i32 -1144140559, i32 2006686179, i32 -281594938, i32 -563189875, i32 -1126379749], align 4
@selftest.plaintext1496 = internal constant [16 x i8] c"\83\A2\F8\A2\88d\1F\B9\A4\E9\A5\CC/\13\1C}", align 1
@selftest.key1497 = internal constant [16 x i8] c"G\06H\08Q\E6\1B\E8]t\BF\B3\FD\95a\85", align 1
@selftest.ciphertext = internal constant [16 x i8] c"\EET\D1>\BC\AEpm\22k\C3\14,\D4\0DJ", align 1
@.str21498 = private unnamed_addr constant [29 x i8] c"SEED test encryption failed.\00", align 1
@.str31499 = private unnamed_addr constant [29 x i8] c"SEED test decryption failed.\00", align 1
@.str41500 = private unnamed_addr constant [19 x i8] c"1.2.410.200004.1.3\00", align 1
@.str51501 = private unnamed_addr constant [19 x i8] c"1.2.410.200004.1.4\00", align 1
@.str61502 = private unnamed_addr constant [19 x i8] c"1.2.410.200004.1.5\00", align 1
@.str71503 = private unnamed_addr constant [19 x i8] c"1.2.410.200004.1.6\00", align 1
@.str1510 = private unnamed_addr constant [11 x i8] c"SERPENT128\00", align 1
@cipher_spec_serpent128_aliases = internal global [2 x i8*] [i8* getelementptr inbounds ([8 x i8]* @.str101526, i32 0, i32 0), i8* null], align 4
@_gcry_cipher_spec_serpent128 = internal hidden global %struct.gcry_cipher_spec { i32 304, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([11 x i8]* @.str1510, i32 0, i32 0), i8** getelementptr inbounds ([2 x i8*]* @cipher_spec_serpent128_aliases, i32 0, i32 0), %struct.gcry_cipher_oid_spec* null, i32 16, i32 128, i32 528, i32 (i8*, i8*, i32)* @serpent_setkey, i32 (i8*, i8*, i8*)* @serpent_encrypt, i32 (i8*, i8*, i8*)* @serpent_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str11513 = private unnamed_addr constant [11 x i8] c"SERPENT192\00", align 1
@_gcry_cipher_spec_serpent192 = internal hidden global %struct.gcry_cipher_spec { i32 305, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([11 x i8]* @.str11513, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 16, i32 192, i32 528, i32 (i8*, i8*, i32)* @serpent_setkey, i32 (i8*, i8*, i8*)* @serpent_encrypt, i32 (i8*, i8*, i8*)* @serpent_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str21516 = private unnamed_addr constant [11 x i8] c"SERPENT256\00", align 1
@_gcry_cipher_spec_serpent256 = internal hidden global %struct.gcry_cipher_spec { i32 306, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([11 x i8]* @.str21516, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 16, i32 256, i32 528, i32 (i8*, i8*, i32)* @serpent_setkey, i32 (i8*, i8*, i8*)* @serpent_encrypt, i32 (i8*, i8*, i8*)* @serpent_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@serpent_setkey.serpent_test_ret = internal global i8* null, align 4
@serpent_setkey.serpent_init_done = internal global i32 0, align 4
@.str31519 = private unnamed_addr constant [26 x i8] c"Serpent test failure: %s\0A\00", align 1
@serpent_test.test_data = internal global [5 x %struct.test] [%struct.test { i32 16, [32 x i8] zeroinitializer, [16 x i8] c"\D2\9DWo\CE\A3\A3\A7\ED\90\99\F2\92s\D7\8E", [16 x i8] c"\B2(\8B\96\8A\E8\B0\86H\D1\CE\96\06\FD\99-" }, %struct.test { i32 24, [32 x i8] zeroinitializer, [16 x i8] c"\D2\9DWo\CE\AB\A3\A7\ED\98\99\F2\92{\D7\8E", [16 x i8] c"\13\0E5>\107\C2$\05\E8\FA\EF\B2\C3\C3\E9" }, %struct.test { i32 32, [32 x i8] zeroinitializer, [16 x i8] c"\D0\95Wo\CE\A3\E3\A7\ED\98\D9\F2\90s\D7\8E", [16 x i8] c"\B9\0E\E5\86-\E6\91h\F2\BD\D5\12[EG+" }, %struct.test { i32 32, [32 x i8] zeroinitializer, [16 x i8] c"\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00", [16 x i8] c" a\A4'\82\BDR\ECi\1E\C3\83\B0;\A7|" }, %struct.test zeroinitializer], align 4
@.str41520 = private unnamed_addr constant [36 x i8] c"Serpent-128 test encryption failed.\00", align 1
@.str51521 = private unnamed_addr constant [36 x i8] c"Serpent-192 test encryption failed.\00", align 1
@.str61522 = private unnamed_addr constant [36 x i8] c"Serpent-256 test encryption failed.\00", align 1
@.str71523 = private unnamed_addr constant [36 x i8] c"Serpent-128 test decryption failed.\00", align 1
@.str81524 = private unnamed_addr constant [36 x i8] c"Serpent-192 test decryption failed.\00", align 1
@.str91525 = private unnamed_addr constant [36 x i8] c"Serpent-256 test decryption failed.\00", align 1
@.str101526 = private unnamed_addr constant [8 x i8] c"SERPENT\00", align 1
@.str1543 = private unnamed_addr constant [5 x i8] c"SHA1\00", align 1
@asn1544 = internal global [15 x i8] c"0!0\09\06\05+\0E\03\02\1A\05\00\04\14", align 1
@oid_spec_sha1 = internal global [6 x %struct.gcry_md_oid_spec] [%struct.gcry_md_oid_spec { i8* getelementptr inbounds ([21 x i8]* @.str101556, i32 0, i32 0) }, %struct.gcry_md_oid_spec { i8* getelementptr inbounds ([18 x i8]* @.str111557, i32 0, i32 0) }, %struct.gcry_md_oid_spec { i8* getelementptr inbounds ([14 x i8]* @.str121558, i32 0, i32 0) }, %struct.gcry_md_oid_spec { i8* getelementptr inbounds ([14 x i8]* @.str131559, i32 0, i32 0) }, %struct.gcry_md_oid_spec { i8* getelementptr inbounds ([18 x i8]* @.str141560, i32 0, i32 0) }, %struct.gcry_md_oid_spec zeroinitializer], align 4
@_gcry_digest_spec_sha1 = internal hidden global %struct.gcry_md_spec { i32 2, %struct.anon.98 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([5 x i8]* @.str1543, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8]* @asn1544, i32 0, i32 0), i32 15, %struct.gcry_md_oid_spec* getelementptr inbounds ([6 x %struct.gcry_md_oid_spec]* @oid_spec_sha1, i32 0, i32 0), i32 20, void (i8*)* @sha1_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @sha1_final, i8* (i8*)* @sha1_read, i32 164, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests1565 }, align 4
@.str11547 = private unnamed_addr constant [13 x i8] c"short string\00", align 1
@.str21548 = private unnamed_addr constant [4 x i8] c"abc\00", align 1
@.str31549 = private unnamed_addr constant [21 x i8] c"\A9\99>6G\06\81j\BA>%qxP\C2l\9C\D0\D8\9D\00", align 1
@.str41550 = private unnamed_addr constant [12 x i8] c"long string\00", align 1
@.str51551 = private unnamed_addr constant [57 x i8] c"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq\00", align 1
@.str61552 = private unnamed_addr constant [21 x i8] c"\84\98>D\1C;\D2n\BA\AEJ\A1\F9Q)\E5\E5Fp\F1\00", align 1
@.str71553 = private unnamed_addr constant [16 x i8] c"one million \22a\22\00", align 1
@.str81554 = private unnamed_addr constant [21 x i8] c"4\AA\97<\D4\C4\DA\A4\F6\1E\EB+\DB\AD'1e4\01o\00", align 1
@.str91555 = private unnamed_addr constant [7 x i8] c"digest\00", align 1
@.str101556 = private unnamed_addr constant [21 x i8] c"1.2.840.113549.1.1.5\00", align 1
@.str111557 = private unnamed_addr constant [18 x i8] c"1.2.840.10040.4.3\00", align 1
@.str121558 = private unnamed_addr constant [14 x i8] c"1.3.14.3.2.26\00", align 1
@.str131559 = private unnamed_addr constant [14 x i8] c"1.3.14.3.2.29\00", align 1
@.str141560 = private unnamed_addr constant [18 x i8] c"1.2.840.10045.4.1\00", align 1
@.str1571 = private unnamed_addr constant [7 x i8] c"SHA224\00", align 1
@asn224 = internal global [19 x i8] c"0-0\0D\06\09`\86H\01e\03\04\02\04\05\00\04\1C", align 1
@oid_spec_sha224 = internal global [2 x %struct.gcry_md_oid_spec] [%struct.gcry_md_oid_spec { i8* getelementptr inbounds ([23 x i8]* @.str161592, i32 0, i32 0) }, %struct.gcry_md_oid_spec zeroinitializer], align 4
@_gcry_digest_spec_sha224 = internal hidden global %struct.gcry_md_spec { i32 11, %struct.anon.98 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([7 x i8]* @.str1571, i32 0, i32 0), i8* getelementptr inbounds ([19 x i8]* @asn224, i32 0, i32 0), i32 19, %struct.gcry_md_oid_spec* getelementptr inbounds ([2 x %struct.gcry_md_oid_spec]* @oid_spec_sha224, i32 0, i32 0), i32 28, void (i8*)* @sha224_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @sha256_final, i8* (i8*)* @sha256_read, i32 176, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests1593 }, align 4
@.str11574 = private unnamed_addr constant [7 x i8] c"SHA256\00", align 1
@asn256 = internal global [19 x i8] c"010\0D\06\09`\86H\01e\03\04\02\01\05\00\04 ", align 1
@oid_spec_sha256 = internal global [3 x %struct.gcry_md_oid_spec] [%struct.gcry_md_oid_spec { i8* getelementptr inbounds ([23 x i8]* @.str21578, i32 0, i32 0) }, %struct.gcry_md_oid_spec { i8* getelementptr inbounds ([22 x i8]* @.str31579, i32 0, i32 0) }, %struct.gcry_md_oid_spec zeroinitializer], align 4
@_gcry_digest_spec_sha256 = internal hidden global %struct.gcry_md_spec { i32 8, %struct.anon.98 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([7 x i8]* @.str11574, i32 0, i32 0), i8* getelementptr inbounds ([19 x i8]* @asn256, i32 0, i32 0), i32 19, %struct.gcry_md_oid_spec* getelementptr inbounds ([3 x %struct.gcry_md_oid_spec]* @oid_spec_sha256, i32 0, i32 0), i32 32, void (i8*)* @sha256_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @sha256_final, i8* (i8*)* @sha256_read, i32 176, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests1593 }, align 4
@transform.K1577 = internal constant [64 x i32] [i32 1116352408, i32 1899447441, i32 -1245643825, i32 -373957723, i32 961987163, i32 1508970993, i32 -1841331548, i32 -1424204075, i32 -670586216, i32 310598401, i32 607225278, i32 1426881987, i32 1925078388, i32 -2132889090, i32 -1680079193, i32 -1046744716, i32 -459576895, i32 -272742522, i32 264347078, i32 604807628, i32 770255983, i32 1249150122, i32 1555081692, i32 1996064986, i32 -1740746414, i32 -1473132947, i32 -1341970488, i32 -1084653625, i32 -958395405, i32 -710438585, i32 113926993, i32 338241895, i32 666307205, i32 773529912, i32 1294757372, i32 1396182291, i32 1695183700, i32 1986661051, i32 -2117940946, i32 -1838011259, i32 -1564481375, i32 -1474664885, i32 -1035236496, i32 -949202525, i32 -778901479, i32 -694614492, i32 -200395387, i32 275423344, i32 430227734, i32 506948616, i32 659060556, i32 883997877, i32 958139571, i32 1322822218, i32 1537002063, i32 1747873779, i32 1955562222, i32 2024104815, i32 -2067236844, i32 -1933114872, i32 -1866530822, i32 -1538233109, i32 -1090935817, i32 -965641998], align 4
@.str21578 = private unnamed_addr constant [23 x i8] c"2.16.840.1.101.3.4.2.1\00", align 1
@.str31579 = private unnamed_addr constant [22 x i8] c"1.2.840.113549.1.1.11\00", align 1
@.str41580 = private unnamed_addr constant [13 x i8] c"short string\00", align 1
@.str51581 = private unnamed_addr constant [4 x i8] c"abc\00", align 1
@.str61582 = private unnamed_addr constant [33 x i8] c"\BAx\16\BF\8F\01\CF\EAAA@\DE]\AE\22#\B0\03a\A3\96\17z\9C\B4\10\FFa\F2\00\15\AD\00", align 1
@.str71583 = private unnamed_addr constant [12 x i8] c"long string\00", align 1
@.str81584 = private unnamed_addr constant [57 x i8] c"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq\00", align 1
@.str91585 = private unnamed_addr constant [33 x i8] c"$\8Dja\D2\068\B8\E5\C0&\93\0C>`9\A3<\E4Yd\FF!g\F6\EC\ED\D4\19\DB\06\C1\00", align 1
@.str101586 = private unnamed_addr constant [16 x i8] c"one million \22a\22\00", align 1
@.str111587 = private unnamed_addr constant [33 x i8] c"\CD\C7n\5C\99\14\FB\92\81\A1\C7\E2\84\D7>g\F1\80\9AH\A4\97 \0E\04m9\CC\C7\11,\D0\00", align 1
@.str121588 = private unnamed_addr constant [7 x i8] c"digest\00", align 1
@.str131589 = private unnamed_addr constant [29 x i8] c"#\09}\224\05\D8\22\86B\A4w\BD\A2U\B3*\AD\BC\E4\BD\A0\B3\F7\E3l\9D\A7\00", align 1
@.str141590 = private unnamed_addr constant [29 x i8] c"u8\8B\16Q'v\CC]\BA]\A1\FD\89\01P\B0\C6E\5C\B4\F5\8B\19RR%%\00", align 1
@.str151591 = private unnamed_addr constant [29 x i8] c" yFU\98\0C\91\D8\BB\B4\C1\EA\97a\8AK\F0?BX\19H\B2\EEN\E7\ADg\00", align 1
@.str161592 = private unnamed_addr constant [23 x i8] c"2.16.840.1.101.3.4.2.4\00", align 1
@.str1600 = private unnamed_addr constant [7 x i8] c"SHA512\00", align 1
@sha512_asn = internal global [19 x i8] c"0Q0\0D\06\09`\86H\01e\03\04\02\03\05\00\04@", align 1
@oid_spec_sha512 = internal global [3 x %struct.gcry_md_oid_spec] [%struct.gcry_md_oid_spec { i8* getelementptr inbounds ([23 x i8]* @.str161620, i32 0, i32 0) }, %struct.gcry_md_oid_spec { i8* getelementptr inbounds ([22 x i8]* @.str171621, i32 0, i32 0) }, %struct.gcry_md_oid_spec zeroinitializer], align 4
@_gcry_digest_spec_sha512 = internal hidden global %struct.gcry_md_spec { i32 10, %struct.anon.98 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([7 x i8]* @.str1600, i32 0, i32 0), i8* getelementptr inbounds ([19 x i8]* @sha512_asn, i32 0, i32 0), i32 19, %struct.gcry_md_oid_spec* getelementptr inbounds ([3 x %struct.gcry_md_oid_spec]* @oid_spec_sha512, i32 0, i32 0), i32 64, void (i8*)* @sha512_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @sha512_final, i8* (i8*)* @sha512_read, i32 176, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests1622 }, align 4
@.str11603 = private unnamed_addr constant [7 x i8] c"SHA384\00", align 1
@sha384_asn = internal global [19 x i8] c"0A0\0D\06\09`\86H\01e\03\04\02\02\05\00\040", align 1
@oid_spec_sha384 = internal global [3 x %struct.gcry_md_oid_spec] [%struct.gcry_md_oid_spec { i8* getelementptr inbounds ([23 x i8]* @.str21606, i32 0, i32 0) }, %struct.gcry_md_oid_spec { i8* getelementptr inbounds ([22 x i8]* @.str31607, i32 0, i32 0) }, %struct.gcry_md_oid_spec zeroinitializer], align 4
@_gcry_digest_spec_sha384 = internal hidden global %struct.gcry_md_spec { i32 9, %struct.anon.98 { i8 2, [3 x i8] undef }, i8* getelementptr inbounds ([7 x i8]* @.str11603, i32 0, i32 0), i8* getelementptr inbounds ([19 x i8]* @sha384_asn, i32 0, i32 0), i32 19, %struct.gcry_md_oid_spec* getelementptr inbounds ([3 x %struct.gcry_md_oid_spec]* @oid_spec_sha384, i32 0, i32 0), i32 48, void (i8*)* @sha384_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @sha512_final, i8* (i8*)* @sha512_read, i32 176, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* @run_selftests1622 }, align 4
@k = internal constant [80 x i32] [i32 -685199838, i32 602891725, i32 -330482897, i32 -2121671748, i32 -213338824, i32 -1241133031, i32 -1357295717, i32 -630357736, i32 -1560083902, i32 1164996542, i32 1323610764, i32 -704662302, i32 -226784913, i32 991336113, i32 633803317, i32 -815192428, i32 -1628353838, i32 944711139, i32 -1953704523, i32 2007800933, i32 1495990901, i32 1856431235, i32 -1119749164, i32 -2096016459, i32 -295247957, i32 766784016, i32 -1728372417, i32 -1091629340, i32 1034457026, i32 -1828018395, i32 -536640913, i32 168717936, i32 1188179964, i32 1546045734, i32 1522805485, i32 -1651133473, i32 -1951439906, i32 1014477480, i32 1206759142, i32 344077627, i32 1290863460, i32 -1136513023, i32 -789014639, i32 106217008, i32 -688958952, i32 1432725776, i32 1467031594, i32 851169720, i32 -1194143544, i32 1363258195, i32 -544281703, i32 -509917016, i32 -976659869, i32 -482243893, i32 2003034995, i32 -692930397, i32 1575990012, i32 1125592928, i32 -1578062990, i32 442776044, i32 593698344, i32 -561857047, i32 -1295615723, i32 -479046869, i32 -366583396, i32 566280711, i32 -840897762, i32 -294727304, i32 1914138554, i32 -1563912026, i32 -1090974290, i32 320620315, i32 587496836, i32 1086792851, i32 365543100, i32 -1676669620, i32 -885112138, i32 -60457430, i32 987167468, i32 1246189591], align 4
@.str21606 = private unnamed_addr constant [23 x i8] c"2.16.840.1.101.3.4.2.2\00", align 1
@.str31607 = private unnamed_addr constant [22 x i8] c"1.2.840.113549.1.1.12\00", align 1
@.str41608 = private unnamed_addr constant [13 x i8] c"short string\00", align 1
@.str51609 = private unnamed_addr constant [4 x i8] c"abc\00", align 1
@.str61610 = private unnamed_addr constant [65 x i8] c"\DD\AF5\A1\93az\BA\CCAsI\AE A1\12\E6\FAN\89\A9~\A2\0A\9E\EE\E6KU\D3\9A!\92\99*'O\C1\A86\BA<#\A3\FE\EB\BDEMD#d<\E8\0E*\9A\C9O\A5L\A4\9F\00", align 1
@.str71611 = private unnamed_addr constant [12 x i8] c"long string\00", align 1
@.str81612 = private unnamed_addr constant [113 x i8] c"abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu\00", align 1
@.str91613 = private unnamed_addr constant [65 x i8] c"\8E\95\9Bu\DA\E3\13\DA\8C\F4\F7(\14\FC\14?\8Fwy\C6\EB\9F\7F\A1r\99\AE\AD\B6\88\90\18P\1D(\9EI\00\F7\E43\1B\99\DE\C4\B5C:\C7\D3)\EE\B6\DD&T^\96\E5[\87K\E9\09\00", align 1
@.str101614 = private unnamed_addr constant [16 x i8] c"one million \22a\22\00", align 1
@.str111615 = private unnamed_addr constant [65 x i8] c"\E7\18H=\0C\E7idN.B\C7\BC\15\B4c\8E\1F\98\B1; D(V2\A8\03\AF\A9s\EB\DE\0F\F2D\87~\A6\0AL\B0C,\E5w\C3\1B\EB\00\9C\5C,I\AA.N\AD\B2\17\AD\8C\C0\9B\00", align 1
@.str121616 = private unnamed_addr constant [7 x i8] c"digest\00", align 1
@.str131617 = private unnamed_addr constant [49 x i8] c"\CB\00u?E\A3^\8B\B5\A0=i\9A\C6P\07',2\AB\0E\DE\D1c\1A\8B`ZC\FF[\ED\80\86\07+\A1\E7\CC#X\BA\EC\A14\C8%\A7\00", align 1
@.str141618 = private unnamed_addr constant [49 x i8] c"\093\0C3\F7\11G\E8=\19/\C7\82\CD\1BGS\11\1B\17;;\05\D2/\A0\80\86\E3\B0\F7\12\FC\C7\C7\1AU~-\B9f\C3\E9\FA\91t`9\00", align 1
@.str151619 = private unnamed_addr constant [49 x i8] c"\9D\0E\18\09qdt\CB\08n\83N1\0AJ\1C\ED\14\9E\9C\00\F2HRyr\CE\C5pL*[\07\B8\B3\DC8\EC\C4\EB\AE\97\DD\D8\7F=\89\85\00", align 1
@.str161620 = private unnamed_addr constant [23 x i8] c"2.16.840.1.101.3.4.2.3\00", align 1
@.str171621 = private unnamed_addr constant [22 x i8] c"1.2.840.113549.1.1.13\00", align 1
@.str1630 = private unnamed_addr constant [11 x i8] c"STRIBOG256\00", align 1
@_gcry_digest_spec_stribog_256 = internal hidden global %struct.gcry_md_spec { i32 309, %struct.anon.98 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([11 x i8]* @.str1630, i32 0, i32 0), i8* null, i32 0, %struct.gcry_md_oid_spec* null, i32 32, void (i8*)* @stribog_init_256, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @stribog_final, i8* (i8*)* @stribog_read_256, i32 272, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@.str11633 = private unnamed_addr constant [11 x i8] c"STRIBOG512\00", align 1
@_gcry_digest_spec_stribog_512 = internal hidden global %struct.gcry_md_spec { i32 310, %struct.anon.98 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([11 x i8]* @.str11633, i32 0, i32 0), i8* null, i32 0, %struct.gcry_md_oid_spec* null, i32 64, void (i8*)* @stribog_init_512, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @stribog_final, i8* (i8*)* @stribog_read_512, i32 272, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@C16 = internal constant [13 x [16 x i32]] [[16 x i32] [i32 -223984377, i32 -864793309, i32 -1537158379, i32 -1838716671, i32 1971700988, i32 776327190, i32 -1067090913, i32 516610793, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 565287863, i32 -674509482, i32 -620058678, i32 316053848, i32 380961073, i32 170077080, i32 259044823, i32 -1449316582, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 179964594, i32 -2038768847, i32 1617091337, i32 -1875534159, i32 -1322681477, i32 1385963403, i32 1782416437, i32 734932935, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 -2065444562, i32 -1813497871, i32 -1823341634, i32 -318515595, i32 1751004479, i32 861682813, i32 1567745245, i32 -401250606, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 2087517783, i32 -1444256779, i32 589765142, i32 624620963, i32 -2146435139, i32 377884746, i32 1823023971, i32 -1387837543, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 1180990830, i32 915427125, i32 -1027684682, i32 479901620, i32 -1695510842, i32 1363321964, i32 2049980864, i32 490394585, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 974443667, i32 -1573106957, i32 675939588, i32 763505719, i32 427463625, i32 -423655479, i32 -1088157356, i32 -290798100, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 -1090328802, i32 1498523865, i32 -777665489, i32 -1835334000, i32 1306248346, i32 -1674125794, i32 208552257, i32 1301531047, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 -2094834981, i32 -887149984, i32 -1509450668, i32 -609038671, i32 -536016508, i32 629752356, i32 -334077986, i32 372318875, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 -1740268307, i32 356234947, i32 997610228, i32 -1352060085, i32 456352003, i32 -7702309, i32 -1293618189, i32 -2147127470, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 -2114769637, i32 -1066411939, i32 2101833368, i32 -364332598, i32 344221305, i32 -341112991, i32 1666907796, i32 -272070149, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] [i32 -249833696, i32 -642638951, i32 -1998509998, i32 412208262, i32 807509915, i32 -1126228617, i32 71938426, i32 -250203718, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [16 x i32] zeroinitializer], align 4
@Pi = internal constant [256 x i8] c"\FC\EE\DD\11\CFn1\16\FB\C4\FA\DA#\C5\04M\E9w\F0\DB\93.\99\BA\176\F1\BB\14\CD_\C1\F9\18eZ\E2\5C\EF!\81\1C<B\8B\01\8EO\05\84\02\AE\E3j\8F\A0\06\0B\ED\98\7F\D4\D3\1F\EB4,Q\EA\C8H\AB\F2*h\A2\FD:\CE\CC\B5p\0EV\08\0Cv\12\BFr\13G\9C\B7]\87\15\A1\96)\10{\9A\C7\F3\91xo\9D\9E\B2\B12u\19=\FF5\8A~mT\C6\80\C3\BD\0DW\DF\F5$\A9>\A8C\C9\D7y\D6\F6|\22\B9\03\E0\0F\EC\DEz\94\B0\BC\DC\E8(PN3\0AJ\A7\97`s\1E\00bD\1A\B88\82d\9F&A\ADEF\92'^U/\8C\A3\A5}i\D5\95;\07X\B3@\86\AC\1D\F707k\E4\88\D9\E7\89\E1\1B\83IL?\F8\FE\8DS\AA\90\CA\D8\85a qg\A4-+\09[\CB\9B%\D0\BE\E5lRY\A6t\D2\E6\F4\B4\C0\D1f\AF\C29Kc\B6", align 1
@stribog_table = internal constant [8 x [256 x i32]] [[256 x i32] [i32 0, i32 730783875, i32 1442962715, i32 2106539416, i32 -1409112266, i32 -2020849739, i32 -100435411, i32 -779248978, i32 1157911404, i32 1854583791, i32 319131255, i32 948662004, i32 -385420198, i32 -1031269159, i32 -1090049727, i32 -1802909246, i32 -1979144488, i32 -1585035685, i32 -603358269, i32 -142107840, i32 638190062, i32 226812269, i32 1879825653, i32 1535458422, i32 -821234252, i32 -461236937, i32 -1727190865, i32 -1299986388, i32 1661883010, i32 1216393729, i32 890212249, i32 511799066, i32 152064429, i32 580825390, i32 1594985654, i32 1956604981, i32 -1525483877, i32 -1902373352, i32 -216847488, i32 -660747517, i32 1276379841, i32 1738203714, i32 437641178, i32 832257881, i32 -535386633, i32 -879213196, i32 -1239975700, i32 -1650878353, i32 -2095515787, i32 -1466558474, i32 -719771026, i32 -23606547, i32 790253635, i32 76853440, i32 2031848792, i32 1385524699, i32 -971201511, i32 -309181286, i32 -1877116670, i32 -1147954815, i32 1780351791, i32 1100014508, i32 1008721460, i32 395394743, i32 304128583, i32 967721668, i32 1143045980, i32 1873780703, i32 -1105066639, i32 -1783831054, i32 -400304022, i32 -1012057879, i32 1462038827, i32 2091520424, i32 19213360, i32 715902131, i32 -81373667, i32 -794249570, i32 -1389917434, i32 -2035717243, i32 -1742207841, i32 -1280908260, i32 -836118140, i32 -442025721, i32 875209641, i32 530858794, i32 1647017650, i32 1235590705, i32 -584296461, i32 -157108368, i32 -1959949592, i32 -1599903125, i32 1898901701, i32 1520439366, i32 657403358, i32 211930461, i32 456193002, i32 817763177, i32 1295068913, i32 1723846258, i32 -1221438244, i32 -1665354657, i32 -516716089, i32 -893556412, i32 1580507270, i32 1975140357, i32 137723293, i32 599498014, i32 -231340112, i32 -642193613, i32 -1539843413, i32 -1883686360, i32 -1858579150, i32 -1162431055, i32 -952530903, i32 -323524438, i32 1027273220, i32 380899975, i32 1799040799, i32 1085656988, i32 -734263714, i32 -5052707, i32 -2109875387, i32 -1447871546, i32 2017370472, i32 1404060139, i32 775912563, i32 95526128, i32 608197006, i32 265206029, i32 1916896405, i32 1506763798, i32 -2008875336, i32 -1546904005, i32 -566025309, i32 -171064544, i32 1631849186, i32 1254812257, i32 927324153, i32 483080058, i32 -851005996, i32 -423080617, i32 -1689816881, i32 -1328967604, i32 -1370947754, i32 -2050613291, i32 -129424819, i32 -741883186, i32 38426720, i32 700758243, i32 1414235515, i32 2143643128, i32 -347296710, i32 -1061008199, i32 -1118998239, i32 -1765568094, i32 1196296972, i32 1824582543, i32 290444823, i32 985740948, i32 760219683, i32 115271840, i32 2068960568, i32 1356805563, i32 -2125287659, i32 -1428402282, i32 -682397170, i32 -52587891, i32 1750358863, i32 1138408396, i32 1045792340, i32 366700247, i32 -1000932231, i32 -271049478, i32 -1839783582, i32 -1176911391, i32 -1487360261, i32 -1932112264, i32 -245795872, i32 -623406237, i32 190450125, i32 550824270, i32 1566299350, i32 1993684053, i32 -497222249, i32 -908976876, i32 -1268965236, i32 -1613512689, i32 1314806433, i32 1708177954, i32 408913850, i32 869361465, i32 912325577, i32 502143818, i32 1616979666, i32 1274005073, i32 -1704829697, i32 -1309885316, i32 -865893916, i32 -403873433, i32 1935976613, i32 1491748902, i32 627406270, i32 250320189, i32 -546959469, i32 -186061040, i32 -1989684600, i32 -1561775605, i32 -1134011119, i32 -1746485870, i32 -362184694, i32 -1041801079, i32 275446311, i32 1004804772, i32 1181427516, i32 1843775423, i32 -110358915, i32 -756879618, i32 -1351756954, i32 -2065484827, i32 1433315659, i32 2128628168, i32 57635920, i32 685872339, i32 1064348260, i32 352209639, i32 1769043839, i32 1124046844, i32 -1821242030, i32 -1191383599, i32 -982265783, i32 -285396790, i32 2054486280, i32 1375345035, i32 745874451, i32 133940368, i32 -696885698, i32 -34029891, i32 -2139651291, i32 -1409719386, i32 -1250423620, i32 -1627984833, i32 -478555737, i32 -923324124, i32 427469706, i32 854870793, i32 1333491345, i32 1693816338, i32 -260284464, i32 -604848301, i32 -1501723957, i32 -1913429432, i32 1551825126, i32 2012223589, i32 176104957, i32 569492862], [256 x i32] [i32 0, i32 -1628054504, i32 569877808, i32 -1090356952, i32 1123243872, i32 -603550856, i32 1661268560, i32 -34525624, i32 -2063880512, i32 437154520, i32 -1525937168, i32 1006229480, i32 -972490336, i32 1492985272, i32 -402695024, i32 2030731400, i32 367739293, i32 -1960927867, i32 874308781, i32 -1427556171, i32 1461196541, i32 -907162907, i32 1995420621, i32 -400920619, i32 -1861161123, i32 266679109, i32 -1327019411, i32 772970101, i32 -740050883, i32 1293313061, i32 -233562867, i32 1826734357, i32 717980199, i32 -1270981057, i32 188491543, i32 -1781925105, i32 1748555079, i32 -154334881, i32 1238331511, i32 -684020625, i32 -1372574489, i32 818278655, i32 -1882748457, i32 288511439, i32 -322733177, i32 1916184479, i32 -852173129, i32 1405158063, i32 1059111866, i32 -1579868254, i32 517432970, i32 -2145207662, i32 2111018202, i32 -484030270, i32 1545875946, i32 -1026429454, i32 -1143247494, i32 623817058, i32 -1708341174, i32 81335378, i32 -114804198, i32 1742595586, i32 -656433366, i32 1177174834, i32 1418402126, i32 -897661610, i32 1971108990, i32 -343318426, i32 376983086, i32 -2003987914, i32 932178718, i32 -1451608314, i32 -797919346, i32 1317366678, i32 -242806082, i32 1869794982, i32 -1836850962, i32 209075446, i32 -1284225570, i32 763468230, i32 1096833235, i32 -543849269, i32 1620573667, i32 -27123205, i32 59969459, i32 -1654205525, i32 577022595, i32 -1131317605, i32 -979634669, i32 1533946379, i32 -462662877, i32 2056884027, i32 -2023186061, i32 429751659, i32 -1499528125, i32 946526299, i32 2118163305, i32 -524990607, i32 1605844569, i32 -1052581311, i32 1018416137, i32 -1572466671, i32 491022649, i32 -2085505759, i32 -88394327, i32 1682893233, i32 -615739239, i32 1169771649, i32 -1203215671, i32 649969361, i32 -1715484679, i32 122297313, i32 1806424820, i32 -178387220, i32 1247576004, i32 -727079972, i32 693669268, i32 -1213378164, i32 145696932, i32 -1772424004, i32 -279940044, i32 1906681900, i32 -827862780, i32 1347554588, i32 -1381817516, i32 861339468, i32 -1940617628, i32 312564348, i32 -1475661156, i32 922676868, i32 -1979934804, i32 386485172, i32 -352819716, i32 1947056612, i32 -888160052, i32 1442454740, i32 753966172, i32 -1308278716, i32 218577260, i32 -1812798092, i32 1845742396, i32 -252307676, i32 1341419020, i32 -788418028, i32 -1109363967, i32 588623641, i32 -1676159439, i32 48368169, i32 -15522719, i32 1642526841, i32 -555450031, i32 1074879817, i32 958127553, i32 -1477574183, i32 418150641, i32 -2045139735, i32 2078837409, i32 -451062087, i32 1511993233, i32 -991235191, i32 -2101301061, i32 473263267, i32 -1556671093, i32 1036175763, i32 -1070340133, i32 1590049731, i32 -507231509, i32 2133958387, i32 104537723, i32 -1731280285, i32 667728715, i32 -1187420333, i32 1153976603, i32 -633498365, i32 1698688043, i32 -70635469, i32 -1758727898, i32 165555518, i32 -1227074538, i32 673810446, i32 -707221946, i32 1261271646, i32 -198245514, i32 1792728942, i32 332423142, i32 -1926921218, i32 841480918, i32 -1395513650, i32 1361250438, i32 -808004450, i32 1892986294, i32 -299798098, i32 -58709038, i32 1651898314, i32 -579367198, i32 1132614394, i32 -1099727694, i32 545693866, i32 -1618683518, i32 24184218, i32 2021360914, i32 -426878710, i32 1502355490, i32 -948306886, i32 982045298, i32 -1535308182, i32 461338434, i32 -2054509734, i32 -378836401, i32 2006890071, i32 -929247361, i32 1449726823, i32 -1416086225, i32 896393527, i32 -1972398049, i32 345654279, i32 1838204047, i32 -211478377, i32 1281843647, i32 -762135129, i32 795055087, i32 -1315549193, i32 244594399, i32 -1872631097, i32 -699684363, i32 1220441581, i32 -138670907, i32 1766445277, i32 -1799815531, i32 172827277, i32 -1253090395, i32 733644733, i32 1387267893, i32 -867837139, i32 1934074373, i32 -307069411, i32 272846933, i32 -1900639155, i32 833942885, i32 -1354684035, i32 -1012864920, i32 1565865072, i32 -497595048, i32 2091028800, i32 -2125218040, i32 530998032, i32 -1599858120, i32 1045546528, i32 1197164200, i32 -642868560, i32 1722606488, i32 -128368768, i32 94900680, i32 -1688351280, i32 610252024, i32 -1163237152], [256 x i32] [i32 0, i32 -1976404184, i32 157609552, i32 -2091476616, i32 315146656, i32 -1728399736, i32 464269296, i32 -1851893544, i32 613261149, i32 -1363154827, i32 770273549, i32 -1478818267, i32 910515965, i32 -1133041195, i32 1059172525, i32 -1256994939, i32 1208427450, i32 -1036692334, i32 1097059818, i32 -883836222, i32 1523573274, i32 -788687566, i32 1403718730, i32 -644252830, i32 1821031655, i32 -424096817, i32 1710117559, i32 -270785121, i32 2118286663, i32 -193983889, i32 1999016727, i32 -48962497, i32 -1878112663, i32 440152385, i32 -1721063367, i32 324591377, i32 -2100918327, i32 150270177, i32 -1952290407, i32 26222257, i32 -1266427596, i32 1051831836, i32 -1108920476, i32 936722508, i32 -1505027948, i32 746155964, i32 -1355811132, i32 622690796, i32 -670472749, i32 1379603195, i32 -781350013, i32 1533017259, i32 -893279117, i32 1089721179, i32 -1012577757, i32 1234648331, i32 -58393970, i32 1991675302, i32 -169863970, i32 2144494582, i32 -296994002, i32 1685998598, i32 -416754306, i32 1830462038, i32 1025281234, i32 -1221657606, i32 880304770, i32 -1102441046, i32 802442610, i32 -1511638438, i32 649110306, i32 -1400712182, i32 428938127, i32 -1818008409, i32 284556767, i32 -1698198793, i32 190435887, i32 -2123651833, i32 37567615, i32 -2012263593, i32 1964748648, i32 -14034880, i32 2088714552, i32 -162712048, i32 1741909704, i32 -304014880, i32 1857519768, i32 -460982352, i32 1368797237, i32 -609990883, i32 1492311653, i32 -759125683, i32 1130295701, i32 -915634499, i32 1245323205, i32 -1073190675, i32 -1391277381, i32 656457107, i32 -1535761173, i32 776229827, i32 -1076229349, i32 904428595, i32 -1229003445, i32 1015845475, i32 -1986046490, i32 61678286, i32 -2130986058, i32 180997278, i32 -1688759226, i32 291890030, i32 -1842120170, i32 402722110, i32 -451548927, i32 1864867369, i32 -328136879, i32 1715695737, i32 -136501087, i32 2112839561, i32 -21379343, i32 1955312089, i32 -1046972836, i32 1269432692, i32 -922970100, i32 1120857892, i32 -749684740, i32 1499644116, i32 -634103380, i32 1342582404, i32 2050491833, i32 -267750767, i32 1935469545, i32 -110191423, i32 1760609305, i32 -490556623, i32 1637100105, i32 -341418655, i32 1588959972, i32 -729289268, i32 1473344692, i32 -572324964, i32 1283283780, i32 -967889812, i32 1159312660, i32 -819215812, i32 842999299, i32 -1207086805, i32 995870803, i32 -1318469765, i32 553117603, i32 -1429892981, i32 697502195, i32 -1549697317, i32 380811614, i32 -1669280138, i32 534140686, i32 -1780211674, i32 75135230, i32 -1907879978, i32 220108462, i32 -2027101818, i32 -365542448, i32 1610888440, i32 -481120896, i32 1767955112, i32 -117538192, i32 1926034776, i32 -241538016, i32 2074614536, i32 -826549107, i32 1149873061, i32 -941673763, i32 1307395573, i32 -596435667, i32 1447127557, i32 -719850627, i32 1596294229, i32 -1573822358, i32 671291202, i32 -1420456390, i32 560462098, i32 -1325817398, i32 986437346, i32 -1180872806, i32 867121330, i32 -2034434249, i32 210667551, i32 -1881665177, i32 99247695, i32 -1804321129, i32 507922879, i32 -1659842361, i32 388147183, i32 1193576811, i32 -854131133, i32 1312843579, i32 -999157741, i32 1441548491, i32 -539082781, i32 1552459419, i32 -692399693, i32 1672025654, i32 -375693026, i32 1791883366, i32 -520122546, i32 1902237590, i32 -78405442, i32 2013608390, i32 -231256338, i32 253995729, i32 -2062426631, i32 105333889, i32 -1938476119, i32 501967729, i32 -1747379111, i32 344950049, i32 -1631718903, i32 732837260, i32 -1583594844, i32 583719900, i32 -1460097804, i32 963048492, i32 -1286307068, i32 805444220, i32 -1171231404, i32 -685060350, i32 1561901098, i32 -565305006, i32 1417434746, i32 -975040862, i32 1339062666, i32 -863575822, i32 1186240474, i32 -207138721, i32 2039818103, i32 -87835121, i32 1894893863, i32 -512781825, i32 1801316055, i32 -401899601, i32 1647904903, i32 -1624380232, i32 354392976, i32 -1773600024, i32 477853120, i32 -1914360552, i32 131553840, i32 -2071870648, i32 246658144, i32 -1147112475, i32 831653069, i32 -1295737419, i32 955706013, i32 -1452756411, i32 593151341, i32 -1609802731, i32 708717373], [256 x i32] [i32 0, i32 403744926, i32 807423265, i32 674293183, i32 1614846530, i32 2018521820, i32 1348523875, i32 1215332349, i32 -1065342588, i32 -661618406, i32 -257923931, i32 -391066565, i32 -1597983802, i32 -1194321064, i32 -1864302873, i32 -1997515143, i32 -1659022827, i32 -2062681461, i32 -1388503244, i32 -1255295062, i32 -44185513, i32 -447913783, i32 -847411850, i32 -714265112, i32 1570601873, i32 1166922511, i32 1841116848, i32 1974312494, i32 1037951443, i32 634210637, i32 234728690, i32 367854700, i32 658154538, i32 1059720372, i32 387639563, i32 252330389, i32 1199193704, i32 1600820982, i32 2002416457, i32 1867176919, i32 -407204434, i32 -5626576, i32 -677724017, i32 -813012975, i32 -2013653012, i32 -1612005518, i32 -1210426675, i32 -1345654189, i32 -1171786177, i32 -1573429599, i32 -1979204834, i32 -1843981440, i32 -630756227, i32 -1032338205, i32 -364437156, i32 -229144126, i32 2057822139, i32 1656190757, i32 1250398874, i32 1385642500, i32 451364345, i32 49802599, i32 717687000, i32 852992070, i32 1316246868, i32 1449459146, i32 2119440501, i32 1715777771, i32 775212822, i32 908355464, i32 504660535, i32 100936361, i32 -1896579888, i32 -1763388338, i32 -1093389839, i32 -1497065105, i32 -290134382, i32 -157004276, i32 -560682061, i32 -964426963, i32 -748091583, i32 -881217569, i32 -481736096, i32 -77995266, i32 -1289118461, i32 -1422314083, i32 -2096508894, i32 -1692829508, i32 334048965, i32 200902235, i32 600400868, i32 1004129146, i32 1940501639, i32 1807293465, i32 1133115814, i32 1536774456, i32 1766781310, i32 1902008800, i32 1500429407, i32 1098781889, i32 151939900, i32 287228834, i32 959325725, i32 557747843, i32 -1446061830, i32 -1310822300, i32 -1712417317, i32 -2114044603, i32 -913423688, i32 -778114522, i32 -106033255, i32 -507599097, i32 -195845269, i32 -331150347, i32 -999035318, i32 -597473580, i32 -1810679511, i32 -1945923145, i32 -1540131832, i32 -1138500458, i32 886278895, i32 750985841, i32 83085262, i32 484667216, i32 1418924205, i32 1283700787, i32 1689476492, i32 2091119890, i32 -1662473560, i32 -2064121290, i32 -1396119671, i32 -1260892393, i32 -56086294, i32 -457664396, i32 -863470133, i32 -728181419, i32 1550353196, i32 1148726194, i32 1816710669, i32 1951950483, i32 1009260910, i32 607695344, i32 201872463, i32 337181905, i32 32897213, i32 434458659, i32 836089244, i32 700783874, i32 1639277311, i32 2040908385, i32 1368731614, i32 1233487680, i32 -1049243335, i32 -647661145, i32 -246047720, i32 -381340538, i32 -1590342789, i32 -1188699163, i32 -1860893094, i32 -1996116284, i32 -1143861630, i32 -1547524580, i32 -1947057245, i32 -1813845187, i32 -611150656, i32 -1014875042, i32 -340600351, i32 -207457921, i32 2068981510, i32 1665306520, i32 1265789479, i32 1398981305, i32 454212932, i32 50468314, i32 724758629, i32 857889019, i32 651123863, i32 1054864393, i32 384766390, i32 251640104, i32 1183827669, i32 1587506763, i32 1991216116, i32 1858020202, i32 -431000301, i32 -27271795, i32 -697354190, i32 -830500692, i32 -2045776047, i32 -1642117169, i32 -1238392208, i32 -1371600146, i32 -761462788, i32 -896772254, i32 -490949923, i32 -89384381, i32 -1294178882, i32 -1429418720, i32 -2097403745, i32 -1695776767, i32 303879800, i32 168591078, i32 574397273, i32 975975367, i32 1918651450, i32 1783424164, i32 1115423003, i32 1517070725, i32 1333898729, i32 1469121911, i32 2141315272, i32 1739671638, i32 801191851, i32 936484661, i32 534870666, i32 133288468, i32 -1895725971, i32 -1760482061, i32 -1088304820, i32 -1489935918, i32 -280945105, i32 -145639759, i32 -547269874, i32 -948831344, i32 -173646890, i32 -306777272, i32 -981068041, i32 -577323415, i32 -1780039276, i32 -1913231094, i32 -1513714507, i32 -1110039509, i32 891712082, i32 758569676, i32 84295539, i32 488019949, i32 1432807440, i32 1299595406, i32 1699128625, i32 2102791599, i32 1757088195, i32 1890296157, i32 1486570722, i32 1082911868, i32 150705025, i32 283851551, i32 953933472, i32 550204990, i32 -1472520121, i32 -1339324199, i32 -1743032986, i32 -2146712072, i32 -931415547, i32 -798289253, i32 -128190684, i32 -531931206], [256 x i32] [i32 0, i32 -1164721864, i32 1765515120, i32 -743940536, i32 -764009504, i32 1759896280, i32 -1152533360, i32 31358376, i32 -1175697699, i32 58689509, i32 -791160403, i32 1782847637, i32 1805280573, i32 -787897339, i32 44169805, i32 -1204667531, i32 1875217575, i32 -715764321, i32 117314519, i32 -1133653265, i32 -1112297657, i32 119565951, i32 -729272265, i32 1847324943, i32 -701904262, i32 1824131906, i32 -1089317622, i32 92378162, i32 73394586, i32 -1093916510, i32 1835300586, i32 -671631406, i32 -560528045, i32 1678034027, i32 -1213425117, i32 222255899, i32 216082099, i32 -1233983605, i32 1708833219, i32 -548833029, i32 1736131470, i32 -571964746, i32 239131902, i32 -1261232698, i32 -1257414546, i32 262054230, i32 -600375522, i32 1722105382, i32 -1319990796, i32 197216460, i32 -664201596, i32 1660606396, i32 1663347220, i32 -642290900, i32 169817444, i32 -1332939684, i32 146722601, i32 -1305670127, i32 1636126809, i32 -619277983, i32 -624366391, i32 1616588273, i32 -1275890759, i32 157332097, i32 -1590490458, i32 463522718, i32 -938961450, i32 1922782446, i32 1933912390, i32 -908662658, i32 444511798, i32 -1595050226, i32 417287291, i32 -1572041405, i32 1910821643, i32 -881389005, i32 -894865509, i32 1882893987, i32 -1550651157, i32 419508691, i32 -822704639, i32 1952794425, i32 -1479730831, i32 492755017, i32 478193121, i32 -1508678439, i32 1975204497, i32 -819397719, i32 1998242012, i32 -846659100, i32 505503660, i32 -1531797868, i32 -1519590596, i32 536814084, i32 -866681780, i32 1992605044, i32 2141458421, i32 -986198323, i32 379555973, i32 -1408478787, i32 -1378735083, i32 390196525, i32 -991317147, i32 2121953885, i32 -968341208, i32 2094762000, i32 -1351362984, i32 367007584, i32 339634888, i32 -1364349968, i32 2097542584, i32 -946457472, i32 274826066, i32 -1426963862, i32 2035948578, i32 -1010180838, i32 -1038638926, i32 2021941642, i32 -1423163454, i32 297795322, i32 -1450326641, i32 320734391, i32 -1061790977, i32 2049285063, i32 2080106095, i32 -1050138793, i32 314603807, i32 -1470908377, i32 1600525393, i32 -436873879, i32 912100129, i32 -1932637671, i32 -1928317007, i32 931395209, i32 -466900799, i32 1589144057, i32 -427142516, i32 1545180084, i32 -1884172804, i32 891423940, i32 888959340, i32 -1905282988, i32 1573383708, i32 -413913308, i32 816027894, i32 -1976542770, i32 1503135622, i32 -485767490, i32 -489309418, i32 1481013806, i32 -1947327386, i32 830334302, i32 -1991254485, i32 870063891, i32 -529252005, i32 1525121123, i32 1530527179, i32 -508936973, i32 839017147, i32 -2003721341, i32 -2114907902, i32 996331578, i32 -389378446, i32 1381584714, i32 1401369314, i32 -384502822, i32 985443730, i32 -2144375638, i32 941447135, i32 -2104584473, i32 1361496239, i32 -340457065, i32 -362056641, i32 1358476551, i32 -2091848881, i32 969091703, i32 -298541659, i32 1420254365, i32 -2029059371, i32 1033683949, i32 1011007045, i32 -2033090691, i32 1434001717, i32 -269819891, i32 1473829752, i32 -313845184, i32 1055081480, i32 -2073000656, i32 -2052130664, i32 1060977056, i32 -325752856, i32 1443276496, i32 -27975945, i32 1153884111, i32 -1754365561, i32 771571903, i32 740506903, i32 -1766786001, i32 1159242343, i32 -7642273, i32 1203329066, i32 -47539950, i32 780322650, i32 -1810823582, i32 -1781564470, i32 794606322, i32 -51059526, i32 1181164930, i32 -1852796336, i32 721638248, i32 -123007712, i32 1111018520, i32 1139192240, i32 -109743992, i32 719138496, i32 -1873874952, i32 679269517, i32 -1829825099, i32 1095191549, i32 -69956923, i32 -99944595, i32 1083782741, i32 -1825478627, i32 698525989, i32 549591972, i32 -1705911652, i32 1241089236, i32 -211139092, i32 -223070140, i32 1210579324, i32 -1685084364, i32 555509260, i32 -1725014663, i32 599628865, i32 -267009527, i32 1250296625, i32 1264090777, i32 -238305375, i32 576971241, i32 -1729093423, i32 1325897475, i32 -174827973, i32 641468531, i32 -1666201269, i32 -1653492509, i32 669152731, i32 -196465773, i32 1322904235, i32 -152317474, i32 1282937062, i32 -1613738322, i32 625184662, i32 614330942, i32 -1643236602, i32 1302752590, i32 -147477386], [256 x i32] [i32 0, i32 847939920, i32 1678315424, i32 1451460336, i32 -938336675, i32 -90663155, i32 -1407512067, i32 -1634625363, i32 -1927004998, i32 -1079069206, i32 -382913766, i32 -609764790, i32 1161175783, i32 2008853431, i32 557788487, i32 330671127, i32 122189929, i32 901968185, i32 1665234889, i32 1372323481, i32 -816159180, i32 -36638876, i32 -1420596844, i32 -1713774396, i32 -1972615981, i32 -1192833661, i32 -295351437, i32 -588266973, i32 1115576974, i32 1895093214, i32 645354798, i32 352181374, i32 244379858, i32 1008368002, i32 1788477298, i32 1477670434, i32 -964497777, i32 -200775713, i32 -1567891153, i32 -1878955905, i32 -2085303192, i32 -1321319112, i32 -406993976, i32 -717796712, i32 1269223989, i32 2032950117, i32 800054677, i32 488985797, i32 165185723, i32 995230187, i32 1842448155, i32 1599802955, i32 -1043687706, i32 -213901386, i32 -1513907898, i32 -1756819434, i32 -2063813631, i32 -1233765039, i32 -520766559, i32 -763415823, i32 1290709596, i32 2120491788, i32 686269948, i32 443362476, i32 473824697, i32 783774953, i32 2016735769, i32 1253997385, i32 -735058972, i32 -425366860, i32 -1339626428, i32 -2102631148, i32 -1860583165, i32 -1550628781, i32 -183447901, i32 -946190349, i32 1493950302, i32 1803638286, i32 1023594750, i32 260594094, i32 460686800, i32 704580736, i32 2138868336, i32 1307968288, i32 -748184691, i32 -504556835, i32 -1217489875, i32 -2048647811, i32 -1773029014, i32 -1529139142, i32 -229067062, i32 -1059962982, i32 1581492023, i32 1825123943, i32 977971351, i32 146809287, i32 313331051, i32 539460667, i32 1990460107, i32 1143901083, i32 -625011914, i32 -399140250, i32 -1095361386, i32 -1942186554, i32 -1618398767, i32 -1392265087, i32 -75481487, i32 -922044639, i32 1469788044, i32 1695655644, i32 865214508, i32 18393468, i32 367359234, i32 661650514, i32 1911323298, i32 1130820594, i32 -570987681, i32 -276962801, i32 -1174510337, i32 -1955271249, i32 -1732163144, i32 -1437875992, i32 -53983720, i32 -834482360, i32 1356027877, i32 1650056885, i32 886724677, i32 105959701, i32 947578735, i32 183529023, i32 1551100111, i32 1861837215, i32 -261555918, i32 -1025347486, i32 -1805519214, i32 -1494515774, i32 -1252074539, i32 -2016128379, i32 -782773131, i32 -472031963, i32 2102183304, i32 1338395864, i32 424004136, i32 735003512, i32 1060282118, i32 230168150, i32 1530630310, i32 1773214198, i32 -148864677, i32 -978712565, i32 -1825992965, i32 -1583151189, i32 -1307139140, i32 -2137249044, i32 -702567396, i32 -459987636, i32 2047131105, i32 1217279153, i32 504214081, i32 747059985, i32 921311165, i32 73441005, i32 1390614557, i32 1617531213, i32 -17298976, i32 -864911184, i32 -1695480256, i32 -1468297456, i32 -1144116473, i32 -1991990697, i32 -540597081, i32 -313676297, i32 1943811418, i32 1096203274, i32 399850234, i32 627028906, i32 832729044, i32 53012100, i32 1437294708, i32 1730275620, i32 -105877111, i32 -885327655, i32 -1648787927, i32 -1355548807, i32 -1132047506, i32 -1911760322, i32 -661693234, i32 -368716386, i32 1955876147, i32 1176421475, i32 278741651, i32 571984835, i32 608639702, i32 382571398, i32 1078859126, i32 1925487654, i32 -329972597, i32 -555774501, i32 -2007233749, i32 -1160347013, i32 -1453119892, i32 -1679184068, i32 -848680500, i32 -2056036, i32 1634809905, i32 1409003873, i32 91764625, i32 938655425, i32 588210879, i32 293989359, i32 1191603487, i32 1972167759, i32 -350389022, i32 -644352590, i32 -1894485182, i32 -1113654766, i32 -1372889595, i32 -1667115179, i32 -903720539, i32 -123152139, i32 1715028056, i32 1421068552, i32 36720632, i32 817546920, i32 718793220, i32 408773460, i32 1323230628, i32 2085907700, i32 -490343335, i32 -800097015, i32 -2033386503, i32 -1270451543, i32 -1477192002, i32 -1787207698, i32 -1006970594, i32 -244297650, i32 1877068003, i32 1567310259, i32 199804739, i32 962743827, i32 765432429, i32 521476925, i32 1234607565, i32 2065437853, i32 -443708368, i32 -687405728, i32 -2122022000, i32 -1290925376, i32 -1598312745, i32 -1842272377, i32 -994926217, i32 -164091865, i32 1755951242, i32 1512258010, i32 211861290, i32 1042953850], [256 x i32] [i32 0, i32 444831886, i32 874196225, i32 781759887, i32 1748392450, i32 1924514444, i32 1546483459, i32 1185869709, i32 -798182396, i32 -890295158, i32 -461924091, i32 -17563253, i32 -1202000378, i32 -1562806648, i32 -1941847289, i32 -1765647479, i32 -1109887736, i32 -1487147642, i32 -1983686647, i32 -1824472953, i32 -705810678, i32 -814893180, i32 -504036853, i32 -76113275, i32 1840562444, i32 2000116098, i32 1504701453, i32 1126986883, i32 92445454, i32 520160128, i32 832157199, i32 723136129, i32 1739450896, i32 2100195998, i32 1404487441, i32 1228234655, i32 261861394, i32 353904796, i32 998284563, i32 553846173, i32 -1212064236, i32 -1388132710, i32 -2082835691, i32 -1722160229, i32 -537459690, i32 -982213480, i32 -336844521, i32 -244338279, i32 -629825768, i32 -1057618026, i32 -294735335, i32 -185783657, i32 -1304181478, i32 -1463788140, i32 -2040993765, i32 -1663340395, i32 169421596, i32 278573970, i32 1040320029, i32 612474515, i32 1647276318, i32 2024597904, i32 1446272031, i32 1287111825, i32 -834156256, i32 -725331538, i32 -94575583, i32 -522224465, i32 -1502506206, i32 -1124987988, i32 -1838498269, i32 -1997986131, i32 506166564, i32 78177706, i32 707809317, i32 817088683, i32 1981622054, i32 1822343080, i32 1107692071, i32 1485148841, i32 1939848232, i32 1763452070, i32 1199870249, i32 1560742311, i32 464119338, i32 19562148, i32 800246571, i32 892425125, i32 -1544353748, i32 -1183805278, i32 -1746393811, i32 -1922318941, i32 -876260818, i32 -783889760, i32 -2195665, i32 -446830687, i32 -1444273360, i32 -1284916290, i32 -1645146575, i32 -2022533441, i32 -1042515662, i32 -614473284, i32 -171486157, i32 -280703811, i32 2038863668, i32 1661276090, i32 1302182453, i32 1461592763, i32 296799542, i32 187913656, i32 632021047, i32 1059616953, i32 338843192, i32 246533814, i32 539589433, i32 984277943, i32 2080640058, i32 1720161460, i32 1209999675, i32 1386002869, i32 -1000414660, i32 -555910478, i32 -263860419, i32 -356100173, i32 -1402423234, i32 -1226104656, i32 -1737255617, i32 -2098197071, i32 -2121363648, i32 -1693640754, i32 -1248484799, i32 -1357497649, i32 -373762750, i32 -214217268, i32 -576456637, i32 -954179379, i32 1373780804, i32 1264690122, i32 1710822981, i32 2138738379, i32 970219846, i32 592968136, i32 231689287, i32 390911177, i32 1012333128, i32 651518662, i32 139319113, i32 315510727, i32 1415618634, i32 1323514052, i32 1618709835, i32 2063078853, i32 -331723188, i32 -155593022, i32 -668900531, i32 -1029506109, i32 -2079583154, i32 -1634759488, i32 -1340655281, i32 -1433099839, i32 -433887920, i32 -56558114, i32 -768063407, i32 -927215393, i32 -1911210158, i32 -1802065956, i32 -1173482925, i32 -1601336611, i32 911200596, i32 751585754, i32 39124053, i32 416769243, i32 1585023830, i32 1157239768, i32 1784850007, i32 1893809881, i32 1543180376, i32 1098418390, i32 1876966745, i32 1969464791, i32 869091930, i32 693031636, i32 131491675, i32 492175317, i32 -1952996260, i32 -1860944686, i32 -1081308835, i32 -1525739053, i32 -475922850, i32 -115185968, i32 -675622049, i32 -851883055, i32 1338590816, i32 1430970094, i32 2077387617, i32 1632760815, i32 671030370, i32 1031570668, i32 333721955, i32 157788653, i32 -1616514460, i32 -2061079830, i32 -1413554331, i32 -1321383957, i32 -141318042, i32 -317706008, i32 -1014463129, i32 -653582871, i32 -233753752, i32 -393040922, i32 -972415383, i32 -594966809, i32 -1708693142, i32 -2136673820, i32 -1371782037, i32 -1262494491, i32 578652012, i32 956178402, i32 375827053, i32 216347363, i32 1246485870, i32 1355302368, i32 2119233647, i32 1691576545, i32 677686384, i32 854013182, i32 478118257, i32 117185023, i32 1079178866, i32 1523674876, i32 1950997363, i32 1858749437, i32 -133687180, i32 -494173958, i32 -871156363, i32 -695161349, i32 -1874967946, i32 -1967269128, i32 -1541050505, i32 -1096353799, i32 -1782785672, i32 -1891679754, i32 -1582828423, i32 -1155240713, i32 -41254022, i32 -418833420, i32 -913199493, i32 -753781003, i32 1171287420, i32 1599337970, i32 1909145725, i32 1799936243, i32 770062206, i32 929411056, i32 436017791, i32 58622705], [256 x i32] [i32 0, i32 -1304000668, i32 2039223240, i32 -875916116, i32 -234543475, i32 1078174185, i32 -1953942203, i32 969912865, i32 -116765689, i32 1263324003, i32 -2138677297, i32 851499179, i32 185559690, i32 -1186337298, i32 1921218882, i32 -1060766170, i32 -283863026, i32 1565663082, i32 -1768387642, i32 618532002, i32 487702147, i32 -1353238041, i32 1688055115, i32 -690279889, i32 371119113, i32 -1537715347, i32 1871890369, i32 -573292379, i32 -467930492, i32 1448965600, i32 -1650990772, i32 802252328, i32 -1020777188, i32 1903078008, i32 -1163641132, i32 149076400, i32 825035665, i32 -2090103563, i32 1218517081, i32 -85483715, i32 975331611, i32 -2006653313, i32 1135506131, i32 -236390985, i32 -936949866, i32 2053226738, i32 -1314171810, i32 65917754, i32 742176018, i32 -1636158858, i32 1437640410, i32 -403299906, i32 -566652001, i32 1820267771, i32 -1481277353, i32 368248627, i32 -717817579, i32 1735425649, i32 -1397036323, i32 519859641, i32 657711000, i32 -1787471620, i32 1589627984, i32 -319206604, i32 -1689232840, i32 689364316, i32 -488879632, i32 1352322708, i32 1767210165, i32 -619447343, i32 282685309, i32 -1566578663, i32 1650071103, i32 -803434149, i32 467011063, i32 -1450147181, i32 -1872809806, i32 572110806, i32 -372038790, i32 1536533534, i32 1950663222, i32 -972929710, i32 231264766, i32 -1081190758, i32 -2042501957, i32 872899551, i32 -3278989, i32 1300983831, i32 -1924231631, i32 1057491285, i32 -188572167, i32 1183062685, i32 2135664828, i32 -854773800, i32 113752948, i32 -1266598896, i32 1484289828, i32 -364974016, i32 569664748, i32 -1816992888, i32 -1434627671, i32 406574797, i32 -739163551, i32 1639433477, i32 -1586349277, i32 322223175, i32 -654432021, i32 1790488463, i32 1400315310, i32 -516842806, i32 721096294, i32 -1732409086, i32 -1217597654, i32 86665294, i32 -824115998, i32 2091285382, i32 1164560807, i32 -147894589, i32 1021696623, i32 -1901896437, i32 1315349293, i32 -65002423, i32 938127589, i32 -2052311167, i32 -1134328416, i32 237306564, i32 -974154136, i32 2007568652, i32 731952240, i32 -1712966892, i32 1378658232, i32 -529915684, i32 -643460355, i32 1810044313, i32 -1607892683, i32 309266001, i32 -760547209, i32 1626111763, i32 -1423512641, i32 425749723, i32 548396794, i32 -1830200930, i32 1495518514, i32 -345683370, i32 -994825090, i32 1995615002, i32 -1120387146, i32 259963090, i32 917572339, i32 -2064151145, i32 1329404219, i32 -42230177, i32 1035886713, i32 -1879513315, i32 1144157105, i32 -160107307, i32 -809810188, i32 2113782160, i32 -1237887684, i32 74568280, i32 -393701012, i32 1523457544, i32 -1861973340, i32 591531456, i32 445497313, i32 -1463076731, i32 1661053993, i32 -783865011, i32 293786987, i32 -1547415025, i32 1745798819, i32 -632798777, i32 -477629466, i32 1371632770, i32 -1710497746, i32 676161354, i32 127664482, i32 -1243970042, i32 2114982570, i32 -866740786, i32 -174512145, i32 1205837963, i32 -1944767449, i32 1045672771, i32 -23704219, i32 1288751617, i32 -2028314963, i32 895277513, i32 210988008, i32 -1093276532, i32 1964996640, i32 -950403260, i32 -1326387640, i32 45508908, i32 -914555520, i32 2067430116, i32 1123403973, i32 -256684127, i32 997841677, i32 -1992336279, i32 1241162319, i32 -71555797, i32 813085063, i32 -2110769437, i32 -1140882238, i32 163120038, i32 -1032612086, i32 1882525806, i32 1608808006, i32 -308088542, i32 644375950, i32 -1808866582, i32 -1377742645, i32 531093423, i32 -731036925, i32 1714144359, i32 -1494336959, i32 346602789, i32 -547214967, i32 1831120621, i32 1424694476, i32 -424830040, i32 761728772, i32 -1625192352, i32 1943585620, i32 -1046592464, i32 173330588, i32 -1206757384, i32 -2116164135, i32 865821373, i32 -128846319, i32 1243050357, i32 -1965912237, i32 949225527, i32 -211903333, i32 1092099071, i32 2027399646, i32 -896454982, i32 22788630, i32 -1289929358, i32 -1664328870, i32 780852286, i32 -448771950, i32 1460064246, i32 1858698711, i32 -594543949, i32 390426143, i32 -1526470277, i32 1707480925, i32 -679440327, i32 474612885, i32 -1374911503, i32 -1748815408, i32 629520052, i32 -296803816, i32 1544136060]], align 4
@.str1638 = private unnamed_addr constant [9 x i8] c"TIGER192\00", align 1
@_gcry_digest_spec_tiger = internal hidden global %struct.gcry_md_spec { i32 6, %struct.anon.98 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([9 x i8]* @.str1638, i32 0, i32 0), i8* null, i32 0, %struct.gcry_md_oid_spec* null, i32 24, void (i8*)* @tiger_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @tiger_final, i8* (i8*)* @tiger_read, i32 160, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@.str11641 = private unnamed_addr constant [6 x i8] c"TIGER\00", align 1
@asn1 = internal global [19 x i8] c"0)0\0D\06\09+\06\01\04\01\DAG\0C\02\05\00\04\18", align 1
@oid_spec_tiger1 = internal global [2 x %struct.gcry_md_oid_spec] [%struct.gcry_md_oid_spec { i8* getelementptr inbounds ([23 x i8]* @.str31651, i32 0, i32 0) }, %struct.gcry_md_oid_spec zeroinitializer], align 4
@_gcry_digest_spec_tiger1 = internal hidden global %struct.gcry_md_spec { i32 306, %struct.anon.98 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([6 x i8]* @.str11641, i32 0, i32 0), i8* getelementptr inbounds ([19 x i8]* @asn1, i32 0, i32 0), i32 19, %struct.gcry_md_oid_spec* getelementptr inbounds ([2 x %struct.gcry_md_oid_spec]* @oid_spec_tiger1, i32 0, i32 0), i32 24, void (i8*)* @tiger1_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @tiger_final, i8* (i8*)* @tiger_read, i32 160, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@.str21644 = private unnamed_addr constant [7 x i8] c"TIGER2\00", align 1
@_gcry_digest_spec_tiger2 = internal hidden global %struct.gcry_md_spec { i32 307, %struct.anon.98 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([7 x i8]* @.str21644, i32 0, i32 0), i8* null, i32 0, %struct.gcry_md_oid_spec* null, i32 24, void (i8*)* @tiger2_init, void (i8*, i8*, i32)* @_gcry_md_block_write, void (i8*)* @tiger_final, i8* (i8*)* @tiger_read, i32 160, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@sbox11647 = internal global [256 x i32] [i32 -135721890, i32 -498882324, i32 232127699, i32 -151421126, i32 -769683053, i32 1887447522, i32 -1842707517, i32 76634224, i32 1896082662, i32 144921436, i32 -1914780548, i32 -603065332, i32 -1488077062, i32 1523690346, i32 1462756095, i32 429756958, i32 -637532214, i32 -397262393, i32 -363247690, i32 -912356206, i32 -1452308917, i32 1387643261, i32 925918145, i32 -1682651794, i32 242660842, i32 -260055998, i32 607339232, i32 -1657897724, i32 1611337414, i32 1918155948, i32 -1529131035, i32 -837816929, i32 -1184545317, i32 -223911925, i32 26417486, i32 765247667, i32 362116627, i32 -63603727, i32 2050428759, i32 1354338406, i32 1950501429, i32 -484105061, i32 102550241, i32 -324785659, i32 1362636659, i32 1135655720, i32 297738115, i32 -681598615, i32 -2018666087, i32 -1312209904, i32 -1062722823, i32 216404539, i32 1507701076, i32 -975116793, i32 650355663, i32 600126973, i32 1318726400, i32 1078369749, i32 -1948108212, i32 1782475310, i32 1804877773, i32 316867654, i32 -535337554, i32 1199769854, i32 -1595039190, i32 -2033971801, i32 -1668907900, i32 -39704493, i32 744419190, i32 -1986997759, i32 721082741, i32 -552387052, i32 673433944, i32 821432601, i32 1177290432, i32 -2005110318, i32 1696086334, i32 1567699753, i32 1219065188, i32 2080222311, i32 1258634498, i32 -805120435, i32 942019953, i32 -462172062, i32 -1806305184, i32 -894724903, i32 1997434728, i32 46556188, i32 863886635, i32 55275547, i32 -2117400211, i32 1724324975, i32 -346967467, i32 -1765766212, i32 -1506610246, i32 473761110, i32 1605528463, i32 -1279603020, i32 -1438360270, i32 -1470441343, i32 -1255615124, i32 -1863036342, i32 1426510682, i32 -959539335, i32 1041275699, i32 1939887308, i32 876707504, i32 1399659460, i32 498532235, i32 2103449279, i32 1986520053, i32 -1819546730, i32 -1883145783, i32 689038605, i32 655497873, i32 830838792, i32 -279123221, i32 -1130986290, i32 -1208524255, i32 -1417505820, i32 -1511117660, i32 -863334479, i32 -1751623261, i32 -1591476201, i32 -1151482074, i32 -1200956615, i32 1816625251, i32 -412705059, i32 -783701469, i32 -2070941292, i32 1090604066, i32 980299458, i32 1979040609, i32 -1009327050, i32 1288650799, i32 -1096425528, i32 -1119881346, i32 527758917, i32 1585553538, i32 2137553481, i32 -1164493883, i32 -452365217, i32 -421874730, i32 -1359974731, i32 1303039960, i32 722907132, i32 -91677409, i32 -879621414, i32 -1029626287, i32 -749291638, i32 803702543, i32 -380742352, i32 915215399, i32 -944814543, i32 -566634673, i32 1424085315, i32 -643416937, i32 -214632024, i32 1246713480, i32 -1293635923, i32 1864977682, i32 1749037521, i32 1639844715, i32 1777529498, i32 -16801816, i32 -704095738, i32 376241685, i32 -839655685, i32 -2050138909, i32 1147315777, i32 -1898727873, i32 1528912704, i32 999064946, i32 -117655203, i32 440061427, i32 12284717, i32 -1779901930, i32 -1088781640, i32 970924302, i32 1020288669, i32 2119672900, i32 -2083215880, i32 395939399, i32 464722054, i32 -1743991825, i32 412876035, i32 -1706272804, i32 2096213349, i32 -1558345639, i32 -732208650, i32 -1727760616, i32 1028700838, i32 584627423, i32 783062516, i32 -1262681847, i32 -1332857776, i32 1109422733, i32 -1627511817, i32 -995193473, i32 -513181605, i32 902435717, i32 326863525, i32 1476892350, i32 633516254, i32 -1390478414, i32 -1393013783, i32 1679541883, i32 -2143887324, i32 -190879507, i32 -605073135, i32 -1965941120, i32 1728733143, i32 166439371, i32 259012257, i32 2014943933, i32 1070131538, i32 2034926009, i32 90388720, i32 1652189048, i32 -169030537, i32 -1233523048, i32 -820768628, i32 543934624, i32 -925422199, i32 1547453228, i32 271267826, i32 -662427875, i32 -15391313, i32 561924521, i32 1833494484, i32 1171855262, i32 -581714636, i32 1445077002, i32 -1934143250, i32 -1621563337, i32 1337049660, i32 125169872, i32 1854441754, i32 -1346868187, i32 -1052395371, i32 -294491673, i32 -114165192, i32 842776476, i32 -81290124, i32 184241834, i32 -1563631225, i32 506278075, i32 -712544880, i32 -1849949298, i32 -2098895288, i32 1232548535, i32 1667364267, i32 -236322142, i32 342152253, i32 198985760, i32 -310859910], align 4
@sbox21648 = internal global [256 x i32] [i32 94445880, i32 -1258783592, i32 336292240, i32 958356949, i32 -910715852, i32 538292213, i32 1044876529, i32 -1423471207, i32 762185362, i32 226442006, i32 -1503270396, i32 -253698125, i32 1035778641, i32 245643038, i32 1555268649, i32 -1172628254, i32 -2091653107, i32 -723843305, i32 -1510768383, i32 -2004366606, i32 -1278979786, i32 -1870017287, i32 -229040876, i32 -2053782067, i32 -1727714765, i32 -619742346, i32 1099846407, i32 372159226, i32 1813240318, i32 -1830326550, i32 -959346289, i32 461632795, i32 -466962471, i32 -53285972, i32 184270021, i32 -1704129403, i32 712602794, i32 126533787, i32 -356061744, i32 1911266928, i32 1338139228, i32 185766051, i32 1660850987, i32 296266877, i32 1929043156, i32 849158364, i32 -848875752, i32 -786144212, i32 433710886, i32 1269387276, i32 1665942515, i32 -345581534, i32 -325342526, i32 -528219560, i32 -1848972123, i32 1215671733, i32 1535197151, i32 -1217082106, i32 531055791, i32 -413028818, i32 -1360469862, i32 1360590437, i32 870259044, i32 689543010, i32 -168873817, i32 352626366, i32 2128104300, i32 -152470122, i32 788097907, i32 -395316236, i32 -2036074248, i32 1291587683, i32 -95238435, i32 1691642579, i32 -820111254, i32 945184942, i32 2010952151, i32 1956298350, i32 -794856629, i32 -1974105176, i32 809610053, i32 1191860669, i32 1598473107, i32 -751390491, i32 1704915359, i32 2016201508, i32 -938163001, i32 -1106152837, i32 18985805, i32 1890404127, i32 1633314889, i32 -2135321222, i32 1353638741, i32 -47196842, i32 -670265386, i32 1967789882, i32 -1349402820, i32 -695156435, i32 1583902868, i32 923312292, i32 399533440, i32 -1191316865, i32 1297098819, i32 -1879097326, i32 -488497349, i32 -1489556342, i32 -21639578, i32 -1116510687, i32 -1957212917, i32 635895387, i32 -1140354753, i32 162278807, i32 1002821463, i32 -208707096, i32 -1692614118, i32 -191563861, i32 -1788133885, i32 1252039728, i32 593844, i32 1462143680, i32 -306232623, i32 2036377970, i32 -2025710783, i32 2080388764, i32 -885705691, i32 -285136424, i32 -889921866, i32 -1735236617, i32 1568294264, i32 1315128885, i32 -1087518464, i32 556082716, i32 -1823371696, i32 -1562913597, i32 744349069, i32 -480547743, i32 33762073, i32 -589020878, i32 -571058672, i32 -1243526928, i32 801982831, i32 1487990321, i32 418751240, i32 -1666788657, i32 1789582280, i32 312081123, i32 2131765223, i32 1144740843, i32 1496961190, i32 -81756164, i32 -2117610636, i32 -1799113611, i32 330604293, i32 -131516057, i32 276234108, i32 1715300334, i32 -287109727, i32 2061416887, i32 2070697890, i32 1805144033, i32 -1396595203, i32 -985122049, i32 1119501367, i32 -1292406976, i32 1863150926, i32 -1759694563, i32 -864233839, i32 -433880375, i32 -997680747, i32 1165104488, i32 -2113533905, i32 596027595, i32 62420360, i32 683528672, i32 67240438, i32 -1930409250, i32 -677583410, i32 -1765798991, i32 -1650129990, i32 -1537735282, i32 -1153425716, i32 -1470163907, i32 2113020830, i32 442765699, i32 1383077378, i32 1059610121, i32 -1178072749, i32 -1993287059, i32 1399395207, i32 -1446279292, i32 892070304, i32 -11633925, i32 659497512, i32 492734091, i32 -1056008511, i32 1747070499, i32 -1904167504, i32 -510411903, i32 -1584724808, i32 -1378536609, i32 1226219978, i32 884906180, i32 1012180141, i32 -634134087, i32 577413651, i32 1830444896, i32 1622142839, i32 -146522689, i32 1941084802, i32 -1036862114, i32 1731905714, i32 -1228310742, i32 -1613089318, i32 477881877, i32 1448891687, i32 1182234681, i32 1514021993, i32 265491154, i32 -824814906, i32 -1556118190, i32 -1018996067, i32 143457772, i32 513209376, i32 1861134150, i32 -103870886, i32 -1599341750, i32 -245204629, i32 1424857871, i32 -759487170, i32 -1331520177, i32 -554616692, i32 1991700564, i32 725975133, i32 -380792183, i32 -1640955685, i32 -540243897, i32 -1927825282, i32 1085388354, i32 -716441175, i32 1128038118, i32 980993864, i32 612726459, i32 909692900, i32 216813132, i32 -439471379, i32 652889105, i32 -948021060, i32 -650838801, i32 115692612, i32 830333962, i32 1776149081, i32 1434585734, i32 -2072962327, i32 -1320582287, i32 -1063816839, i32 -1433576434], align 4
@sbox31649 = internal global [256 x i32] [i32 -237309029, i32 1878168193, i32 -52647873, i32 -755184029, i32 -1812218942, i32 -26166682, i32 -1760652332, i32 -1327210895, i32 965076119, i32 1593266199, i32 943765728, i32 898205049, i32 -491607099, i32 928682354, i32 -898553861, i32 1249050433, i32 137389733, i32 -685204747, i32 835240542, i32 1988582727, i32 90280157, i32 -1156639599, i32 265652370, i32 1488408040, i32 -1856824223, i32 -2116892946, i32 2112744856, i32 -2053707518, i32 388461293, i32 -1905540339, i32 1661223718, i32 1524448190, i32 844908067, i32 882757735, i32 -1499552220, i32 -2043773361, i32 81807460, i32 1887894711, i32 -1979455540, i32 -1422921253, i32 -272664084, i32 -1672996780, i32 -317388371, i32 247961681, i32 406501368, i32 1391718116, i32 -447839489, i32 -1179882334, i32 1399291229, i32 529287466, i32 -1484461063, i32 -1563390860, i32 -519537630, i32 -1005539699, i32 -1075016166, i32 -851753558, i32 -334635495, i32 -2142884345, i32 195434808, i32 -1517299648, i32 1017597720, i32 -912522721, i32 323676182, i32 1935956667, i32 1433793270, i32 1316916137, i32 1911085395, i32 1651920432, i32 1500446781, i32 -1463429447, i32 -695142324, i32 -13389944, i32 1065486337, i32 -1709508171, i32 752564587, i32 -1291734446, i32 1716871514, i32 -1831654391, i32 1229419653, i32 866361018, i32 1857836130, i32 -38590800, i32 -2013276276, i32 -1712051258, i32 1795780141, i32 987255487, i32 -606817269, i32 1172948313, i32 131674502, i32 -90048653, i32 360319517, i32 -165668139, i32 -810487691, i32 1747519352, i32 -836579042, i32 784582971, i32 2084511535, i32 44758286, i32 1611374543, i32 1223310038, i32 -1955953686, i32 -1217176356, i32 508709393, i32 -875993271, i32 -1315187820, i32 -1692098036, i32 -348765017, i32 -386986274, i32 -377909324, i32 1946953891, i32 1637308015, i32 -1235286371, i32 2025746192, i32 2047306261, i32 -1601463344, i32 -944207538, i32 -1170931980, i32 674694140, i32 212807880, i32 -266901382, i32 -1639828119, i32 770605465, i32 -585139523, i32 162134656, i32 -545480231, i32 -2006135945, i32 -1457830112, i32 -103686945, i32 1329101656, i32 -214866685, i32 -404524231, i32 1358276427, i32 915970350, i32 -1202129348, i32 1543007706, i32 699784566, i32 1996502571, i32 -971048049, i32 -973429721, i32 -869109437, i32 820326918, i32 -533945450, i32 179140337, i32 -1049778890, i32 468181458, i32 5102561, i32 108783174, i32 1006524525, i32 -1590978576, i32 634784936, i32 24410065, i32 -557133235, i32 -1106632981, i32 2034434475, i32 654655741, i32 -1555291455, i32 -188652665, i32 -1113967862, i32 -1434622923, i32 61754418, i32 -1384586478, i32 1790189810, i32 -367967770, i32 -1739625688, i32 1148099971, i32 1296141695, i32 -434618994, i32 1595301956, i32 298568254, i32 -1306672964, i32 -170406445, i32 1025908124, i32 599430188, i32 1199588024, i32 1453471903, i32 1739271584, i32 -1883505359, i32 -1659628699, i32 730974099, i32 -82583592, i32 350398843, i32 1558077204, i32 -705647479, i32 475945728, i32 -721570829, i32 1462374920, i32 1137501578, i32 -1530470236, i32 1708089871, i32 -1625187167, i32 1835255841, i32 1920404911, i32 551520239, i32 440305381, i32 -937831164, i32 -1402945626, i32 2124396227, i32 -1803308601, i32 -1030408340, i32 716811539, i32 -1063225212, i32 -480112439, i32 372855246, i32 -791824902, i32 -662743245, i32 -1987202841, i32 -777672066, i32 -1257891003, i32 1821536314, i32 -1356468414, i32 575931478, i32 -641460326, i32 -1371718560, i32 -1265330492, i32 488428771, i32 562976052, i32 -128965526, i32 -1794982871, i32 -635239141, i32 -594324612, i32 -297064018, i32 1097373143, i32 304971575, i32 274580657, i32 -142071152, i32 1368014684, i32 -2075056805, i32 431830242, i32 1564273867, i32 1122057930, i32 794419884, i32 -453391280, i32 233931901, i32 -739892226, i32 2069266504, i32 -2110447250, i32 620120906, i32 -1939269897, i32 1288574293, i32 1268366629, i32 1770074048, i32 -1872360522, i32 1185200562, i32 2135546472, i32 -2085511073, i32 -1773865845, i32 -1917422157, i32 -1125400939, i32 1969576322, i32 1044762373, i32 1422004567, i32 1084812009, i32 -222248499, i32 1678928156, i32 643501936, i32 -1017673058], align 4
@sbox41650 = internal global [256 x i32] [i32 640826453, i32 -98870795, i32 2085392378, i32 -618048041, i32 -835342398, i32 -1458487995, i32 -1230239219, i32 1501291519, i32 -1404514986, i32 -195238801, i32 -69021602, i32 -1281804816, i32 -1663690298, i32 1960779881, i32 -2062488256, i32 980339367, i32 444690505, i32 -1144953950, i32 2101660722, i32 -1426845525, i32 -1476099509, i32 764190612, i32 903801059, i32 1698748563, i32 715440090, i32 399585916, i32 907699845, i32 304153981, i32 -1539649545, i32 -843046271, i32 -10384933, i32 1290169073, i32 498703338, i32 -29190129, i32 1905085343, i32 581303692, i32 736410929, i32 -886818745, i32 1481032711, i32 515312388, i32 -176995969, i32 562100343, i32 -210703616, i32 -690366812, i32 1686087426, i32 1986031366, i32 -1568211190, i32 -921124254, i32 841113428, i32 1758246398, i32 -685000160, i32 -1859304539, i32 -1089297176, i32 -231793185, i32 179636595, i32 -1644185790, i32 103427641, i32 962921621, i32 -720455496, i32 -131726994, i32 -1791068559, i32 -1506372240, i32 -1800287865, i32 -1867359007, i32 194462454, i32 -55604116, i32 -664243122, i32 -388533477, i32 1522806625, i32 -259713689, i32 -1635522091, i32 1544119437, i32 1966542077, i32 -1139989155, i32 873667552, i32 -1265926481, i32 1151576885, i32 538417616, i32 -1211808703, i32 -43357018, i32 738772709, i32 -1483351570, i32 796038205, i32 427299336, i32 -353475951, i32 1717416713, i32 1565766131, i32 1078017831, i32 -552797607, i32 783834767, i32 -1380130536, i32 -561761827, i32 1106347838, i32 -1596788505, i32 2008418088, i32 -1345739220, i32 1780811461, i32 -589181422, i32 1248287543, i32 -2118135274, i32 -334105719, i32 -1956965432, i32 338116125, i32 52010263, i32 -404725256, i32 74930858, i32 1178425081, i32 1134718564, i32 -2019637096, i32 352417740, i32 -904055992, i32 -1620074477, i32 1202183638, i32 -870534457, i32 637325779, i32 -1911557002, i32 1023656237, i32 -297564006, i32 -335851709, i32 1022835053, i32 -757800926, i32 -803243956, i32 944960838, i32 -1966623176, i32 1737138506, i32 1828367821, i32 137600564, i32 525935545, i32 256517727, i32 -1298430948, i32 -1886276435, i32 1170658243, i32 -164844814, i32 1869999736, i32 478746281, i32 -2063674285, i32 380633318, i32 -1742487436, i32 -1032563872, i32 -1189703235, i32 -240261526, i32 1833272215, i32 659375889, i32 1346316625, i32 -1007064213, i32 1674227886, i32 1436670740, i32 1846861404, i32 1313987265, i32 -1924460583, i32 1386281425, i32 -511209856, i32 -1714392752, i32 206476048, i32 -454006738, i32 274653083, i32 595138682, i32 -1092125796, i32 869221667, i32 403031969, i32 1454275698, i32 -1315998244, i32 -1410760562, i32 -1072991572, i32 1648962962, i32 -114406053, i32 -994121090, i32 -631861042, i32 1111037060, i32 687345053, i32 2058613269, i32 1362369101, i32 2079283205, i32 127305267, i32 614317622, i32 2024164456, i32 1002648815, i32 -429189132, i32 -1697809141, i32 -521312382, i32 13138428, i32 -1248694858, i32 830129544, i32 -2043142367, i32 -778096603, i32 -570606597, i32 -487791893, i32 -940963618, i32 -1332048956, i32 -821585990, i32 -981718411, i32 1637031512, i32 163191820, i32 -1820519982, i32 -965897500, i32 1422060732, i32 -2097742300, i32 1533159247, i32 30114086, i32 333676491, i32 -939505975, i32 -477562013, i32 292352414, i32 1809130583, i32 -1371015256, i32 -729899825, i32 36223770, i32 1591430809, i32 -1196753872, i32 701702442, i32 -385706317, i32 1474101850, i32 -1550799691, i32 -2084746751, i32 1274263867, i32 -1934931927, i32 -1168626606, i32 2144886194, i32 1619177091, i32 -1512400208, i32 930195775, i32 1227969240, i32 -1749789666, i32 -745641626, i32 -1841527509, i32 234006651, i32 458176446, i32 1297409283, i32 2127452116, i32 -653903302, i32 -2144296257, i32 -316668992, i32 1772699782, i32 821394058, i32 2045503353, i32 98352361, i32 -2007560478, i32 -1108805984, i32 -1050369233, i32 -1771645045, i32 -437927108, i32 1214877072, i32 1042188987, i32 -1992565580, i32 1606145305, i32 -1684773430, i32 1067209196, i32 -1588573769, i32 -143209551, i32 -279630867, i32 1884960419, i32 1335386180, i32 245901326, i32 1398755429, i32 1913319318, i32 1935910175], align 4
@.str31651 = private unnamed_addr constant [23 x i8] c"1.3.6.1.4.1.11591.12.2\00", align 1
@.str1656 = private unnamed_addr constant [8 x i8] c"TWOFISH\00", align 1
@_gcry_cipher_spec_twofish = internal hidden global %struct.gcry_cipher_spec { i32 10, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([8 x i8]* @.str1656, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 16, i32 256, i32 4256, i32 (i8*, i8*, i32)* @twofish_setkey, i32 (i8*, i8*, i8*)* @twofish_encrypt, i32 (i8*, i8*, i8*)* @twofish_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@.str11659 = private unnamed_addr constant [11 x i8] c"TWOFISH128\00", align 1
@_gcry_cipher_spec_twofish128 = internal hidden global %struct.gcry_cipher_spec { i32 303, %struct.anon.11 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([11 x i8]* @.str11659, i32 0, i32 0), i8** null, %struct.gcry_cipher_oid_spec* null, i32 16, i32 128, i32 4256, i32 (i8*, i8*, i32)* @twofish_setkey, i32 (i8*, i8*, i8*)* @twofish_encrypt, i32 (i8*, i8*, i8*)* @twofish_decrypt, void (i8*, i8*, i8*, i32)* null, void (i8*, i8*, i8*, i32)* null, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null, i32 (i8*, i32, i8*, i32)* null, void (i8*, i8*, i32)* null }, align 4
@do_twofish_setkey.initialized = internal global i32 0, align 4
@do_twofish_setkey.selftest_failed = internal global i8* null, align 4
@.str21662 = private unnamed_addr constant [4 x i8] c"%s\0A\00", align 1
@poly_to_exp = internal constant [255 x i8] c"\00\01\17\02.\18S\03j/\93\194TE\04\5Ck\B60\A6\94K\1A\8C5\81U\AAF\0D\05$]\87l\9B\B7\C11+\A7\A3\95\98L\CA\1B\E6\8Ds6\CD\82\12Vb\AB\F0GO\0E\BD\06\D4%\D2^'\88fm\D6\9Cy\B8\08\C2\DF2h,\FD\A8\8A\A4Z\96)\99\22M`\CB\E4\1C{\E7;\8E\9Et\F47\D8\CE\F9\83o\13\B2W\E1c\DC\AC\C4\F1\AFH\0APB\0F\BA\BE\C7\07\DE\D5x&e\D3\D1_\E3(!\89Yg\FCn\B1\D7\F8\9D\F3z:\B9\C6\09A\C3\AE\E0\DB3Di\92-R\FE\16\A9\0C\8B\80\A5J[\B5\97\C9*\A2\9A\C0#\86N\BCa\EF\CC\11\E5r\1D=|\EB\E8\E9<\EA\8F}\9F\ECu\1E\F5>8\F6\D9?\CFv\FA\1F\84\A0p\ED\14\90\B3~X\FB\E2 d\D0\DDw\AD\DA\C5@\F29\B0\F7I\B4\0B\7FQ\15C\91\10q\BB\EE\BF\85\C8\A1", align 1
@exp_to_poly = internal constant [492 x i8] c"\01\02\04\08\10 @\80M\9Ay\F2\A9\1F>|\F8\BD7n\DC\F5\A7\03\06\0C\180`\C0\CD\D7\E3\8B[\B6!B\84E\8AY\B2)R\A4\05\0A\14(P\A0\0D\1A4h\D0\ED\97c\C6\C1\CF\D3\EB\9B{\F6\A1\0F\1E<x\F0\AD\17.\5C\B8=z\F4\A5\07\0E\1C8p\E0\8DW\AE\11\22D\88]\BA9r\E4\85G\8EQ\A2\09\12$H\90m\DA\F9\BF3f\CC\D5\E7\83K\96a\C2\C9\DF\F3\AB\1B6l\D8\FD\B7#F\8CU\AA\192d\C8\DD\F7\A3\0B\16,X\B0-Z\B4%J\94e\CA\D9\FF\B3+V\AC\15*T\A8\1D:t\E8\9Dw\EE\91o\DE\F1\AF\13&L\98}\FA\B9?~\FC\B5'N\9Cu\EA\99\7F\FE\B1/^\BC5j\D4\E5\87C\86A\82I\92i\D2\E9\9Fs\E6\81O\9Eq\E2\89_\BE1b\C4\C5\C7\C3\CB\DB\FB\BB;v\EC\95g\CE\D1\EF\93k\D6\E1\8FS\A6\01\02\04\08\10 @\80M\9Ay\F2\A9\1F>|\F8\BD7n\DC\F5\A7\03\06\0C\180`\C0\CD\D7\E3\8B[\B6!B\84E\8AY\B2)R\A4\05\0A\14(P\A0\0D\1A4h\D0\ED\97c\C6\C1\CF\D3\EB\9B{\F6\A1\0F\1E<x\F0\AD\17.\5C\B8=z\F4\A5\07\0E\1C8p\E0\8DW\AE\11\22D\88]\BA9r\E4\85G\8EQ\A2\09\12$H\90m\DA\F9\BF3f\CC\D5\E7\83K\96a\C2\C9\DF\F3\AB\1B6l\D8\FD\B7#F\8CU\AA\192d\C8\DD\F7\A3\0B\16,X\B0-Z\B4%J\94e\CA\D9\FF\B3+V\AC\15*T\A8\1D:t\E8\9Dw\EE\91o\DE\F1\AF\13&L\98}\FA\B9?~\FC\B5'N\9Cu\EA\99\7F\FE\B1/^\BC5j\D4\E5\87C\86A\82I\92i\D2\E9\9Fs\E6\81O\9Eq\E2\89_\BE1b\C4\C5\C7\C3\CB", align 1
@calc_sb_tbl = internal global [512 x i8] c"\A9ug\F3\B3\C6\E8\F4\04\DB\FD{\A3\FBv\C8\9AJ\92\D3\80\E6xk\E4E\DD}\D1\E88K\0D\D6\C625\D8\98\FD\187\F7q\EC\F1l\E1C0u\0F7\F8&\1B\FA\87\13\FA\94\06H?\F2^\D0\BA\8B\AE0[\84\8AT\00\DF\BC#\9D\19m[\C1=\B1Y\0E\F3\80\AE]\A2\D2\82\D5c\A0\01\84\83\07.\14\D9\B5Q\90\9B,|\A3\A6\B2\EBs\A5L\BET\16\92\0Ct\E36aQ\C08\8C\B0:\BD\F5Zs\FC,`%b\0B\96\BBlNB\89\F7k\10S|j(\B4'\F1\8C\E1\13\E6\95\BD\9CE\C7\E2$\F4F\B6;fp\CC\CA\95\E3\03\85V\CB\D4\11\1C\D0\1E\93\D7\B8\FB\A6\C3\83\8E \B5\FF\E9\9F\CFw\BF\C3\BA\CC\EA\03wo9\08\AF\BF3@\C9\E7b+q\E2\81yy\0C\09\AA\AD\82$A\CD:\F9\EA\D8\B9\E5\E4\C5\9A\B9\A4M\97D~\08\DA\86z\E7\17\A1f\1D\94\AA\A1\ED\1D\06=p\F0\B2\DE\D2\B3A\0B{r\A0\A7\11\1C1\EF\C2\D1'S\90> \8F\F63`&\FF_\96\EC\5Cv\B1*\ABI\9E\81\9C\88R\EE\1B!_\C4\93\1A\0A\EB\EF\D9\91\C5\859I\99\EE\CD-\ADO1\8F\8B;\01G\18\87#m\DDF\1F\D6N>-i\F9dH*O\CE\F2\CBe/\8E\FCx\97\5C\05Xz\19\AC\8D\7F\E5\D5\98\1AWKg\0E\7F\A7\05Zd(\AF\14c?\B6)\FE\88\F5<\B7L<\02\A5\B8\CE\DA\E9\B0h\17DU\E0\1FM\8AC}iW)\C7.\8D\ACt\15\B7Y\C4\A8\9F\0Ar\9E~n\15G\22\DF\124X5\07j\99\CF4\DCn\22P\C9\DE\C0h\9Be\89\BC\D4\DB\ED\F8\AB\C8\12\A8\A2+\0D@R\DC\BB\FE\022/\A4\A9\CA\D7\10a!\1E\F0\B4\D3P]\04\0F\F6\00\C2o\16\9D%6\86BVJU^\09\C1\BE\E0\91", align 1
@q1 = internal constant [256 x i8] c"u\F3\C6\F4\DB{\FB\C8J\D3\E6kE}\E8K\D62\D8\FD7q\F1\E10\0F\F8\1B\87\FA\06?^\BA\AE[\8A\00\BC\9Dm\C1\B1\0E\80]\D2\D5\A0\84\07\14\B5\90,\A3\B2sLT\92t6Q8\B0\BDZ\FC`b\96lB\F7\10|('\8C\13\95\9C\C7$F;p\CA\E3\85\CB\11\D0\93\B8\A6\83 \FF\9Fw\C3\CC\03o\08\BF@\E7+\E2y\0C\AA\82A:\EA\B9\E4\9A\A4\97~\DAz\17f\94\A1\1D=\F0\DE\B3\0Br\A7\1C\EF\D1S>\8F3&_\ECv*I\81\88\EE!\C4\1A\EB\D9\C59\99\CD\AD1\8B\01\18#\DD\1FN-\F9HO\F2e\8Ex\5CX\19\8D\E5\98Wg\7F\05d\AFc\B6\FE\F5\B7<\A5\CE\E9hD\E0MCi).\AC\15Y\A8\0A\9EnG\DF45j\CF\DC\22\C9\C0\9B\89\D4\ED\AB\12\A2\0DR\BB\02/\A9\D7a\1E\B4P\04\F6\C2\16%\86VU\09\BE\91", align 1
@q0 = internal constant [256 x i8] c"\A9g\B3\E8\04\FD\A3v\9A\92\80x\E4\DD\D18\0D\C65\98\18\F7\EClCu7&\FA\13\94H\F2\D0\8B0\84T\DF#\19[=Y\F3\AE\A2\82c\01\83.\D9Q\9B|\A6\EB\A5\BE\16\0C\E3a\C0\8C:\F5s,%\0B\BBN\89kSj\B4\F1\E1\E6\BDE\E2\F4\B6f\CC\95\03V\D4\1C\1E\D7\FB\C3\8E\B5\E9\CF\BF\BA\EAw9\AF3\C9bq\81y\09\AD$\CD\F9\D8\E5\C5\B9MD\08\86\E7\A1\1D\AA\ED\06p\B2\D2A{\A0\111\C2'\90 \F6`\FF\96\5C\B1\AB\9E\9CR\1B_\93\0A\EF\91\85I\EE-O\8F;G\87mF\D6>id*\CE\CB/\FC\97\05z\AC\7F\D5\1AK\0E\A7Z(\14?)\88<L\02\B8\DA\B0\17U\1F\8A}W\C7\8Dt\B7\C4\9Fr~\15\22\12X\07\994nP\DEhe\BC\DB\F8\C8\A8+@\DC\FE2\A4\CA\10!\F0\D3]\0F\00o\9D6BJ^\C1\E0", align 1
@mds = internal constant [4 x [256 x i32]] [[256 x i32] [i32 -1128517003, i32 -320069133, i32 538985414, i32 -1280062988, i32 -623246373, i32 33721211, i32 -488494085, i32 -1633748280, i32 -909513654, i32 -724301357, i32 404253670, i32 505323371, i32 -1734865339, i32 -1296942979, i32 -1499016472, i32 640071499, i32 1010587606, i32 -1819047374, i32 -2105348392, i32 1381144829, i32 2071712823, i32 -1145358479, i32 1532729329, i32 1195869153, i32 606354480, i32 1364320783, i32 -1162164488, i32 1246425883, i32 -1077983097, i32 218984698, i32 -1330597114, i32 1970658879, i32 -757924514, i32 2105352378, i32 1717973422, i32 976921435, i32 1499012234, i32 0, i32 -842165316, i32 437969053, i32 -1364317075, i32 2139073473, i32 724289457, i32 -1094797042, i32 -522149760, i32 -1970663331, i32 993743570, i32 1684323029, i32 -656897888, i32 -404249212, i32 1600120839, i32 454758676, i32 741130933, i32 -50547568, i32 825304876, i32 -2139069021, i32 1936927410, i32 202146163, i32 2037997388, i32 1802191188, i32 1263207058, i32 1397975412, i32 -1802203338, i32 -2088558767, i32 707409464, i32 -993747792, i32 572704957, i32 -707397542, i32 -1111636996, i32 1212708960, i32 -12702, i32 1280051094, i32 1094809452, i32 -943200702, i32 -336911113, i32 471602192, i32 1566401404, i32 909517352, i32 1734852647, i32 -370561140, i32 1145370899, i32 336915093, i32 -168445028, i32 -808511289, i32 1061104932, i32 -1061100730, i32 1920129851, i32 1414818928, i32 690572490, i32 -252693021, i32 134807173, i32 -960096309, i32 -202158319, i32 -1936923440, i32 -1532733037, i32 -892692808, i32 1751661478, i32 -1195881085, i32 943204384, i32 -437965057, i32 -1381149025, i32 185304183, i32 -926409277, i32 -1717960756, i32 1482222851, i32 421108335, i32 235801096, i32 -1785364801, i32 1886408768, i32 -134795033, i32 1852755755, i32 522153698, i32 -1246413447, i32 151588620, i32 1633760426, i32 1465325186, i32 -1616966847, i32 -1650622406, i32 286352618, i32 623234489, i32 -1347428892, i32 1162152090, i32 -538997340, i32 -1549575017, i32 -353708674, i32 892688602, i32 -303181702, i32 1128528919, i32 -117912730, i32 -67391084, i32 926405537, i32 -84262883, i32 -1027446723, i32 -1263219472, i32 842161630, i32 -1667468877, i32 1448535819, i32 -471606670, i32 -2021171033, i32 353704732, i32 -101106961, i32 1667481553, i32 875866451, i32 -1701149378, i32 -1313783153, i32 2088554803, i32 -2004313306, i32 1027450463, i32 -1583228948, i32 -454762634, i32 -2122214358, i32 -1852767927, i32 252705665, i32 -286348664, i32 370565614, i32 -673746143, i32 -1751648828, i32 -1515870182, i32 -16891925, i32 1835906521, i32 2021174981, i32 -976917191, i32 488498585, i32 1987486925, i32 1044307117, i32 -875862223, i32 -1229568117, i32 -269526271, i32 303177240, i32 1616954659, i32 1785376989, i32 1296954911, i32 -825300658, i32 -555844563, i32 1431674361, i32 2122209864, i32 555856463, i32 50559730, i32 -1600117147, i32 1583225230, i32 1515873912, i32 1701137244, i32 1650609752, i32 -33733351, i32 101119117, i32 1077970661, i32 -218972520, i32 859024471, i32 387420263, i32 84250239, i32 -387424763, i32 1330609508, i32 -1987482961, i32 269522275, i32 1953771446, i32 168457726, i32 1549570805, i32 -1684310857, i32 757936956, i32 808507045, i32 774785486, i32 1229556201, i32 1179021928, i32 2004309316, i32 -1465329440, i32 -1768553395, i32 673758531, i32 -1448531607, i32 -640059095, i32 -2038001362, i32 -774797396, i32 -185316843, i32 -1920133799, i32 -690584920, i32 -1179010038, i32 1111625118, i32 -151600786, i32 791656519, i32 -572717345, i32 589510964, i32 -859020747, i32 -235813782, i32 -1044311345, i32 -2054820900, i32 -1886413278, i32 1903272393, i32 -1869549376, i32 -1431678053, i32 16904585, i32 -1953766956, i32 1313770733, i32 -1903267925, i32 -1414815214, i32 1869561506, i32 -421112819, i32 -606342574, i32 -1835893829, i32 -1212697086, i32 1768540719, i32 960092585, i32 -741143337, i32 -1482218655, i32 -1566397154, i32 -1010591308, i32 1819034704, i32 117900548, i32 67403766, i32 656885442, i32 -1397971178, i32 -791644635, i32 1347425158, i32 -589498538, i32 -2071717291, i32 -505327351, i32 2054825406, i32 320073617], [256 x i32] [i32 -1445381831, i32 1737496343, i32 -1284399972, i32 -388847962, i32 67438343, i32 -40349102, i32 -1553629056, i32 1994384612, i32 -1710734011, i32 -1845343413, i32 -2136940320, i32 2019973722, i32 -455233617, i32 -575640982, i32 -775986333, i32 943073834, i32 223667942, i32 -968679392, i32 895667404, i32 -1732316430, i32 404623890, i32 -148575253, i32 -321412703, i32 1819754817, i32 1136470056, i32 1966259388, i32 936672123, i32 647727240, i32 -93319923, i32 335103044, i32 -1800274949, i32 1213890174, i32 -226884861, i32 -790328180, i32 -1958234442, i32 809247780, i32 -2069501977, i32 1413573483, i32 -553198115, i32 600137824, i32 424017405, i32 1537423930, i32 1030275778, i32 1494584717, i32 -215880468, i32 -1372494234, i32 -1572966545, i32 -2112465065, i32 1670713360, i32 22802415, i32 -2092058440, i32 781289094, i32 -642421395, i32 1361019779, i32 -1689015638, i32 2086886749, i32 -1506056088, i32 -348127490, i32 -1512689616, i32 -1104840070, i32 380087468, i32 202311945, i32 -483004176, i32 1629726631, i32 -1057976176, i32 -1934628375, i32 981507485, i32 -174957476, i32 1937837068, i32 740766001, i32 628543696, i32 199710294, i32 -1149529454, i32 1323945678, i32 -1980694271, i32 1805590046, i32 1403597876, i32 1791291889, i32 -1264991293, i32 -241738917, i32 -511490233, i32 -429189096, i32 -1110957534, i32 1158584472, i32 -496099553, i32 -188107853, i32 -1238403980, i32 1724643576, i32 -855664231, i32 -1779821548, i32 65886296, i32 1459084508, i32 -723416181, i32 471536917, i32 514695842, i32 -687025197, i32 -81009950, i32 -1021458232, i32 -1910940066, i32 -1245565908, i32 -376878775, i32 -820854335, i32 -1082223211, i32 -1172275843, i32 -362540783, i32 2005142283, i32 963495365, i32 -1351972471, i32 869366908, i32 -912166543, i32 1657733119, i32 1899477947, i32 -2114253041, i32 2034087349, i32 156361185, i32 -1378075074, i32 606945087, i32 -844859786, i32 -107129515, i32 -655457662, i32 -444186560, i32 -978421640, i32 -1177737947, i32 1292146326, i32 1146451831, i32 134876686, i32 -2045554608, i32 -416221193, i32 -1579993289, i32 490797818, i32 -1439407775, i32 -309572018, i32 112439472, i32 1886147668, i32 -1305840781, i32 -766362821, i32 1091280799, i32 2072707586, i32 -1601644328, i32 290452467, i32 828885963, i32 -1035589849, i32 666920807, i32 -1867186948, i32 539506744, i32 -159448060, i32 1618495560, i32 -13703707, i32 -1777906612, i32 1548445029, i32 -1312347349, i32 -1418752370, i32 -1643298238, i32 -1665403403, i32 1391647707, i32 468929098, i32 1604730173, i32 -1822841692, i32 180140473, i32 -281347591, i32 -1846602989, i32 -2046949368, i32 1224839569, i32 -295627242, i32 763158238, i32 1337073953, i32 -1891454543, i32 1004237426, i32 1203253039, i32 -2025275457, i32 1831644846, i32 1189331136, i32 -698926020, i32 1048943258, i32 1764338089, i32 1685933903, i32 714375553, i32 -834064850, i32 -887634234, i32 801794409, i32 -54280771, i32 -1755536477, i32 90106088, i32 2060512749, i32 -1400385071, i32 2140013829, i32 -709204892, i32 447260069, i32 1270294054, i32 247054014, i32 -1486846073, i32 1526257109, i32 673330742, i32 336665371, i32 1071543669, i32 695851481, i32 -2002063634, i32 1009986861, i32 1281325433, i32 45529015, i32 -1198077238, i32 -631753419, i32 -1331903292, i32 402408259, i32 1427801220, i32 536235341, i32 -1977853607, i32 2100867762, i32 1470903091, i32 -954675249, i32 -1913387514, i32 1953059667, i32 -1217094757, i32 -990537833, i32 -1621709395, i32 1926947811, i32 2127948522, i32 357233908, i32 580816783, i32 312650667, i32 1481532002, i32 132669279, i32 -1713038051, i32 876159779, i32 1858205430, i32 1346661484, i32 -564317646, i32 1752319558, i32 1697030304, i32 -1131164211, i32 -620504358, i32 -121193798, i32 -923099490, i32 -1467820330, i32 735014510, i32 1079013488, i32 -588544635, i32 -25884150, i32 847942547, i32 -1534205985, i32 -900978391, i32 269753372, i32 561240023, i32 -255019852, i32 -754330412, i32 1561365130, i32 266490193, i32 0, i32 1872369945, i32 -1646257638, i32 915379348, i32 1122420679, i32 1257032137, i32 1593692882, i32 -1045725313, i32 -522671960], [256 x i32] [i32 -1133134798, i32 -319558623, i32 549855299, i32 -1275808823, i32 -623126013, i32 41616011, i32 -486809045, i32 -1631019270, i32 -917845524, i32 -724315127, i32 417732715, i32 510336671, i32 -1740269554, i32 -1300385224, i32 -1494702382, i32 642459319, i32 1020673111, i32 -1825401974, i32 -2099739922, i32 1392333464, i32 2067233748, i32 -1150174409, i32 1542544279, i32 1205946243, i32 607134780, i32 1359958498, i32 -1158104378, i32 1243302643, i32 -1081622712, i32 234491248, i32 -1341738829, i32 1967093214, i32 -765537539, i32 2109373728, i32 1722705457, i32 979057315, i32 1502239004, i32 0, i32 -843264621, i32 446503648, i32 -1368543700, i32 2143387563, i32 733031367, i32 -1106329927, i32 -528424800, i32 -1973581296, i32 1003633490, i32 1691706554, i32 -660547448, i32 -410720347, i32 1594318824, i32 454302481, i32 750070978, i32 -57606988, i32 824979751, i32 -2136768411, i32 1941074730, i32 208866433, i32 2035054943, i32 1800694593, i32 1267878658, i32 1400132457, i32 -1808362353, i32 -2091810017, i32 708323894, i32 -995048292, i32 582820552, i32 -715467272, i32 -1107509821, i32 1214269560, i32 -10289202, i32 1284918279, i32 1097613687, i32 -951924762, i32 -336073948, i32 470817812, i32 1568431459, i32 908604962, i32 1730635712, i32 -376641105, i32 1142113529, i32 345314538, i32 -174262853, i32 -808988904, i32 1059340077, i32 -1069104925, i32 1916498651, i32 1416647788, i32 701114700, i32 -253497291, i32 142936318, i32 -959724009, i32 -216927409, i32 -1932489500, i32 -1533828007, i32 -893859178, i32 1755736123, i32 -1199327155, i32 941635624, i32 -436214482, i32 -1382044330, i32 192351108, i32 -926693347, i32 -1714644481, i32 1476614381, i32 426711450, i32 235408906, i32 -1782606466, i32 1883271248, i32 -135792848, i32 1848340175, i32 534912878, i32 -1250314947, i32 151783695, i32 1638555956, i32 1468159766, i32 -1623089397, i32 -1657102976, i32 300552548, i32 632890829, i32 -1343967267, i32 1167738120, i32 -542842995, i32 -1550343332, i32 -360781099, i32 903492952, i32 -310710832, i32 1125598204, i32 -127469365, i32 -74122319, i32 933312467, i32 -98698688, i32 -1036139928, i32 -1259293492, i32 853422685, i32 -1665950607, i32 1443583719, i32 -479009830, i32 -2019063968, i32 354161947, i32 -101713606, i32 1674666943, i32 877868201, i32 -1707173243, i32 -1315983038, i32 2083749073, i32 -2010740581, i32 1029651878, i32 -1578327593, i32 -461970209, i32 -2127920748, i32 -1857449727, i32 260116475, i32 -293015894, i32 384702049, i32 -685648013, i32 -1748723723, i32 -1524980312, i32 -18088385, i32 1842965941, i32 2026207406, i32 -986069651, i32 496573925, i32 1993176740, i32 1051541212, i32 -885929113, i32 -1232357817, i32 -285085861, i32 303567390, i32 1612931269, i32 1792895664, i32 1293897206, i32 -833696023, i32 -567419268, i32 1442403741, i32 2118680154, i32 558834098, i32 66192250, i32 -1603952602, i32 1586388505, i32 1517836902, i32 1700554059, i32 1649959502, i32 -48628411, i32 109905652, i32 1088766086, i32 -224857410, i32 861352876, i32 392632208, i32 92210574, i32 -402266018, i32 1331974013, i32 -1984984726, i32 274927765, i32 1958114351, i32 184420981, i32 1559583890, i32 -1682465932, i32 758918451, i32 816132310, i32 785264201, i32 1240025481, i32 1181238898, i32 2000975701, i32 -1461671720, i32 -1773300220, i32 675489981, i32 -1452693207, i32 -651568775, i32 -2043771247, i32 -777203321, i32 -199887798, i32 -1923511019, i32 -693578110, i32 -1190479428, i32 1117667853, i32 -160500031, i32 793194424, i32 -572531450, i32 590619449, i32 -868889502, i32 -244649532, i32 -1043349230, i32 -2049145365, i32 -1893560418, i32 1909027233, i32 -1866428176, i32 -1432638893, i32 25756145, i32 -1949004831, i32 1324174988, i32 -1901359505, i32 -1424839774, i32 1872916286, i32 -435296684, i32 -615326734, i32 -1833201029, i32 -1224558666, i32 1764714954, i32 967391705, i32 -740830452, i32 -1486772445, i32 -1575050579, i32 -1011563623, i32 1817209924, i32 117704453, i32 83231871, i32 667035462, i32 -1407800153, i32 -802828170, i32 1350979603, i32 -598287113, i32 -2074770406, i32 -519446191, i32 2059303461, i32 328274927], [256 x i32] [i32 -650532391, i32 -1877514352, i32 1906094961, i32 -760813358, i32 84345861, i32 -1739391592, i32 1702929253, i32 -538675489, i32 138779144, i32 38507010, i32 -1595899744, i32 1717205094, i32 -575675171, i32 -1335173712, i32 -1083977281, i32 908736566, i32 1424362836, i32 1126221379, i32 1657550178, i32 -1091397442, i32 504502302, i32 619444004, i32 -677253929, i32 2000776311, i32 -1121434691, i32 851211570, i32 -730122284, i32 -1685576037, i32 1879964272, i32 -112978951, i32 -1308912463, i32 1518225498, i32 2047079034, i32 -460533532, i32 1203145543, i32 1009004604, i32 -1511553883, i32 1097552961, i32 115203846, i32 -983555131, i32 1174214981, i32 -1556456541, i32 1757560168, i32 361584917, i32 569176865, i32 828812849, i32 1047503422, i32 374833686, i32 -1794088043, i32 1542390107, i32 1303937869, i32 -1853477231, i32 -1251092043, i32 528699679, i32 1403689811, i32 1667071075, i32 996714043, i32 1073670975, i32 -701454890, i32 628801061, i32 -1481894233, i32 252251151, i32 904979253, i32 598171939, i32 -258948880, i32 -1343648593, i32 -2137179520, i32 -1839401582, i32 -2129890431, i32 657533991, i32 1993352566, i32 -413791257, i32 2073213819, i32 -372355351, i32 -251557391, i32 -1625396321, i32 -1456188503, i32 -990811452, i32 -1715227495, i32 -1755582057, i32 -2092441213, i32 1796793963, i32 -937247288, i32 244860174, i32 1847583342, i32 -910953271, i32 796177967, i32 -872913205, i32 -6697729, i32 -367749654, i32 -312998931, i32 -136554761, i32 -510929695, i32 454368283, i32 -1381884243, i32 215209740, i32 736295723, i32 499696413, i32 425627161, i32 -1037257278, i32 -1991644791, i32 314691346, i32 2123743102, i32 545110560, i32 1678895716, i32 -2079623292, i32 1841641837, i32 1787408234, i32 -780389423, i32 -1586378335, i32 -822123826, i32 935031095, i32 -82869765, i32 1035303229, i32 1373702481, i32 -599872036, i32 759112749, i32 -1535717980, i32 -1655309923, i32 -293414674, i32 -2042567290, i32 -1367816786, i32 -853165619, i32 76958980, i32 1433879637, i32 168691722, i32 324044307, i32 821552944, i32 -751328813, i32 1090133312, i32 878815796, i32 -1940984436, i32 -1280309581, i32 1817473132, i32 712225322, i32 1379652178, i32 194986251, i32 -1962771573, i32 -1999069048, i32 1341329743, i32 1741369703, i32 1177010758, i32 -1066981440, i32 -1258516300, i32 674766888, i32 2131031679, i32 2018009208, i32 786825006, i32 122459655, i32 1264933963, i32 -953437753, i32 1871620975, i32 222469645, i32 -1141531461, i32 -220507406, i32 -213246989, i32 -1505927258, i32 1503957849, i32 -1128723780, i32 989458234, i32 -283930129, i32 -32995842, i32 26298625, i32 1628892769, i32 2094935420, i32 -1306439758, i32 1118932802, i32 -613270565, i32 -1204861000, i32 1220511560, i32 749628716, i32 -473938205, i32 1463604823, i32 -2053489019, i32 698968361, i32 2102355069, i32 -1803474284, i32 1227804233, i32 398904087, i32 -899076150, i32 -1010959165, i32 1554224988, i32 1592264030, i32 -789742896, i32 -2016301945, i32 -1912242290, i32 -1167796806, i32 -1465574744, i32 -1222227017, i32 -1178726727, i32 1619502944, i32 -120235272, i32 573974562, i32 286987281, i32 -562741282, i32 2044275065, i32 -1427208022, i32 858602547, i32 1601784927, i32 -1229520202, i32 -1765099370, i32 1479924312, i32 -1664831332, i32 -62711812, i32 444880154, i32 -162717706, i32 475630108, i32 951221560, i32 -1405921364, i32 416270104, i32 -200897036, i32 1767076969, i32 1956362100, i32 -174603019, i32 1454219094, i32 -622628134, i32 -706052395, i32 1257510218, i32 -1634786658, i32 -1565846878, i32 1315067982, i32 -396425240, i32 -451044891, i32 958608441, i32 -1040814399, i32 1147949124, i32 1563614813, i32 1917216882, i32 648045862, i32 -1815233389, i32 64674563, i32 -960825146, i32 -90257158, i32 -2099861374, i32 -814863409, i32 1349533776, i32 -343548693, i32 1963654773, i32 -1970064758, i32 -1914723187, i32 1277807180, i32 337383444, i32 1943478643, i32 -860557108, i32 164942601, i32 277503248, i32 -498003998, i32 0, i32 -1709609062, i32 -535126560, i32 -1886112113, i32 -423148826, i32 -322352404, i32 -36544771, i32 -1417690709, i32 -660021032]], align 4
@selftest.plaintext1663 = internal global [16 x i8] c"\D4\91\DB\16\E7\B1\C3\9E\86\CB\08kx\9FT\19", align 1
@selftest.key1664 = internal global [16 x i8] c"\9FX\9F\5C\F6\12,2\B6\BF\EC/*\E8\C3Z", align 1
@selftest.ciphertext1665 = internal constant [16 x i8] c"\01\9F\98\09\DE\17\11\85\8F\AA\C3\A3\BA \FB\C3", align 1
@selftest.plaintext_256 = internal global [16 x i8] c"\90\AF\E9\1B\B2\88TO,2\DC#\9B&5\E6", align 1
@selftest.key_2561666 = internal global [32 x i8] c"\D4;\B7Un\A3.F\F2\A2\82\B7\D4[N\0DW\FFs\9DM\C9,\1B\D7\FC\01p\0C\C8!o", align 1
@selftest.ciphertext_2561667 = internal constant [16 x i8] c"l\B4V\1C@\BF\0A\97\05\93\1C\B6\D4\08\E7\FA", align 1
@.str31668 = private unnamed_addr constant [36 x i8] c"Twofish-128 test encryption failed.\00", align 1
@.str41669 = private unnamed_addr constant [36 x i8] c"Twofish-128 test decryption failed.\00", align 1
@.str51670 = private unnamed_addr constant [36 x i8] c"Twofish-256 test encryption failed.\00", align 1
@.str61671 = private unnamed_addr constant [36 x i8] c"Twofish-256 test decryption failed.\00", align 1
@.str1687 = private unnamed_addr constant [10 x i8] c"WHIRLPOOL\00", align 1
@_gcry_digest_spec_whirlpool = internal hidden global %struct.gcry_md_spec { i32 305, %struct.anon.98 { i8 0, [3 x i8] undef }, i8* getelementptr inbounds ([10 x i8]* @.str1687, i32 0, i32 0), i8* null, i32 0, %struct.gcry_md_oid_spec* null, i32 64, void (i8*)* @whirlpool_init, void (i8*, i8*, i32)* @whirlpool_write, void (i8*)* @whirlpool_final, i8* (i8*)* @whirlpool_read, i32 176, i32 (i32, i32, void (i8*, i32, i8*, i8*)*)* null }, align 4
@.str11690 = private unnamed_addr constant [37 x i8] c"old_nblocks <= context->bctx.nblocks\00", align 1
@.str21691 = private unnamed_addr constant [12 x i8] c"whirlpool.c\00", align 1
@__FUNCTION__.whirlpool_write = private unnamed_addr constant [16 x i8] c"whirlpool_write\00", align 1
@C0 = internal constant [256 x i32] [i32 -1065865000, i32 95372838, i32 2130284984, i32 326094331, i32 1285624779, i32 -1453167343, i32 134545929, i32 1114545677, i32 -1376883557, i32 1493455359, i32 -557991668, i32 -83429618, i32 -276761962, i32 1607392816, i32 -51429523, i32 -1442339592, i32 670941255, i32 -1988729547, i32 -1395840201, i32 76284298, i32 1897225170, i32 1614551148, i32 -7670140, i32 -1243518336, i32 -395756811, i32 1397218739, i32 -156454111, i32 1592629660, i32 1838570563, i32 1652201001, i32 -1558060707, i32 -2112442667, i32 -1472124227, i32 -1615401240, i32 -1511297390, i32 2069288862, i32 -1931926765, i32 -753402589, i32 1786745888, i32 -1634358972, i32 -98193246, i32 113938383, i32 1435325052, i32 1344410714, i32 -514883760, i32 1763335625, i32 2145048084, i32 1554716633, i32 -2123143364, i32 -768296305, i32 -2142232432, i32 -217844473, i32 381717469, i32 -305759021, i32 672205357, i32 535219832, i32 1934874007, i32 633032194, i32 844661363, i32 748489639, i32 1359041526, i32 -812320078, i32 -587516087, i32 -1902138026, i32 -1959728272, i32 594657741, i32 -946734917, i32 400804977, i32 -1500600453, i32 -1203032401, i32 38178373, i32 -2065948390, i32 516262356, i32 1972984408, i32 -1854315730, i32 941297215, i32 19089324, i32 -365972304, i32 1823808495, i32 -2046859594, i32 1072875100, i32 269091858, i32 959990163, i32 -1347886370, i32 248483270, i32 -931319087, i32 1919980091, i32 -2036682913, i32 -1021445839, i32 1263066024, i32 -500517191, i32 881987004, i32 -1530386114, i32 767446027, i32 -1912970049, i32 -380994215, i32 459984882, i32 2016616055, i32 -425281741, i32 1958354420, i32 -1719901913, i32 652117995, i32 -1109104503, i32 2054524978, i32 -1423645868, i32 -141560691, i32 -185975452, i32 -1036075363, i32 497041469, i32 1742065679, i32 -797821750, i32 422330807, i32 -916556419, i32 -1709594418, i32 -320521345, i32 229262383, i32 132761699, i32 -619512022, i32 -1079843124, i32 -1873140606, i32 979206266, i32 1076367432, i32 1458084757, i32 863749599, i32 -1768903859, i32 1629446080, i32 478349201, i32 -171345208, i32 -856607909, i32 0, i32 919897081, i32 1166497390, i32 -1749816095, i32 1689262566, i32 -22433496, i32 -663275837, i32 -1050970252, i32 287916990, i32 2011157533, i32 -1173511958, i32 307006039, i32 -887555272, i32 -1645190995, i32 729072580, i32 -440172838, i32 -1843615033, i32 2031114715, i32 57002473, i32 267176554, i32 -1184339709, i32 1704156746, i32 1323801998, i32 -1098800800, i32 -529778436, i32 -1154554042, i32 1382324767, i32 -455067274, i32 -1883444486, i32 807275574, i32 613943726, i32 -113215157, i32 1666830725, i32 1882594430, i32 -127713561, i32 938984533, i32 -291261126, i32 691162497, i32 -990629550, i32 -1690636446, i32 1727436707, i32 900811280, i32 -232738133, i32 1420694992, i32 -1213733691, i32 -706907412, i32 1516345366, i32 -902054764, i32 -410652513, i32 -573017883, i32 344327576, i32 -961364201, i32 1091262436, i32 1129175457, i32 804831822, i32 -247104702, i32 363151924, i32 -1797905144, i32 -261735186, i32 575833697, i32 1996264369, i32 -1288968881, i32 538183716, i32 -1308056861, i32 -1127796955, i32 1338300962, i32 1748572773, i32 -2093618823, i32 -1232821399, i32 -677643095, i32 1035225113, i32 -975735042, i32 826100634, i32 1053917680, i32 -2007686503, i32 210305923, i32 1248566276, i32 -783191194, i32 190893024, i32 -36931391, i32 2092900349, i32 -721537728, i32 -351472868, i32 -1587056872, i32 -1738594677, i32 2107398225, i32 -692536571, i32 1801245580, i32 1472977977, i32 1861457322, i32 403637787, i32 -1978422052, i32 441026654, i32 -543228256, i32 557272968, i32 1300386919, i32 -1318229238, i32 1189257095, i32 -1576884495, i32 -1366579854, i32 1478956627, i32 -1663883519, i32 1203886123, i32 -1779080540, i32 -2017859341, i32 -485887723, i32 172198988, i32 153503141, i32 1016532917, i32 -1606145868, i32 1531109306, i32 -1337054042, i32 -841845513, i32 1875956230, i32 1210913345, i32 -1481776937, i32 -648777361, i32 -826819298, i32 998164438, i32 786138594, i32 710378600, i32 -1262342868, i32 1225676269, i32 1569214581, i32 -634275706, i32 -1824526997, i32 1151603138], align 4
@C1 = internal constant [256 x i32] [i32 415266864, i32 587575110, i32 -964757103, i32 -401379379, i32 -2025021165, i32 -1196858771, i32 17302786, i32 1329753758, i32 917368428, i32 -1504115631, i32 -757154375, i32 -168098057, i32 2045739250, i32 1868549854, i32 -1845694657, i32 1386874788, i32 1613233600, i32 -1131841947, i32 -1683174101, i32 -1912304639, i32 -1552870053, i32 207633432, i32 2080344822, i32 901112170, i32 501770554, i32 -531413027, i32 -671699789, i32 -1033966183, i32 778933852, i32 1264745110, i32 -22863391, i32 1468143278, i32 363348266, i32 2006955758, i32 933620590, i32 -444901673, i32 -1618159325, i32 -254601219, i32 1248493460, i32 -627141207, i32 1492788656, i32 -922301809, i32 693472594, i32 173023764, i32 -1310634113, i32 -1603724707, i32 1803541206, i32 -2057524457, i32 -1115589785, i32 1574057146, i32 276844576, i32 -185400331, i32 -887701365, i32 1055770236, i32 86511882, i32 1730143950, i32 -462203947, i32 656784206, i32 1093818498, i32 -1960010485, i32 -1487863469, i32 2110756090, i32 -1780679881, i32 -661741651, i32 -74764053, i32 -299667007, i32 2093453816, i32 1712841676, i32 -576287065, i32 397953838, i32 1191331470, i32 -1635460063, i32 -903953015, i32 762681690, i32 -1080985245, i32 121117454, i32 -1392434361, i32 1525297076, i32 -2090027749, i32 864419686, i32 1665135302, i32 34605572, i32 -1439090615, i32 1907337442, i32 -938553459, i32 432569650, i32 1232236690, i32 -645490001, i32 -222093831, i32 -481605413, i32 1541548726, i32 -2009820659, i32 -1700476887, i32 640532044, i32 848165476, i32 -1326888323, i32 -384079153, i32 259535646, i32 -706304329, i32 -2139833827, i32 -1097237407, i32 -853090681, i32 884860008, i32 1215985040, i32 -5561117, i32 2063044596, i32 -1862997443, i32 1606565566, i32 538812480, i32 1751635408, i32 449868340, i32 -1374081983, i32 -1261871499, i32 1419385256, i32 -1813191365, i32 571320900, i32 1678240200, i32 -237300993, i32 1941938918, i32 311450148, i32 1077566848, i32 138422288, i32 -1017714533, i32 -332170299, i32 -610889557, i32 -1587470497, i32 -1927511289, i32 1039518074, i32 -1748176589, i32 0, i32 -818490237, i32 725976918, i32 1989653484, i32 -2107330535, i32 -687953487, i32 467171126, i32 -1245619337, i32 -1357829821, i32 1786240980, i32 1354370464, i32 1158827146, i32 -204793605, i32 815657056, i32 -282364733, i32 1072022398, i32 1435638954, i32 -1569124263, i32 -368876087, i32 1695542474, i32 -1162254231, i32 795186014, i32 -1068570723, i32 -557940319, i32 484469816, i32 -38064409, i32 1297245338, i32 -1830494151, i32 1972354282, i32 103816716, i32 -1977313271, i32 -1292287879, i32 -429696559, i32 242234908, i32 536372030, i32 1647835076, i32 -722558027, i32 -1473695155, i32 -1765477327, i32 -107267345, i32 -983107945, i32 624275786, i32 1509040306, i32 -2074825195, i32 1924638692, i32 970317170, i32 1280991640, i32 1590311868, i32 2028439024, i32 954062960, i32 -1944812027, i32 -775507265, i32 -1522463913, i32 -498905639, i32 1630533826, i32 -1276033669, i32 555066690, i32 -1667967451, i32 519071292, i32 1126322822, i32 -948503405, i32 -55366683, i32 69211144, i32 1370622114, i32 -1715681489, i32 1833944282, i32 224934170, i32 -92064279, i32 -541686621, i32 2128059388, i32 608023624, i32 1002821494, i32 -1422836405, i32 -834743935, i32 294147362, i32 -1895003901, i32 1313500060, i32 -1211018893, i32 -351575861, i32 1023265912, i32 -2122531041, i32 -1797980619, i32 -135590669, i32 -1180604561, i32 328752934, i32 746429528, i32 -740902725, i32 -412394285, i32 1851247580, i32 -999361643, i32 51908358, i32 1451889580, i32 1142573448, i32 2145361662, i32 -1457440945, i32 709722708, i32 -1146000021, i32 -1052319073, i32 1403126438, i32 -592540763, i32 190326550, i32 -1650666713, i32 1816642008, i32 831911266, i32 1955052008, i32 -152892943, i32 1175077772, i32 -1408686523, i32 -1992517873, i32 346047528, i32 -514112801, i32 380653100, i32 986567284, i32 1768935634, i32 155725074, i32 1890037216, i32 -1227271055, i32 -791758915, i32 -314868025, i32 -869344379, i32 1110071172, i32 -1732984275, i32 -1538716075, i32 677218384, i32 1557803448, i32 -124567571, i32 -2042321903], align 4
@C2 = internal constant [256 x i32] [i32 1612234872, i32 -1943861841, i32 1069973241, i32 -2014833809, i32 646401185, i32 -625432222, i32 67176453, i32 558842478, i32 -667505170, i32 -1566156540, i32 1876090557, i32 -201983226, i32 -109449344, i32 -1586536498, i32 2123496687, i32 1431480839, i32 -1654642691, i32 -893613706, i32 1453042893, i32 42861708, i32 -1230802667, i32 806117436, i32 -243531894, i32 -734677535, i32 1948117097, i32 -1478470841, i32 2077750956, i32 801267437, i32 -1204916842, i32 827023994, i32 -536960223, i32 1096253974, i32 1410705473, i32 -1049124938, i32 -600332821, i32 -1276806314, i32 1184861401, i32 -403647721, i32 894069375, i32 1339727509, i32 2102983205, i32 63506122, i32 -1540794995, i32 671764514, i32 -21896881, i32 -1163892454, i32 -1318354982, i32 780491947, i32 -826441357, i32 1767756340, i32 1074823248, i32 -134941949, i32 197859008, i32 -130093626, i32 335882257, i32 -2123948058, i32 -1209765037, i32 -1675156037, i32 423703128, i32 378219677, i32 -1498984191, i32 -377630828, i32 1855315195, i32 1205374623, i32 -872707280, i32 -1611783311, i32 -310589551, i32 -2056906781, i32 1407035022, i32 1545058379, i32 21430854, i32 1117684956, i32 264904389, i32 -1272089191, i32 -960523911, i32 470235163, i32 -1901264605, i32 1968892463, i32 914582709, i32 -869038593, i32 -1855766542, i32 134352906, i32 -1834337992, i32 -646860888, i32 130551503, i32 1679411325, i32 961114736, i32 1138329242, i32 -269303011, i32 -1411167416, i32 1901847082, i32 445133970, i32 1385866440, i32 -1742328386, i32 -936210950, i32 -89069238, i32 -2081875094, i32 1007646771, i32 1943398054, i32 981497018, i32 -1027696260, i32 332211934, i32 -801849884, i32 1028160117, i32 -604001500, i32 -176490609, i32 2056320234, i32 1633665598, i32 -2145378912, i32 -1117231147, i32 1746587762, i32 -2102519508, i32 -357250722, i32 1297390105, i32 1989405925, i32 -2011034198, i32 -1922824215, i32 -470689006, i32 -780943454, i32 1209176154, i32 490748509, i32 537411624, i32 734222056, i32 -1746128005, i32 1272682128, i32 -1096720097, i32 244128899, i32 -197265975, i32 1721224433, i32 0, i32 466564820, i32 -1406450297, i32 -982083661, i32 847406256, i32 2144796329, i32 1813764215, i32 -290078373, i32 -2035347159, i32 -1251313697, i32 1565571597, i32 155521612, i32 -336344296, i32 -1070555664, i32 -1678824588, i32 -62921277, i32 1230344732, i32 -1297975024, i32 -1880489115, i32 -1989865492, i32 -759514776, i32 -1137744493, i32 666914535, i32 1608433281, i32 1880940652, i32 -738346194, i32 692933220, i32 1922229472, i32 -915042372, i32 403058718, i32 311043224, i32 -223151808, i32 -1075420327, i32 940470326, i32 2082469987, i32 -1788725257, i32 2010443427, i32 -1700255438, i32 1654047988, i32 -1007051974, i32 868574966, i32 -1809500751, i32 2035937824, i32 713315502, i32 -713902169, i32 -465971747, i32 759978593, i32 1700710971, i32 -42408059, i32 -533144104, i32 176952454, i32 1674692274, i32 -1364901621, i32 -1344126131, i32 -1721683976, i32 -155979451, i32 -2078206555, i32 1251775702, i32 2015293542, i32 289612370, i32 1002927868, i32 -671304917, i32 268705812, i32 1498526216, i32 1587133639, i32 -1452453948, i32 873293881, i32 -805665995, i32 1541387908, i32 -444672101, i32 -1876673100, i32 -331627049, i32 -1767165635, i32 533610193, i32 1141999701, i32 110038153, i32 625887851, i32 -424160943, i32 -1947530400, i32 -264438324, i32 1048673471, i32 1788138750, i32 -67638516, i32 -558259865, i32 1276352607, i32 -1339261540, i32 1809045176, i32 -1142461604, i32 -1519495221, i32 935620339, i32 201529359, i32 1163299347, i32 222566985, i32 -511713378, i32 -1633083081, i32 -1473622654, i32 -692342419, i32 599869154, i32 1364435458, i32 1474080395, i32 738940967, i32 1318952147, i32 -1385412671, i32 -1003383307, i32 -848001095, i32 -597239, i32 88476227, i32 -1968436954, i32 512310423, i32 1343529028, i32 -1545512126, i32 1477881934, i32 -398799406, i32 -1184272432, i32 604588077, i32 -579819603, i32 -491333292, i32 1741737655, i32 -1813169282, i32 399257307, i32 356657751, i32 1519957186, i32 -1432073970, i32 -1607967352, i32 1834801713, i32 -940010689, i32 579224740], align 4
@C3 = internal constant [256 x i32] [i32 408950976, i32 596386565, i32 -968898946, i32 -393746413, i32 -2027518132, i32 -1193625431, i32 17039624, i32 1327583042, i32 920139437, i32 -1499290023, i32 -764423458, i32 -168561157, i32 2046392815, i32 1872850783, i32 -1853976068, i32 1381323434, i32 1620926503, i32 -1127564151, i32 -1688822868, i32 -1912435196, i32 -1548311695, i32 204475488, i32 2079423487, i32 903099829, i32 494149096, i32 -525868973, i32 -679749642, i32 -1037057442, i32 783822445, i32 1261521762, i32 -18874717, i32 1463900034, i32 357832104, i32 2009167775, i32 937179045, i32 -441195141, i32 -1622761588, i32 -253234989, i32 1245006442, i32 -632300898, i32 1484609786, i32 -922498810, i32 698624341, i32 170396240, i32 -1308708383, i32 -1598381975, i32 1806789503, i32 -2060548772, i32 -1110524543, i32 1567186386, i32 272633984, i32 -185076493, i32 -888419562, i32 1056456429, i32 85198120, i32 1736533791, i32 -457710477, i32 664545061, i32 1092174130, i32 -1961456852, i32 -1482250415, i32 2112454095, i32 -1787914788, i32 -666380146, i32 -70517877, i32 -291508701, i32 2095938759, i32 1720018455, i32 -581706330, i32 391911352, i32 1191266050, i32 -1639801212, i32 -904934882, i32 766782837, i32 -1077493871, i32 119277368, i32 -1383158527, i32 1517640426, i32 -2093579412, i32 869020549, i32 1670472511, i32 34079248, i32 -1433228743, i32 1910075823, i32 -939014130, i32 425990600, i32 1228491122, i32 -649864826, i32 -219155773, i32 -475274421, i32 1534155746, i32 -2011527116, i32 -1705862492, i32 647505453, i32 851980941, i32 -1325747991, i32 -377231077, i32 255594360, i32 -713828890, i32 -2143649676, i32 -1094533479, i32 -854340314, i32 886060221, i32 1211975802, i32 -2359381, i32 2062908151, i32 -1871015692, i32 1600217026, i32 545267741, i32 1757243495, i32 443030224, i32 -1367167463, i32 -1259686711, i32 1414354074, i32 -1820945428, i32 579346957, i32 1686987783, i32 -236719653, i32 1943106495, i32 306713232, i32 1075658810, i32 136316992, i32 -1020542122, i32 -325587917, i32 -615785578, i32 -1581342367, i32 -1928426212, i32 1039416821, i32 -1754884148, i32 0, i32 -820261066, i32 732703557, i32 1992652439, i32 -2110619036, i32 -696264962, i32 460069848, i32 -1242647103, i32 -1350127855, i32 1790274167, i32 1348292794, i32 1158235410, i32 -202640437, i32 817901725, i32 -274993365, i32 1073496037, i32 1430869394, i32 -1565351303, i32 -359667197, i32 1703503119, i32 -1160594759, i32 800862053, i32 -1071136690, i32 -564142402, i32 477109472, i32 -36438597, i32 1294552402, i32 -1837985052, i32 1976137103, i32 102237744, i32 -1978496476, i32 -1292717319, i32 -423631261, i32 238554736, i32 528228344, i32 1653957175, i32 -730344210, i32 -1466259415, i32 -1771923772, i32 -104597093, i32 -986462874, i32 630465845, i32 1501125106, i32 -2077588396, i32 1926591159, i32 971258325, i32 1278037082, i32 1583701706, i32 2029877479, i32 954218717, i32 -1945465836, i32 -781987386, i32 -1515281087, i32 -491789757, i32 1637441839, i32 -1275677711, i32 562307349, i32 -1672831852, i32 511188720, i32 1125204770, i32 -952383626, i32 -52953933, i32 68158496, i32 1364808114, i32 -1721853508, i32 1839820111, i32 221515112, i32 -87033213, i32 -547627082, i32 2128969431, i32 613426237, i32 1005337541, i32 -1416189135, i32 -836776386, i32 289673608, i32 -1895395572, i32 1311067722, i32 -1209616431, i32 -343151861, i32 1022377213, i32 -2126610052, i32 -1804954412, i32 -134481941, i32 -1176585823, i32 323752856, i32 749743229, i32 -747908138, i32 -407115925, i32 1856335447, i32 -1002978194, i32 51118872, i32 1447384714, i32 1141720090, i32 2145484767, i32 -1449219807, i32 715663949, i32 -1143555151, i32 -1054621370, i32 1397838754, i32 -598221650, i32 187435864, i32 -1655792228, i32 1823304775, i32 834941333, i32 1959621767, i32 -150997277, i32 1174750730, i32 -1400198135, i32 -1994487492, i32 340792480, i32 -509353637, i32 374871728, i32 988297933, i32 1773758831, i32 153356616, i32 1893560487, i32 -1226656039, i32 -798502706, i32 -309072581, i32 -870855634, i32 1108689450, i32 -1738893132, i32 -1532320695, i32 681584733, i32 1550671066, i32 -121112429, i32 -2044557756], align 4
@C4 = internal constant [256 x i32] [i32 404250648, i32 589532195, i32 -960086074, i32 -387414040, i32 -2021185913, i32 -1195844936, i32 16843777, i32 1330585935, i32 909563958, i32 -1499028826, i32 -757960750, i32 -168430603, i32 2038036857, i32 1869586799, i32 -1852735855, i32 1381127506, i32 1616944480, i32 -1128478020, i32 -1684318565, i32 -1903295858, i32 -1549551965, i32 202125324, i32 2071720315, i32 892720181, i32 488469533, i32 -522147872, i32 -673743913, i32 -1027461182, i32 774813742, i32 1263219019, i32 -16850946, i32 1465336151, i32 353719317, i32 2004337015, i32 926407735, i32 -437931035, i32 -1616951649, i32 -252647440, i32 1246377290, i32 -623226918, i32 1482194264, i32 -909573175, i32 690594857, i32 168437770, i32 -1313734991, i32 -1600079200, i32 1802219883, i32 -2054869371, i32 -1111634243, i32 1566402909, i32 269500432, i32 -185272332, i32 -875885621, i32 1044314174, i32 84218885, i32 1734836583, i32 -454772764, i32 656907303, i32 1094785345, i32 -1953818997, i32 -1482185049, i32 2105403773, i32 -1785368939, i32 -656914472, i32 -67384325, i32 -286351378, i32 2088562044, i32 1717994854, i32 -572697635, i32 387406871, i32 1195835719, i32 -1633795426, i32 -892727350, i32 757969965, i32 -1077950785, i32 117906439, i32 -1381134675, i32 1515877722, i32 -2088552829, i32 859032627, i32 1667469667, i32 33687554, i32 -1431661910, i32 1903286641, i32 -926414904, i32 421094425, i32 1229535561, i32 -640072743, i32 -218959886, i32 -471618589, i32 1532719451, i32 -2004346232, i32 -1701162342, i32 640063526, i32 842188850, i32 -1330578768, i32 -370572311, i32 252656655, i32 -707431467, i32 -2139080064, i32 -1094794562, i32 -842198067, i32 875876404, i32 1212693832, i32 -9217, i32 2054878586, i32 -1869579632, i32 1600086367, i32 539000864, i32 1751694696, i32 437938202, i32 -1364294994, i32 -1263211852, i32 1414810964, i32 -1819052397, i32 572688418, i32 1684311396, i32 -235805711, i32 1936970099, i32 303187986, i32 1077943616, i32 134750216, i32 -1010619453, i32 -320038932, i32 -606385189, i32 -1583235423, i32 -1920135539, i32 1027470397, i32 -1751685481, i32 0, i32 -808510513, i32 724282411, i32 1987495286, i32 -2105396606, i32 -690585642, i32 454781979, i32 -1246368075, i32 -1347451217, i32 1785378154, i32 1347444048, i32 1162152261, i32 -202118157, i32 808501296, i32 -269509649, i32 1061157951, i32 1431652693, i32 -1566395742, i32 -353726486, i32 1701153125, i32 -1162161478, i32 791657519, i32 -1061148736, i32 -555851810, i32 471625756, i32 -33696771, i32 1296902477, i32 -1835896174, i32 1970653557, i32 101062662, i32 -1970662774, i32 -1296895310, i32 -421085210, i32 235812878, i32 522157087, i32 1650627938, i32 -724273196, i32 -1465345368, i32 -1768529258, i32 -101071879, i32 -976931899, i32 623219749, i32 1499035993, i32 -2071713148, i32 1920128370, i32 960095289, i32 1280060748, i32 1583244638, i32 2021195128, i32 943251512, i32 -1936979316, i32 -774806575, i32 -1515868507, i32 -488460318, i32 1633786209, i32 -1280051533, i32 555844641, i32 -1667478884, i32 505313310, i32 1128468803, i32 -943244345, i32 -50538500, i32 67375108, i32 1364285777, i32 -1718002023, i32 1835903341, i32 218969101, i32 -84226054, i32 -539010081, i32 2122245502, i32 606375972, i32 993782843, i32 -1414818133, i32 -825352242, i32 286344209, i32 -1886452081, i32 1313744206, i32 -1212684617, i32 -336884757, i32 1010626620, i32 -2122236287, i32 -1802212716, i32 -134743049, i32 -1179001159, i32 320031763, i32 741126188, i32 -741119021, i32 -404243481, i32 1852745070, i32 -993773628, i32 50531331, i32 1448494422, i32 1145310532, i32 2139087231, i32 -1448501591, i32 707438634, i32 -1145317701, i32 -1044307007, i32 1397969235, i32 -589539364, i32 185281547, i32 -1650635107, i32 1819061612, i32 825345073, i32 1953811828, i32 -151584778, i32 1178993990, i32 -1397978452, i32 -1987502455, i32 336875540, i32 -505306143, i32 370563094, i32 976939066, i32 1768536425, i32 151593993, i32 1886444912, i32 -1229528394, i32 -791648304, i32 -303197203, i32 -859039796, i32 1111627074, i32 -1734845800, i32 -1532712284, i32 673751080, i32 1549561180, i32 -117913608, i32 -2038029690], align 4
@C5 = internal constant [256 x i32] [i32 -669509536, i32 639837068, i32 -1194932673, i32 -68622201, i32 -880310490, i32 297318618, i32 151060740, i32 223301409, i32 -1690945832, i32 -5855582, i32 215143023, i32 251000307, i32 -1770423815, i32 812609441, i32 1838256510, i32 -128822699, i32 1197498525, i32 901561546, i32 932944726, i32 -1970369022, i32 -761027658, i32 1812728880, i32 -2072282127, i32 -2143996460, i32 -182641292, i32 -1277108057, i32 567793531, i32 -1664957905, i32 1127100088, i32 692800305, i32 1576992479, i32 -715696319, i32 -1122691756, i32 -394823743, i32 -1841874980, i32 -1629100621, i32 329228102, i32 602992871, i32 541739573, i32 1155193423, i32 -1571268483, i32 -808859389, i32 2083072420, i32 1510607400, i32 1353822718, i32 -912219974, i32 342584241, i32 -645561042, i32 1019067854, i32 -1889706647, i32 -1877995456, i32 133494007, i32 -573846773, i32 -750895368, i32 755303700, i32 2020042625, i32 -1746606921, i32 36120476, i32 1933656345, i32 -1484027114, i32 -156784730, i32 -1300398615, i32 1234539886, i32 1457051719, i32 1895562187, i32 -839979361, i32 -1149469459, i32 1902536325, i32 2078137683, i32 -1357441188, i32 1162299137, i32 446602818, i32 -724907505, i32 1479355828, i32 784318406, i32 1057425180, i32 -1397903986, i32 -1336255883, i32 -276593866, i32 -1238158388, i32 1550017425, i32 302121480, i32 -1817531758, i32 -562990631, i32 -959920121, i32 -786884252, i32 994658617, i32 1608112451, i32 838005487, i32 -1461460053, i32 -1185195151, i32 -1131902950, i32 1050319442, i32 187049624, i32 -1087229240, i32 1504751866, i32 -219551357, i32 1997475644, i32 869651827, i32 -192905158, i32 666812098, i32 -338834157, i32 -1993067312, i32 843597885, i32 1426063323, i32 -1921352971, i32 1687195770, i32 -1654694047, i32 1025515648, i32 258500797, i32 -904258968, i32 -1213288830, i32 2108994794, i32 -833334195, i32 2140377974, i32 790766216, i32 1667523725, i32 720499171, i32 -864848943, i32 -2112744888, i32 2051031069, i32 1208485920, i32 -1782332629, i32 -538121065, i32 1306254155, i32 -1063149122, i32 -1852994290, i32 -935510540, i32 1536661350, i32 0, i32 -103821541, i32 1848322988, i32 -512330043, i32 -427654606, i32 685168255, i32 -1021633684, i32 1958065646, i32 -1095782522, i32 493513397, i32 -363835299, i32 1464157449, i32 955511787, i32 -1389350720, i32 -990908517, i32 -633389060, i32 -950708919, i32 -610098510, i32 -370480497, i32 1785030025, i32 62569170, i32 1244606396, i32 -1899970521, i32 1625218655, i32 -65266576, i32 1191050707, i32 525159721, i32 1989317234, i32 -92965431, i32 906364440, i32 -1366652398, i32 1270002418, i32 -2048465217, i32 2114850360, i32 -417390724, i32 1432511125, i32 987026551, i32 -2119653222, i32 1385600610, i32 1660549571, i32 -1547320013, i32 270869908, i32 -1420207751, i32 -796621782, i32 -982355243, i32 -331793948, i32 374098989, i32 -1805754779, i32 -1619494659, i32 -449300256, i32 -1735619574, i32 399626595, i32 -458906194, i32 -1578966353, i32 1315004825, i32 1119073270, i32 874586500, i32 144481354, i32 -300016008, i32 1631798033, i32 -1312307397, i32 1341979863, i32 604242960, i32 -481210023, i32 630823262, i32 577596841, i32 1695354164, i32 2046491343, i32 1776279387, i32 -1451327771, i32 421799056, i32 -29672468, i32 -1700025450, i32 -254882273, i32 -1726934716, i32 -2087743738, i32 72240677, i32 1723316198, i32 -521409653, i32 -1053016848, i32 -41844418, i32 1083479146, i32 486012923, i32 414824926, i32 -1961684148, i32 1361849520, i32 97768299, i32 -1930958917, i32 963538597, i32 -1429945289, i32 453182220, i32 -598321595, i32 1581532173, i32 -1602256927, i32 -2002146914, i32 1730816680, i32 180075478, i32 -2017345245, i32 -246197423, i32 1927076951, i32 1393232684, i32 27106638, i32 728525997, i32 -1540279868, i32 -210471731, i32 368506623, i32 1279673861, i32 -1515410294, i32 -1249277666, i32 -1273752496, i32 -1159601757, i32 -1508501928, i32 -147178776, i32 107571641, i32 1091111204, i32 -680496931, i32 1874245346, i32 517001319, i32 -689050221, i32 -489894889, i32 1749172757, i32 748197978, i32 -307977046, i32 1965566112, i32 -2040767379, i32 1811478727, i32 -1031371230], align 4
@C6 = internal constant [256 x i32] [i32 819468312, i32 1176904483, i32 -1850161466, i32 -839128856, i32 332105607, i32 1829877944, i32 34144513, i32 -1643294897, i32 1822111286, i32 1375708838, i32 -1190341934, i32 -150014475, i32 -225019527, i32 -567251089, i32 1064145297, i32 -1527229870, i32 -1069064096, i32 1698020540, i32 725064603, i32 25857678, i32 1540531107, i32 409734156, i32 -159089797, i32 1786787125, i32 989142301, i32 -575414048, i32 -1289627689, i32 -1717779774, i32 1547906606, i32 -1775678645, i32 -513933570, i32 -1361750185, i32 717034773, i32 -286754953, i32 1855076151, i32 -677452315, i32 588488607, i32 -47976208, i32 -1809823158, i32 -1455105318, i32 -1331537832, i32 -1882207799, i32 1383868713, i32 341445130, i32 2135994801, i32 1573494944, i32 -703304853, i32 400131461, i32 1732033981, i32 -1165009571, i32 546312208, i32 -184027916, i32 -1948398645, i32 2094218814, i32 170722565, i32 -830970009, i32 -711465756, i32 1308763943, i32 -2106375871, i32 195529611, i32 1408673703, i32 -88965763, i32 927569301, i32 -1386817320, i32 -344916997, i32 -1043468562, i32 -121930628, i32 -864983450, i32 -1485054499, i32 783226647, i32 -1908062393, i32 555392670, i32 -1982543158, i32 1515728173, i32 1664008127, i32 239011591, i32 1202498989, i32 -1263510950, i32 468681603, i32 1723216691, i32 -967023773, i32 68289026, i32 1234414250, i32 -488738447, i32 -1916352312, i32 852564249, i32 -1841608375, i32 -1352672807, i32 -114167054, i32 -609688605, i32 -1229366437, i32 230459528, i32 691968666, i32 1275799078, i32 1690251826, i32 2103029936, i32 -806163991, i32 511119119, i32 -1221339691, i32 502562944, i32 1629994686, i32 -2014589491, i32 1753822260, i32 -1875752888, i32 -480968705, i32 -192054662, i32 1030000784, i32 -1096982689, i32 1077747744, i32 -804296600, i32 885660186, i32 1102556846, i32 1971172532, i32 -1462873004, i32 998216595, i32 1143939618, i32 -933010332, i32 -13962767, i32 -422808717, i32 612504082, i32 -2139471808, i32 273156104, i32 -1684683837, i32 -975180564, i32 -1420960805, i32 1606459809, i32 126979469, i32 2059943229, i32 861640599, i32 0, i32 -2080780337, i32 1450060587, i32 -320768394, i32 434537090, i32 -1322723626, i32 918756123, i32 2004137397, i32 1136570287, i32 -736269718, i32 -1595256752, i32 -1973992123, i32 -80153613, i32 1621962800, i32 -1010503697, i32 2128232255, i32 -1429777067, i32 1507566242, i32 -907416854, i32 -898996891, i32 1761852090, i32 1581920047, i32 -1651588928, i32 -1587487010, i32 956046364, i32 -414777859, i32 -1709224627, i32 964072082, i32 -352684683, i32 204867078, i32 162433674, i32 2035004082, i32 -779753754, i32 478023182, i32 1055334175, i32 -1001037214, i32 -1254435628, i32 1300342952, i32 827496086, i32 -278726151, i32 -1750874683, i32 1242572069, i32 -1297393319, i32 365986948, i32 -456822158, i32 1928083769, i32 -1743369140, i32 -1131127202, i32 -257984392, i32 1894070328, i32 93883532, i32 -1088957999, i32 1474602405, i32 -643702046, i32 -1035050655, i32 2067968947, i32 1110712609, i32 621321372, i32 1022238238, i32 -2040446141, i32 -1817065529, i32 -447742724, i32 136578052, i32 -1562160815, i32 790993305, i32 -635277971, i32 442830093, i32 -377881862, i32 -1553342497, i32 -56000898, i32 1209607204, i32 1996372795, i32 1268427691, i32 -2114924850, i32 580456721, i32 58953615, i32 -1677439410, i32 1936111543, i32 -874451989, i32 2025929788, i32 536707457, i32 893424788, i32 -216205321, i32 1863891385, i32 646648595, i32 1481714732, i32 -1157245997, i32 -745740313, i32 -600215954, i32 -1783970620, i32 102433539, i32 -1394846122, i32 -2007088060, i32 -23036033, i32 1334356393, i32 1416047146, i32 1795865531, i32 -1618492991, i32 -1494133933, i32 -1519199012, i32 374541067, i32 654417309, i32 -668242836, i32 1654927665, i32 -386698124, i32 -250218762, i32 -1941158330, i32 1168485548, i32 263555465, i32 682890260, i32 -541400607, i32 749082134, i32 1962359354, i32 -771331735, i32 306252041, i32 -522751888, i32 1903146678, i32 -1122053936, i32 -942215699, i32 -2048734004, i32 -2073542078, i32 757897368, i32 1441637540, i32 1349855272, i32 -1199154084, i32 -311691016, i32 297961094], align 4
@C7 = internal constant [256 x i32] [i32 2016466968, i32 -1354357213, i32 -107890490, i32 1875770344, i32 -1592538233, i32 1651315128, i32 84019457, i32 1855851855, i32 -294872266, i32 72482726, i32 -1111946030, i32 116854517, i32 -2131585415, i32 -824299409, i32 -281055855, i32 128251986, i32 -37730464, i32 1986344380, i32 -852805733, i32 -1946056050, i32 358339235, i32 1008233484, i32 -1963555717, i32 -513114059, i32 1765471517, i32 1205711840, i32 -1397546537, i32 -308699966, i32 -1772338386, i32 2056661323, i32 568417790, i32 380556631, i32 1093319957, i32 -1225856905, i32 -345075145, i32 1456971493, i32 -652012641, i32 402465776, i32 2140414026, i32 -1784068902, i32 632332888, i32 -896544823, i32 -1923974103, i32 571759114, i32 1333743793, i32 442354080, i32 -623504277, i32 -1424500347, i32 1936145597, i32 884641629, i32 1344311312, i32 66390004, i32 -1064575541, i32 -964897986, i32 285879557, i32 -422676377, i32 1406506980, i32 -1152515545, i32 1484944193, i32 -1660180597, i32 22279847, i32 -1795509635, i32 -80262763, i32 -1616029992, i32 820736251, i32 1908526574, i32 -1845970052, i32 -473140890, i32 -1901626403, i32 1261350679, i32 1183728967, i32 -601810274, i32 -980822838, i32 -1722132435, i32 2036543167, i32 453918471, i32 591899821, i32 800370778, i32 -1256460413, i32 -10045901, i32 -221881245, i32 168038914, i32 944346026, i32 -1461526927, i32 -812792120, i32 2100482329, i32 1888631625, i32 -1699782695, i32 502870514, i32 1222355171, i32 716618075, i32 -1844593528, i32 -936821094, i32 -1102312666, i32 -94060750, i32 1249728944, i32 1792013033, i32 857634575, i32 -1497943083, i32 -1172441984, i32 2086741950, i32 -561517619, i32 -462911180, i32 1972384328, i32 618878207, i32 -1879798406, i32 -365075312, i32 1052679519, i32 -1606402784, i32 -707784856, i32 1916062234, i32 742504366, i32 1584758196, i32 430493268, i32 -449085549, i32 -1438372062, i32 -372743324, i32 318712561, i32 -1561932685, i32 1512342034, i32 1568700992, i32 672155656, i32 -392456765, i32 2076565484, i32 -1867821605, i32 526368929, i32 -2096655987, i32 -914700227, i32 -248292457, i32 0, i32 -729548337, i32 -2024378837, i32 -1276321418, i32 -1340479870, i32 -1448007466, i32 2000077595, i32 1534555317, i32 692305583, i32 -539746966, i32 228649552, i32 1284134725, i32 419117299, i32 -262099664, i32 1958986991, i32 -1015096769, i32 480954197, i32 274324386, i32 1707731434, i32 -322278811, i32 1751712698, i32 -1822537169, i32 -409104704, i32 -2120130338, i32 1815673884, i32 786908925, i32 1687822157, i32 -533105006, i32 -1125451147, i32 504116742, i32 -1744195958, i32 1081691058, i32 1506903526, i32 907836942, i32 1665066783, i32 -138128030, i32 -1548404012, i32 843940264, i32 -198094186, i32 988766969, i32 -157834299, i32 -1320546267, i32 548580185, i32 -1374302076, i32 -1478179470, i32 -579670983, i32 1637357132, i32 1002214494, i32 -2047828104, i32 -663689928, i32 -2046453620, i32 -1296099375, i32 190309541, i32 1306108386, i32 -121483679, i32 1165705907, i32 -1522387935, i32 -702216036, i32 1715269150, i32 1384538435, i32 -57429561, i32 736448508, i32 336077828, i32 144892753, i32 -953211495, i32 -992337299, i32 958031117, i32 904493562, i32 -2069665313, i32 -1677940354, i32 -1270343388, i32 -680067525, i32 1028364971, i32 -780013362, i32 1428330769, i32 -1996258417, i32 1805386830, i32 1366517431, i32 1623974123, i32 -864501444, i32 -1088422527, i32 -30064492, i32 217259255, i32 1735334073, i32 1596361491, i32 -1671933652, i32 -1195702829, i32 1557368039, i32 -874759826, i32 -208295228, i32 252058371, i32 330095702, i32 1233673796, i32 -1627479937, i32 927959209, i32 -2108397782, i32 1835731643, i32 -492861503, i32 44495187, i32 -1952091428, i32 655774475, i32 -752418403, i32 -1042797716, i32 -178084815, i32 -1175915660, i32 166794742, i32 1133268038, i32 642098604, i32 -1760578167, i32 1143518228, i32 1121958625, i32 1311548950, i32 -764086470, i32 -791542167, i32 756171017, i32 -1377773712, i32 1416720310, i32 -1212342576, i32 2127025901, i32 -611982644, i32 1468295234, i32 -1037226856, i32 240512420, i32 -2007993048, i32 834176604, i32 1072524280, i32 -1542339962], align 4
@rc = internal constant [10 x i32] [i32 -2017984177, i32 2037354834, i32 -1559463115, i32 776732247, i32 -1611642150, i32 -1314886779, i32 -885127833, i32 -1484941864, i32 -585676898, i32 -1386577101], align 4
@.str1694 = private unnamed_addr constant [124 x i8] c"random usage: poolsize=%d mixed=%lu polls=%lu/%lu added=%lu/%lu\0A outmix=%lu getlvl1=%lu/%lu getlvl2=%lu/%lu%s\0A\00", align 1
@rndstats = internal global %struct.anon.295 zeroinitializer, align 4
@.str11695 = private unnamed_addr constant [16 x i8] c" (hwrng failed)\00", align 1
@.str21696 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
@secure_alloc = internal global i32 0, align 4
@quick_test = internal global i32 0, align 4
@faked_rng = internal global i32 0, align 4
@rndpool = internal global i8* null, align 4
@seed_file_name = internal global i8* null, align 4
@.str31697 = private unnamed_addr constant [16 x i8] c"random-csprng.c\00", align 1
@__FUNCTION__._gcry_rngcsprng_set_seed_file = private unnamed_addr constant [30 x i8] c"_gcry_rngcsprng_set_seed_file\00", align 1
@pool_filled = internal global i32 0, align 4
@allow_seed_file_update = internal global i32 0, align 4
@.str41698 = private unnamed_addr constant [36 x i8] c"note: random_seed file not updated\0A\00", align 1
@keypool = internal global i8* null, align 4
@.str51699 = private unnamed_addr constant [23 x i8] c"can't create `%s': %s\0A\00", align 1
@.str61700 = private unnamed_addr constant [22 x i8] c"can't write `%s': %s\0A\00", align 1
@.str71701 = private unnamed_addr constant [22 x i8] c"can't close `%s': %s\0A\00", align 1
@pool_is_locked = internal global i32 0, align 4
@.str81702 = private unnamed_addr constant [15 x i8] c"pool_is_locked\00", align 1
@__FUNCTION__.do_fast_random_poll = private unnamed_addr constant [20 x i8] c"do_fast_random_poll\00", align 1
@fast_gather_fnc = internal global void (void (i8*, i32, i32)*, i32)* null, align 4
@__FUNCTION__.add_randomness = private unnamed_addr constant [15 x i8] c"add_randomness\00", align 1
@pool_writepos = internal global i32 0, align 4
@pool_filled_counter = internal global i32 0, align 4
@just_mixed = internal global i32 0, align 4
@read_pool.my_pid = internal global i32 -1, align 4
@__FUNCTION__.read_pool = private unnamed_addr constant [10 x i8] c"read_pool\00", align 1
@.str91703 = private unnamed_addr constant [32 x i8] c"too many random bits requested\0A\00", align 1
@did_initial_extra_seeding = internal global i32 0, align 4
@pool_balance = internal global i32 0, align 4
@pool_readpos = internal global i32 0, align 4
@slow_gather_fnc = internal global i32 (void (i8*, i32, i32)*, i32, i32, i32)* null, align 4
@.str101704 = private unnamed_addr constant [51 x i8] c"Slow entropy gathering module not yet initialized\0A\00", align 1
@.str111705 = private unnamed_addr constant [38 x i8] c"No way to gather entropy for the RNG\0A\00", align 1
@__FUNCTION__.read_seed_file = private unnamed_addr constant [15 x i8] c"read_seed_file\00", align 1
@.str121706 = private unnamed_addr constant [21 x i8] c"can't open `%s': %s\0A\00", align 1
@.str131707 = private unnamed_addr constant [21 x i8] c"can't stat `%s': %s\0A\00", align 1
@.str141708 = private unnamed_addr constant [38 x i8] c"`%s' is not a regular file - ignored\0A\00", align 1
@.str151709 = private unnamed_addr constant [33 x i8] c"note: random_seed file is empty\0A\00", align 1
@.str161710 = private unnamed_addr constant [54 x i8] c"warning: invalid size of random_seed file - not used\0A\00", align 1
@.str171711 = private unnamed_addr constant [21 x i8] c"can't read `%s': %s\0A\00", align 1
@.str181712 = private unnamed_addr constant [21 x i8] c"can't lock `%s': %s\0A\00", align 1
@.str191713 = private unnamed_addr constant [29 x i8] c"waiting for lock on `%s'...\0A\00", align 1
@mix_pool.failsafe_digest = internal global [20 x i8] zeroinitializer, align 1
@mix_pool.failsafe_digest_valid = internal global i32 0, align 4
@__FUNCTION__.mix_pool = private unnamed_addr constant [9 x i8] c"mix_pool\00", align 1
@pool_lock = internal global i8* null, align 4
@.str201714 = private unnamed_addr constant [37 x i8] c"failed to release the pool lock: %s\0A\00", align 1
@.str211715 = private unnamed_addr constant [37 x i8] c"failed to acquire the pool lock: %s\0A\00", align 1
@gather_faked.initialized = internal global i32 0, align 4
@.str221716 = private unnamed_addr constant [51 x i8] c"WARNING: using insecure random number generator!!\0A\00", align 1
@.str231717 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1
@.str241718 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1
@initialize_basics.initialized = internal global i32 0, align 4
@.str251719 = private unnamed_addr constant [36 x i8] c"failed to create the pool lock: %s\0A\00", align 1
@tempvalue_for_x931_aes_driver = internal global i8* null, align 4
@nonce_context = internal global %struct.rng_context* null, align 4
@std_rng_context = internal global %struct.rng_context* null, align 4
@strong_rng_context = internal global %struct.rng_context* null, align 4
@.str1723 = private unnamed_addr constant [28 x i8] c"!nonce_context->test_dt_ptr\00", align 1
@.str11724 = private unnamed_addr constant [14 x i8] c"random-fips.c\00", align 1
@__FUNCTION__._gcry_rngfips_initialize = private unnamed_addr constant [25 x i8] c"_gcry_rngfips_initialize\00", align 1
@.str21725 = private unnamed_addr constant [30 x i8] c"!std_rng_context->test_dt_ptr\00", align 1
@.str31726 = private unnamed_addr constant [33 x i8] c"!strong_rng_context->test_dt_ptr\00", align 1
@selftest_kat.tv = internal global [3 x %struct.anon.299] [%struct.anon.299 { [16 x i8] c"\B9\CA\7F\D6\A0\F5\D3B\19m\84\91v\1C;\BE", [16 x i8] c"H\B2\82\98h\C2\80\00\00\00(\18\00\00%\00", [16 x i8] c"R\17\8D)\A2\D5\84\12\9D\89\9AE\82\02\F7w", [3 x [16 x i8]] [[16 x i8] c"B\9C\08=\82\F4\8A@f\B5I'\ABB\C7\C3", [16 x i8] c"\0E\B7a<\FE\B0\BEs\F7nmo\1D\A3\14\FA", [16 x i8] c"\BBK\C1\0E\C5\FB\CDF\BE(a\E7\03+7}"] }, %struct.anon.299 { [16 x i8] zeroinitializer, [16 x i8] zeroinitializer, [16 x i8] zeroinitializer, [3 x [16 x i8]] [[16 x i8] c"\F7\95\BDJR\E2\9E\D7\13\D3\13\FA \E9\8D\BC", [16 x i8] c"\C8\D1\E5\11YR\F7\FA78\B4\C5\CE\B2\B0\9A", [16 x i8] c"\0D\9C\C5\0D\16\E1\BC\ED\CF`b\09\9D \83~"] }, %struct.anon.299 { [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [16 x i8] c"\80\00\81\01\82\02\83\03\A0 \A1!\A2\22\A3#", [16 x i8] c"\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF", [3 x [16 x i8]] [[16 x i8] c"\96\ED\CC\C3\DD\04\7Fuc\197o\15\22WV", [16 x i8] c"z\14vw\95\17~\C8\92\E8\DD\15\CB\1F\BC\B1", [16 x i8] c"%>.\A2A\1B\DD\F5!HAq\B3\8D/L"] }], align 1
@.str41727 = private unnamed_addr constant [30 x i8] c"tempvalue_for_x931_aes_driver\00", align 1
@__FUNCTION__.selftest_kat = private unnamed_addr constant [13 x i8] c"selftest_kat\00", align 1
@.str51728 = private unnamed_addr constant [38 x i8] c"error creating cipher context for RNG\00", align 1
@.str61729 = private unnamed_addr constant [26 x i8] c"error setting key for RNG\00", align 1
@.str71730 = private unnamed_addr constant [31 x i8] c"X9.31 RNG core function failed\00", align 1
@.str81731 = private unnamed_addr constant [38 x i8] c"RNG output does not match known value\00", align 1
@.str91732 = private unnamed_addr constant [22 x i8] c"fork detection failed\00", align 1
@.str101733 = private unnamed_addr constant [7 x i8] c"random\00", align 1
@.str111734 = private unnamed_addr constant [4 x i8] c"KAT\00", align 1
@fips_rng_is_locked = internal global i32 0, align 4
@.str121735 = private unnamed_addr constant [19 x i8] c"fips_rng_is_locked\00", align 1
@__FUNCTION__.x931_aes_driver = private unnamed_addr constant [16 x i8] c"x931_aes_driver\00", align 1
@.str131736 = private unnamed_addr constant [19 x i8] c"rng_ctx->cipher_hd\00", align 1
@.str141737 = private unnamed_addr constant [19 x i8] c"rng_ctx->is_seeded\00", align 1
@.str151738 = private unnamed_addr constant [40 x i8] c"duplicate 128 bit block returned by RNG\00", align 1
@.str161739 = private unnamed_addr constant [13 x i8] c"length == 16\00", align 1
@__FUNCTION__.encrypt_aes = private unnamed_addr constant [12 x i8] c"encrypt_aes\00", align 1
@.str171740 = private unnamed_addr constant [34 x i8] c"AES encryption in RNG failed: %s\0A\00", align 1
@__FUNCTION__.x931_get_dt = private unnamed_addr constant [12 x i8] c"x931_get_dt\00", align 1
@x931_get_dt.last_sec = internal global i32 0, align 4
@x931_get_dt.last_usec = internal global i32 0, align 4
@x931_get_dt.counter1 = internal global i32 0, align 4
@x931_get_dt.counter0 = internal global i32 0, align 4
@x931_get_dt.counter2 = internal global i16 0, align 2
@.str181741 = private unnamed_addr constant [27 x i8] c"gettimeofday() failed: %s\0A\00", align 1
@__FUNCTION__.x931_reseed = private unnamed_addr constant [12 x i8] c"x931_reseed\00", align 1
@__FUNCTION__.x931_generate_seed = private unnamed_addr constant [19 x i8] c"x931_generate_seed\00", align 1
@entropy_collect_buffer = internal global i8* null, align 4
@.str191742 = private unnamed_addr constant [24 x i8] c"!entropy_collect_buffer\00", align 1
@__FUNCTION__.get_entropy = private unnamed_addr constant [12 x i8] c"get_entropy\00", align 1
@entropy_collect_buffer_size = internal global i32 0, align 4
@entropy_collect_buffer_len = internal global i32 0, align 4
@.str201743 = private unnamed_addr constant [28 x i8] c"error getting entropy data\0A\00", align 1
@__FUNCTION__.entropy_collect_cb = private unnamed_addr constant [19 x i8] c"entropy_collect_cb\00", align 1
@.str211744 = private unnamed_addr constant [23 x i8] c"entropy_collect_buffer\00", align 1
@.str221745 = private unnamed_addr constant [7 x i8] c"buffer\00", align 1
@__FUNCTION__.get_random = private unnamed_addr constant [11 x i8] c"get_random\00", align 1
@.str231746 = private unnamed_addr constant [8 x i8] c"rng_ctx\00", align 1
@.str241747 = private unnamed_addr constant [54 x i8] c"fork without proper re-initialization detected in RNG\00", align 1
@.str251748 = private unnamed_addr constant [29 x i8] c"severe error getting random\0A\00", align 1
@__FUNCTION__.x931_generate_key = private unnamed_addr constant [18 x i8] c"x931_generate_key\00", align 1
@.str261749 = private unnamed_addr constant [43 x i8] c"error creating cipher context for RNG: %s\0A\00", align 1
@.str271750 = private unnamed_addr constant [32 x i8] c"error creating key for RNG: %s\0A\00", align 1
@fips_rng_lock = internal global i8* null, align 4
@.str281751 = private unnamed_addr constant [36 x i8] c"failed to release the RNG lock: %s\0A\00", align 1
@.str291752 = private unnamed_addr constant [46 x i8] c"memory corruption detected in RNG context %p\0A\00", align 1
@.str301753 = private unnamed_addr constant [36 x i8] c"failed to acquire the RNG lock: %s\0A\00", align 1
@basic_initialization.initialized = internal global i32 0, align 4
@.str311754 = private unnamed_addr constant [35 x i8] c"failed to create the RNG lock: %s\0A\00", align 1
@system_rng_is_locked = internal global i32 0, align 4
@system_rng_lock = internal global i8* null, align 4
@.str1759 = private unnamed_addr constant [43 x i8] c"failed to release the System RNG lock: %s\0A\00", align 1
@.str11760 = private unnamed_addr constant [7 x i8] c"buffer\00", align 1
@.str21761 = private unnamed_addr constant [16 x i8] c"random-system.c\00", align 1
@__FUNCTION__.get_random1762 = private unnamed_addr constant [11 x i8] c"get_random\00", align 1
@read_cb_buffer = internal global i8* null, align 4
@read_cb_size = internal global i32 0, align 4
@read_cb_len = internal global i32 0, align 4
@.str31763 = private unnamed_addr constant [46 x i8] c"error reading random from system RNG (rc=%d)\0A\00", align 1
@.str41764 = private unnamed_addr constant [21 x i8] c"system_rng_is_locked\00", align 1
@__FUNCTION__.read_cb = private unnamed_addr constant [8 x i8] c"read_cb\00", align 1
@.str51765 = private unnamed_addr constant [15 x i8] c"read_cb_buffer\00", align 1
@.str61766 = private unnamed_addr constant [43 x i8] c"failed to acquire the System RNG lock: %s\0A\00", align 1
@basic_initialization.initialized1767 = internal global i32 0, align 4
@.str71768 = private unnamed_addr constant [42 x i8] c"failed to create the System RNG lock: %s\0A\00", align 1
@progress_cb1773 = internal global void (i8*, i8*, i32, i32, i32)* null, align 4
@progress_cb_data1774 = internal global i8* null, align 4
@_gcry_set_preferred_rng_type.any_init = internal global i32 0, align 4
@rng_types = internal global %struct.anon.301 zeroinitializer, align 4
@_gcry_random_initialize.nonce_initialized = internal global i32 0, align 4
@nonce_buffer_lock = internal global i8* null, align 4
@.str1775 = private unnamed_addr constant [44 x i8] c"failed to create the nonce buffer lock: %s\0A\00", align 1
@_gcry_create_nonce.nonce_buffer = internal global [28 x i8] zeroinitializer, align 1
@_gcry_create_nonce.nonce_buffer_initialized = internal global i32 0, align 4
@_gcry_create_nonce.my_pid = internal global i32 0, align 4
@.str11776 = private unnamed_addr constant [45 x i8] c"failed to acquire the nonce buffer lock: %s\0A\00", align 1
@.str21777 = private unnamed_addr constant [45 x i8] c"failed to release the nonce buffer lock: %s\0A\00", align 1
@rng_failed = internal global i32 0, align 4
@_gcry_rndlinux_gather_random.fd_urandom = internal global i32 -1, align 4
@_gcry_rndlinux_gather_random.fd_random = internal global i32 -1, align 4
@.str1826 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1
@.str11827 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1
@.str21828 = private unnamed_addr constant [13 x i8] c"need_entropy\00", align 1
@.str31829 = private unnamed_addr constant [20 x i8] c"select() error: %s\0A\00", align 1
@.str41830 = private unnamed_addr constant [38 x i8] c"bogus read from random device (n=%d)\0A\00", align 1
@.str51831 = private unnamed_addr constant [33 x i8] c"read error on random device: %s\0A\00", align 1
@.str61832 = private unnamed_addr constant [19 x i8] c"can't open %s: %s\0A\00", align 1
@.str71833 = private unnamed_addr constant [39 x i8] c"error setting FD_CLOEXEC on fd %d: %s\0A\00", align 1
@.str1836 = private unnamed_addr constant [5 x i8] c"%s.*\00", align 1
@.str11837 = private unnamed_addr constant [5 x i8] c"%s.X\00", align 1
@.str21838 = private unnamed_addr constant [26 x i8] c"%s: %s not yet supported\0A\00", align 1
@.str31839 = private unnamed_addr constant [24 x i8] c"_gcry_mpi_ec_get_affine\00", align 1
@.str41840 = private unnamed_addr constant [11 x i8] c"Montgomery\00", align 1
@.str51841 = private unnamed_addr constant [25 x i8] c"_gcry_mpi_ec_curve_point\00", align 1
@.str61842 = private unnamed_addr constant [24 x i8] c"_gcry_mpi_ec_add_points\00", align 1
@.str71843 = private unnamed_addr constant [23 x i8] c"_gcry_mpi_ec_dup_point\00", align 1
@.str81844 = private unnamed_addr constant [34 x i8] c"ec_invm: inverse does not exist:\0A\00", align 1
@.str91845 = private unnamed_addr constant [4 x i8] c" a\00", align 1
@.str101846 = private unnamed_addr constant [4 x i8] c" p\00", align 1
@ec_p_init.use_barrett = internal global i32 0, align 4
@.str111847 = private unnamed_addr constant [15 x i8] c"GCRYPT_BARRETT\00", align 1
@_gcry_clz_tab = internal hidden constant [256 x i8] c"\00\01\02\02\03\03\03\03\04\04\04\04\04\04\04\04\05\05\05\05\05\05\05\05\05\05\05\05\05\05\05\05\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\07\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08\08", align 1
@.str1962 = private unnamed_addr constant [2 x i8] c"k\00", align 1
@.str11963 = private unnamed_addr constant [11 x i8] c"mpi-mpow.c\00", align 1
@__FUNCTION__._gcry_mpi_mulpowm = private unnamed_addr constant [18 x i8] c"_gcry_mpi_mulpowm\00", align 1
@.str21964 = private unnamed_addr constant [5 x i8] c"i==k\00", align 1
@.str31965 = private unnamed_addr constant [2 x i8] c"t\00", align 1
@.str41966 = private unnamed_addr constant [7 x i8] c"k < 10\00", align 1
@.str51967 = private unnamed_addr constant [25 x i8] c"idx >= 0 && idx < (1<<k)\00", align 1
@.str1978 = private unnamed_addr constant [11 x i8] c"!bp_marker\00", align 1
@.str11979 = private unnamed_addr constant [10 x i8] c"mpi-pow.c\00", align 1
@__FUNCTION__._gcry_mpi_powm = private unnamed_addr constant [15 x i8] c"_gcry_mpi_powm\00", align 1
@.str21980 = private unnamed_addr constant [11 x i8] c"!mp_marker\00", align 1
@.str31981 = private unnamed_addr constant [13 x i8] c"res->d == rp\00", align 1
@.str1986 = private unnamed_addr constant [12 x i8] c"i == nlimbs\00", align 1
@.str11987 = private unnamed_addr constant [11 x i8] c"mpicoder.c\00", align 1
@__FUNCTION__._gcry_mpi_set_buffer = private unnamed_addr constant [21 x i8] c"_gcry_mpi_set_buffer\00", align 1
@mod_source_info = internal global [145 x i8] c":generic/mpih-add1.c:generic/mpih-sub1.c:generic/mpih-mul1.c:generic/mpih-mul2.c:generic/mpih-mul3.c:generic/mpih-lshift.c:generic/mpih-rshift.c\00", align 1
@.str2033 = private unnamed_addr constant [31 x i8] c"invalid mpi_const selector %d\0A\00", align 1
@constants = internal global [6 x %struct.gcry_mpi*] zeroinitializer, align 4
@.str12034 = private unnamed_addr constant [32 x i8] c"invalid flag value in mpi_free\0A\00", align 1
@.str22035 = private unnamed_addr constant [44 x i8] c"Warning: trying to change an immutable MPI\0A\00", align 1
@.str32036 = private unnamed_addr constant [30 x i8] c"mpi_get_opaque on normal mpi\0A\00", align 1
@.str42037 = private unnamed_addr constant [20 x i8] c"invalid flag value\0A\00", align 1
@.str52038 = private unnamed_addr constant [31 x i8] c"MPI subsystem not initialized\0A\00", align 1
@_gcry_compat_identification.blurb = internal constant [240 x i8] c"\0A\0AThis is Libgcrypt 1.6.0-beta332 - The GNU Crypto Library\0ACopyright 2000, 2002, 2003, 2004, 2007, 2008, 2009,\0A 2010, 2011, 2012 Free Software Foundation, Inc.\0ACopyright 2012, 2013 g10 Code GmbH\0A\0A(54df6fc 2013-10-24T01:58+0000)\0A\0A\0A\00", align 1
@llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* bitcast (i32 ()* @gpg_err_init to void ()*) }]
@msgstr1 = internal constant [4866 x i8] c"Success\00General error\00Unknown packet\00Unknown version in packet\00Invalid public key algorithm\00Invalid digest algorithm\00Bad public key\00Bad secret key\00Bad signature\00No public key\00Checksum error\00Bad passphrase\00Invalid cipher algorithm\00Keyring open\00Invalid packet\00Invalid armor\00No user ID\00No secret key\00Wrong secret key used\00Bad session key\00Unknown compression algorithm\00Number is not prime\00Invalid encoding method\00Invalid encryption scheme\00Invalid signature scheme\00Invalid attribute\00No value\00Not found\00Value not found\00Syntax error\00Bad MPI value\00Invalid passphrase\00Invalid signature class\00Resources exhausted\00Invalid keyring\00Trust DB error\00Bad certificate\00Invalid user ID\00Unexpected error\00Time conflict\00Keyserver error\00Wrong public key algorithm\00Tribute to D. A.\00Weak encryption key\00Invalid key length\00Invalid argument\00Syntax error in URI\00Invalid URI\00Network error\00Unknown host\00Selftest failed\00Data not encrypted\00Data not processed\00Unusable public key\00Unusable secret key\00Invalid value\00Bad certificate chain\00Missing certificate\00No data\00Bug\00Not supported\00Invalid operation code\00Timeout\00Internal error\00EOF (gcrypt)\00Invalid object\00Provided object is too short\00Provided object is too large\00Missing item in object\00Not implemented\00Conflicting use\00Invalid cipher mode\00Invalid flag\00Invalid handle\00Result truncated\00Incomplete line\00Invalid response\00No agent running\00Agent error\00Invalid data\00Unspecific Assuan server fault\00General Assuan error\00Invalid session key\00Invalid S-expression\00Unsupported algorithm\00No pinentry\00pinentry error\00Bad PIN\00Invalid name\00Bad data\00Invalid parameter\00Wrong card\00No dirmngr\00dirmngr error\00Certificate revoked\00No CRL known\00CRL too old\00Line too long\00Not trusted\00Operation cancelled\00Bad CA certificate\00Certificate expired\00Certificate too young\00Unsupported certificate\00Unknown S-expression\00Unsupported protection\00Corrupted protection\00Ambiguous name\00Card error\00Card reset required\00Card removed\00Invalid card\00Card not present\00No PKCS15 application\00Not confirmed\00Configuration error\00No policy match\00Invalid index\00Invalid ID\00No SmartCard daemon\00SmartCard daemon error\00Unsupported protocol\00Bad PIN method\00Card not initialized\00Unsupported operation\00Wrong key usage\00Nothing found\00Wrong blob type\00Missing value\00Hardware problem\00PIN blocked\00Conditions of use not satisfied\00PINs are not synced\00Invalid CRL\00BER error\00Invalid BER\00Element not found\00Identifier not found\00Invalid tag\00Invalid length\00Invalid key info\00Unexpected tag\00Not DER encoded\00No CMS object\00Invalid CMS object\00Unknown CMS object\00Unsupported CMS object\00Unsupported encoding\00Unsupported CMS version\00Unknown algorithm\00Invalid crypto engine\00Public key not trusted\00Decryption failed\00Key expired\00Signature expired\00Encoding problem\00Invalid state\00Duplicated value\00Missing action\00ASN.1 module not found\00Invalid OID string\00Invalid time\00Invalid CRL object\00Unsupported CRL version\00Invalid certificate object\00Unknown name\00A locale function failed\00Not locked\00Protocol violation\00Invalid MAC\00Invalid request\00Unknown extension\00Unknown critical extension\00Locked\00Unknown option\00Unknown command\00Not operational\00No passphrase given\00No PIN given\00Not enabled\00No crypto engine\00Missing key\00Too many objects\00Limit reached\00Not initialized\00Missing issuer certificate\00No keyserver available\00Invalid elliptic curve\00Unknown elliptic curve\00Duplicated key\00Ambiguous result\00Operation fully cancelled\00Operation not yet finished\00Buffer too short\00Invalid length specifier in S-expression\00String too long in S-expression\00Unmatched parentheses in S-expression\00S-expression not canonical\00Bad character in S-expression\00Bad quotation in S-expression\00Zero prefix in S-expression\00Nested display hints in S-expression\00Unmatched display hints\00Unexpected reserved punctuation in S-expression\00Bad hexadecimal character in S-expression\00Odd hexadecimal numbers in S-expression\00Bad octal character in S-expression\00General IPC error\00IPC accept call failed\00IPC connect call failed\00Invalid IPC response\00Invalid value passed to IPC\00Incomplete line passed to IPC\00Line passed to IPC too long\00Nested IPC commands\00No data callback in IPC\00No inquire callback in IPC\00Not an IPC server\00Not an IPC client\00Problem starting IPC server\00IPC read error\00IPC write error\00Too much data for IPC layer\00Unexpected IPC command\00Unknown IPC command\00IPC syntax error\00IPC call has been cancelled\00No input source for IPC\00No output source for IPC\00IPC parameter error\00Unknown IPC inquire\00User defined error code 1\00User defined error code 2\00User defined error code 3\00User defined error code 4\00User defined error code 5\00User defined error code 6\00User defined error code 7\00User defined error code 8\00User defined error code 9\00User defined error code 10\00User defined error code 11\00User defined error code 12\00User defined error code 13\00User defined error code 14\00User defined error code 15\00User defined error code 16\00System error w/o errno\00Unknown system error\00End of file\00Unknown error code\00", align 1
@msgidx2 = internal constant [251 x i32] [i32 0, i32 8, i32 22, i32 37, i32 63, i32 92, i32 117, i32 132, i32 147, i32 161, i32 175, i32 190, i32 205, i32 230, i32 243, i32 258, i32 272, i32 283, i32 297, i32 319, i32 335, i32 365, i32 385, i32 409, i32 435, i32 460, i32 478, i32 487, i32 497, i32 513, i32 526, i32 540, i32 559, i32 583, i32 603, i32 619, i32 634, i32 650, i32 666, i32 683, i32 697, i32 713, i32 740, i32 757, i32 777, i32 796, i32 813, i32 833, i32 845, i32 859, i32 872, i32 888, i32 907, i32 926, i32 946, i32 966, i32 980, i32 1002, i32 1022, i32 1030, i32 1034, i32 1048, i32 1071, i32 1079, i32 1094, i32 1107, i32 1122, i32 1151, i32 1180, i32 1203, i32 1219, i32 1235, i32 1255, i32 1268, i32 1283, i32 1300, i32 1316, i32 1333, i32 1350, i32 1362, i32 1375, i32 1406, i32 1427, i32 1447, i32 1468, i32 1490, i32 1502, i32 1517, i32 1525, i32 1538, i32 1547, i32 1565, i32 1576, i32 1587, i32 1601, i32 1621, i32 1634, i32 1646, i32 1660, i32 1672, i32 1692, i32 1711, i32 1731, i32 1753, i32 1777, i32 1798, i32 1821, i32 1842, i32 1857, i32 1868, i32 1888, i32 1901, i32 1914, i32 1931, i32 1953, i32 1967, i32 1987, i32 2003, i32 2017, i32 2028, i32 2048, i32 2071, i32 2092, i32 2107, i32 2128, i32 2150, i32 2166, i32 2180, i32 2196, i32 2210, i32 2227, i32 2239, i32 2271, i32 2291, i32 2303, i32 2313, i32 2325, i32 2343, i32 2364, i32 2376, i32 2391, i32 2408, i32 2423, i32 2439, i32 2453, i32 2472, i32 2491, i32 2514, i32 2535, i32 2559, i32 2577, i32 2599, i32 2622, i32 2640, i32 2652, i32 2670, i32 2687, i32 2701, i32 2718, i32 2733, i32 2756, i32 2775, i32 2788, i32 2807, i32 2831, i32 2858, i32 2871, i32 2896, i32 2907, i32 2926, i32 2938, i32 2954, i32 2972, i32 2999, i32 3006, i32 3021, i32 3037, i32 3053, i32 3073, i32 3086, i32 3098, i32 3115, i32 3127, i32 3144, i32 3158, i32 3174, i32 3201, i32 3224, i32 3247, i32 3270, i32 3285, i32 3302, i32 3328, i32 3355, i32 3372, i32 3413, i32 3445, i32 3483, i32 3510, i32 3540, i32 3570, i32 3598, i32 3635, i32 3659, i32 3707, i32 3749, i32 3789, i32 3825, i32 3843, i32 3866, i32 3890, i32 3911, i32 3939, i32 3969, i32 3997, i32 4017, i32 4041, i32 4068, i32 4086, i32 4104, i32 4132, i32 4147, i32 4163, i32 4191, i32 4214, i32 4234, i32 4251, i32 4279, i32 4303, i32 4328, i32 4348, i32 4368, i32 4394, i32 4420, i32 4446, i32 4472, i32 4498, i32 4524, i32 4550, i32 4576, i32 4602, i32 4629, i32 4656, i32 4683, i32 4710, i32 4737, i32 4764, i32 4791, i32 4814, i32 4835, i32 4847], align 4
@err_code_to_errno = internal constant [141 x i32] [i32 7, i32 13, i32 98, i32 99, i32 68, i32 97, i32 11, i32 114, i32 0, i32 0, i32 52, i32 9, i32 77, i32 74, i32 53, i32 0, i32 56, i32 57, i32 59, i32 16, i32 125, i32 10, i32 44, i32 70, i32 103, i32 111, i32 104, i32 0, i32 35, i32 35, i32 89, i32 0, i32 33, i32 73, i32 122, i32 17, i32 14, i32 27, i32 0, i32 0, i32 0, i32 112, i32 113, i32 43, i32 0, i32 84, i32 115, i32 4, i32 22, i32 5, i32 106, i32 21, i32 120, i32 51, i32 45, i32 46, i32 47, i32 79, i32 80, i32 83, i32 82, i32 81, i32 48, i32 40, i32 124, i32 24, i32 31, i32 90, i32 72, i32 36, i32 119, i32 0, i32 100, i32 102, i32 101, i32 23, i32 55, i32 105, i32 50, i32 61, i32 19, i32 2, i32 8, i32 37, i32 67, i32 123, i32 12, i32 42, i32 64, i32 65, i32 92, i32 28, i32 63, i32 60, i32 38, i32 15, i32 107, i32 20, i32 39, i32 118, i32 88, i32 95, i32 25, i32 76, i32 6, i32 95, i32 75, i32 1, i32 96, i32 32, i32 0, i32 0, i32 0, i32 0, i32 71, i32 93, i32 91, i32 34, i32 78, i32 66, i32 121, i32 85, i32 30, i32 0, i32 108, i32 94, i32 29, i32 3, i32 69, i32 116, i32 86, i32 62, i32 110, i32 109, i32 26, i32 117, i32 49, i32 87, i32 11, i32 18, i32 54], align 4
@err_code_from_index = internal constant [126 x i32] [i32 32875, i32 32849, i32 32895, i32 32815, i32 32817, i32 32872, i32 32768, i32 32850, i32 32779, i32 32789, i32 32774, i32 32906, i32 32854, i32 32769, i32 32804, i32 32863, i32 32787, i32 32803, i32 32907, i32 32848, i32 32865, i32 32819, i32 32816, i32 32843, i32 32833, i32 32870, i32 32902, i32 32805, i32 32859, i32 32894, i32 32890, i32 32834, i32 32877, i32 32800, i32 32885, i32 32796, i32 32797, i32 32837, i32 32851, i32 32862, i32 32866, i32 32831, i32 32855, i32 32811, i32 32790, i32 32822, i32 32823, i32 32824, i32 32830, i32 32904, i32 32846, i32 32821, i32 32778, i32 32782, i32 32908, i32 32844, i32 32784, i32 32785, i32 32786, i32 32861, i32 32847, i32 32899, i32 32860, i32 32856, i32 32857, i32 32887, i32 32852, i32 32772, i32 32896, i32 32791, i32 32882, i32 32836, i32 32801, i32 32781, i32 32874, i32 32871, i32 32780, i32 32886, i32 32825, i32 32826, i32 32829, i32 32828, i32 32827, i32 32813, i32 32889, i32 32898, i32 32905, i32 32868, i32 32798, i32 32835, i32 32884, i32 32858, i32 32883, i32 32893, i32 32869, i32 32873, i32 32876, i32 32773, i32 32770, i32 32771, i32 32840, i32 32842, i32 32841, i32 32792, i32 32794, i32 32845, i32 32818, i32 32864, i32 32892, i32 32901, i32 32900, i32 32793, i32 32809, i32 32810, i32 32775, i32 32814, i32 32897, i32 32903, i32 32867, i32 32838, i32 32820, i32 32888, i32 32802, i32 32853, i32 32832, i32 32788], align 4
@_gm_ = internal global %struct.malloc_state zeroinitializer, align 4
@mparams = internal global %struct.malloc_params zeroinitializer, align 4
define hidden i32 @main(i32 %argc, i8** %argv) nounwind {
entry:
%retval = alloca i32, align 4
%argc.addr = alloca i32, align 4
%argv.addr = alloca i8**, align 4
%oops = alloca i32, align 4
store i32 0, i32* %retval
store i32 %argc, i32* %argc.addr, align 4
store i8** %argv, i8*** %argv.addr, align 4
%0 = load i32* %argc.addr, align 4
%1 = load i8*** %argv.addr, align 4
%call = call i32 (i32, ...)* @gcry_control(i32 37, i32 0)
%call1 = call i8* @gcry_check_version(i8* null)
%call2 = call i32 @strcmp(i8* getelementptr inbounds ([14 x i8]* @.str, i32 0, i32 0), i8* %call1)
%tobool = icmp ne i32 %call2, 0
br i1 %tobool, label %if.then, label %if.end10
if.then: ; preds = %entry
%call3 = call i8* @gcry_check_version(i8* getelementptr inbounds ([14 x i8]* @.str, i32 0, i32 0))
%tobool4 = icmp ne i8* %call3, null
%lnot = xor i1 %tobool4, true
%lnot.ext = zext i1 %lnot to i32
store i32 %lnot.ext, i32* %oops, align 4
%2 = load %struct._IO_FILE** @stderr, align 4
%3 = load i32* %oops, align 4
%tobool5 = icmp ne i32 %3, 0
%cond = select i1 %tobool5, i8* getelementptr inbounds ([1 x i8]* @.str2, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8]* @.str3, i32 0, i32 0)
%call6 = call i8* @gcry_check_version(i8* null)
%call7 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %2, i8* getelementptr inbounds ([49 x i8]* @.str1, i32 0, i32 0), i8* %cond, i8* getelementptr inbounds ([14 x i8]* @.str, i32 0, i32 0), i8* %call6)
%4 = load i32* %oops, align 4
%tobool8 = icmp ne i32 %4, 0
br i1 %tobool8, label %if.then9, label %if.end
if.then9: ; preds = %if.then
call void @exit(i32 1) noreturn
unreachable
if.end: ; preds = %if.then
br label %if.end10
if.end10: ; preds = %if.end, %entry
%call11 = call i32 (i32, ...)* @gcry_control(i32 53, i32 0)
ret i32 0
}
declare i32 @strcmp(i8*, i8*)
declare i32 @fprintf(%struct._IO_FILE*, i8*, ...)
declare void @exit(i32) noreturn
define internal i8* @gcry_check_version(i8* %req_version) nounwind {
entry:
%req_version.addr = alloca i8*, align 4
store i8* %req_version, i8** %req_version.addr, align 4
%0 = load i8** %req_version.addr, align 4
%call = call i8* @_gcry_check_version(i8* %0)
ret i8* %call
}
define internal i32 @gcry_control(i32 %cmd, ...) nounwind {
entry:
%cmd.addr = alloca i32, align 4
%err = alloca i32, align 4
%arg_ptr = alloca [4 x i32], align 4
store i32 %cmd, i32* %cmd.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%0 = load i32* %cmd.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%call = call i32 @_gcry_vcontrol(i32 %0, i32* %arraydecay2)
store i32 %call, i32* %err, align 4
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
%1 = load i32* %err, align 4
ret i32 %1
}
declare void @llvm.va_start(i8*) nounwind
declare void @llvm.va_end(i8*) nounwind
declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind
define internal hidden i8* @_gcry_gettext(i8* %key) nounwind {
entry:
%retval = alloca i8*, align 4
%key.addr = alloca i8*, align 4
store i8* %key, i8** %key.addr, align 4
%0 = load i8* (i8*)** @user_gettext_handler, align 4
%tobool = icmp ne i8* (i8*)* %0, null
br i1 %tobool, label %if.then, label %if.end
if.then: ; preds = %entry
%1 = load i8* (i8*)** @user_gettext_handler, align 4
%2 = load i8** %key.addr, align 4
%call = call i8* %1(i8* %2)
store i8* %call, i8** %retval
br label %return
if.end: ; preds = %entry
%3 = load i8** %key.addr, align 4
store i8* %3, i8** %retval
br label %return
return: ; preds = %if.end, %if.then
%4 = load i8** %retval
ret i8* %4
}
define internal hidden void @_gcry_fatal_error(i32 %rc, i8* %text) noreturn nounwind {
entry:
%rc.addr = alloca i32, align 4
%text.addr = alloca i8*, align 4
store i32 %rc, i32* %rc.addr, align 4
store i8* %text, i8** %text.addr, align 4
%0 = load i8** %text.addr, align 4
%tobool = icmp ne i8* %0, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
%1 = load i32* %rc.addr, align 4
%call = call i8* @gpg_strerror(i32 %1)
store i8* %call, i8** %text.addr, align 4
br label %if.end
if.end: ; preds = %if.then, %entry
%2 = load void (i8*, i32, i8*)** @fatal_error_handler, align 4
%tobool1 = icmp ne void (i8*, i32, i8*)* %2, null
br i1 %tobool1, label %land.lhs.true, label %if.end5
land.lhs.true: ; preds = %if.end
%call2 = call i32 @_gcry_fips_mode()
%tobool3 = icmp ne i32 %call2, 0
br i1 %tobool3, label %if.end5, label %if.then4
if.then4: ; preds = %land.lhs.true
%3 = load void (i8*, i32, i8*)** @fatal_error_handler, align 4
%4 = load i8** @fatal_error_handler_value, align 4
%5 = load i32* %rc.addr, align 4
%6 = load i8** %text.addr, align 4
call void %3(i8* %4, i32 %5, i8* %6)
br label %if.end5
if.end5: ; preds = %if.then4, %land.lhs.true, %if.end
%7 = load i8** %text.addr, align 4
call void @_gcry_fips_signal_error(i8* getelementptr inbounds ([7 x i8]* @.str48, i32 0, i32 0), i32 86, i8* getelementptr inbounds ([18 x i8]* @__FUNCTION__._gcry_fatal_error, i32 0, i32 0), i32 1, i8* %7)
call void @write2stderr(i8* getelementptr inbounds ([15 x i8]* @.str159, i32 0, i32 0))
%8 = load i8** %text.addr, align 4
call void @write2stderr(i8* %8)
call void @write2stderr(i8* getelementptr inbounds ([2 x i8]* @.str2610, i32 0, i32 0))
call void @_gcry_secmem_term()
call void @abort() noreturn
unreachable
return: ; No predecessors!
ret void
}
define internal void @write2stderr(i8* %s) nounwind {
entry:
%s.addr = alloca i8*, align 4
%res = alloca i32, align 4
store i8* %s, i8** %s.addr, align 4
%0 = load i8** %s.addr, align 4
%1 = load i8** %s.addr, align 4
%call = call i32 @strlen(i8* %1)
%call1 = call i32 @write(i32 2, i8* %0, i32 %call)
store i32 %call1, i32* %res, align 4
%2 = load i32* %res, align 4
ret void
}
declare void @abort() noreturn
define internal hidden void @_gcry_set_log_verbosity(i32 %level) nounwind {
entry:
%level.addr = alloca i32, align 4
store i32 %level, i32* %level.addr, align 4
%0 = load i32* %level.addr, align 4
store i32 %0, i32* @verbosity_level, align 4
ret void
}
define internal hidden i32 @_gcry_log_verbosity(i32 %level) nounwind {
entry:
%level.addr = alloca i32, align 4
store i32 %level, i32* %level.addr, align 4
%0 = load i32* @verbosity_level, align 4
%1 = load i32* %level.addr, align 4
%cmp = icmp sge i32 %0, %1
%conv = zext i1 %cmp to i32
ret i32 %conv
}
define internal hidden void @_gcry_logv(i32 %level, i8* %fmt, i32* %arg_ptr) nounwind {
entry:
%level.addr = alloca i32, align 4
%fmt.addr = alloca i8*, align 4
%arg_ptr.addr = alloca i32*, align 4
store i32 %level, i32* %level.addr, align 4
store i8* %fmt, i8** %fmt.addr, align 4
store i32* %arg_ptr, i32** %arg_ptr.addr, align 4
%0 = load void (i8*, i32, i8*, i32*)** @log_handler, align 4
%tobool = icmp ne void (i8*, i32, i8*, i32*)* %0, null
br i1 %tobool, label %if.then, label %if.else
if.then: ; preds = %entry
%1 = load void (i8*, i32, i8*, i32*)** @log_handler, align 4
%2 = load i8** @log_handler_value, align 4
%3 = load i32* %level.addr, align 4
%4 = load i8** %fmt.addr, align 4
%5 = load i32** %arg_ptr.addr, align 4
call void %1(i8* %2, i32 %3, i8* %4, i32* %5)
br label %if.end
if.else: ; preds = %entry
%6 = load i32* %level.addr, align 4
switch i32 %6, label %sw.default [
i32 0, label %sw.bb
i32 10, label %sw.bb1
i32 20, label %sw.bb2
i32 30, label %sw.bb3
i32 40, label %sw.bb4
i32 50, label %sw.bb5
i32 100, label %sw.bb7
]
sw.bb: ; preds = %if.else
br label %sw.epilog
sw.bb1: ; preds = %if.else
br label %sw.epilog
sw.bb2: ; preds = %if.else
br label %sw.epilog
sw.bb3: ; preds = %if.else
br label %sw.epilog
sw.bb4: ; preds = %if.else
%7 = load %struct._IO_FILE** @stderr, align 4
%call = call i32 @fputs(i8* getelementptr inbounds ([8 x i8]* @.str3711, i32 0, i32 0), %struct._IO_FILE* %7)
br label %sw.epilog
sw.bb5: ; preds = %if.else
%8 = load %struct._IO_FILE** @stderr, align 4
%call6 = call i32 @fputs(i8* getelementptr inbounds ([14 x i8]* @.str4812, i32 0, i32 0), %struct._IO_FILE* %8)
br label %sw.epilog
sw.bb7: ; preds = %if.else
%9 = load %struct._IO_FILE** @stderr, align 4
%call8 = call i32 @fputs(i8* getelementptr inbounds ([6 x i8]* @.str5, i32 0, i32 0), %struct._IO_FILE* %9)
br label %sw.epilog
sw.default: ; preds = %if.else
%10 = load %struct._IO_FILE** @stderr, align 4
%11 = load i32* %level.addr, align 4
%call9 = call i32 (%struct._IO_FILE*, i8*, ...)* @fprintf(%struct._IO_FILE* %10, i8* getelementptr inbounds ([25 x i8]* @.str6, i32 0, i32 0), i32 %11)
br label %sw.epilog
sw.epilog: ; preds = %sw.default, %sw.bb7, %sw.bb5, %sw.bb4, %sw.bb3, %sw.bb2, %sw.bb1, %sw.bb
%12 = load %struct._IO_FILE** @stderr, align 4
%13 = load i8** %fmt.addr, align 4
%14 = load i32** %arg_ptr.addr, align 4
%call10 = call i32 @vfprintf(%struct._IO_FILE* %12, i8* %13, i32* %14)
br label %if.end
if.end: ; preds = %sw.epilog, %if.then
%15 = load i32* %level.addr, align 4
%cmp = icmp eq i32 %15, 40
br i1 %cmp, label %if.then12, label %lor.lhs.false
lor.lhs.false: ; preds = %if.end
%16 = load i32* %level.addr, align 4
%cmp11 = icmp eq i32 %16, 50
br i1 %cmp11, label %if.then12, label %if.end13
if.then12: ; preds = %lor.lhs.false, %if.end
call void @_gcry_fips_signal_error(i8* getelementptr inbounds ([7 x i8]* @.str48, i32 0, i32 0), i32 141, i8* getelementptr inbounds ([11 x i8]* @__FUNCTION__._gcry_logv, i32 0, i32 0), i32 1, i8* getelementptr inbounds ([30 x i8]* @.str7, i32 0, i32 0))
call void @_gcry_secmem_term()
call void @abort() noreturn
unreachable
if.end13: ; preds = %lor.lhs.false
ret void
}
declare i32 @fputs(i8*, %struct._IO_FILE*)
declare i32 @vfprintf(%struct._IO_FILE*, i8*, i32*)
define internal hidden void @_gcry_log(i32 %level, i8* %fmt, ...) nounwind {
entry:
%level.addr = alloca i32, align 4
%fmt.addr = alloca i8*, align 4
%arg_ptr = alloca [4 x i32], align 4
store i32 %level, i32* %level.addr, align 4
store i8* %fmt, i8** %fmt.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%0 = load i32* %level.addr, align 4
%1 = load i8** %fmt.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
call void @_gcry_logv(i32 %0, i8* %1, i32* %arraydecay2)
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
ret void
}
define internal hidden void @_gcry_bug(i8* %file, i32 %line, i8* %func) noreturn nounwind {
entry:
%file.addr = alloca i8*, align 4
%line.addr = alloca i32, align 4
%func.addr = alloca i8*, align 4
store i8* %file, i8** %file.addr, align 4
store i32 %line, i32* %line.addr, align 4
store i8* %func, i8** %func.addr, align 4
%0 = load i8** %file.addr, align 4
%1 = load i32* %line.addr, align 4
%2 = load i8** %func.addr, align 4
call void (i32, i8*, ...)* @_gcry_log(i32 50, i8* getelementptr inbounds ([30 x i8]* @.str8, i32 0, i32 0), i8* %0, i32 %1, i8* %2)
call void @abort() noreturn
unreachable
return: ; No predecessors!
ret void
}
define internal hidden void @_gcry_assert_failed(i8* %expr, i8* %file, i32 %line, i8* %func) noreturn nounwind {
entry:
%expr.addr = alloca i8*, align 4
%file.addr = alloca i8*, align 4
%line.addr = alloca i32, align 4
%func.addr = alloca i8*, align 4
store i8* %expr, i8** %expr.addr, align 4
store i8* %file, i8** %file.addr, align 4
store i32 %line, i32* %line.addr, align 4
store i8* %func, i8** %func.addr, align 4
%0 = load i8** %expr.addr, align 4
%1 = load i8** %file.addr, align 4
%2 = load i32* %line.addr, align 4
%3 = load i8** %func.addr, align 4
call void (i32, i8*, ...)* @_gcry_log(i32 50, i8* getelementptr inbounds ([34 x i8]* @.str9, i32 0, i32 0), i8* %0, i8* %1, i32 %2, i8* %3)
call void @abort() noreturn
unreachable
return: ; No predecessors!
ret void
}
define internal hidden void @_gcry_log_info(i8* %fmt, ...) nounwind {
entry:
%fmt.addr = alloca i8*, align 4
%arg_ptr = alloca [4 x i32], align 4
store i8* %fmt, i8** %fmt.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%0 = load i8** %fmt.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
call void @_gcry_logv(i32 10, i8* %0, i32* %arraydecay2)
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
ret void
}
define internal hidden i32 @_gcry_log_info_with_dummy_fp(%struct._IO_FILE* %fp, i8* %fmt, ...) nounwind {
entry:
%fp.addr = alloca %struct._IO_FILE*, align 4
%fmt.addr = alloca i8*, align 4
%arg_ptr = alloca [4 x i32], align 4
store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 4
store i8* %fmt, i8** %fmt.addr, align 4
%0 = load %struct._IO_FILE** %fp.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%1 = load i8** %fmt.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
call void @_gcry_logv(i32 10, i8* %1, i32* %arraydecay2)
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
ret i32 0
}
define internal hidden void @_gcry_log_error(i8* %fmt, ...) nounwind {
entry:
%fmt.addr = alloca i8*, align 4
%arg_ptr = alloca [4 x i32], align 4
store i8* %fmt, i8** %fmt.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%0 = load i8** %fmt.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
call void @_gcry_logv(i32 30, i8* %0, i32* %arraydecay2)
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
ret void
}
define internal hidden void @_gcry_log_fatal(i8* %fmt, ...) noreturn nounwind {
entry:
%fmt.addr = alloca i8*, align 4
%arg_ptr = alloca [4 x i32], align 4
store i8* %fmt, i8** %fmt.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%0 = load i8** %fmt.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
call void @_gcry_logv(i32 40, i8* %0, i32* %arraydecay2)
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
call void @abort() noreturn
unreachable
return: ; No predecessors!
ret void
}
define internal hidden void @_gcry_log_bug(i8* %fmt, ...) noreturn nounwind {
entry:
%fmt.addr = alloca i8*, align 4
%arg_ptr = alloca [4 x i32], align 4
store i8* %fmt, i8** %fmt.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%0 = load i8** %fmt.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
call void @_gcry_logv(i32 50, i8* %0, i32* %arraydecay2)
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
call void @abort() noreturn
unreachable
return: ; No predecessors!
ret void
}
define internal hidden void @_gcry_log_debug(i8* %fmt, ...) nounwind {
entry:
%fmt.addr = alloca i8*, align 4
%arg_ptr = alloca [4 x i32], align 4
store i8* %fmt, i8** %fmt.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%0 = load i8** %fmt.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
call void @_gcry_logv(i32 100, i8* %0, i32* %arraydecay2)
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
ret void
}
define internal hidden void @_gcry_log_printf(i8* %fmt, ...) nounwind {
entry:
%fmt.addr = alloca i8*, align 4
%arg_ptr = alloca [4 x i32], align 4
store i8* %fmt, i8** %fmt.addr, align 4
%0 = load i8** %fmt.addr, align 4
%tobool = icmp ne i8* %0, null
br i1 %tobool, label %if.then, label %if.end
if.then: ; preds = %entry
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%1 = load i8** %fmt.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
call void @_gcry_logv(i32 0, i8* %1, i32* %arraydecay2)
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
br label %if.end
if.end: ; preds = %if.then, %entry
ret void
}
define internal hidden void @_gcry_log_printhex(i8* %text, i8* %buffer, i32 %length) nounwind {
entry:
%text.addr = alloca i8*, align 4
%buffer.addr = alloca i8*, align 4
%length.addr = alloca i32, align 4
store i8* %text, i8** %text.addr, align 4
store i8* %buffer, i8** %buffer.addr, align 4
store i32 %length, i32* %length.addr, align 4
%0 = load i8** %text.addr, align 4
%1 = load i8** %buffer.addr, align 4
%2 = load i32* %length.addr, align 4
call void @do_printhex(i8* %0, i8* getelementptr inbounds ([2 x i8]* @.str10, i32 0, i32 0), i8* %1, i32 %2)
ret void
}
define internal void @do_printhex(i8* %text, i8* %text2, i8* %buffer, i32 %length) nounwind {
entry:
%text.addr = alloca i8*, align 4
%text2.addr = alloca i8*, align 4
%buffer.addr = alloca i8*, align 4
%length.addr = alloca i32, align 4
%wrap = alloca i32, align 4
%cnt = alloca i32, align 4
%p = alloca i8*, align 4
store i8* %text, i8** %text.addr, align 4
store i8* %text2, i8** %text2.addr, align 4
store i8* %buffer, i8** %buffer.addr, align 4
store i32 %length, i32* %length.addr, align 4
store i32 0, i32* %wrap, align 4
store i32 0, i32* %cnt, align 4
%0 = load i8** %text.addr, align 4
%tobool = icmp ne i8* %0, null
br i1 %tobool, label %land.lhs.true, label %if.end9
land.lhs.true: ; preds = %entry
%1 = load i8** %text.addr, align 4
%2 = load i8* %1, align 1
%conv = sext i8 %2 to i32
%tobool1 = icmp ne i32 %conv, 0
br i1 %tobool1, label %if.then, label %if.end9
if.then: ; preds = %land.lhs.true
store i32 1, i32* %wrap, align 4
%3 = load i8** %text.addr, align 4
%4 = load i8** %text2.addr, align 4
call void (i8*, ...)* @_gcry_log_debug(i8* getelementptr inbounds ([6 x i8]* @.str24, i32 0, i32 0), i8* %3, i8* %4)
%5 = load i8** %text2.addr, align 4
%arrayidx = getelementptr inbounds i8* %5, i32 1
%6 = load i8* %arrayidx, align 1
%conv2 = sext i8 %6 to i32
%cmp = icmp eq i32 %conv2, 91
br i1 %cmp, label %land.lhs.true4, label %if.end
land.lhs.true4: ; preds = %if.then
%7 = load i32* %length.addr, align 4
%tobool5 = icmp ne i32 %7, 0
br i1 %tobool5, label %land.lhs.true6, label %if.end
land.lhs.true6: ; preds = %land.lhs.true4
%8 = load i8** %buffer.addr, align 4
%tobool7 = icmp ne i8* %8, null
br i1 %tobool7, label %if.then8, label %if.end
if.then8: ; preds = %land.lhs.true6
call void (i8*, ...)* @_gcry_log_printf(i8* getelementptr inbounds ([2 x i8]* @.str2610, i32 0, i32 0))
store i8* getelementptr inbounds ([2 x i8]* @.str10, i32 0, i32 0), i8** %text2.addr, align 4
%9 = load i8** %text.addr, align 4
%call = call i32 @strlen(i8* %9)
call void (i8*, ...)* @_gcry_log_debug(i8* getelementptr inbounds ([6 x i8]* @.str19, i32 0, i32 0), i32 %call, i8* getelementptr inbounds ([1 x i8]* @.str16, i32 0, i32 0))
br label %if.end
if.end: ; preds = %if.then8, %land.lhs.true6, %land.lhs.true4, %if.then
br label %if.end9
if.end9: ; preds = %if.end, %land.lhs.true, %entry
%10 = load i32* %length.addr, align 4
%tobool10 = icmp ne i32 %10, 0
br i1 %tobool10, label %if.then11, label %if.end24
if.then11: ; preds = %if.end9
%11 = load i8** %buffer.addr, align 4
store i8* %11, i8** %p, align 4
br label %for.cond
for.cond: ; preds = %for.inc, %if.then11
%12 = load i32* %length.addr, align 4
%dec = add i32 %12, -1
store i32 %dec, i32* %length.addr, align 4
%tobool12 = icmp ne i32 %12, 0
br i1 %tobool12, label %for.body, label %for.end
for.body: ; preds = %for.cond
%13 = load i8** %p, align 4
%14 = load i8* %13, align 1
%conv13 = zext i8 %14 to i32
call void (i8*, ...)* @_gcry_log_printf(i8* getelementptr inbounds ([5 x i8]* @.str25, i32 0, i32 0), i32 %conv13)
%15 = load i32* %wrap, align 4
%tobool14 = icmp ne i32 %15, 0
br i1 %tobool14, label %land.lhs.true15, label %if.end23
land.lhs.true15: ; preds = %for.body
%16 = load i32* %cnt, align 4
%inc = add nsw i32 %16, 1
store i32 %inc, i32* %cnt, align 4
%cmp16 = icmp eq i32 %inc, 32
br i1 %cmp16, label %land.lhs.true18, label %if.end23
land.lhs.true18: ; preds = %land.lhs.true15
%17 = load i32* %length.addr, align 4
%tobool19 = icmp ne i32 %17, 0
br i1 %tobool19, label %if.then20, label %if.end23
if.then20: ; preds = %land.lhs.true18
store i32 0, i32* %cnt, align 4
call void (i8*, ...)* @_gcry_log_printf(i8* getelementptr inbounds ([4 x i8]* @.str261014, i32 0, i32 0))
%18 = load i8** %text.addr, align 4
%call21 = call i32 @strlen(i8* %18)
%19 = load i8** %text2.addr, align 4
%call22 = call i32 @strlen(i8* %19)
call void (i8*, ...)* @_gcry_log_debug(i8* getelementptr inbounds ([8 x i8]* @.str27, i32 0, i32 0), i32 %call21, i8* getelementptr inbounds ([1 x i8]* @.str16, i32 0, i32 0), i32 %call22, i8* getelementptr inbounds ([1 x i8]* @.str16, i32 0, i32 0))
br label %if.end23
if.end23: ; preds = %if.then20, %land.lhs.true18, %land.lhs.true15, %for.body
br label %for.inc
for.inc: ; preds = %if.end23
%20 = load i8** %p, align 4
%incdec.ptr = getelementptr inbounds i8* %20, i32 1
store i8* %incdec.ptr, i8** %p, align 4
br label %for.cond
for.end: ; preds = %for.cond
br label %if.end24
if.end24: ; preds = %for.end, %if.end9
%21 = load i8** %text.addr, align 4
%tobool25 = icmp ne i8* %21, null
br i1 %tobool25, label %if.then26, label %if.end27
if.then26: ; preds = %if.end24
call void (i8*, ...)* @_gcry_log_printf(i8* getelementptr inbounds ([2 x i8]* @.str2610, i32 0, i32 0))
br label %if.end27
if.end27: ; preds = %if.then26, %if.end24
ret void
}
define internal hidden void @_gcry_log_printmpi(i8* %text, %struct.gcry_mpi* %mpi) nounwind {
entry:
%text.addr = alloca i8*, align 4
%mpi.addr = alloca %struct.gcry_mpi*, align 4
%rawmpi = alloca i8*, align 4
%rawmpilen = alloca i32, align 4
%sign = alloca i32, align 4
%nbits = alloca i32, align 4
%p = alloca i8*, align 4
%prefix = alloca [30 x i8], align 1
store i8* %text, i8** %text.addr, align 4
store %struct.gcry_mpi* %mpi, %struct.gcry_mpi** %mpi.addr, align 4
%0 = load %struct.gcry_mpi** %mpi.addr, align 4
%tobool = icmp ne %struct.gcry_mpi* %0, null
br i1 %tobool, label %if.else, label %if.then
if.then: ; preds = %entry
%1 = load i8** %text.addr, align 4
%tobool1 = icmp ne i8* %1, null
br i1 %tobool1, label %cond.true, label %cond.false
cond.true: ; preds = %if.then
%2 = load i8** %text.addr, align 4
br label %cond.end
cond.false: ; preds = %if.then
br label %cond.end
cond.end: ; preds = %cond.false, %cond.true
%cond = phi i8* [ %2, %cond.true ], [ getelementptr inbounds ([2 x i8]* @.str10, i32 0, i32 0), %cond.false ]
call void @do_printhex(i8* %cond, i8* getelementptr inbounds ([8 x i8]* @.str11, i32 0, i32 0), i8* null, i32 0)
br label %if.end31
if.else: ; preds = %entry
%3 = load %struct.gcry_mpi** %mpi.addr, align 4
%tobool2 = icmp ne %struct.gcry_mpi* %3, null
br i1 %tobool2, label %land.lhs.true, label %if.else12
land.lhs.true: ; preds = %if.else
%4 = load %struct.gcry_mpi** %mpi.addr, align 4
%flags = getelementptr inbounds %struct.gcry_mpi* %4, i32 0, i32 3
%5 = load i32* %flags, align 4
%and = and i32 %5, 4
%tobool3 = icmp ne i32 %and, 0
br i1 %tobool3, label %if.then4, label %if.else12
if.then4: ; preds = %land.lhs.true
%6 = load %struct.gcry_mpi** %mpi.addr, align 4
%call = call i8* @_gcry_mpi_get_opaque(%struct.gcry_mpi* %6, i32* %nbits)
store i8* %call, i8** %p, align 4
%arraydecay = getelementptr inbounds [30 x i8]* %prefix, i32 0, i32 0
%7 = load i32* %nbits, align 4
%call5 = call i32 (i8*, i32, i8*, ...)* @snprintf(i8* %arraydecay, i32 30, i8* getelementptr inbounds ([10 x i8]* @.str12, i32 0, i32 0), i32 %7)
%8 = load i8** %text.addr, align 4
%tobool6 = icmp ne i8* %8, null
br i1 %tobool6, label %cond.true7, label %cond.false8
cond.true7: ; preds = %if.then4
%9 = load i8** %text.addr, align 4
br label %cond.end9
cond.false8: ; preds = %if.then4
br label %cond.end9
cond.end9: ; preds = %cond.false8, %cond.true7
%cond10 = phi i8* [ %9, %cond.true7 ], [ getelementptr inbounds ([2 x i8]* @.str10, i32 0, i32 0), %cond.false8 ]
%arraydecay11 = getelementptr inbounds [30 x i8]* %prefix, i32 0, i32 0
%10 = load i8** %p, align 4
%11 = load i32* %nbits, align 4
%add = add i32 %11, 7
%div = udiv i32 %add, 8
call void @do_printhex(i8* %cond10, i8* %arraydecay11, i8* %10, i32 %div)
br label %if.end30
if.else12: ; preds = %land.lhs.true, %if.else
%12 = load %struct.gcry_mpi** %mpi.addr, align 4
%call13 = call i8* @_gcry_mpi_get_buffer(%struct.gcry_mpi* %12, i32 0, i32* %rawmpilen, i32* %sign)
store i8* %call13, i8** %rawmpi, align 4
%13 = load i8** %rawmpi, align 4
%tobool14 = icmp ne i8* %13, null
br i1 %tobool14, label %if.else21, label %if.then15
if.then15: ; preds = %if.else12
%14 = load i8** %text.addr, align 4
%tobool16 = icmp ne i8* %14, null
br i1 %tobool16, label %cond.true17, label %cond.false18
cond.true17: ; preds = %if.then15
%15 = load i8** %text.addr, align 4
br label %cond.end19
cond.false18: ; preds = %if.then15
br label %cond.end19
cond.end19: ; preds = %cond.false18, %cond.true17
%cond20 = phi i8* [ %15, %cond.true17 ], [ getelementptr inbounds ([2 x i8]* @.str10, i32 0, i32 0), %cond.false18 ]
call void @do_printhex(i8* %cond20, i8* getelementptr inbounds ([15 x i8]* @.str13, i32 0, i32 0), i8* null, i32 0)
br label %if.end29
if.else21: ; preds = %if.else12
%16 = load i32* %rawmpilen, align 4
%tobool22 = icmp ne i32 %16, 0
br i1 %tobool22, label %if.else26, label %if.then23
if.then23: ; preds = %if.else21
%17 = load i8** %text.addr, align 4
%18 = load i32* %sign, align 4
%tobool24 = icmp ne i32 %18, 0
%cond25 = select i1 %tobool24, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8]* @.str15913, i32 0, i32 0)
call void @do_printhex(i8* %17, i8* %cond25, i8* getelementptr inbounds ([1 x i8]* @.str16, i32 0, i32 0), i32 1)
br label %if.end
if.else26: ; preds = %if.else21
%19 = load i8** %text.addr, align 4
%20 = load i32* %sign, align 4
%tobool27 = icmp ne i32 %20, 0
%cond28 = select i1 %tobool27, i8* getelementptr inbounds ([2 x i8]* @.str14, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8]* @.str15913, i32 0, i32 0)
%21 = load i8** %rawmpi, align 4
%22 = load i32* %rawmpilen, align 4
call void @do_printhex(i8* %19, i8* %cond28, i8* %21, i32 %22)
br label %if.end
if.end: ; preds = %if.else26, %if.then23
%23 = load i8** %rawmpi, align 4
call void @_gcry_free(i8* %23)
br label %if.end29
if.end29: ; preds = %if.end, %cond.end19
br label %if.end30
if.end30: ; preds = %if.end29, %cond.end9
br label %if.end31
if.end31: ; preds = %if.end30, %cond.end
ret void
}
declare i32 @snprintf(i8*, i32, i8*, ...)
declare i8* @strchr(i8*, i32)
declare i32 @strlen(i8*)
define internal hidden void @__gcry_burn_stack(i32 %bytes) nounwind {
entry:
%bytes.addr = alloca i32, align 4
%buflen = alloca i32, align 4
%saved_stack = alloca i8*
%_vptr = alloca i8*, align 4
%_vlen = alloca i32, align 4
%_vset = alloca i8, align 1
%_vset_long = alloca i32, align 4
%_vptr_long = alloca i32*, align 4
store i32 %bytes, i32* %bytes.addr, align 4
%0 = load i32* %bytes.addr, align 4
%tobool = icmp ne i32 %0, 0
%lnot = xor i1 %tobool, true
%lnot.ext = zext i1 %lnot to i32
%1 = load i32* %bytes.addr, align 4
%add = add i32 %lnot.ext, %1
%add1 = add i32 %add, 63
%and = and i32 %add1, -64
store i32 %and, i32* %buflen, align 4
%2 = load i32* %buflen, align 4
%3 = call i8* @llvm.stacksave()
store i8* %3, i8** %saved_stack
%vla = alloca i8, i32 %2, align 1
br label %do.body
do.body: ; preds = %entry
store i8* %vla, i8** %_vptr, align 4
store i32 %2, i32* %_vlen, align 4
store i8 0, i8* %_vset, align 1
br label %do.body2
do.body2: ; preds = %do.body
%4 = load i8* %_vset, align 1
%conv = zext i8 %4 to i32
store i32 %conv, i32* %_vset_long, align 4
br label %do.body3
do.body3: ; preds = %do.body2
br label %while.cond
while.cond: ; preds = %while.body, %do.body3
%5 = load i8** %_vptr, align 4
%6 = ptrtoint i8* %5 to i32
%and4 = and i32 %6, 3
%tobool5 = icmp ne i32 %and4, 0
br i1 %tobool5, label %land.rhs, label %land.end
land.rhs: ; preds = %while.cond
%7 = load i32* %_vlen, align 4
%tobool6 = icmp ne i32 %7, 0
br label %land.end
land.end: ; preds = %land.rhs, %while.cond
%8 = phi i1 [ false, %while.cond ], [ %tobool6, %land.rhs ]
br i1 %8, label %while.body, label %while.end
while.body: ; preds = %land.end
%9 = load i8* %_vset, align 1
%10 = load i8** %_vptr, align 4
store volatile i8 %9, i8* %10, align 1
%11 = load i8** %_vptr, align 4
%incdec.ptr = getelementptr inbounds i8* %11, i32 1
store i8* %incdec.ptr, i8** %_vptr, align 4
%12 = load i32* %_vlen, align 4
%dec = add i32 %12, -1
store i32 %dec, i32* %_vlen, align 4
br label %while.cond
while.end: ; preds = %land.end
br label %do.cond
do.cond: ; preds = %while.end
br label %do.end
do.end: ; preds = %do.cond
%13 = load i32* %_vlen, align 4
%cmp = icmp ult i32 %13, 4
br i1 %cmp, label %if.then, label %if.end
if.then: ; preds = %do.end
br label %do.end16
if.end: ; preds = %do.end
%14 = load i32* %_vset_long, align 4
%conv8 = zext i32 %14 to i64
%mul = mul i64 %conv8, 72340172838076673
%conv9 = trunc i64 %mul to i32
store i32 %conv9, i32* %_vset_long, align 4
br label %do.body10
do.body10: ; preds = %do.cond11, %if.end
%15 = load i8** %_vptr, align 4
%16 = bitcast i8* %15 to i32*
store i32* %16, i32** %_vptr_long, align 4
%17 = load i32* %_vset_long, align 4
%18 = load i32** %_vptr_long, align 4
store volatile i32 %17, i32* %18, align 4
%19 = load i32* %_vlen, align 4
%sub = sub i32 %19, 4
store i32 %sub, i32* %_vlen, align 4
%20 = load i8** %_vptr, align 4
%add.ptr = getelementptr inbounds i8* %20, i32 4
store i8* %add.ptr, i8** %_vptr, align 4
br label %do.cond11
do.cond11: ; preds = %do.body10
%21 = load i32* %_vlen, align 4
%cmp12 = icmp uge i32 %21, 4
br i1 %cmp12, label %do.body10, label %do.end14
do.end14: ; preds = %do.cond11
br label %do.cond15
do.cond15: ; preds = %do.end14
br label %do.end16
do.end16: ; preds = %do.cond15, %if.then
br label %while.cond17
while.cond17: ; preds = %while.body19, %do.end16
%22 = load i32* %_vlen, align 4
%tobool18 = icmp ne i32 %22, 0
br i1 %tobool18, label %while.body19, label %while.end22
while.body19: ; preds = %while.cond17
%23 = load i8* %_vset, align 1
%24 = load i8** %_vptr, align 4
store volatile i8 %23, i8* %24, align 1
%25 = load i8** %_vptr, align 4
%incdec.ptr20 = getelementptr inbounds i8* %25, i32 1
store i8* %incdec.ptr20, i8** %_vptr, align 4
%26 = load i32* %_vlen, align 4
%dec21 = add i32 %26, -1
store i32 %dec21, i32* %_vlen, align 4
br label %while.cond17
while.end22: ; preds = %while.cond17
br label %do.cond23
do.cond23: ; preds = %while.end22
br label %do.end24
do.end24: ; preds = %do.cond23
%27 = load i8** %saved_stack
call void @llvm.stackrestore(i8* %27)
ret void
}
declare i8* @llvm.stacksave() nounwind
declare void @llvm.stackrestore(i8*) nounwind
define internal hidden void @_gcry_divide_by_zero() noreturn nounwind {
entry:
call void @gpg_err_set_errno(i32 33)
%call = call i32* @__errno_location() nounwind readnone
%0 = load i32* %call, align 4
%call1 = call i32 @gpg_err_code_from_errno(i32 %0)
call void @_gcry_fatal_error(i32 %call1, i8* getelementptr inbounds ([15 x i8]* @.str22, i32 0, i32 0)) noreturn
unreachable
return: ; No predecessors!
ret void
}
declare i32* @__errno_location() nounwind readnone
declare i32 @write(i32, i8*, i32)
define internal hidden i32 @_gcry_global_is_operational() nounwind {
entry:
%0 = load i32* @any_init_done, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
call void @global_init()
br label %if.end
if.end: ; preds = %if.then, %entry
%call = call i32 @_gcry_fips_is_operational()
ret i32 %call
}
define internal void @global_init() nounwind {
entry:
%err = alloca i32, align 4
store i32 0, i32* %err, align 4
%0 = load i32* @any_init_done, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.then, label %if.end
if.then: ; preds = %entry
br label %return
if.end: ; preds = %entry
store i32 1, i32* @any_init_done, align 4
call void @_gcry_set_preferred_rng_type(i32 0)
%call = call i32 @_gcry_ath_init()
store i32 %call, i32* %err, align 4
%1 = load i32* %err, align 4
%tobool1 = icmp ne i32 %1, 0
br i1 %tobool1, label %if.then2, label %if.end4
if.then2: ; preds = %if.end
%2 = load i32* %err, align 4
%call3 = call i32 @gpg_error_from_errno(i32 %2)
store i32 %call3, i32* %err, align 4
br label %fail
if.end4: ; preds = %if.end
%3 = load i32* @force_fips_mode, align 4
call void @_gcry_initialize_fips_mode(i32 %3)
%4 = load i32* @disabled_hw_features, align 4
call void @_gcry_detect_hw_features(i32 %4)
%call5 = call i32 @_gcry_cipher_init()
store i32 %call5, i32* %err, align 4
%5 = load i32* %err, align 4
%tobool6 = icmp ne i32 %5, 0
br i1 %tobool6, label %if.then7, label %if.end8
if.then7: ; preds = %if.end4
br label %fail
if.end8: ; preds = %if.end4
%call9 = call i32 @_gcry_md_init()
store i32 %call9, i32* %err, align 4
%6 = load i32* %err, align 4
%tobool10 = icmp ne i32 %6, 0
br i1 %tobool10, label %if.then11, label %if.end12
if.then11: ; preds = %if.end8
br label %fail
if.end12: ; preds = %if.end8
%call13 = call i32 @_gcry_pk_init()
store i32 %call13, i32* %err, align 4
%7 = load i32* %err, align 4
%tobool14 = icmp ne i32 %7, 0
br i1 %tobool14, label %if.then15, label %if.end16
if.then15: ; preds = %if.end12
br label %fail
if.end16: ; preds = %if.end12
%call17 = call i32 @_gcry_primegen_init()
store i32 %call17, i32* %err, align 4
%8 = load i32* %err, align 4
%tobool18 = icmp ne i32 %8, 0
br i1 %tobool18, label %if.then19, label %if.end20
if.then19: ; preds = %if.end16
br label %fail
if.end20: ; preds = %if.end16
%call21 = call i32 @_gcry_secmem_module_init()
store i32 %call21, i32* %err, align 4
%9 = load i32* %err, align 4
%tobool22 = icmp ne i32 %9, 0
br i1 %tobool22, label %if.then23, label %if.end24
if.then23: ; preds = %if.end20
br label %fail
if.end24: ; preds = %if.end20
%call25 = call i32 @_gcry_mpi_init()
store i32 %call25, i32* %err, align 4
%10 = load i32* %err, align 4
%tobool26 = icmp ne i32 %10, 0
br i1 %tobool26, label %if.then27, label %if.end28
if.then27: ; preds = %if.end24
br label %fail
if.end28: ; preds = %if.end24
br label %return
fail: ; preds = %if.then27, %if.then23, %if.then19, %if.then15, %if.then11, %if.then7, %if.then2
call void @_gcry_bug(i8* getelementptr inbounds ([9 x i8]* @.str31, i32 0, i32 0), i32 153, i8* getelementptr inbounds ([12 x i8]* @__FUNCTION__.global_init, i32 0, i32 0)) noreturn
unreachable
return: ; preds = %if.end28, %if.then
ret void
}
define internal hidden i8* @_gcry_check_version(i8* %req_version) nounwind {
entry:
%retval = alloca i8*, align 4
%req_version.addr = alloca i8*, align 4
%ver = alloca i8*, align 4
%my_major = alloca i32, align 4
%my_minor = alloca i32, align 4
%my_micro = alloca i32, align 4
%rq_major = alloca i32, align 4
%rq_minor = alloca i32, align 4
%rq_micro = alloca i32, align 4
%my_plvl = alloca i8*, align 4
store i8* %req_version, i8** %req_version.addr, align 4
store i8* getelementptr inbounds ([14 x i8]* @.str29, i32 0, i32 0), i8** %ver, align 4
%0 = load i8** %req_version.addr, align 4
%tobool = icmp ne i8* %0, null
br i1 %tobool, label %land.lhs.true, label %if.end
land.lhs.true: ; preds = %entry
%1 = load i8** %req_version.addr, align 4
%arrayidx = getelementptr inbounds i8* %1, i32 0
%2 = load i8* %arrayidx, align 1
%conv = sext i8 %2 to i32
%cmp = icmp eq i32 %conv, 1
br i1 %cmp, label %land.lhs.true2, label %if.end
land.lhs.true2: ; preds = %land.lhs.true
%3 = load i8** %req_version.addr, align 4
%arrayidx3 = getelementptr inbounds i8* %3, i32 1
%4 = load i8* %arrayidx3, align 1
%conv4 = sext i8 %4 to i32
%cmp5 = icmp eq i32 %conv4, 1
br i1 %cmp5, label %if.then, label %if.end
if.then: ; preds = %land.lhs.true2
%call = call i8* @_gcry_compat_identification()
store i8* %call, i8** %retval
br label %return
if.end: ; preds = %land.lhs.true2, %land.lhs.true, %entry
call void @global_init()
%5 = load i8** %req_version.addr, align 4
%tobool7 = icmp ne i8* %5, null
br i1 %tobool7, label %if.end9, label %if.then8
if.then8: ; preds = %if.end
%6 = load i8** %ver, align 4
store i8* %6, i8** %retval
br label %return
if.end9: ; preds = %if.end
%7 = load i8** %ver, align 4
%call10 = call i8* @parse_version_string(i8* %7, i32* %my_major, i32* %my_minor, i32* %my_micro)
store i8* %call10, i8** %my_plvl, align 4
%8 = load i8** %my_plvl, align 4
%tobool11 = icmp ne i8* %8, null
br i1 %tobool11, label %if.end13, label %if.then12
if.then12: ; preds = %if.end9
store i8* null, i8** %retval
br label %return
if.end13: ; preds = %if.end9
%9 = load i8** %req_version.addr, align 4
%call14 = call i8* @parse_version_string(i8* %9, i32* %rq_major, i32* %rq_minor, i32* %rq_micro)
%tobool15 = icmp ne i8* %call14, null
br i1 %tobool15, label %if.end17, label %if.then16
if.then16: ; preds = %if.end13
store i8* null, i8** %retval
br label %return
if.end17: ; preds = %if.end13
%10 = load i32* %my_major, align 4
%11 = load i32* %rq_major, align 4
%cmp18 = icmp sgt i32 %10, %11
br i1 %cmp18, label %if.then43, label %lor.lhs.false
lor.lhs.false: ; preds = %if.end17
%12 = load i32* %my_major, align 4
%13 = load i32* %rq_major, align 4
%cmp20 = icmp eq i32 %12, %13
br i1 %cmp20, label %land.lhs.true22, label %lor.lhs.false25
land.lhs.true22: ; preds = %lor.lhs.false
%14 = load i32* %my_minor, align 4
%15 = load i32* %rq_minor, align 4
%cmp23 = icmp sgt i32 %14, %15
br i1 %cmp23, label %if.then43, label %lor.lhs.false25
lor.lhs.false25: ; preds = %land.lhs.true22, %lor.lhs.false
%16 = load i32* %my_major, align 4
%17 = load i32* %rq_major, align 4
%cmp26 = icmp eq i32 %16, %17
br i1 %cmp26, label %land.lhs.true28, label %lor.lhs.false34
land.lhs.true28: ; preds = %lor.lhs.false25
%18 = load i32* %my_minor, align 4
%19 = load i32* %rq_minor, align 4
%cmp29 = icmp eq i32 %18, %19
br i1 %cmp29, label %land.lhs.true31, label %lor.lhs.false34
land.lhs.true31: ; preds = %land.lhs.true28
%20 = load i32* %my_micro, align 4
%21 = load i32* %rq_micro, align 4
%cmp32 = icmp sgt i32 %20, %21
br i1 %cmp32, label %if.then43, label %lor.lhs.false34
lor.lhs.false34: ; preds = %land.lhs.true31, %land.lhs.true28, %lor.lhs.false25
%22 = load i32* %my_major, align 4
%23 = load i32* %rq_major, align 4
%cmp35 = icmp eq i32 %22, %23
br i1 %cmp35, label %land.lhs.true37, label %if.end44
land.lhs.true37: ; preds = %lor.lhs.false34
%24 = load i32* %my_minor, align 4
%25 = load i32* %rq_minor, align 4
%cmp38 = icmp eq i32 %24, %25
br i1 %cmp38, label %land.lhs.true40, label %if.end44
land.lhs.true40: ; preds = %land.lhs.true37
%26 = load i32* %my_micro, align 4
%27 = load i32* %rq_micro, align 4
%cmp41 = icmp eq i32 %26, %27
br i1 %cmp41, label %if.then43, label %if.end44
if.then43: ; preds = %land.lhs.true40, %land.lhs.true31, %land.lhs.true22, %if.end17
%28 = load i8** %ver, align 4
store i8* %28, i8** %retval
br label %return
if.end44: ; preds = %land.lhs.true40, %land.lhs.true37, %lor.lhs.false34
store i8* null, i8** %retval
br label %return
return: ; preds = %if.end44, %if.then43, %if.then16, %if.then12, %if.then8, %if.then
%29 = load i8** %retval
ret i8* %29
}
define internal i8* @parse_version_string(i8* %s, i32* %major, i32* %minor, i32* %micro) nounwind {
entry:
%retval = alloca i8*, align 4
%s.addr = alloca i8*, align 4
%major.addr = alloca i32*, align 4
%minor.addr = alloca i32*, align 4
%micro.addr = alloca i32*, align 4
store i8* %s, i8** %s.addr, align 4
store i32* %major, i32** %major.addr, align 4
store i32* %minor, i32** %minor.addr, align 4
store i32* %micro, i32** %micro.addr, align 4
%0 = load i8** %s.addr, align 4
%1 = load i32** %major.addr, align 4
%call = call i8* @parse_version_number(i8* %0, i32* %1)
store i8* %call, i8** %s.addr, align 4
%2 = load i8** %s.addr, align 4
%tobool = icmp ne i8* %2, null
br i1 %tobool, label %lor.lhs.false, label %if.then
lor.lhs.false: ; preds = %entry
%3 = load i8** %s.addr, align 4
%4 = load i8* %3, align 1
%conv = sext i8 %4 to i32
%cmp = icmp ne i32 %conv, 46
br i1 %cmp, label %if.then, label %if.end
if.then: ; preds = %lor.lhs.false, %entry
store i8* null, i8** %retval
br label %return
if.end: ; preds = %lor.lhs.false
%5 = load i8** %s.addr, align 4
%incdec.ptr = getelementptr inbounds i8* %5, i32 1
store i8* %incdec.ptr, i8** %s.addr, align 4
%6 = load i8** %s.addr, align 4
%7 = load i32** %minor.addr, align 4
%call2 = call i8* @parse_version_number(i8* %6, i32* %7)
store i8* %call2, i8** %s.addr, align 4
%8 = load i8** %s.addr, align 4
%tobool3 = icmp ne i8* %8, null
br i1 %tobool3, label %lor.lhs.false4, label %if.then8
lor.lhs.false4: ; preds = %if.end
%9 = load i8** %s.addr, align 4
%10 = load i8* %9, align 1
%conv5 = sext i8 %10 to i32
%cmp6 = icmp ne i32 %conv5, 46
br i1 %cmp6, label %if.then8, label %if.end9
if.then8: ; preds = %lor.lhs.false4, %if.end
store i8* null, i8** %retval
br label %return
if.end9: ; preds = %lor.lhs.false4
%11 = load i8** %s.addr, align 4
%incdec.ptr10 = getelementptr inbounds i8* %11, i32 1
store i8* %incdec.ptr10, i8** %s.addr, align 4
%12 = load i8** %s.addr, align 4
%13 = load i32** %micro.addr, align 4
%call11 = call i8* @parse_version_number(i8* %12, i32* %13)
store i8* %call11, i8** %s.addr, align 4
%14 = load i8** %s.addr, align 4
%tobool12 = icmp ne i8* %14, null
br i1 %tobool12, label %if.end14, label %if.then13
if.then13: ; preds = %if.end9
store i8* null, i8** %retval
br label %return
if.end14: ; preds = %if.end9
%15 = load i8** %s.addr, align 4
store i8* %15, i8** %retval
br label %return
return: ; preds = %if.end14, %if.then13, %if.then8, %if.then
%16 = load i8** %retval
ret i8* %16
}
define internal hidden i32 @_gcry_vcontrol(i32 %cmd, i32* %arg_ptr) nounwind {
entry:
%cmd.addr = alloca i32, align 4
%arg_ptr.addr = alloca i32*, align 4
%err = alloca i32, align 4
%fp = alloca %struct._IO_FILE*, align 4
%rctx = alloca i8**, align 4
%flags = alloca i32, align 4
%key = alloca i8*, align 4
%keylen = alloca i32, align 4
%seed = alloca i8*, align 4
%seedlen = alloca i32, align 4
%dt = alloca i8*, align 4
%dtlen = alloca i32, align 4
%ctx = alloca i8*, align 4
%buffer = alloca i8*, align 4
%buflen = alloca i32, align 4
%ctx111 = alloca i8*, align 4
%name = alloca i8*, align 4
%i = alloca i32, align 4
%i135 = alloca i32, align 4
%ip = alloca i32*, align 4
store i32 %cmd, i32* %cmd.addr, align 4
store i32* %arg_ptr, i32** %arg_ptr.addr, align 4
store i32 0, i32* %err, align 4
%0 = load i32* %cmd.addr, align 4
switch i32 %0, label %sw.default [
i32 31, label %sw.bb
i32 44, label %sw.bb1
i32 51, label %sw.bb2
i32 13, label %sw.bb3
i32 23, label %sw.bb4
i32 14, label %sw.bb5
i32 30, label %sw.bb6
i32 37, label %sw.bb7
i32 24, label %sw.bb8
i32 25, label %sw.bb13
i32 27, label %sw.bb14
i32 28, label %sw.bb16
i32 29, label %sw.bb19
i32 22, label %sw.bb22
i32 45, label %sw.bb23
i32 46, label %sw.bb24
i32 19, label %sw.bb29
i32 20, label %sw.bb30
i32 21, label %sw.bb32
i32 36, label %sw.bb34
i32 40, label %sw.bb35
i32 39, label %sw.bb39
i32 38, label %sw.bb43
i32 47, label %sw.bb48
i32 48, label %sw.bb53
i32 52, label %sw.bb58
i32 49, label %sw.bb60
i32 50, label %sw.bb61
i32 53, label %sw.bb65
i32 54, label %sw.bb67
i32 55, label %sw.bb72
i32 56, label %sw.bb81
i32 57, label %sw.bb94
i32 58, label %sw.bb96
i32 59, label %sw.bb103
i32 60, label %sw.bb110
i32 61, label %sw.bb112
i32 62, label %sw.bb113
i32 63, label %sw.bb114
i32 64, label %sw.bb129
i32 65, label %sw.bb134
i32 66, label %sw.bb138
i32 67, label %sw.bb146
i32 68, label %sw.bb149
]
sw.bb: ; preds = %entry
call void @_gcry_private_enable_m_guard()
br label %sw.epilog
sw.bb1: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
call void @_gcry_enable_quick_random_gen()
br label %sw.epilog
sw.bb2: ; preds = %entry
%call = call i32 @_gcry_random_is_faked()
%tobool = icmp ne i32 %call, 0
br i1 %tobool, label %if.then, label %if.end
if.then: ; preds = %sw.bb2
store i32 1, i32* %err, align 4
br label %if.end
if.end: ; preds = %if.then, %sw.bb2
br label %sw.epilog
sw.bb3: ; preds = %entry
call void @_gcry_random_dump_stats()
br label %sw.epilog
sw.bb4: ; preds = %entry
br label %sw.epilog
sw.bb5: ; preds = %entry
call void @_gcry_secmem_dump_stats()
br label %sw.epilog
sw.bb6: ; preds = %entry
call void @global_init()
call void @_gcry_secmem_init(i32 0)
br label %sw.epilog
sw.bb7: ; preds = %entry
call void @global_init()
store i32 1, i32* @no_secure_memory, align 4
br label %sw.epilog
sw.bb8: ; preds = %entry
call void @global_init()
%1 = load i32** %arg_ptr.addr, align 4
%2 = va_arg i32* %1, i32
call void @_gcry_secmem_init(i32 %2)
%call9 = call i32 @_gcry_secmem_get_flags()
%and = and i32 %call9, 4
%tobool10 = icmp ne i32 %and, 0
br i1 %tobool10, label %if.then11, label %if.end12
if.then11: ; preds = %sw.bb8
store i32 1, i32* %err, align 4
br label %if.end12
if.end12: ; preds = %if.then11, %sw.bb8
br label %sw.epilog
sw.bb13: ; preds = %entry
call void @global_init()
call void @_gcry_secmem_term()
br label %sw.epilog
sw.bb14: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%call15 = call i32 @_gcry_secmem_get_flags()
%or = or i32 %call15, 1
call void @_gcry_secmem_set_flags(i32 %or)
br label %sw.epilog
sw.bb16: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%call17 = call i32 @_gcry_secmem_get_flags()
%or18 = or i32 %call17, 2
call void @_gcry_secmem_set_flags(i32 %or18)
br label %sw.epilog
sw.bb19: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%call20 = call i32 @_gcry_secmem_get_flags()
%and21 = and i32 %call20, -3
call void @_gcry_secmem_set_flags(i32 %and21)
br label %sw.epilog
sw.bb22: ; preds = %entry
call void @global_init()
call void @_gcry_secure_random_alloc()
br label %sw.epilog
sw.bb23: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%3 = load i32** %arg_ptr.addr, align 4
%4 = va_arg i32* %3, i8*
call void @_gcry_set_random_seed_file(i8* %4)
br label %sw.epilog
sw.bb24: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%call25 = call i32 @_gcry_global_is_operational()
%tobool26 = icmp ne i32 %call25, 0
br i1 %tobool26, label %if.then27, label %if.end28
if.then27: ; preds = %sw.bb24
call void @_gcry_update_random_seed_file()
br label %if.end28
if.end28: ; preds = %if.then27, %sw.bb24
br label %sw.epilog
sw.bb29: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%5 = load i32** %arg_ptr.addr, align 4
%6 = va_arg i32* %5, i32
call void @_gcry_set_log_verbosity(i32 %6)
br label %sw.epilog
sw.bb30: ; preds = %entry
%7 = load i32** %arg_ptr.addr, align 4
%8 = va_arg i32* %7, i32
%9 = load i32* @debug_flags, align 4
%or31 = or i32 %9, %8
store i32 %or31, i32* @debug_flags, align 4
br label %sw.epilog
sw.bb32: ; preds = %entry
%10 = load i32** %arg_ptr.addr, align 4
%11 = va_arg i32* %10, i32
%neg = xor i32 %11, -1
%12 = load i32* @debug_flags, align 4
%and33 = and i32 %12, %neg
store i32 %and33, i32* @debug_flags, align 4
br label %sw.epilog
sw.bb34: ; preds = %entry
call void @global_init()
br label %sw.epilog
sw.bb35: ; preds = %entry
%13 = load i32* @any_init_done, align 4
%tobool36 = icmp ne i32 %13, 0
br i1 %tobool36, label %if.then37, label %if.end38
if.then37: ; preds = %sw.bb35
store i32 1, i32* %err, align 4
br label %if.end38
if.end38: ; preds = %if.then37, %sw.bb35
br label %sw.epilog
sw.bb39: ; preds = %entry
%14 = load i32* @_gcry_vcontrol.init_finished, align 4
%tobool40 = icmp ne i32 %14, 0
br i1 %tobool40, label %if.then41, label %if.end42
if.then41: ; preds = %sw.bb39
store i32 1, i32* %err, align 4
br label %if.end42
if.end42: ; preds = %if.then41, %sw.bb39
br label %sw.epilog
sw.bb43: ; preds = %entry
%15 = load i32* @_gcry_vcontrol.init_finished, align 4
%tobool44 = icmp ne i32 %15, 0
br i1 %tobool44, label %if.end47, label %if.then45
if.then45: ; preds = %sw.bb43
call void @global_init()
call void @_gcry_random_initialize(i32 0)
store i32 1, i32* @_gcry_vcontrol.init_finished, align 4
%call46 = call i32 @_gcry_global_is_operational()
br label %if.end47
if.end47: ; preds = %if.then45, %sw.bb43
br label %sw.epilog
sw.bb48: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%16 = load i32** %arg_ptr.addr, align 4
%17 = va_arg i32* %16, i8*
%18 = bitcast i8* %17 to %struct.ath_ops*
%call49 = call i32 @_gcry_ath_install(%struct.ath_ops* %18)
store i32 %call49, i32* %err, align 4
%19 = load i32* %err, align 4
%tobool50 = icmp ne i32 %19, 0
br i1 %tobool50, label %if.end52, label %if.then51
if.then51: ; preds = %sw.bb48
call void @global_init()
br label %if.end52
if.end52: ; preds = %if.then51, %sw.bb48
br label %sw.epilog
sw.bb53: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
call void @_gcry_random_initialize(i32 1)
%call54 = call i32 @_gcry_global_is_operational()
%tobool55 = icmp ne i32 %call54, 0
br i1 %tobool55, label %if.then56, label %if.end57
if.then56: ; preds = %sw.bb53
call void @_gcry_fast_random_poll()
br label %if.end57
if.end57: ; preds = %if.then56, %sw.bb53
br label %sw.epilog
sw.bb58: ; preds = %entry
%call59 = call i32 @gpg_error64(i32 60)
store i32 %call59, i32* %err, align 4
br label %sw.epilog
sw.bb60: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%20 = load i32** %arg_ptr.addr, align 4
%21 = va_arg i32* %20, i8*
call void @_gcry_set_random_daemon_socket(i8* %21)
br label %sw.epilog
sw.bb61: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
call void @_gcry_random_initialize(i32 1)
%22 = load i32** %arg_ptr.addr, align 4
%23 = va_arg i32* %22, i32
%tobool62 = icmp ne i32 %23, 0
%lnot = xor i1 %tobool62, true
%lnot63 = xor i1 %lnot, true
%lnot.ext = zext i1 %lnot63 to i32
%call64 = call i32 @_gcry_use_random_daemon(i32 %lnot.ext)
br label %sw.epilog
sw.bb65: ; preds = %entry
%24 = load i32** %arg_ptr.addr, align 4
%25 = va_arg i32* %24, %struct._IO_FILE*
store %struct._IO_FILE* %25, %struct._IO_FILE** %fp, align 4
call void @_gcry_set_preferred_rng_type(i32 0)
%26 = load %struct._IO_FILE** %fp, align 4
%tobool66 = icmp ne %struct._IO_FILE* %26, null
%cond = select i1 %tobool66, i32 (%struct._IO_FILE*, i8*, ...)* @fprintf, i32 (%struct._IO_FILE*, i8*, ...)* @_gcry_log_info_with_dummy_fp
%27 = load %struct._IO_FILE** %fp, align 4
call void @print_config(i32 (%struct._IO_FILE*, i8*, ...)* %cond, %struct._IO_FILE* %27)
br label %sw.epilog
sw.bb67: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%call68 = call i32 @_gcry_fips_test_operational()
%tobool69 = icmp ne i32 %call68, 0
br i1 %tobool69, label %if.then70, label %if.end71
if.then70: ; preds = %sw.bb67
store i32 1, i32* %err, align 4
br label %if.end71
if.end71: ; preds = %if.then70, %sw.bb67
br label %sw.epilog
sw.bb72: ; preds = %entry
%call73 = call i32 @_gcry_fips_mode()
%tobool74 = icmp ne i32 %call73, 0
br i1 %tobool74, label %land.lhs.true, label %if.end80
land.lhs.true: ; preds = %sw.bb72
%call75 = call i32 @_gcry_is_fips_mode_inactive()
%tobool76 = icmp ne i32 %call75, 0
br i1 %tobool76, label %if.end80, label %land.lhs.true77
land.lhs.true77: ; preds = %land.lhs.true
%28 = load i32* @no_secure_memory, align 4
%tobool78 = icmp ne i32 %28, 0
br i1 %tobool78, label %if.end80, label %if.then79
if.then79: ; preds = %land.lhs.true77
store i32 1, i32* %err, align 4
br label %if.end80
if.end80: ; preds = %if.then79, %land.lhs.true77, %land.lhs.true, %sw.bb72
br label %sw.epilog
sw.bb81: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%29 = load i32* @any_init_done, align 4
%tobool82 = icmp ne i32 %29, 0
br i1 %tobool82, label %if.else, label %if.then83
if.then83: ; preds = %sw.bb81
store i32 1, i32* @force_fips_mode, align 4
br label %if.end93
if.else: ; preds = %sw.bb81
%call84 = call i32 @_gcry_fips_test_error_or_operational()
%tobool85 = icmp ne i32 %call84, 0
br i1 %tobool85, label %if.then86, label %if.end88
if.then86: ; preds = %if.else
%call87 = call i32 @_gcry_fips_run_selftests(i32 1)
br label %if.end88
if.end88: ; preds = %if.then86, %if.else
%call89 = call i32 @_gcry_fips_is_operational()
%tobool90 = icmp ne i32 %call89, 0
br i1 %tobool90, label %if.then91, label %if.end92
if.then91: ; preds = %if.end88
store i32 1, i32* %err, align 4
br label %if.end92
if.end92: ; preds = %if.then91, %if.end88
br label %if.end93
if.end93: ; preds = %if.end92, %if.then83
br label %sw.epilog
sw.bb94: ; preds = %entry
call void @global_init()
%call95 = call i32 @_gcry_fips_run_selftests(i32 1)
store i32 %call95, i32* %err, align 4
br label %sw.epilog
sw.bb96: ; preds = %entry
%30 = load i32** %arg_ptr.addr, align 4
%31 = va_arg i32* %30, i8**
store i8** %31, i8*** %rctx, align 4
%32 = load i32** %arg_ptr.addr, align 4
%33 = va_arg i32* %32, i32
store i32 %33, i32* %flags, align 4
%34 = load i32** %arg_ptr.addr, align 4
%35 = va_arg i32* %34, i8*
store i8* %35, i8** %key, align 4
%36 = load i32** %arg_ptr.addr, align 4
%37 = va_arg i32* %36, i32
store i32 %37, i32* %keylen, align 4
%38 = load i32** %arg_ptr.addr, align 4
%39 = va_arg i32* %38, i8*
store i8* %39, i8** %seed, align 4
%40 = load i32** %arg_ptr.addr, align 4
%41 = va_arg i32* %40, i32
store i32 %41, i32* %seedlen, align 4
%42 = load i32** %arg_ptr.addr, align 4
%43 = va_arg i32* %42, i8*
store i8* %43, i8** %dt, align 4
%44 = load i32** %arg_ptr.addr, align 4
%45 = va_arg i32* %44, i32
store i32 %45, i32* %dtlen, align 4
%call97 = call i32 @_gcry_global_is_operational()
%tobool98 = icmp ne i32 %call97, 0
br i1 %tobool98, label %if.else100, label %if.then99
if.then99: ; preds = %sw.bb96
store i32 176, i32* %err, align 4
br label %if.end102
if.else100: ; preds = %sw.bb96
%46 = load i8*** %rctx, align 4
%47 = load i32* %flags, align 4
%48 = load i8** %key, align 4
%49 = load i32* %keylen, align 4
%50 = load i8** %seed, align 4
%51 = load i32* %seedlen, align 4
%52 = load i8** %dt, align 4
%53 = load i32* %dtlen, align 4
%call101 = call i32 @_gcry_random_init_external_test(i8** %46, i32 %47, i8* %48, i32 %49, i8* %50, i32 %51, i8* %52, i32 %53)
store i32 %call101, i32* %err, align 4
br label %if.end102
if.end102: ; preds = %if.else100, %if.then99
br label %sw.epilog
sw.bb103: ; preds = %entry
%54 = load i32** %arg_ptr.addr, align 4
%55 = va_arg i32* %54, i8*
store i8* %55, i8** %ctx, align 4
%56 = load i32** %arg_ptr.addr, align 4
%57 = va_arg i32* %56, i8*
store i8* %57, i8** %buffer, align 4
%58 = load i32** %arg_ptr.addr, align 4
%59 = va_arg i32* %58, i32
store i32 %59, i32* %buflen, align 4
%call104 = call i32 @_gcry_global_is_operational()
%tobool105 = icmp ne i32 %call104, 0
br i1 %tobool105, label %if.else107, label %if.then106
if.then106: ; preds = %sw.bb103
store i32 176, i32* %err, align 4
br label %if.end109
if.else107: ; preds = %sw.bb103
%60 = load i8** %ctx, align 4
%61 = load i8** %buffer, align 4
%62 = load i32* %buflen, align 4
%call108 = call i32 @_gcry_random_run_external_test(i8* %60, i8* %61, i32 %62)
store i32 %call108, i32* %err, align 4
br label %if.end109
if.end109: ; preds = %if.else107, %if.then106
br label %sw.epilog
sw.bb110: ; preds = %entry
%63 = load i32** %arg_ptr.addr, align 4
%64 = va_arg i32* %63, i8*
store i8* %64, i8** %ctx111, align 4
%65 = load i8** %ctx111, align 4
call void @_gcry_random_deinit_external_test(i8* %65)
br label %sw.epilog
sw.bb112: ; preds = %entry
br label %sw.epilog
sw.bb113: ; preds = %entry
br label %sw.epilog
sw.bb114: ; preds = %entry
%66 = load i32** %arg_ptr.addr, align 4
%67 = va_arg i32* %66, i8*
store i8* %67, i8** %name, align 4
store i32 0, i32* %i, align 4
br label %for.cond
for.cond: ; preds = %for.inc, %sw.bb114
%68 = load i32* %i, align 4
%arrayidx = getelementptr inbounds [10 x %struct.anon]* @hwflist, i32 0, i32 %68
%desc = getelementptr inbounds %struct.anon* %arrayidx, i32 0, i32 1
%69 = load i8** %desc, align 4
%tobool115 = icmp ne i8* %69, null
br i1 %tobool115, label %for.body, label %for.end
for.body: ; preds = %for.cond
%70 = load i32* %i, align 4
%arrayidx116 = getelementptr inbounds [10 x %struct.anon]* @hwflist, i32 0, i32 %70
%desc117 = getelementptr inbounds %struct.anon* %arrayidx116, i32 0, i32 1
%71 = load i8** %desc117, align 4
%72 = load i8** %name, align 4
%call118 = call i32 @strcmp(i8* %71, i8* %72)
%tobool119 = icmp ne i32 %call118, 0
br i1 %tobool119, label %if.end123, label %if.then120
if.then120: ; preds = %for.body
%73 = load i32* %i, align 4
%arrayidx121 = getelementptr inbounds [10 x %struct.anon]* @hwflist, i32 0, i32 %73
%flag = getelementptr inbounds %struct.anon* %arrayidx121, i32 0, i32 0
%74 = load i32* %flag, align 4
%75 = load i32* @disabled_hw_features, align 4
%or122 = or i32 %75, %74
store i32 %or122, i32* @disabled_hw_features, align 4
br label %for.end
if.end123: ; preds = %for.body
br label %for.inc
for.inc: ; preds = %if.end123
%76 = load i32* %i, align 4
%inc = add nsw i32 %76, 1
store i32 %inc, i32* %i, align 4
br label %for.cond
for.end: ; preds = %if.then120, %for.cond
%77 = load i32* %i, align 4
%arrayidx124 = getelementptr inbounds [10 x %struct.anon]* @hwflist, i32 0, i32 %77
%desc125 = getelementptr inbounds %struct.anon* %arrayidx124, i32 0, i32 1
%78 = load i8** %desc125, align 4
%tobool126 = icmp ne i8* %78, null
br i1 %tobool126, label %if.end128, label %if.then127
if.then127: ; preds = %for.end
store i32 88, i32* %err, align 4
br label %if.end128
if.end128: ; preds = %if.then127, %for.end
br label %sw.epilog
sw.bb129: ; preds = %entry
%79 = load i32* @any_init_done, align 4
%tobool130 = icmp ne i32 %79, 0
br i1 %tobool130, label %if.else132, label %if.then131
if.then131: ; preds = %sw.bb129
call void @_gcry_set_preferred_rng_type(i32 0)
call void @_gcry_set_enforced_fips_mode()
br label %if.end133
if.else132: ; preds = %sw.bb129
store i32 1, i32* %err, align 4
br label %if.end133
if.end133: ; preds = %if.else132, %if.then131
br label %sw.epilog
sw.bb134: ; preds = %entry
%80 = load i32** %arg_ptr.addr, align 4
%81 = va_arg i32* %80, i32
store i32 %81, i32* %i135, align 4
%82 = load i32* %i135, align 4
%cmp = icmp sgt i32 %82, 0
br i1 %cmp, label %if.then136, label %if.end137
if.then136: ; preds = %sw.bb134
%83 = load i32* %i135, align 4
call void @_gcry_set_preferred_rng_type(i32 %83)
br label %if.end137
if.end137: ; preds = %if.then136, %sw.bb134
br label %sw.epilog
sw.bb138: ; preds = %entry
%84 = load i32** %arg_ptr.addr, align 4
%85 = va_arg i32* %84, i32*
store i32* %85, i32** %ip, align 4
%86 = load i32** %ip, align 4
%tobool139 = icmp ne i32* %86, null
br i1 %tobool139, label %if.then140, label %if.end145
if.then140: ; preds = %sw.bb138
%87 = load i32* @any_init_done, align 4
%tobool141 = icmp ne i32 %87, 0
%lnot142 = xor i1 %tobool141, true
%lnot.ext143 = zext i1 %lnot142 to i32
%call144 = call i32 @_gcry_get_rng_type(i32 %lnot.ext143)
%88 = load i32** %ip, align 4
store i32 %call144, i32* %88, align 4
br label %if.end145
if.end145: ; preds = %if.then140, %sw.bb138
br label %sw.epilog
sw.bb146: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%call147 = call i32 @_gcry_secmem_get_flags()
%or148 = or i32 %call147, 8
call void @_gcry_secmem_set_flags(i32 %or148)
br label %sw.epilog
sw.bb149: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
%call150 = call i32 @_gcry_secmem_get_flags()
%or151 = or i32 %call150, 16
call void @_gcry_secmem_set_flags(i32 %or151)
br label %sw.epilog
sw.default: ; preds = %entry
call void @_gcry_set_preferred_rng_type(i32 0)
store i32 61, i32* %err, align 4
br label %sw.epilog
sw.epilog: ; preds = %sw.default, %sw.bb149, %sw.bb146, %if.end145, %if.end137, %if.end133, %if.end128, %sw.bb113, %sw.bb112, %sw.bb110, %if.end109, %if.end102, %sw.bb94, %if.end93, %if.end80, %if.end71, %sw.bb65, %sw.bb61, %sw.bb60, %sw.bb58, %if.end57, %if.end52, %if.end47, %if.end42, %if.end38, %sw.bb34, %sw.bb32, %sw.bb30, %sw.bb29, %if.end28, %sw.bb23, %sw.bb22, %sw.bb19, %sw.bb16, %sw.bb14, %sw.bb13, %if.end12, %sw.bb7, %sw.bb6, %sw.bb5, %sw.bb4, %sw.bb3, %if.end, %sw.bb1, %sw.bb
%89 = load i32* %err, align 4
%call152 = call i32 @gcry_error(i32 %89)
ret i32 %call152
}
define internal i32 @gpg_error64(i32 %code) nounwind inlinehint {
entry:
%code.addr = alloca i32, align 4
store i32 %code, i32* %code.addr, align 4
%0 = load i32* %code.addr, align 4
%call = call i32 @gpg_err_make111(i32 1, i32 %0)
ret i32 %call
}
define internal void @print_config(i32 (%struct._IO_FILE*, i8*, ...)* %fnc, %struct._IO_FILE* %fp) nounwind {
entry:
%fnc.addr = alloca i32 (%struct._IO_FILE*, i8*, ...)*, align 4
%fp.addr = alloca %struct._IO_FILE*, align 4
%hwf = alloca i32, align 4
%i = alloca i32, align 4
%s = alloca i8*, align 4
store i32 (%struct._IO_FILE*, i8*, ...)* %fnc, i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 4
%0 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%1 = load %struct._IO_FILE** %fp.addr, align 4
%call = call i32 (%struct._IO_FILE*, i8*, ...)* %0(%struct._IO_FILE* %1, i8* getelementptr inbounds ([13 x i8]* @.str1342, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8]* @.str29, i32 0, i32 0))
%2 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%3 = load %struct._IO_FILE** %fp.addr, align 4
%call1 = call i32 (%struct._IO_FILE*, i8*, ...)* %2(%struct._IO_FILE* %3, i8* getelementptr inbounds ([13 x i8]* @.str1443, i32 0, i32 0), i8* getelementptr inbounds ([92 x i8]* @.str1544, i32 0, i32 0))
%4 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%5 = load %struct._IO_FILE** %fp.addr, align 4
%call2 = call i32 (%struct._IO_FILE*, i8*, ...)* %4(%struct._IO_FILE* %5, i8* getelementptr inbounds ([13 x i8]* @.str1645, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8]* @.str1746, i32 0, i32 0))
%6 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%7 = load %struct._IO_FILE** %fp.addr, align 4
%call3 = call i32 (%struct._IO_FILE*, i8*, ...)* %6(%struct._IO_FILE* %7, i8* getelementptr inbounds ([13 x i8]* @.str1847, i32 0, i32 0), i8* getelementptr inbounds ([75 x i8]* @.str1948, i32 0, i32 0))
%8 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%9 = load %struct._IO_FILE** %fp.addr, align 4
%call4 = call i32 (%struct._IO_FILE*, i8*, ...)* %8(%struct._IO_FILE* %9, i8* getelementptr inbounds ([16 x i8]* @.str2049, i32 0, i32 0))
%10 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%11 = load %struct._IO_FILE** %fp.addr, align 4
%call5 = call i32 (%struct._IO_FILE*, i8*, ...)* %10(%struct._IO_FILE* %11, i8* getelementptr inbounds ([12 x i8]* @.str2150, i32 0, i32 0))
%12 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%13 = load %struct._IO_FILE** %fp.addr, align 4
%call6 = call i8* @_gcry_mpi_get_hw_config()
%call7 = call i32 (%struct._IO_FILE*, i8*, ...)* %12(%struct._IO_FILE* %13, i8* getelementptr inbounds ([13 x i8]* @.str2251, i32 0, i32 0), i8* %call6)
%14 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%15 = load %struct._IO_FILE** %fp.addr, align 4
%call8 = call i8* @_gcry_ath_get_model(i32* null)
%call9 = call i32 (%struct._IO_FILE*, i8*, ...)* %14(%struct._IO_FILE* %15, i8* getelementptr inbounds ([13 x i8]* @.str2352, i32 0, i32 0), i8* %call8)
%call10 = call i32 @_gcry_get_hw_features()
store i32 %call10, i32* %hwf, align 4
%16 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%17 = load %struct._IO_FILE** %fp.addr, align 4
%call11 = call i32 (%struct._IO_FILE*, i8*, ...)* %16(%struct._IO_FILE* %17, i8* getelementptr inbounds ([9 x i8]* @.str2453, i32 0, i32 0))
store i32 0, i32* %i, align 4
br label %for.cond
for.cond: ; preds = %for.inc, %entry
%18 = load i32* %i, align 4
%arrayidx = getelementptr inbounds [10 x %struct.anon]* @hwflist, i32 0, i32 %18
%desc = getelementptr inbounds %struct.anon* %arrayidx, i32 0, i32 1
%19 = load i8** %desc, align 4
%tobool = icmp ne i8* %19, null
br i1 %tobool, label %for.body, label %for.end
for.body: ; preds = %for.cond
%20 = load i32* %hwf, align 4
%21 = load i32* %i, align 4
%arrayidx12 = getelementptr inbounds [10 x %struct.anon]* @hwflist, i32 0, i32 %21
%flag = getelementptr inbounds %struct.anon* %arrayidx12, i32 0, i32 0
%22 = load i32* %flag, align 4
%and = and i32 %20, %22
%tobool13 = icmp ne i32 %and, 0
br i1 %tobool13, label %if.then, label %if.end
if.then: ; preds = %for.body
%23 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%24 = load %struct._IO_FILE** %fp.addr, align 4
%25 = load i32* %i, align 4
%arrayidx14 = getelementptr inbounds [10 x %struct.anon]* @hwflist, i32 0, i32 %25
%desc15 = getelementptr inbounds %struct.anon* %arrayidx14, i32 0, i32 1
%26 = load i8** %desc15, align 4
%call16 = call i32 (%struct._IO_FILE*, i8*, ...)* %23(%struct._IO_FILE* %24, i8* getelementptr inbounds ([4 x i8]* @.str2554, i32 0, i32 0), i8* %26)
br label %if.end
if.end: ; preds = %if.then, %for.body
br label %for.inc
for.inc: ; preds = %if.end
%27 = load i32* %i, align 4
%inc = add nsw i32 %27, 1
store i32 %inc, i32* %i, align 4
br label %for.cond
for.end: ; preds = %for.cond
%28 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%29 = load %struct._IO_FILE** %fp.addr, align 4
%call17 = call i32 (%struct._IO_FILE*, i8*, ...)* %28(%struct._IO_FILE* %29, i8* getelementptr inbounds ([2 x i8]* @.str2655, i32 0, i32 0))
%30 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%31 = load %struct._IO_FILE** %fp.addr, align 4
%call18 = call i32 @_gcry_fips_mode()
%tobool19 = icmp ne i32 %call18, 0
%cond = select i1 %tobool19, i32 121, i32 110
%call20 = call i32 @_gcry_enforced_fips_mode()
%tobool21 = icmp ne i32 %call20, 0
%cond22 = select i1 %tobool21, i32 121, i32 110
%call23 = call i32 (%struct._IO_FILE*, i8*, ...)* %30(%struct._IO_FILE* %31, i8* getelementptr inbounds ([18 x i8]* @.str2756, i32 0, i32 0), i32 %cond, i32 %cond22)
%call24 = call i32 @_gcry_get_rng_type(i32 0)
store i32 %call24, i32* %i, align 4
%32 = load i32* %i, align 4
switch i32 %32, label %sw.default [
i32 1, label %sw.bb
i32 2, label %sw.bb25
i32 3, label %sw.bb26
]
sw.bb: ; preds = %for.end
store i8* getelementptr inbounds ([9 x i8]* @.str28, i32 0, i32 0), i8** %s, align 4
br label %sw.epilog
sw.bb25: ; preds = %for.end
store i8* getelementptr inbounds ([5 x i8]* @.str2957, i32 0, i32 0), i8** %s, align 4
br label %sw.epilog
sw.bb26: ; preds = %for.end
store i8* getelementptr inbounds ([7 x i8]* @.str30, i32 0, i32 0), i8** %s, align 4
br label %sw.epilog
sw.default: ; preds = %for.end
call void @_gcry_bug(i8* getelementptr inbounds ([9 x i8]* @.str31, i32 0, i32 0), i32 353, i8* getelementptr inbounds ([13 x i8]* @__FUNCTION__.print_config, i32 0, i32 0)) noreturn
unreachable
sw.epilog: ; preds = %sw.bb26, %sw.bb25, %sw.bb
%33 = load i32 (%struct._IO_FILE*, i8*, ...)** %fnc.addr, align 4
%34 = load %struct._IO_FILE** %fp.addr, align 4
%35 = load i8** %s, align 4
%36 = load i32* %i, align 4
%call27 = call i32 (%struct._IO_FILE*, i8*, ...)* %33(%struct._IO_FILE* %34, i8* getelementptr inbounds ([17 x i8]* @.str32, i32 0, i32 0), i8* %35, i32 %36)
ret void
}
define internal i32 @gcry_error(i32 %code) nounwind inlinehint {
entry:
%code.addr = alloca i32, align 4
store i32 %code, i32* %code.addr, align 4
%0 = load i32* %code.addr, align 4
%call = call i32 @gcry_err_make(i32 32, i32 %0)
ret i32 %call
}
define internal hidden i8* @_gcry_strerror(i32 %err) nounwind {
entry:
%err.addr = alloca i32, align 4
store i32 %err, i32* %err.addr, align 4
%0 = load i32* %err.addr, align 4
%call = call i8* @gpg_strerror(i32 %0)
ret i8* %call
}
define internal hidden noalias i8* @_gcry_malloc(i32 %n) nounwind {
entry:
%n.addr = alloca i32, align 4
%mem = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
store i8* null, i8** %mem, align 4
%0 = load i32* %n.addr, align 4
%call = call i32 @do_malloc(i32 %0, i32 0, i8** %mem)
%1 = load i8** %mem, align 4
ret i8* %1
}
define internal i32 @do_malloc(i32 %n, i32 %flags, i8** %mem) nounwind {
entry:
%n.addr = alloca i32, align 4
%flags.addr = alloca i32, align 4
%mem.addr = alloca i8**, align 4
%err = alloca i32, align 4
%m = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
store i32 %flags, i32* %flags.addr, align 4
store i8** %mem, i8*** %mem.addr, align 4
store i32 0, i32* %err, align 4
%0 = load i32* %flags.addr, align 4
%and = and i32 %0, 1
%tobool = icmp ne i32 %and, 0
br i1 %tobool, label %land.lhs.true, label %if.else6
land.lhs.true: ; preds = %entry
%call = call i32 @get_no_secure_memory()
%tobool1 = icmp ne i32 %call, 0
br i1 %tobool1, label %if.else6, label %if.then
if.then: ; preds = %land.lhs.true
%1 = load i8* (i32)** @alloc_secure_func, align 4
%tobool2 = icmp ne i8* (i32)* %1, null
br i1 %tobool2, label %if.then3, label %if.else
if.then3: ; preds = %if.then
%2 = load i8* (i32)** @alloc_secure_func, align 4
%3 = load i32* %n.addr, align 4
%call4 = call i8* %2(i32 %3)
store i8* %call4, i8** %m, align 4
br label %if.end
if.else: ; preds = %if.then
%4 = load i32* %n.addr, align 4
%call5 = call noalias i8* @_gcry_private_malloc_secure(i32 %4)
store i8* %call5, i8** %m, align 4
br label %if.end
if.end: ; preds = %if.else, %if.then3
br label %if.end13
if.else6: ; preds = %land.lhs.true, %entry
%5 = load i8* (i32)** @alloc_func, align 4
%tobool7 = icmp ne i8* (i32)* %5, null
br i1 %tobool7, label %if.then8, label %if.else10
if.then8: ; preds = %if.else6
%6 = load i8* (i32)** @alloc_func, align 4
%7 = load i32* %n.addr, align 4
%call9 = call i8* %6(i32 %7)
store i8* %call9, i8** %m, align 4
br label %if.end12
if.else10: ; preds = %if.else6
%8 = load i32* %n.addr, align 4
%call11 = call noalias i8* @_gcry_private_malloc(i32 %8)
store i8* %call11, i8** %m, align 4
br label %if.end12
if.end12: ; preds = %if.else10, %if.then8
br label %if.end13
if.end13: ; preds = %if.end12, %if.end
%9 = load i8** %m, align 4
%tobool14 = icmp ne i8* %9, null
br i1 %tobool14, label %if.else22, label %if.then15
if.then15: ; preds = %if.end13
%call16 = call i32* @__errno_location() nounwind readnone
%10 = load i32* %call16, align 4
%tobool17 = icmp ne i32 %10, 0
br i1 %tobool17, label %if.end19, label %if.then18
if.then18: ; preds = %if.then15
call void @gpg_err_set_errno(i32 12)
br label %if.end19
if.end19: ; preds = %if.then18, %if.then15
%call20 = call i32* @__errno_location() nounwind readnone
%11 = load i32* %call20, align 4
%call21 = call i32 @gpg_err_code_from_errno(i32 %11)
store i32 %call21, i32* %err, align 4
br label %if.end23
if.else22: ; preds = %if.end13
%12 = load i8** %m, align 4
%13 = load i8*** %mem.addr, align 4
store i8* %12, i8** %13, align 4
br label %if.end23
if.end23: ; preds = %if.else22, %if.end19
%14 = load i32* %err, align 4
ret i32 %14
}
define internal hidden noalias i8* @_gcry_malloc_secure(i32 %n) nounwind {
entry:
%n.addr = alloca i32, align 4
%mem = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
store i8* null, i8** %mem, align 4
%0 = load i32* %n.addr, align 4
%call = call i32 @do_malloc(i32 %0, i32 1, i8** %mem)
%1 = load i8** %mem, align 4
ret i8* %1
}
define internal hidden i32 @_gcry_is_secure(i8* %a) nounwind readonly {
entry:
%retval = alloca i32, align 4
%a.addr = alloca i8*, align 4
store i8* %a, i8** %a.addr, align 4
%call = call i32 @get_no_secure_memory()
%tobool = icmp ne i32 %call, 0
br i1 %tobool, label %if.then, label %if.end
if.then: ; preds = %entry
store i32 0, i32* %retval
br label %return
if.end: ; preds = %entry
%0 = load i32 (i8*)** @is_secure_func, align 4
%tobool1 = icmp ne i32 (i8*)* %0, null
br i1 %tobool1, label %if.then2, label %if.end4
if.then2: ; preds = %if.end
%1 = load i32 (i8*)** @is_secure_func, align 4
%2 = load i8** %a.addr, align 4
%call3 = call i32 %1(i8* %2)
store i32 %call3, i32* %retval
br label %return
if.end4: ; preds = %if.end
%3 = load i8** %a.addr, align 4
%call5 = call i32 @_gcry_private_is_secure(i8* %3)
store i32 %call5, i32* %retval
br label %return
return: ; preds = %if.end4, %if.then2, %if.then
%4 = load i32* %retval
ret i32 %4
}
define internal i32 @get_no_secure_memory() nounwind {
entry:
%retval = alloca i32, align 4
%0 = load i32* @no_secure_memory, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
store i32 0, i32* %retval
br label %return
if.end: ; preds = %entry
%call = call i32 @_gcry_enforced_fips_mode()
%tobool1 = icmp ne i32 %call, 0
br i1 %tobool1, label %if.then2, label %if.end3
if.then2: ; preds = %if.end
store i32 0, i32* @no_secure_memory, align 4
store i32 0, i32* %retval
br label %return
if.end3: ; preds = %if.end
%1 = load i32* @no_secure_memory, align 4
store i32 %1, i32* %retval
br label %return
return: ; preds = %if.end3, %if.then2, %if.then
%2 = load i32* %retval
ret i32 %2
}
define internal hidden i8* @_gcry_realloc(i8* %a, i32 %n) nounwind {
entry:
%retval = alloca i8*, align 4
%a.addr = alloca i8*, align 4
%n.addr = alloca i32, align 4
%p = alloca i8*, align 4
store i8* %a, i8** %a.addr, align 4
store i32 %n, i32* %n.addr, align 4
%0 = load i8** %a.addr, align 4
%tobool = icmp ne i8* %0, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
%1 = load i32* %n.addr, align 4
%call = call noalias i8* @_gcry_malloc(i32 %1)
store i8* %call, i8** %retval
br label %return
if.end: ; preds = %entry
%2 = load i32* %n.addr, align 4
%tobool1 = icmp ne i32 %2, 0
br i1 %tobool1, label %if.end3, label %if.then2
if.then2: ; preds = %if.end
%3 = load i8** %a.addr, align 4
call void @_gcry_free(i8* %3)
store i8* null, i8** %retval
br label %return
if.end3: ; preds = %if.end
%4 = load i8* (i8*, i32)** @realloc_func, align 4
%tobool4 = icmp ne i8* (i8*, i32)* %4, null
br i1 %tobool4, label %if.then5, label %if.else
if.then5: ; preds = %if.end3
%5 = load i8* (i8*, i32)** @realloc_func, align 4
%6 = load i8** %a.addr, align 4
%7 = load i32* %n.addr, align 4
%call6 = call i8* %5(i8* %6, i32 %7)
store i8* %call6, i8** %p, align 4
br label %if.end8
if.else: ; preds = %if.end3
%8 = load i8** %a.addr, align 4
%9 = load i32* %n.addr, align 4
%call7 = call i8* @_gcry_private_realloc(i8* %8, i32 %9)
store i8* %call7, i8** %p, align 4
br label %if.end8
if.end8: ; preds = %if.else, %if.then5
%10 = load i8** %p, align 4
%tobool9 = icmp ne i8* %10, null
br i1 %tobool9, label %if.end13, label %land.lhs.true
land.lhs.true: ; preds = %if.end8
%call10 = call i32* @__errno_location() nounwind readnone
%11 = load i32* %call10, align 4
%tobool11 = icmp ne i32 %11, 0
br i1 %tobool11, label %if.end13, label %if.then12
if.then12: ; preds = %land.lhs.true
call void @gpg_err_set_errno(i32 12)
br label %if.end13
if.end13: ; preds = %if.then12, %land.lhs.true, %if.end8
%12 = load i8** %p, align 4
store i8* %12, i8** %retval
br label %return
return: ; preds = %if.end13, %if.then2, %if.then
%13 = load i8** %retval
ret i8* %13
}
define internal hidden void @_gcry_free(i8* %p) nounwind {
entry:
%p.addr = alloca i8*, align 4
%save_errno = alloca i32, align 4
store i8* %p, i8** %p.addr, align 4
%0 = load i8** %p.addr, align 4
%tobool = icmp ne i8* %0, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
br label %if.end6
if.end: ; preds = %entry
%call = call i32* @__errno_location() nounwind readnone
%1 = load i32* %call, align 4
store i32 %1, i32* %save_errno, align 4
%2 = load void (i8*)** @free_func, align 4
%tobool1 = icmp ne void (i8*)* %2, null
br i1 %tobool1, label %if.then2, label %if.else
if.then2: ; preds = %if.end
%3 = load void (i8*)** @free_func, align 4
%4 = load i8** %p.addr, align 4
call void %3(i8* %4)
br label %if.end3
if.else: ; preds = %if.end
%5 = load i8** %p.addr, align 4
call void @_gcry_private_free(i8* %5)
br label %if.end3
if.end3: ; preds = %if.else, %if.then2
%6 = load i32* %save_errno, align 4
%tobool4 = icmp ne i32 %6, 0
br i1 %tobool4, label %if.then5, label %if.end6
if.then5: ; preds = %if.end3
%7 = load i32* %save_errno, align 4
call void @gpg_err_set_errno(i32 %7)
br label %if.end6
if.end6: ; preds = %if.then5, %if.end3, %if.then
ret void
}
define internal hidden noalias i8* @_gcry_calloc(i32 %n, i32 %m) nounwind {
entry:
%retval = alloca i8*, align 4
%n.addr = alloca i32, align 4
%m.addr = alloca i32, align 4
%bytes = alloca i32, align 4
%p = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
store i32 %m, i32* %m.addr, align 4
%0 = load i32* %n.addr, align 4
%1 = load i32* %m.addr, align 4
%mul = mul i32 %0, %1
store i32 %mul, i32* %bytes, align 4
%2 = load i32* %m.addr, align 4
%tobool = icmp ne i32 %2, 0
br i1 %tobool, label %land.lhs.true, label %if.end
land.lhs.true: ; preds = %entry
%3 = load i32* %bytes, align 4
%4 = load i32* %m.addr, align 4
%div = udiv i32 %3, %4
%5 = load i32* %n.addr, align 4
%cmp = icmp ne i32 %div, %5
br i1 %cmp, label %if.then, label %if.end
if.then: ; preds = %land.lhs.true
call void @gpg_err_set_errno(i32 12)
store i8* null, i8** %retval
br label %return
if.end: ; preds = %land.lhs.true, %entry
%6 = load i32* %bytes, align 4
%call = call noalias i8* @_gcry_malloc(i32 %6)
store i8* %call, i8** %p, align 4
%7 = load i8** %p, align 4
%tobool1 = icmp ne i8* %7, null
br i1 %tobool1, label %if.then2, label %if.end3
if.then2: ; preds = %if.end
%8 = load i8** %p, align 4
%9 = load i32* %bytes, align 4
call void @llvm.memset.p0i8.i32(i8* %8, i8 0, i32 %9, i32 1, i1 false)
br label %if.end3
if.end3: ; preds = %if.then2, %if.end
%10 = load i8** %p, align 4
store i8* %10, i8** %retval
br label %return
return: ; preds = %if.end3, %if.then
%11 = load i8** %retval
ret i8* %11
}
define internal hidden noalias i8* @_gcry_calloc_secure(i32 %n, i32 %m) nounwind {
entry:
%retval = alloca i8*, align 4
%n.addr = alloca i32, align 4
%m.addr = alloca i32, align 4
%bytes = alloca i32, align 4
%p = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
store i32 %m, i32* %m.addr, align 4
%0 = load i32* %n.addr, align 4
%1 = load i32* %m.addr, align 4
%mul = mul i32 %0, %1
store i32 %mul, i32* %bytes, align 4
%2 = load i32* %m.addr, align 4
%tobool = icmp ne i32 %2, 0
br i1 %tobool, label %land.lhs.true, label %if.end
land.lhs.true: ; preds = %entry
%3 = load i32* %bytes, align 4
%4 = load i32* %m.addr, align 4
%div = udiv i32 %3, %4
%5 = load i32* %n.addr, align 4
%cmp = icmp ne i32 %div, %5
br i1 %cmp, label %if.then, label %if.end
if.then: ; preds = %land.lhs.true
call void @gpg_err_set_errno(i32 12)
store i8* null, i8** %retval
br label %return
if.end: ; preds = %land.lhs.true, %entry
%6 = load i32* %bytes, align 4
%call = call noalias i8* @_gcry_malloc_secure(i32 %6)
store i8* %call, i8** %p, align 4
%7 = load i8** %p, align 4
%tobool1 = icmp ne i8* %7, null
br i1 %tobool1, label %if.then2, label %if.end3
if.then2: ; preds = %if.end
%8 = load i8** %p, align 4
%9 = load i32* %bytes, align 4
call void @llvm.memset.p0i8.i32(i8* %8, i8 0, i32 %9, i32 1, i1 false)
br label %if.end3
if.end3: ; preds = %if.then2, %if.end
%10 = load i8** %p, align 4
store i8* %10, i8** %retval
br label %return
return: ; preds = %if.end3, %if.then
%11 = load i8** %retval
ret i8* %11
}
define internal hidden noalias i8* @_gcry_strdup(i8* %string) nounwind {
entry:
%string.addr = alloca i8*, align 4
%string_cp = alloca i8*, align 4
%string_n = alloca i32, align 4
store i8* %string, i8** %string.addr, align 4
store i8* null, i8** %string_cp, align 4
store i32 0, i32* %string_n, align 4
%0 = load i8** %string.addr, align 4
%call = call i32 @strlen(i8* %0)
store i32 %call, i32* %string_n, align 4
%1 = load i8** %string.addr, align 4
%call1 = call i32 @_gcry_is_secure(i8* %1) nounwind readonly
%tobool = icmp ne i32 %call1, 0
br i1 %tobool, label %if.then, label %if.else
if.then: ; preds = %entry
%2 = load i32* %string_n, align 4
%add = add i32 %2, 1
%call2 = call noalias i8* @_gcry_malloc_secure(i32 %add)
store i8* %call2, i8** %string_cp, align 4
br label %if.end
if.else: ; preds = %entry
%3 = load i32* %string_n, align 4
%add3 = add i32 %3, 1
%call4 = call noalias i8* @_gcry_malloc(i32 %add3)
store i8* %call4, i8** %string_cp, align 4
br label %if.end
if.end: ; preds = %if.else, %if.then
%4 = load i8** %string_cp, align 4
%tobool5 = icmp ne i8* %4, null
br i1 %tobool5, label %if.then6, label %if.end8
if.then6: ; preds = %if.end
%5 = load i8** %string_cp, align 4
%6 = load i8** %string.addr, align 4
%call7 = call i8* @strcpy(i8* %5, i8* %6)
br label %if.end8
if.end8: ; preds = %if.then6, %if.end
%7 = load i8** %string_cp, align 4
ret i8* %7
}
declare i8* @strcpy(i8*, i8*)
define internal hidden noalias i8* @_gcry_xmalloc(i32 %n) nounwind {
entry:
%n.addr = alloca i32, align 4
%p = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
br label %while.cond
while.cond: ; preds = %if.end, %entry
%0 = load i32* %n.addr, align 4
%call = call noalias i8* @_gcry_malloc(i32 %0)
store i8* %call, i8** %p, align 4
%tobool = icmp ne i8* %call, null
%lnot = xor i1 %tobool, true
br i1 %lnot, label %while.body, label %while.end
while.body: ; preds = %while.cond
%call1 = call i32 @_gcry_fips_mode()
%tobool2 = icmp ne i32 %call1, 0
br i1 %tobool2, label %if.then, label %lor.lhs.false
lor.lhs.false: ; preds = %while.body
%1 = load i32 (i8*, i32, i32)** @outofcore_handler, align 4
%tobool3 = icmp ne i32 (i8*, i32, i32)* %1, null
br i1 %tobool3, label %lor.lhs.false4, label %if.then
lor.lhs.false4: ; preds = %lor.lhs.false
%2 = load i32 (i8*, i32, i32)** @outofcore_handler, align 4
%3 = load i8** @outofcore_handler_value, align 4
%4 = load i32* %n.addr, align 4
%call5 = call i32 %2(i8* %3, i32 %4, i32 0)
%tobool6 = icmp ne i32 %call5, 0
br i1 %tobool6, label %if.end, label %if.then
if.then: ; preds = %lor.lhs.false4, %lor.lhs.false, %while.body
%call7 = call i32* @__errno_location() nounwind readnone
%5 = load i32* %call7, align 4
%call8 = call i32 @gpg_err_code_from_errno(i32 %5)
call void @_gcry_fatal_error(i32 %call8, i8* null) noreturn
unreachable
if.end: ; preds = %lor.lhs.false4
br label %while.cond
while.end: ; preds = %while.cond
%6 = load i8** %p, align 4
ret i8* %6
}
define internal hidden i8* @_gcry_xrealloc(i8* %a, i32 %n) nounwind {
entry:
%a.addr = alloca i8*, align 4
%n.addr = alloca i32, align 4
%p = alloca i8*, align 4
store i8* %a, i8** %a.addr, align 4
store i32 %n, i32* %n.addr, align 4
br label %while.cond
while.cond: ; preds = %if.end, %entry
%0 = load i8** %a.addr, align 4
%1 = load i32* %n.addr, align 4
%call = call i8* @_gcry_realloc(i8* %0, i32 %1)
store i8* %call, i8** %p, align 4
%tobool = icmp ne i8* %call, null
%lnot = xor i1 %tobool, true
br i1 %lnot, label %while.body, label %while.end
while.body: ; preds = %while.cond
%call1 = call i32 @_gcry_fips_mode()
%tobool2 = icmp ne i32 %call1, 0
br i1 %tobool2, label %if.then, label %lor.lhs.false
lor.lhs.false: ; preds = %while.body
%2 = load i32 (i8*, i32, i32)** @outofcore_handler, align 4
%tobool3 = icmp ne i32 (i8*, i32, i32)* %2, null
br i1 %tobool3, label %lor.lhs.false4, label %if.then
lor.lhs.false4: ; preds = %lor.lhs.false
%3 = load i32 (i8*, i32, i32)** @outofcore_handler, align 4
%4 = load i8** @outofcore_handler_value, align 4
%5 = load i32* %n.addr, align 4
%6 = load i8** %a.addr, align 4
%call5 = call i32 @_gcry_is_secure(i8* %6) nounwind readonly
%tobool6 = icmp ne i32 %call5, 0
%cond = select i1 %tobool6, i32 3, i32 2
%call7 = call i32 %3(i8* %4, i32 %5, i32 %cond)
%tobool8 = icmp ne i32 %call7, 0
br i1 %tobool8, label %if.end, label %if.then
if.then: ; preds = %lor.lhs.false4, %lor.lhs.false, %while.body
%call9 = call i32* @__errno_location() nounwind readnone
%7 = load i32* %call9, align 4
%call10 = call i32 @gpg_err_code_from_errno(i32 %7)
call void @_gcry_fatal_error(i32 %call10, i8* null) noreturn
unreachable
if.end: ; preds = %lor.lhs.false4
br label %while.cond
while.end: ; preds = %while.cond
%8 = load i8** %p, align 4
ret i8* %8
}
define internal hidden noalias i8* @_gcry_xmalloc_secure(i32 %n) nounwind {
entry:
%n.addr = alloca i32, align 4
%p = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
br label %while.cond
while.cond: ; preds = %if.end, %entry
%0 = load i32* %n.addr, align 4
%call = call noalias i8* @_gcry_malloc_secure(i32 %0)
store i8* %call, i8** %p, align 4
%tobool = icmp ne i8* %call, null
%lnot = xor i1 %tobool, true
br i1 %lnot, label %while.body, label %while.end
while.body: ; preds = %while.cond
%call1 = call i32 @_gcry_fips_mode()
%tobool2 = icmp ne i32 %call1, 0
br i1 %tobool2, label %if.then, label %lor.lhs.false
lor.lhs.false: ; preds = %while.body
%1 = load i32 (i8*, i32, i32)** @outofcore_handler, align 4
%tobool3 = icmp ne i32 (i8*, i32, i32)* %1, null
br i1 %tobool3, label %lor.lhs.false4, label %if.then
lor.lhs.false4: ; preds = %lor.lhs.false
%2 = load i32 (i8*, i32, i32)** @outofcore_handler, align 4
%3 = load i8** @outofcore_handler_value, align 4
%4 = load i32* %n.addr, align 4
%call5 = call i32 %2(i8* %3, i32 %4, i32 1)
%tobool6 = icmp ne i32 %call5, 0
br i1 %tobool6, label %if.end, label %if.then
if.then: ; preds = %lor.lhs.false4, %lor.lhs.false, %while.body
%call7 = call i32* @__errno_location() nounwind readnone
%5 = load i32* %call7, align 4
%call8 = call i32 @gpg_err_code_from_errno(i32 %5)
%call9 = call i8* @_gcry_gettext(i8* getelementptr inbounds ([29 x i8]* @.str332, i32 0, i32 0))
call void @_gcry_fatal_error(i32 %call8, i8* %call9) noreturn
unreachable
if.end: ; preds = %lor.lhs.false4
br label %while.cond
while.end: ; preds = %while.cond
%6 = load i8** %p, align 4
ret i8* %6
}
define internal hidden noalias i8* @_gcry_xcalloc(i32 %n, i32 %m) nounwind {
entry:
%n.addr = alloca i32, align 4
%m.addr = alloca i32, align 4
%nbytes = alloca i32, align 4
%p = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
store i32 %m, i32* %m.addr, align 4
%0 = load i32* %n.addr, align 4
%1 = load i32* %m.addr, align 4
%mul = mul i32 %0, %1
store i32 %mul, i32* %nbytes, align 4
%2 = load i32* %m.addr, align 4
%tobool = icmp ne i32 %2, 0
br i1 %tobool, label %land.lhs.true, label %if.end
land.lhs.true: ; preds = %entry
%3 = load i32* %nbytes, align 4
%4 = load i32* %m.addr, align 4
%div = udiv i32 %3, %4
%5 = load i32* %n.addr, align 4
%cmp = icmp ne i32 %div, %5
br i1 %cmp, label %if.then, label %if.end
if.then: ; preds = %land.lhs.true
call void @gpg_err_set_errno(i32 12)
%call = call i32* @__errno_location() nounwind readnone
%6 = load i32* %call, align 4
%call1 = call i32 @gpg_err_code_from_errno(i32 %6)
call void @_gcry_fatal_error(i32 %call1, i8* null) noreturn
unreachable
if.end: ; preds = %land.lhs.true, %entry
%7 = load i32* %nbytes, align 4
%call2 = call noalias i8* @_gcry_xmalloc(i32 %7)
store i8* %call2, i8** %p, align 4
%8 = load i8** %p, align 4
%9 = load i32* %nbytes, align 4
call void @llvm.memset.p0i8.i32(i8* %8, i8 0, i32 %9, i32 1, i1 false)
%10 = load i8** %p, align 4
ret i8* %10
}
define internal hidden noalias i8* @_gcry_xcalloc_secure(i32 %n, i32 %m) nounwind {
entry:
%n.addr = alloca i32, align 4
%m.addr = alloca i32, align 4
%nbytes = alloca i32, align 4
%p = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
store i32 %m, i32* %m.addr, align 4
%0 = load i32* %n.addr, align 4
%1 = load i32* %m.addr, align 4
%mul = mul i32 %0, %1
store i32 %mul, i32* %nbytes, align 4
%2 = load i32* %m.addr, align 4
%tobool = icmp ne i32 %2, 0
br i1 %tobool, label %land.lhs.true, label %if.end
land.lhs.true: ; preds = %entry
%3 = load i32* %nbytes, align 4
%4 = load i32* %m.addr, align 4
%div = udiv i32 %3, %4
%5 = load i32* %n.addr, align 4
%cmp = icmp ne i32 %div, %5
br i1 %cmp, label %if.then, label %if.end
if.then: ; preds = %land.lhs.true
call void @gpg_err_set_errno(i32 12)
%call = call i32* @__errno_location() nounwind readnone
%6 = load i32* %call, align 4
%call1 = call i32 @gpg_err_code_from_errno(i32 %6)
call void @_gcry_fatal_error(i32 %call1, i8* null) noreturn
unreachable
if.end: ; preds = %land.lhs.true, %entry
%7 = load i32* %nbytes, align 4
%call2 = call noalias i8* @_gcry_xmalloc_secure(i32 %7)
store i8* %call2, i8** %p, align 4
%8 = load i8** %p, align 4
%9 = load i32* %nbytes, align 4
call void @llvm.memset.p0i8.i32(i8* %8, i8 0, i32 %9, i32 1, i1 false)
%10 = load i8** %p, align 4
ret i8* %10
}
define internal hidden noalias i8* @_gcry_xstrdup(i8* %string) nounwind {
entry:
%string.addr = alloca i8*, align 4
%p = alloca i8*, align 4
%n = alloca i32, align 4
%is_sec = alloca i32, align 4
store i8* %string, i8** %string.addr, align 4
br label %while.cond
while.cond: ; preds = %if.end, %entry
%0 = load i8** %string.addr, align 4
%call = call noalias i8* @_gcry_strdup(i8* %0)
store i8* %call, i8** %p, align 4
%tobool = icmp ne i8* %call, null
%lnot = xor i1 %tobool, true
br i1 %lnot, label %while.body, label %while.end
while.body: ; preds = %while.cond
%1 = load i8** %string.addr, align 4
%call1 = call i32 @strlen(i8* %1)
store i32 %call1, i32* %n, align 4
%2 = load i8** %string.addr, align 4
%call2 = call i32 @_gcry_is_secure(i8* %2) nounwind readonly
%tobool3 = icmp ne i32 %call2, 0
%lnot4 = xor i1 %tobool3, true
%lnot5 = xor i1 %lnot4, true
%lnot.ext = zext i1 %lnot5 to i32
store i32 %lnot.ext, i32* %is_sec, align 4
%call6 = call i32 @_gcry_fips_mode()
%tobool7 = icmp ne i32 %call6, 0
br i1 %tobool7, label %if.then, label %lor.lhs.false
lor.lhs.false: ; preds = %while.body
%3 = load i32 (i8*, i32, i32)** @outofcore_handler, align 4
%tobool8 = icmp ne i32 (i8*, i32, i32)* %3, null
br i1 %tobool8, label %lor.lhs.false9, label %if.then
lor.lhs.false9: ; preds = %lor.lhs.false
%4 = load i32 (i8*, i32, i32)** @outofcore_handler, align 4
%5 = load i8** @outofcore_handler_value, align 4
%6 = load i32* %n, align 4
%7 = load i32* %is_sec, align 4
%call10 = call i32 %4(i8* %5, i32 %6, i32 %7)
%tobool11 = icmp ne i32 %call10, 0
br i1 %tobool11, label %if.end, label %if.then
if.then: ; preds = %lor.lhs.false9, %lor.lhs.false, %while.body
%call12 = call i32* @__errno_location() nounwind readnone
%8 = load i32* %call12, align 4
%call13 = call i32 @gpg_err_code_from_errno(i32 %8)
%9 = load i32* %is_sec, align 4
%tobool14 = icmp ne i32 %9, 0
br i1 %tobool14, label %cond.true, label %cond.false
cond.true: ; preds = %if.then
%call15 = call i8* @_gcry_gettext(i8* getelementptr inbounds ([29 x i8]* @.str332, i32 0, i32 0))
br label %cond.end
cond.false: ; preds = %if.then
br label %cond.end
cond.end: ; preds = %cond.false, %cond.true
%cond = phi i8* [ %call15, %cond.true ], [ null, %cond.false ]
call void @_gcry_fatal_error(i32 %call13, i8* %cond) noreturn
unreachable
if.end: ; preds = %lor.lhs.false9
br label %while.cond
while.end: ; preds = %while.cond
%10 = load i8** %p, align 4
ret i8* %10
}
define internal hidden i32 @_gcry_get_debug_flag(i32 %mask) nounwind {
entry:
%retval = alloca i32, align 4
%mask.addr = alloca i32, align 4
store i32 %mask, i32* %mask.addr, align 4
%call = call i32 @_gcry_fips_mode()
%tobool = icmp ne i32 %call, 0
br i1 %tobool, label %if.then, label %if.end
if.then: ; preds = %entry
store i32 0, i32* %retval
br label %return
if.end: ; preds = %entry
%0 = load i32* @debug_flags, align 4
%1 = load i32* %mask.addr, align 4
%and = and i32 %0, %1
store i32 %and, i32* %retval
br label %return
return: ; preds = %if.end, %if.then
%2 = load i32* %retval
ret i32 %2
}
define internal i32 @gpg_err_make111(i32 %source, i32 %code) nounwind inlinehint {
entry:
%source.addr = alloca i32, align 4
%code.addr = alloca i32, align 4
store i32 %source, i32* %source.addr, align 4
store i32 %code, i32* %code.addr, align 4
%0 = load i32* %code.addr, align 4
%cmp = icmp eq i32 %0, 0
br i1 %cmp, label %cond.true, label %cond.false
cond.true: ; preds = %entry
br label %cond.end
cond.false: ; preds = %entry
%1 = load i32* %source.addr, align 4
%and = and i32 %1, 127
%shl = shl i32 %and, 24
%2 = load i32* %code.addr, align 4
%and1 = and i32 %2, 65535
%or = or i32 %shl, %and1
br label %cond.end
cond.end: ; preds = %cond.false, %cond.true
%cond = phi i32 [ 0, %cond.true ], [ %or, %cond.false ]
ret i32 %cond
}
define internal i32 @gcry_err_make(i32 %source, i32 %code) nounwind inlinehint {
entry:
%source.addr = alloca i32, align 4
%code.addr = alloca i32, align 4
store i32 %source, i32* %source.addr, align 4
store i32 %code, i32* %code.addr, align 4
%0 = load i32* %source.addr, align 4
%1 = load i32* %code.addr, align 4
%call = call i32 @gpg_err_make111(i32 %0, i32 %1)
ret i32 %call
}
define internal i8* @parse_version_number(i8* %s, i32* %number) nounwind {
entry:
%retval = alloca i8*, align 4
%s.addr = alloca i8*, align 4
%number.addr = alloca i32*, align 4
%val = alloca i32, align 4
store i8* %s, i8** %s.addr, align 4
store i32* %number, i32** %number.addr, align 4
store i32 0, i32* %val, align 4
%0 = load i8** %s.addr, align 4
%1 = load i8* %0, align 1
%conv = sext i8 %1 to i32
%cmp = icmp eq i32 %conv, 48
br i1 %cmp, label %land.lhs.true, label %if.end
land.lhs.true: ; preds = %entry
%2 = load i8** %s.addr, align 4
%arrayidx = getelementptr inbounds i8* %2, i32 1
%3 = load i8* %arrayidx, align 1
%conv2 = sext i8 %3 to i32
%sub = sub i32 %conv2, 48
%cmp3 = icmp ult i32 %sub, 10
br i1 %cmp3, label %if.then, label %if.end
if.then: ; preds = %land.lhs.true
store i8* null, i8** %retval
br label %return
if.end: ; preds = %land.lhs.true, %entry
br label %for.cond
for.cond: ; preds = %for.inc, %if.end
%4 = load i8** %s.addr, align 4
%5 = load i8* %4, align 1
%conv5 = sext i8 %5 to i32
%sub6 = sub i32 %conv5, 48
%cmp7 = icmp ult i32 %sub6, 10
br i1 %cmp7, label %for.body, label %for.end
for.body: ; preds = %for.cond
%6 = load i32* %val, align 4
%mul = mul nsw i32 %6, 10
store i32 %mul, i32* %val, align 4
%7 = load i8** %s.addr, align 4
%8 = load i8* %7, align 1
%conv9 = sext i8 %8 to i32
%sub10 = sub nsw i32 %conv9, 48
%9 = load i32* %val, align 4
%add = add nsw i32 %9, %sub10
store i32 %add, i32* %val, align 4
br label %for.inc
for.inc: ; preds = %for.body
%10 = load i8** %s.addr, align 4
%incdec.ptr = getelementptr inbounds i8* %10, i32 1
store i8* %incdec.ptr, i8** %s.addr, align 4
br label %for.cond
for.end: ; preds = %for.cond
%11 = load i32* %val, align 4
%12 = load i32** %number.addr, align 4
store i32 %11, i32* %12, align 4
%13 = load i32* %val, align 4
%cmp11 = icmp slt i32 %13, 0
br i1 %cmp11, label %cond.true, label %cond.false
cond.true: ; preds = %for.end
br label %cond.end
cond.false: ; preds = %for.end
%14 = load i8** %s.addr, align 4
br label %cond.end
cond.end: ; preds = %cond.false, %cond.true
%cond = phi i8* [ null, %cond.true ], [ %14, %cond.false ]
store i8* %cond, i8** %retval
br label %return
return: ; preds = %cond.end, %if.then
%15 = load i8** %retval
ret i8* %15
}
define internal i32 @gpg_error_from_errno(i32 %err) nounwind inlinehint {
entry:
%err.addr = alloca i32, align 4
store i32 %err, i32* %err.addr, align 4
%0 = load i32* %err.addr, align 4
%call = call i32 @gpg_err_code_from_errno(i32 %0)
%call1 = call i32 @gpg_error64(i32 %call)
ret i32 %call1
}
declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind
define internal hidden i32 @_gcry_sexp_create(%struct.gcry_sexp** %retsexp, i8* %buffer, i32 %length, i32 %autodetect, void (i8*)* %freefnc) nounwind {
entry:
%retval = alloca i32, align 4
%retsexp.addr = alloca %struct.gcry_sexp**, align 4
%buffer.addr = alloca i8*, align 4
%length.addr = alloca i32, align 4
%autodetect.addr = alloca i32, align 4
%freefnc.addr = alloca void (i8*)*, align 4
%errcode = alloca i32, align 4
%se = alloca %struct.gcry_sexp*, align 4
store %struct.gcry_sexp** %retsexp, %struct.gcry_sexp*** %retsexp.addr, align 4
store i8* %buffer, i8** %buffer.addr, align 4
store i32 %length, i32* %length.addr, align 4
store i32 %autodetect, i32* %autodetect.addr, align 4
store void (i8*)* %freefnc, void (i8*)** %freefnc.addr, align 4
%0 = load %struct.gcry_sexp*** %retsexp.addr, align 4
%tobool = icmp ne %struct.gcry_sexp** %0, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
store i32 45, i32* %retval
br label %return
if.end: ; preds = %entry
%1 = load %struct.gcry_sexp*** %retsexp.addr, align 4
store %struct.gcry_sexp* null, %struct.gcry_sexp** %1, align 4
%2 = load i32* %autodetect.addr, align 4
%cmp = icmp slt i32 %2, 0
br i1 %cmp, label %if.then4, label %lor.lhs.false
lor.lhs.false: ; preds = %if.end
%3 = load i32* %autodetect.addr, align 4
%cmp1 = icmp sgt i32 %3, 1
br i1 %cmp1, label %if.then4, label %lor.lhs.false2
lor.lhs.false2: ; preds = %lor.lhs.false
%4 = load i8** %buffer.addr, align 4
%tobool3 = icmp ne i8* %4, null
br i1 %tobool3, label %if.end5, label %if.then4
if.then4: ; preds = %lor.lhs.false2, %lor.lhs.false, %if.end
store i32 45, i32* %retval
br label %return
if.end5: ; preds = %lor.lhs.false2
%5 = load i32* %length.addr, align 4
%tobool6 = icmp ne i32 %5, 0
br i1 %tobool6, label %if.else, label %land.lhs.true
land.lhs.true: ; preds = %if.end5
%6 = load i32* %autodetect.addr, align 4
%tobool7 = icmp ne i32 %6, 0
br i1 %tobool7, label %if.else, label %if.then8
if.then8: ; preds = %land.lhs.true
%7 = load i8** %buffer.addr, align 4
%call = call i32 @_gcry_sexp_canon_len(i8* %7, i32 0, i32* null, i32* %errcode)
store i32 %call, i32* %length.addr, align 4
%8 = load i32* %length.addr, align 4
%tobool9 = icmp ne i32 %8, 0
br i1 %tobool9, label %if.end11, label %if.then10
if.then10: ; preds = %if.then8
%9 = load i32* %errcode, align 4
store i32 %9, i32* %retval
br label %return
if.end11: ; preds = %if.then8
br label %if.end18
if.else: ; preds = %land.lhs.true, %if.end5
%10 = load i32* %length.addr, align 4
%tobool12 = icmp ne i32 %10, 0
br i1 %tobool12, label %if.end17, label %land.lhs.true13
land.lhs.true13: ; preds = %if.else
%11 = load i32* %autodetect.addr, align 4
%tobool14 = icmp ne i32 %11, 0
br i1 %tobool14, label %if.then15, label %if.end17
if.then15: ; preds = %land.lhs.true13
%12 = load i8** %buffer.addr, align 4
%call16 = call i32 @strlen(i8* %12)
store i32 %call16, i32* %length.addr, align 4
br label %if.end17
if.end17: ; preds = %if.then15, %land.lhs.true13, %if.else
br label %if.end18
if.end18: ; preds = %if.end17, %if.end11
%13 = load i8** %buffer.addr, align 4
%14 = load i32* %length.addr, align 4
%call19 = call i32 (%struct.gcry_sexp**, i32*, i8*, i32, i32, i8**, ...)* @sexp_sscan(%struct.gcry_sexp** %se, i32* null, i8* %13, i32 %14, i32 0, i8** null)
store i32 %call19, i32* %errcode, align 4
%15 = load i32* %errcode, align 4
%tobool20 = icmp ne i32 %15, 0
br i1 %tobool20, label %if.then21, label %if.end22
if.then21: ; preds = %if.end18
%16 = load i32* %errcode, align 4
store i32 %16, i32* %retval
br label %return
if.end22: ; preds = %if.end18
%17 = load %struct.gcry_sexp** %se, align 4
%18 = load %struct.gcry_sexp*** %retsexp.addr, align 4
store %struct.gcry_sexp* %17, %struct.gcry_sexp** %18, align 4
%19 = load void (i8*)** %freefnc.addr, align 4
%tobool23 = icmp ne void (i8*)* %19, null
br i1 %tobool23, label %if.then24, label %if.end25
if.then24: ; preds = %if.end22
%20 = load void (i8*)** %freefnc.addr, align 4
%21 = load i8** %buffer.addr, align 4
call void %20(i8* %21)
br label %if.end25
if.end25: ; preds = %if.then24, %if.end22
store i32 0, i32* %retval
br label %return
return: ; preds = %if.end25, %if.then21, %if.then10, %if.then4, %if.then
%22 = load i32* %retval
ret i32 %22
}
define internal hidden i32 @_gcry_sexp_canon_len(i8* %buffer, i32 %length, i32* %erroff, i32* %errcode) nounwind {
entry:
%retval = alloca i32, align 4
%buffer.addr = alloca i8*, align 4
%length.addr = alloca i32, align 4
%erroff.addr = alloca i32*, align 4
%errcode.addr = alloca i32*, align 4
%p = alloca i8*, align 4
%disphint = alloca i8*, align 4
%datalen = alloca i32, align 4
%dummy_erroff = alloca i32, align 4
%dummy_errcode = alloca i32, align 4
%count = alloca i32, align 4
%level = alloca i32, align 4
store i8* %buffer, i8** %buffer.addr, align 4
store i32 %length, i32* %length.addr, align 4
store i32* %erroff, i32** %erroff.addr, align 4
store i32* %errcode, i32** %errcode.addr, align 4
store i8* null, i8** %disphint, align 4
store i32 0, i32* %datalen, align 4
store i32 0, i32* %count, align 4
store i32 0, i32* %level, align 4
%0 = load i32** %erroff.addr, align 4
%tobool = icmp ne i32* %0, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
store i32* %dummy_erroff, i32** %erroff.addr, align 4
br label %if.end
if.end: ; preds = %if.then, %entry
%1 = load i32** %errcode.addr, align 4
%tobool1 = icmp ne i32* %1, null
br i1 %tobool1, label %if.end3, label %if.then2
if.then2: ; preds = %if.end
store i32* %dummy_errcode, i32** %errcode.addr, align 4
br label %if.end3
if.end3: ; preds = %if.then2, %if.end
%2 = load i32** %errcode.addr, align 4
store i32 0, i32* %2, align 4
%3 = load i32** %erroff.addr, align 4
store i32 0, i32* %3, align 4
%4 = load i8** %buffer.addr, align 4
%tobool4 = icmp ne i8* %4, null
br i1 %tobool4, label %if.end6, label %if.then5
if.then5: ; preds = %if.end3
store i32 0, i32* %retval
br label %return
if.end6: ; preds = %if.end3
%5 = load i8** %buffer.addr, align 4
%6 = load i8* %5, align 1
%conv = zext i8 %6 to i32
%cmp = icmp ne i32 %conv, 40
br i1 %cmp, label %if.then8, label %if.end9
if.then8: ; preds = %if.end6
%7 = load i32** %errcode.addr, align 4
store i32 204, i32* %7, align 4
store i32 0, i32* %retval
br label %return
if.end9: ; preds = %if.end6
%8 = load i8** %buffer.addr, align 4
store i8* %8, i8** %p, align 4
br label %for.cond
for.cond: ; preds = %for.inc, %if.end9
%9 = load i32* %length.addr, align 4
%tobool10 = icmp ne i32 %9, 0
br i1 %tobool10, label %land.lhs.true, label %if.end14
land.lhs.true: ; preds = %for.cond
%10 = load i32* %count, align 4
%11 = load i32* %length.addr, align 4
%cmp11 = icmp uge i32 %10, %11
br i1 %cmp11, label %if.then13, label %if.end14
if.then13: ; preds = %land.lhs.true
%12 = load i32* %count, align 4
%13 = load i32** %erroff.addr, align 4
store i32 %12, i32* %13, align 4
%14 = load i32** %errcode.addr, align 4
store i32 202, i32* %14, align 4
store i32 0, i32* %retval
br label %return
if.end14: ; preds = %land.lhs.true, %for.cond
%15 = load i32* %datalen, align 4
%tobool15 = icmp ne i32 %15, 0
br i1 %tobool15, label %if.then16, label %if.else41
if.then16: ; preds = %if.end14
%16 = load i8** %p, align 4
%17 = load i8* %16, align 1
%conv17 = zext i8 %17 to i32
%cmp18 = icmp eq i32 %conv17, 58
br i1 %cmp18, label %if.then20, label %if.else
if.then20: ; preds = %if.then16
%18 = load i32* %length.addr, align 4
%tobool21 = icmp ne i32 %18, 0
br i1 %tobool21, label %land.lhs.true22, label %if.end26
land.lhs.true22: ; preds = %if.then20
%19 = load i32* %count, align 4
%20 = load i32* %datalen, align 4
%add = add i32 %19, %20
%21 = load i32* %length.addr, align 4
%cmp23 = icmp uge i32 %add, %21
br i1 %cmp23, label %if.then25, label %if.end26
if.then25: ; preds = %land.lhs.true22
%22 = load i32* %count, align 4
%23 = load i32** %erroff.addr, align 4
store i32 %22, i32* %23, align 4
%24 = load i32** %errcode.addr, align 4
store i32 202, i32* %24, align 4
store i32 0, i32* %retval
br label %return
if.end26: ; preds = %land.lhs.true22, %if.then20
%25 = load i32* %datalen, align 4
%26 = load i32* %count, align 4
%add27 = add i32 %26, %25
store i32 %add27, i32* %count, align 4
%27 = load i32* %datalen, align 4
%28 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %28, i32 %27
store i8* %add.ptr, i8** %p, align 4
store i32 0, i32* %datalen, align 4
br label %if.end40
if.else: ; preds = %if.then16
%29 = load i8** %p, align 4
%30 = load i8* %29, align 1
%conv28 = zext i8 %30 to i32
%cmp29 = icmp sge i32 %conv28, 48
br i1 %cmp29, label %land.lhs.true31, label %if.else38
land.lhs.true31: ; preds = %if.else
%31 = load i8** %p, align 4
%32 = load i8* %31, align 1
%conv32 = zext i8 %32 to i32
%cmp33 = icmp sle i32 %conv32, 57
br i1 %cmp33, label %if.then35, label %if.else38
if.then35: ; preds = %land.lhs.true31
%33 = load i32* %datalen, align 4
%mul = mul i32 %33, 10
%34 = load i8** %p, align 4
%35 = load i8* %34, align 1
%conv36 = zext i8 %35 to i32
%sub = sub nsw i32 %conv36, 48
%add37 = add i32 %mul, %sub
store i32 %add37, i32* %datalen, align 4
br label %if.end39
if.else38: ; preds = %land.lhs.true31, %if.else
%36 = load i32* %count, align 4
%37 = load i32** %erroff.addr, align 4
store i32 %36, i32* %37, align 4
%38 = load i32** %errcode.addr, align 4
store i32 201, i32* %38, align 4
store i32 0, i32* %retval
br label %return
if.end39: ; preds = %if.then35
br label %if.end40
if.end40: ; preds = %if.end39, %if.end26
br label %if.end110
if.else41: ; preds = %if.end14
%39 = load i8** %p, align 4
%40 = load i8* %39, align 1
%conv42 = zext i8 %40 to i32
%cmp43 = icmp eq i32 %conv42, 40
br i1 %cmp43, label %if.then45, label %if.else49
if.then45: ; preds = %if.else41
%41 = load i8** %disphint, align 4
%tobool46 = icmp ne i8* %41, null
br i1 %tobool46, label %if.then47, label %if.end48
if.then47: ; preds = %if.then45
%42 = load i32* %count, align 4
%43 = load i32** %erroff.addr, align 4
store i32 %42, i32* %43, align 4
%44 = load i32** %errcode.addr, align 4
store i32 209, i32* %44, align 4
store i32 0, i32* %retval
br label %return
if.end48: ; preds = %if.then45
%45 = load i32* %level, align 4
%inc = add nsw i32 %45, 1
store i32 %inc, i32* %level, align 4
br label %if.end109
if.else49: ; preds = %if.else41
%46 = load i8** %p, align 4
%47 = load i8* %46, align 1
%conv50 = zext i8 %47 to i32
%cmp51 = icmp eq i32 %conv50, 41
br i1 %cmp51, label %if.then53, label %if.else64
if.then53: ; preds = %if.else49
%48 = load i32* %level, align 4
%tobool54 = icmp ne i32 %48, 0
br i1 %tobool54, label %if.end56, label %if.then55
if.then55: ; preds = %if.then53
%49 = load i32* %count, align 4
%50 = load i32** %erroff.addr, align 4
store i32 %49, i32* %50, align 4
%51 = load i32** %errcode.addr, align 4
store i32 203, i32* %51, align 4
store i32 0, i32* %retval
br label %return
if.end56: ; preds = %if.then53
%52 = load i8** %disphint, align 4
%tobool57 = icmp ne i8* %52, null
br i1 %tobool57, label %if.then58, label %if.end59
if.then58: ; preds = %if.end56
%53 = load i32* %count, align 4
%54 = load i32** %erroff.addr, align 4
store i32 %53, i32* %54, align 4
%55 = load i32** %errcode.addr, align 4
store i32 209, i32* %55, align 4
store i32 0, i32* %retval
br label %return
if.end59: ; preds = %if.end56
%56 = load i32* %level, align 4
%dec = add nsw i32 %56, -1
store i32 %dec, i32* %level, align 4
%tobool60 = icmp ne i32 %dec, 0
br i1 %tobool60, label %if.end63, label %if.then61
if.then61: ; preds = %if.end59
%57 = load i32* %count, align 4
%inc62 = add i32 %57, 1
store i32 %inc62, i32* %count, align 4
store i32 %inc62, i32* %retval
br label %return
if.end63: ; preds = %if.end59
br label %if.end108
if.else64: ; preds = %if.else49
%58 = load i8** %p, align 4
%59 = load i8* %58, align 1
%conv65 = zext i8 %59 to i32
%cmp66 = icmp eq i32 %conv65, 91
br i1 %cmp66, label %if.then68, label %if.else72
if.then68: ; preds = %if.else64
%60 = load i8** %disphint, align 4
%tobool69 = icmp ne i8* %60, null
br i1 %tobool69, label %if.then70, label %if.end71
if.then70: ; preds = %if.then68
%61 = load i32* %count, align 4
%62 = load i32** %erroff.addr, align 4
store i32 %61, i32* %62, align 4
%63 = load i32** %errcode.addr, align 4
store i32 208, i32* %63, align 4
store i32 0, i32* %retval
br label %return
if.end71: ; preds = %if.then68
%64 = load i8** %p, align 4
store i8* %64, i8** %disphint, align 4
br label %if.end107
if.else72: ; preds = %if.else64
%65 = load i8** %p, align 4
%66 = load i8* %65, align 1
%conv73 = zext i8 %66 to i32
%cmp74 = icmp eq i32 %conv73, 93
br i1 %cmp74, label %if.then76, label %if.else80
if.then76: ; preds = %if.else72
%67 = load i8** %disphint, align 4
%tobool77 = icmp ne i8* %67, null
br i1 %tobool77, label %if.end79, label %if.then78
if.then78: ; preds = %if.then76
%68 = load i32* %count, align 4
%69 = load i32** %erroff.addr, align 4
store i32 %68, i32* %69, align 4
%70 = load i32** %errcode.addr, align 4
store i32 209, i32* %70, align 4
store i32 0, i32* %retval
br label %return
if.end79: ; preds = %if.then76
store i8* null, i8** %disphint, align 4
br label %if.end106
if.else80: ; preds = %if.else72
%71 = load i8** %p, align 4
%72 = load i8* %71, align 1
%conv81 = zext i8 %72 to i32
%cmp82 = icmp sge i32 %conv81, 48
br i1 %cmp82, label %land.lhs.true84, label %if.else96
land.lhs.true84: ; preds = %if.else80
%73 = load i8** %p, align 4
%74 = load i8* %73, align 1
%conv85 = zext i8 %74 to i32
%cmp86 = icmp sle i32 %conv85, 57
br i1 %cmp86, label %if.then88, label %if.else96
if.then88: ; preds = %land.lhs.true84
%75 = load i8** %p, align 4
%76 = load i8* %75, align 1
%conv89 = zext i8 %76 to i32
%cmp90 = icmp eq i32 %conv89, 48
br i1 %cmp90, label %if.then92, label %if.end93
if.then92: ; preds = %if.then88
%77 = load i32* %count, align 4
%78 = load i32** %erroff.addr, align 4
store i32 %77, i32* %78, align 4
%79 = load i32** %errcode.addr, align 4
store i32 207, i32* %79, align 4
store i32 0, i32* %retval
br label %return
if.end93: ; preds = %if.then88
%80 = load i8** %p, align 4
%81 = load i8* %80, align 1
%conv94 = zext i8 %81 to i32
%sub95 = sub nsw i32 %conv94, 48
store i32 %sub95, i32* %datalen, align 4
br label %if.end105
if.else96: ; preds = %land.lhs.true84, %if.else80
%82 = load i8** %p, align 4
%83 = load i8* %82, align 1
%conv97 = zext i8 %83 to i32
%cmp98 = icmp eq i32 %conv97, 38
br i1 %cmp98, label %if.then103, label %lor.lhs.false
lor.lhs.false: ; preds = %if.else96
%84 = load i8** %p, align 4
%85 = load i8* %84, align 1
%conv100 = zext i8 %85 to i32
%cmp101 = icmp eq i32 %conv100, 92
br i1 %cmp101, label %if.then103, label %if.else104
if.then103: ; preds = %lor.lhs.false, %if.else96
%86 = load i32* %count, align 4
%87 = load i32** %erroff.addr, align 4
store i32 %86, i32* %87, align 4
%88 = load i32** %errcode.addr, align 4
store i32 210, i32* %88, align 4
store i32 0, i32* %retval
br label %return
if.else104: ; preds = %lor.lhs.false
%89 = load i32* %count, align 4
%90 = load i32** %erroff.addr, align 4
store i32 %89, i32* %90, align 4
%91 = load i32** %errcode.addr, align 4
store i32 205, i32* %91, align 4
store i32 0, i32* %retval
br label %return
if.end105: ; preds = %if.end93
br label %if.end106
if.end106: ; preds = %if.end105, %if.end79
br label %if.end107
if.end107: ; preds = %if.end106, %if.end71
br label %if.end108
if.end108: ; preds = %if.end107, %if.end63
br label %if.end109
if.end109: ; preds = %if.end108, %if.end48
br label %if.end110
if.end110: ; preds = %if.end109, %if.end40
br label %for.inc
for.inc: ; preds = %if.end110
%92 = load i8** %p, align 4
%incdec.ptr = getelementptr inbounds i8* %92, i32 1
store i8* %incdec.ptr, i8** %p, align 4
%93 = load i32* %count, align 4
%inc111 = add i32 %93, 1
store i32 %inc111, i32* %count, align 4
br label %for.cond
return: ; preds = %if.else104, %if.then103, %if.then92, %if.then78, %if.then70, %if.then61, %if.then58, %if.then55, %if.then47, %if.else38, %if.then25, %if.then13, %if.then8, %if.then5
%94 = load i32* %retval
ret i32 %94
}
define internal i32 @sexp_sscan(%struct.gcry_sexp** %retsexp, i32* %erroff, i8* %buffer, i32 %length, i32 %argflag, i8** %arg_list, ...) nounwind {
entry:
%retsexp.addr = alloca %struct.gcry_sexp**, align 4
%erroff.addr = alloca i32*, align 4
%buffer.addr = alloca i8*, align 4
%length.addr = alloca i32, align 4
%argflag.addr = alloca i32, align 4
%arg_list.addr = alloca i8**, align 4
%rc = alloca i32, align 4
%arg_ptr = alloca [4 x i32], align 4
store %struct.gcry_sexp** %retsexp, %struct.gcry_sexp*** %retsexp.addr, align 4
store i32* %erroff, i32** %erroff.addr, align 4
store i8* %buffer, i8** %buffer.addr, align 4
store i32 %length, i32* %length.addr, align 4
store i32 %argflag, i32* %argflag.addr, align 4
store i8** %arg_list, i8*** %arg_list.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%0 = load %struct.gcry_sexp*** %retsexp.addr, align 4
%1 = load i32** %erroff.addr, align 4
%2 = load i8** %buffer.addr, align 4
%3 = load i32* %length.addr, align 4
%4 = load i32* %argflag.addr, align 4
%5 = load i8*** %arg_list.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%call = call i32 @vsexp_sscan(%struct.gcry_sexp** %0, i32* %1, i8* %2, i32 %3, i32 %4, i8** %5, i32* %arraydecay2)
store i32 %call, i32* %rc, align 4
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
%6 = load i32* %rc, align 4
ret i32 %6
}
define internal hidden i32 @_gcry_sexp_new(%struct.gcry_sexp** %retsexp, i8* %buffer, i32 %length, i32 %autodetect) nounwind {
entry:
%retsexp.addr = alloca %struct.gcry_sexp**, align 4
%buffer.addr = alloca i8*, align 4
%length.addr = alloca i32, align 4
%autodetect.addr = alloca i32, align 4
store %struct.gcry_sexp** %retsexp, %struct.gcry_sexp*** %retsexp.addr, align 4
store i8* %buffer, i8** %buffer.addr, align 4
store i32 %length, i32* %length.addr, align 4
store i32 %autodetect, i32* %autodetect.addr, align 4
%0 = load %struct.gcry_sexp*** %retsexp.addr, align 4
%1 = load i8** %buffer.addr, align 4
%2 = load i32* %length.addr, align 4
%3 = load i32* %autodetect.addr, align 4
%call = call i32 @_gcry_sexp_create(%struct.gcry_sexp** %0, i8* %1, i32 %2, i32 %3, void (i8*)* null)
ret i32 %call
}
define internal hidden void @_gcry_sexp_release(%struct.gcry_sexp* %sexp) nounwind {
entry:
%sexp.addr = alloca %struct.gcry_sexp*, align 4
%p = alloca i8*, align 4
%type = alloca i32, align 4
%n = alloca i16, align 2
%_vptr = alloca i8*, align 4
%_vlen = alloca i32, align 4
%_vset = alloca i8, align 1
%_vset_long = alloca i32, align 4
%_vptr_long = alloca i32*, align 4
store %struct.gcry_sexp* %sexp, %struct.gcry_sexp** %sexp.addr, align 4
%0 = load %struct.gcry_sexp** %sexp.addr, align 4
%tobool = icmp ne %struct.gcry_sexp* %0, null
br i1 %tobool, label %if.then, label %if.end42
if.then: ; preds = %entry
%1 = load %struct.gcry_sexp** %sexp.addr, align 4
%2 = bitcast %struct.gcry_sexp* %1 to i8*
%call = call i32 @_gcry_is_secure(i8* %2) nounwind readonly
%tobool1 = icmp ne i32 %call, 0
br i1 %tobool1, label %if.then2, label %if.end41
if.then2: ; preds = %if.then
%3 = load %struct.gcry_sexp** %sexp.addr, align 4
%d = getelementptr inbounds %struct.gcry_sexp* %3, i32 0, i32 0
%arraydecay = getelementptr inbounds [1 x i8]* %d, i32 0, i32 0
store i8* %arraydecay, i8** %p, align 4
br label %while.cond
while.cond: ; preds = %sw.epilog, %if.then2
%4 = load i8** %p, align 4
%5 = load i8* %4, align 1
%conv = zext i8 %5 to i32
store i32 %conv, i32* %type, align 4
%cmp = icmp ne i32 %conv, 0
br i1 %cmp, label %while.body, label %while.end
while.body: ; preds = %while.cond
%6 = load i8** %p, align 4
%incdec.ptr = getelementptr inbounds i8* %6, i32 1
store i8* %incdec.ptr, i8** %p, align 4
%7 = load i32* %type, align 4
switch i32 %7, label %sw.default [
i32 3, label %sw.bb
i32 4, label %sw.bb4
i32 1, label %sw.bb5
]
sw.bb: ; preds = %while.body
br label %sw.epilog
sw.bb4: ; preds = %while.body
br label %sw.epilog
sw.bb5: ; preds = %while.body
%8 = bitcast i16* %n to i8*
%9 = load i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %9, i32 2, i32 1, i1 false)
%10 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %10, i32 2
store i8* %add.ptr, i8** %p, align 4
%11 = load i16* %n, align 2
%conv6 = zext i16 %11 to i32
%12 = load i8** %p, align 4
%add.ptr7 = getelementptr inbounds i8* %12, i32 %conv6
store i8* %add.ptr7, i8** %p, align 4
br label %sw.epilog
sw.default: ; preds = %while.body
br label %sw.epilog
sw.epilog: ; preds = %sw.default, %sw.bb5, %sw.bb4, %sw.bb
br label %while.cond
while.end: ; preds = %while.cond
br label %do.body
do.body: ; preds = %while.end
%13 = load %struct.gcry_sexp** %sexp.addr, align 4
%d8 = getelementptr inbounds %struct.gcry_sexp* %13, i32 0, i32 0
%arraydecay9 = getelementptr inbounds [1 x i8]* %d8, i32 0, i32 0
store i8* %arraydecay9, i8** %_vptr, align 4
%14 = load i8** %p, align 4
%15 = load %struct.gcry_sexp** %sexp.addr, align 4
%d10 = getelementptr inbounds %struct.gcry_sexp* %15, i32 0, i32 0
%arraydecay11 = getelementptr inbounds [1 x i8]* %d10, i32 0, i32 0
%sub.ptr.lhs.cast = ptrtoint i8* %14 to i32
%sub.ptr.rhs.cast = ptrtoint i8* %arraydecay11 to i32
%sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
store i32 %sub.ptr.sub, i32* %_vlen, align 4
store i8 0, i8* %_vset, align 1
br label %do.body12
do.body12: ; preds = %do.body
%16 = load i8* %_vset, align 1
%conv13 = zext i8 %16 to i32
store i32 %conv13, i32* %_vset_long, align 4
br label %do.body14
do.body14: ; preds = %do.body12
br label %while.cond15
while.cond15: ; preds = %while.body18, %do.body14
%17 = load i8** %_vptr, align 4
%18 = ptrtoint i8* %17 to i32
%and = and i32 %18, 3
%tobool16 = icmp ne i32 %and, 0
br i1 %tobool16, label %land.rhs, label %land.end
land.rhs: ; preds = %while.cond15
%19 = load i32* %_vlen, align 4
%tobool17 = icmp ne i32 %19, 0
br label %land.end
land.end: ; preds = %land.rhs, %while.cond15
%20 = phi i1 [ false, %while.cond15 ], [ %tobool17, %land.rhs ]
br i1 %20, label %while.body18, label %while.end20
while.body18: ; preds = %land.end
%21 = load i8* %_vset, align 1
%22 = load i8** %_vptr, align 4
store volatile i8 %21, i8* %22, align 1
%23 = load i8** %_vptr, align 4
%incdec.ptr19 = getelementptr inbounds i8* %23, i32 1
store i8* %incdec.ptr19, i8** %_vptr, align 4
%24 = load i32* %_vlen, align 4
%dec = add i32 %24, -1
store i32 %dec, i32* %_vlen, align 4
br label %while.cond15
while.end20: ; preds = %land.end
br label %do.end
do.end: ; preds = %while.end20
%25 = load i32* %_vlen, align 4
%cmp21 = icmp ult i32 %25, 4
br i1 %cmp21, label %if.then23, label %if.end
if.then23: ; preds = %do.end
br label %do.end32
if.end: ; preds = %do.end
%26 = load i32* %_vset_long, align 4
%conv24 = zext i32 %26 to i64
%mul = mul i64 %conv24, 72340172838076673
%conv25 = trunc i64 %mul to i32
store i32 %conv25, i32* %_vset_long, align 4
br label %do.body26
do.body26: ; preds = %do.cond, %if.end
%27 = load i8** %_vptr, align 4
%28 = bitcast i8* %27 to i32*
store i32* %28, i32** %_vptr_long, align 4
%29 = load i32* %_vset_long, align 4
%30 = load i32** %_vptr_long, align 4
store volatile i32 %29, i32* %30, align 4
%31 = load i32* %_vlen, align 4
%sub = sub i32 %31, 4
store i32 %sub, i32* %_vlen, align 4
%32 = load i8** %_vptr, align 4
%add.ptr27 = getelementptr inbounds i8* %32, i32 4
store i8* %add.ptr27, i8** %_vptr, align 4
br label %do.cond
do.cond: ; preds = %do.body26
%33 = load i32* %_vlen, align 4
%cmp28 = icmp uge i32 %33, 4
br i1 %cmp28, label %do.body26, label %do.end30
do.end30: ; preds = %do.cond
br label %do.end32
do.end32: ; preds = %do.end30, %if.then23
br label %while.cond33
while.cond33: ; preds = %while.body35, %do.end32
%34 = load i32* %_vlen, align 4
%tobool34 = icmp ne i32 %34, 0
br i1 %tobool34, label %while.body35, label %while.end38
while.body35: ; preds = %while.cond33
%35 = load i8* %_vset, align 1
%36 = load i8** %_vptr, align 4
store volatile i8 %35, i8* %36, align 1
%37 = load i8** %_vptr, align 4
%incdec.ptr36 = getelementptr inbounds i8* %37, i32 1
store i8* %incdec.ptr36, i8** %_vptr, align 4
%38 = load i32* %_vlen, align 4
%dec37 = add i32 %38, -1
store i32 %dec37, i32* %_vlen, align 4
br label %while.cond33
while.end38: ; preds = %while.cond33
br label %do.end40
do.end40: ; preds = %while.end38
br label %if.end41
if.end41: ; preds = %do.end40, %if.then
%39 = load %struct.gcry_sexp** %sexp.addr, align 4
%40 = bitcast %struct.gcry_sexp* %39 to i8*
call void @_gcry_free(i8* %40)
br label %if.end42
if.end42: ; preds = %if.end41, %entry
ret void
}
define internal hidden %struct.gcry_sexp* @_gcry_sexp_find_token(%struct.gcry_sexp* %list, i8* %tok, i32 %toklen) nounwind {
entry:
%retval = alloca %struct.gcry_sexp*, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%tok.addr = alloca i8*, align 4
%toklen.addr = alloca i32, align 4
%p = alloca i8*, align 4
%n = alloca i16, align 2
%head = alloca i8*, align 4
%newlist = alloca %struct.gcry_sexp*, align 4
%d20 = alloca i8*, align 4
%level = alloca i32, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i8* %tok, i8** %tok.addr, align 4
store i32 %toklen, i32* %toklen.addr, align 4
%0 = load %struct.gcry_sexp** %list.addr, align 4
%tobool = icmp ne %struct.gcry_sexp* %0, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end: ; preds = %entry
%1 = load i32* %toklen.addr, align 4
%tobool1 = icmp ne i32 %1, 0
br i1 %tobool1, label %if.end3, label %if.then2
if.then2: ; preds = %if.end
%2 = load i8** %tok.addr, align 4
%call = call i32 @strlen(i8* %2)
store i32 %call, i32* %toklen.addr, align 4
br label %if.end3
if.end3: ; preds = %if.then2, %if.end
%3 = load %struct.gcry_sexp** %list.addr, align 4
%d = getelementptr inbounds %struct.gcry_sexp* %3, i32 0, i32 0
%arraydecay = getelementptr inbounds [1 x i8]* %d, i32 0, i32 0
store i8* %arraydecay, i8** %p, align 4
br label %while.cond
while.cond: ; preds = %if.end79, %if.end3
%4 = load i8** %p, align 4
%5 = load i8* %4, align 1
%conv = zext i8 %5 to i32
%cmp = icmp ne i32 %conv, 0
br i1 %cmp, label %while.body, label %while.end
while.body: ; preds = %while.cond
%6 = load i8** %p, align 4
%7 = load i8* %6, align 1
%conv5 = zext i8 %7 to i32
%cmp6 = icmp eq i32 %conv5, 3
br i1 %cmp6, label %land.lhs.true, label %if.else67
land.lhs.true: ; preds = %while.body
%8 = load i8** %p, align 4
%arrayidx = getelementptr inbounds i8* %8, i32 1
%9 = load i8* %arrayidx, align 1
%conv8 = zext i8 %9 to i32
%cmp9 = icmp eq i32 %conv8, 1
br i1 %cmp9, label %if.then11, label %if.else67
if.then11: ; preds = %land.lhs.true
%10 = load i8** %p, align 4
store i8* %10, i8** %head, align 4
%11 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %11, i32 2
store i8* %add.ptr, i8** %p, align 4
%12 = bitcast i16* %n to i8*
%13 = load i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %12, i8* %13, i32 2, i32 1, i1 false)
%14 = load i8** %p, align 4
%add.ptr12 = getelementptr inbounds i8* %14, i32 2
store i8* %add.ptr12, i8** %p, align 4
%15 = load i16* %n, align 2
%conv13 = zext i16 %15 to i32
%16 = load i32* %toklen.addr, align 4
%cmp14 = icmp eq i32 %conv13, %16
br i1 %cmp14, label %land.lhs.true16, label %if.end64
land.lhs.true16: ; preds = %if.then11
%17 = load i8** %p, align 4
%18 = load i8** %tok.addr, align 4
%19 = load i32* %toklen.addr, align 4
%call17 = call i32 @memcmp(i8* %17, i8* %18, i32 %19)
%tobool18 = icmp ne i32 %call17, 0
br i1 %tobool18, label %if.end64, label %if.then19
if.then19: ; preds = %land.lhs.true16
store i32 1, i32* %level, align 4
%20 = load i16* %n, align 2
%conv21 = zext i16 %20 to i32
%21 = load i8** %p, align 4
%add.ptr22 = getelementptr inbounds i8* %21, i32 %conv21
store i8* %add.ptr22, i8** %p, align 4
br label %for.cond
for.cond: ; preds = %for.inc, %if.then19
%22 = load i32* %level, align 4
%tobool23 = icmp ne i32 %22, 0
br i1 %tobool23, label %for.body, label %for.end
for.body: ; preds = %for.cond
%23 = load i8** %p, align 4
%24 = load i8* %23, align 1
%conv24 = zext i8 %24 to i32
%cmp25 = icmp eq i32 %conv24, 1
br i1 %cmp25, label %if.then27, label %if.else
if.then27: ; preds = %for.body
%25 = bitcast i16* %n to i8*
%26 = load i8** %p, align 4
%incdec.ptr = getelementptr inbounds i8* %26, i32 1
store i8* %incdec.ptr, i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %25, i8* %incdec.ptr, i32 2, i32 1, i1 false)
%27 = load i16* %n, align 2
%conv28 = zext i16 %27 to i32
%add = add i32 2, %conv28
%28 = load i8** %p, align 4
%add.ptr29 = getelementptr inbounds i8* %28, i32 %add
store i8* %add.ptr29, i8** %p, align 4
%29 = load i8** %p, align 4
%incdec.ptr30 = getelementptr inbounds i8* %29, i32 -1
store i8* %incdec.ptr30, i8** %p, align 4
br label %if.end48
if.else: ; preds = %for.body
%30 = load i8** %p, align 4
%31 = load i8* %30, align 1
%conv31 = zext i8 %31 to i32
%cmp32 = icmp eq i32 %conv31, 3
br i1 %cmp32, label %if.then34, label %if.else35
if.then34: ; preds = %if.else
%32 = load i32* %level, align 4
%inc = add nsw i32 %32, 1
store i32 %inc, i32* %level, align 4
br label %if.end47
if.else35: ; preds = %if.else
%33 = load i8** %p, align 4
%34 = load i8* %33, align 1
%conv36 = zext i8 %34 to i32
%cmp37 = icmp eq i32 %conv36, 4
br i1 %cmp37, label %if.then39, label %if.else40
if.then39: ; preds = %if.else35
%35 = load i32* %level, align 4
%dec = add nsw i32 %35, -1
store i32 %dec, i32* %level, align 4
br label %if.end46
if.else40: ; preds = %if.else35
%36 = load i8** %p, align 4
%37 = load i8* %36, align 1
%conv41 = zext i8 %37 to i32
%cmp42 = icmp eq i32 %conv41, 0
br i1 %cmp42, label %if.then44, label %if.end45
if.then44: ; preds = %if.else40
call void @_gcry_bug(i8* getelementptr inbounds ([7 x i8]* @.str7119, i32 0, i32 0), i32 432, i8* getelementptr inbounds ([22 x i8]* @__FUNCTION__._gcry_sexp_find_token, i32 0, i32 0)) noreturn
unreachable
if.end45: ; preds = %if.else40
br label %if.end46
if.end46: ; preds = %if.end45, %if.then39
br label %if.end47
if.end47: ; preds = %if.end46, %if.then34
br label %if.end48
if.end48: ; preds = %if.end47, %if.then27
br label %for.inc
for.inc: ; preds = %if.end48
%38 = load i8** %p, align 4
%incdec.ptr49 = getelementptr inbounds i8* %38, i32 1
store i8* %incdec.ptr49, i8** %p, align 4
br label %for.cond
for.end: ; preds = %for.cond
%39 = load i8** %p, align 4
%40 = load i8** %head, align 4
%sub.ptr.lhs.cast = ptrtoint i8* %39 to i32
%sub.ptr.rhs.cast = ptrtoint i8* %40 to i32
%sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
%conv50 = trunc i32 %sub.ptr.sub to i16
store i16 %conv50, i16* %n, align 2
%41 = load i16* %n, align 2
%conv51 = zext i16 %41 to i32
%add52 = add i32 1, %conv51
%call53 = call noalias i8* @_gcry_malloc(i32 %add52)
%42 = bitcast i8* %call53 to %struct.gcry_sexp*
store %struct.gcry_sexp* %42, %struct.gcry_sexp** %newlist, align 4
%43 = load %struct.gcry_sexp** %newlist, align 4
%tobool54 = icmp ne %struct.gcry_sexp* %43, null
br i1 %tobool54, label %if.end56, label %if.then55
if.then55: ; preds = %for.end
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end56: ; preds = %for.end
%44 = load %struct.gcry_sexp** %newlist, align 4
%d57 = getelementptr inbounds %struct.gcry_sexp* %44, i32 0, i32 0
%arraydecay58 = getelementptr inbounds [1 x i8]* %d57, i32 0, i32 0
store i8* %arraydecay58, i8** %d20, align 4
%45 = load i8** %d20, align 4
%46 = load i8** %head, align 4
%47 = load i16* %n, align 2
%conv59 = zext i16 %47 to i32
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %45, i8* %46, i32 %conv59, i32 1, i1 false)
%48 = load i16* %n, align 2
%conv60 = zext i16 %48 to i32
%49 = load i8** %d20, align 4
%add.ptr61 = getelementptr inbounds i8* %49, i32 %conv60
store i8* %add.ptr61, i8** %d20, align 4
%50 = load i8** %d20, align 4
%incdec.ptr62 = getelementptr inbounds i8* %50, i32 1
store i8* %incdec.ptr62, i8** %d20, align 4
store i8 0, i8* %50, align 1
%51 = load %struct.gcry_sexp** %newlist, align 4
%call63 = call %struct.gcry_sexp* @normalize(%struct.gcry_sexp* %51)
store %struct.gcry_sexp* %call63, %struct.gcry_sexp** %retval
br label %return
if.end64: ; preds = %land.lhs.true16, %if.then11
%52 = load i16* %n, align 2
%conv65 = zext i16 %52 to i32
%53 = load i8** %p, align 4
%add.ptr66 = getelementptr inbounds i8* %53, i32 %conv65
store i8* %add.ptr66, i8** %p, align 4
br label %if.end79
if.else67: ; preds = %land.lhs.true, %while.body
%54 = load i8** %p, align 4
%55 = load i8* %54, align 1
%conv68 = zext i8 %55 to i32
%cmp69 = icmp eq i32 %conv68, 1
br i1 %cmp69, label %if.then71, label %if.else76
if.then71: ; preds = %if.else67
%56 = bitcast i16* %n to i8*
%57 = load i8** %p, align 4
%incdec.ptr72 = getelementptr inbounds i8* %57, i32 1
store i8* %incdec.ptr72, i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %56, i8* %incdec.ptr72, i32 2, i32 1, i1 false)
%58 = load i8** %p, align 4
%add.ptr73 = getelementptr inbounds i8* %58, i32 2
store i8* %add.ptr73, i8** %p, align 4
%59 = load i16* %n, align 2
%conv74 = zext i16 %59 to i32
%60 = load i8** %p, align 4
%add.ptr75 = getelementptr inbounds i8* %60, i32 %conv74
store i8* %add.ptr75, i8** %p, align 4
br label %if.end78
if.else76: ; preds = %if.else67
%61 = load i8** %p, align 4
%incdec.ptr77 = getelementptr inbounds i8* %61, i32 1
store i8* %incdec.ptr77, i8** %p, align 4
br label %if.end78
if.end78: ; preds = %if.else76, %if.then71
br label %if.end79
if.end79: ; preds = %if.end78, %if.end64
br label %while.cond
while.end: ; preds = %while.cond
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
return: ; preds = %while.end, %if.end56, %if.then55, %if.then
%62 = load %struct.gcry_sexp** %retval
ret %struct.gcry_sexp* %62
}
declare i32 @memcmp(i8*, i8*, i32)
define internal %struct.gcry_sexp* @normalize(%struct.gcry_sexp* %list) nounwind {
entry:
%retval = alloca %struct.gcry_sexp*, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%p = alloca i8*, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
%0 = load %struct.gcry_sexp** %list.addr, align 4
%tobool = icmp ne %struct.gcry_sexp* %0, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end: ; preds = %entry
%1 = load %struct.gcry_sexp** %list.addr, align 4
%d = getelementptr inbounds %struct.gcry_sexp* %1, i32 0, i32 0
%arraydecay = getelementptr inbounds [1 x i8]* %d, i32 0, i32 0
store i8* %arraydecay, i8** %p, align 4
%2 = load i8** %p, align 4
%3 = load i8* %2, align 1
%conv = zext i8 %3 to i32
%cmp = icmp eq i32 %conv, 0
br i1 %cmp, label %if.then2, label %if.end3
if.then2: ; preds = %if.end
%4 = load %struct.gcry_sexp** %list.addr, align 4
call void @_gcry_sexp_release(%struct.gcry_sexp* %4)
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end3: ; preds = %if.end
%5 = load i8** %p, align 4
%6 = load i8* %5, align 1
%conv4 = zext i8 %6 to i32
%cmp5 = icmp eq i32 %conv4, 3
br i1 %cmp5, label %land.lhs.true, label %if.end11
land.lhs.true: ; preds = %if.end3
%7 = load i8** %p, align 4
%arrayidx = getelementptr inbounds i8* %7, i32 1
%8 = load i8* %arrayidx, align 1
%conv7 = zext i8 %8 to i32
%cmp8 = icmp eq i32 %conv7, 4
br i1 %cmp8, label %if.then10, label %if.end11
if.then10: ; preds = %land.lhs.true
%9 = load %struct.gcry_sexp** %list.addr, align 4
call void @_gcry_sexp_release(%struct.gcry_sexp* %9)
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end11: ; preds = %land.lhs.true, %if.end3
%10 = load %struct.gcry_sexp** %list.addr, align 4
store %struct.gcry_sexp* %10, %struct.gcry_sexp** %retval
br label %return
return: ; preds = %if.end11, %if.then10, %if.then2, %if.then
%11 = load %struct.gcry_sexp** %retval
ret %struct.gcry_sexp* %11
}
define internal hidden i32 @_gcry_sexp_length(%struct.gcry_sexp* %list) nounwind {
entry:
%retval = alloca i32, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%p = alloca i8*, align 4
%n = alloca i16, align 2
%type = alloca i32, align 4
%length = alloca i32, align 4
%level = alloca i32, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i32 0, i32* %length, align 4
store i32 0, i32* %level, align 4
%0 = load %struct.gcry_sexp** %list.addr, align 4
%tobool = icmp ne %struct.gcry_sexp* %0, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
store i32 0, i32* %retval
br label %return
if.end: ; preds = %entry
%1 = load %struct.gcry_sexp** %list.addr, align 4
%d = getelementptr inbounds %struct.gcry_sexp* %1, i32 0, i32 0
%arraydecay = getelementptr inbounds [1 x i8]* %d, i32 0, i32 0
store i8* %arraydecay, i8** %p, align 4
br label %while.cond
while.cond: ; preds = %if.end25, %if.end
%2 = load i8** %p, align 4
%3 = load i8* %2, align 1
%conv = zext i8 %3 to i32
store i32 %conv, i32* %type, align 4
%cmp = icmp ne i32 %conv, 0
br i1 %cmp, label %while.body, label %while.end
while.body: ; preds = %while.cond
%4 = load i8** %p, align 4
%incdec.ptr = getelementptr inbounds i8* %4, i32 1
store i8* %incdec.ptr, i8** %p, align 4
%5 = load i32* %type, align 4
%cmp2 = icmp eq i32 %5, 1
br i1 %cmp2, label %if.then4, label %if.else
if.then4: ; preds = %while.body
%6 = bitcast i16* %n to i8*
%7 = load i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 2, i32 1, i1 false)
%8 = load i16* %n, align 2
%conv5 = zext i16 %8 to i32
%add = add i32 2, %conv5
%9 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %9, i32 %add
store i8* %add.ptr, i8** %p, align 4
%10 = load i32* %level, align 4
%cmp6 = icmp eq i32 %10, 1
br i1 %cmp6, label %if.then8, label %if.end9
if.then8: ; preds = %if.then4
%11 = load i32* %length, align 4
%inc = add nsw i32 %11, 1
store i32 %inc, i32* %length, align 4
br label %if.end9
if.end9: ; preds = %if.then8, %if.then4
br label %if.end25
if.else: ; preds = %while.body
%12 = load i32* %type, align 4
%cmp10 = icmp eq i32 %12, 3
br i1 %cmp10, label %if.then12, label %if.else19
if.then12: ; preds = %if.else
%13 = load i32* %level, align 4
%cmp13 = icmp eq i32 %13, 1
br i1 %cmp13, label %if.then15, label %if.end17
if.then15: ; preds = %if.then12
%14 = load i32* %length, align 4
%inc16 = add nsw i32 %14, 1
store i32 %inc16, i32* %length, align 4
br label %if.end17
if.end17: ; preds = %if.then15, %if.then12
%15 = load i32* %level, align 4
%inc18 = add nsw i32 %15, 1
store i32 %inc18, i32* %level, align 4
br label %if.end24
if.else19: ; preds = %if.else
%16 = load i32* %type, align 4
%cmp20 = icmp eq i32 %16, 4
br i1 %cmp20, label %if.then22, label %if.end23
if.then22: ; preds = %if.else19
%17 = load i32* %level, align 4
%dec = add nsw i32 %17, -1
store i32 %dec, i32* %level, align 4
br label %if.end23
if.end23: ; preds = %if.then22, %if.else19
br label %if.end24
if.end24: ; preds = %if.end23, %if.end17
br label %if.end25
if.end25: ; preds = %if.end24, %if.end9
br label %while.cond
while.end: ; preds = %while.cond
%18 = load i32* %length, align 4
store i32 %18, i32* %retval
br label %return
return: ; preds = %while.end, %if.then
%19 = load i32* %retval
ret i32 %19
}
define internal hidden %struct.gcry_sexp* @_gcry_sexp_nth(%struct.gcry_sexp* %list, i32 %number) nounwind {
entry:
%retval = alloca %struct.gcry_sexp*, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%number.addr = alloca i32, align 4
%p = alloca i8*, align 4
%n = alloca i16, align 2
%newlist = alloca %struct.gcry_sexp*, align 4
%d = alloca i8*, align 4
%level = alloca i32, align 4
%head = alloca i8*, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i32 %number, i32* %number.addr, align 4
store i32 0, i32* %level, align 4
%0 = load %struct.gcry_sexp** %list.addr, align 4
%tobool = icmp ne %struct.gcry_sexp* %0, null
br i1 %tobool, label %lor.lhs.false, label %if.then
lor.lhs.false: ; preds = %entry
%1 = load %struct.gcry_sexp** %list.addr, align 4
%d1 = getelementptr inbounds %struct.gcry_sexp* %1, i32 0, i32 0
%arrayidx = getelementptr inbounds [1 x i8]* %d1, i32 0, i32 0
%2 = load i8* %arrayidx, align 1
%conv = zext i8 %2 to i32
%cmp = icmp ne i32 %conv, 3
br i1 %cmp, label %if.then, label %if.end
if.then: ; preds = %lor.lhs.false, %entry
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end: ; preds = %lor.lhs.false
%3 = load %struct.gcry_sexp** %list.addr, align 4
%d3 = getelementptr inbounds %struct.gcry_sexp* %3, i32 0, i32 0
%arraydecay = getelementptr inbounds [1 x i8]* %d3, i32 0, i32 0
store i8* %arraydecay, i8** %p, align 4
br label %while.cond
while.cond: ; preds = %if.end38, %if.end
%4 = load i32* %number.addr, align 4
%cmp4 = icmp sgt i32 %4, 0
br i1 %cmp4, label %while.body, label %while.end
while.body: ; preds = %while.cond
%5 = load i8** %p, align 4
%incdec.ptr = getelementptr inbounds i8* %5, i32 1
store i8* %incdec.ptr, i8** %p, align 4
%6 = load i8** %p, align 4
%7 = load i8* %6, align 1
%conv6 = zext i8 %7 to i32
%cmp7 = icmp eq i32 %conv6, 1
br i1 %cmp7, label %if.then9, label %if.else
if.then9: ; preds = %while.body
%8 = bitcast i16* %n to i8*
%9 = load i8** %p, align 4
%incdec.ptr10 = getelementptr inbounds i8* %9, i32 1
store i8* %incdec.ptr10, i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %incdec.ptr10, i32 2, i32 1, i1 false)
%10 = load i16* %n, align 2
%conv11 = zext i16 %10 to i32
%add = add i32 2, %conv11
%11 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %11, i32 %add
store i8* %add.ptr, i8** %p, align 4
%12 = load i8** %p, align 4
%incdec.ptr12 = getelementptr inbounds i8* %12, i32 -1
store i8* %incdec.ptr12, i8** %p, align 4
%13 = load i32* %level, align 4
%tobool13 = icmp ne i32 %13, 0
br i1 %tobool13, label %if.end15, label %if.then14
if.then14: ; preds = %if.then9
%14 = load i32* %number.addr, align 4
%dec = add nsw i32 %14, -1
store i32 %dec, i32* %number.addr, align 4
br label %if.end15
if.end15: ; preds = %if.then14, %if.then9
br label %if.end38
if.else: ; preds = %while.body
%15 = load i8** %p, align 4
%16 = load i8* %15, align 1
%conv16 = zext i8 %16 to i32
%cmp17 = icmp eq i32 %conv16, 3
br i1 %cmp17, label %if.then19, label %if.else20
if.then19: ; preds = %if.else
%17 = load i32* %level, align 4
%inc = add nsw i32 %17, 1
store i32 %inc, i32* %level, align 4
br label %if.end37
if.else20: ; preds = %if.else
%18 = load i8** %p, align 4
%19 = load i8* %18, align 1
%conv21 = zext i8 %19 to i32
%cmp22 = icmp eq i32 %conv21, 4
br i1 %cmp22, label %if.then24, label %if.else30
if.then24: ; preds = %if.else20
%20 = load i32* %level, align 4
%dec25 = add nsw i32 %20, -1
store i32 %dec25, i32* %level, align 4
%21 = load i32* %level, align 4
%tobool26 = icmp ne i32 %21, 0
br i1 %tobool26, label %if.end29, label %if.then27
if.then27: ; preds = %if.then24
%22 = load i32* %number.addr, align 4
%dec28 = add nsw i32 %22, -1
store i32 %dec28, i32* %number.addr, align 4
br label %if.end29
if.end29: ; preds = %if.then27, %if.then24
br label %if.end36
if.else30: ; preds = %if.else20
%23 = load i8** %p, align 4
%24 = load i8* %23, align 1
%conv31 = zext i8 %24 to i32
%cmp32 = icmp eq i32 %conv31, 0
br i1 %cmp32, label %if.then34, label %if.end35
if.then34: ; preds = %if.else30
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end35: ; preds = %if.else30
br label %if.end36
if.end36: ; preds = %if.end35, %if.end29
br label %if.end37
if.end37: ; preds = %if.end36, %if.then19
br label %if.end38
if.end38: ; preds = %if.end37, %if.end15
br label %while.cond
while.end: ; preds = %while.cond
%25 = load i8** %p, align 4
%incdec.ptr39 = getelementptr inbounds i8* %25, i32 1
store i8* %incdec.ptr39, i8** %p, align 4
%26 = load i8** %p, align 4
%27 = load i8* %26, align 1
%conv40 = zext i8 %27 to i32
%cmp41 = icmp eq i32 %conv40, 1
br i1 %cmp41, label %if.then43, label %if.else57
if.then43: ; preds = %while.end
%28 = bitcast i16* %n to i8*
%29 = load i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %28, i8* %29, i32 2, i32 1, i1 false)
%30 = load i8** %p, align 4
%add.ptr44 = getelementptr inbounds i8* %30, i32 2
store i8* %add.ptr44, i8** %p, align 4
%31 = load i16* %n, align 2
%conv45 = zext i16 %31 to i32
%add46 = add i32 1, %conv45
%add47 = add i32 %add46, 1
%call = call noalias i8* @_gcry_malloc(i32 %add47)
%32 = bitcast i8* %call to %struct.gcry_sexp*
store %struct.gcry_sexp* %32, %struct.gcry_sexp** %newlist, align 4
%33 = load %struct.gcry_sexp** %newlist, align 4
%tobool48 = icmp ne %struct.gcry_sexp* %33, null
br i1 %tobool48, label %if.end50, label %if.then49
if.then49: ; preds = %if.then43
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end50: ; preds = %if.then43
%34 = load %struct.gcry_sexp** %newlist, align 4
%d51 = getelementptr inbounds %struct.gcry_sexp* %34, i32 0, i32 0
%arraydecay52 = getelementptr inbounds [1 x i8]* %d51, i32 0, i32 0
store i8* %arraydecay52, i8** %d, align 4
%35 = load i8** %d, align 4
%36 = load i8** %p, align 4
%37 = load i16* %n, align 2
%conv53 = zext i16 %37 to i32
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %35, i8* %36, i32 %conv53, i32 1, i1 false)
%38 = load i16* %n, align 2
%conv54 = zext i16 %38 to i32
%39 = load i8** %d, align 4
%add.ptr55 = getelementptr inbounds i8* %39, i32 %conv54
store i8* %add.ptr55, i8** %d, align 4
%40 = load i8** %d, align 4
%incdec.ptr56 = getelementptr inbounds i8* %40, i32 1
store i8* %incdec.ptr56, i8** %d, align 4
store i8 0, i8* %40, align 1
br label %if.end110
if.else57: ; preds = %while.end
%41 = load i8** %p, align 4
%42 = load i8* %41, align 1
%conv58 = zext i8 %42 to i32
%cmp59 = icmp eq i32 %conv58, 3
br i1 %cmp59, label %if.then61, label %if.else108
if.then61: ; preds = %if.else57
%43 = load i8** %p, align 4
store i8* %43, i8** %head, align 4
store i32 1, i32* %level, align 4
br label %do.body
do.body: ; preds = %do.cond, %if.then61
%44 = load i8** %p, align 4
%incdec.ptr62 = getelementptr inbounds i8* %44, i32 1
store i8* %incdec.ptr62, i8** %p, align 4
%45 = load i8** %p, align 4
%46 = load i8* %45, align 1
%conv63 = zext i8 %46 to i32
%cmp64 = icmp eq i32 %conv63, 1
br i1 %cmp64, label %if.then66, label %if.else72
if.then66: ; preds = %do.body
%47 = bitcast i16* %n to i8*
%48 = load i8** %p, align 4
%incdec.ptr67 = getelementptr inbounds i8* %48, i32 1
store i8* %incdec.ptr67, i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %47, i8* %incdec.ptr67, i32 2, i32 1, i1 false)
%49 = load i16* %n, align 2
%conv68 = zext i16 %49 to i32
%add69 = add i32 2, %conv68
%50 = load i8** %p, align 4
%add.ptr70 = getelementptr inbounds i8* %50, i32 %add69
store i8* %add.ptr70, i8** %p, align 4
%51 = load i8** %p, align 4
%incdec.ptr71 = getelementptr inbounds i8* %51, i32 -1
store i8* %incdec.ptr71, i8** %p, align 4
br label %if.end92
if.else72: ; preds = %do.body
%52 = load i8** %p, align 4
%53 = load i8* %52, align 1
%conv73 = zext i8 %53 to i32
%cmp74 = icmp eq i32 %conv73, 3
br i1 %cmp74, label %if.then76, label %if.else78
if.then76: ; preds = %if.else72
%54 = load i32* %level, align 4
%inc77 = add nsw i32 %54, 1
store i32 %inc77, i32* %level, align 4
br label %if.end91
if.else78: ; preds = %if.else72
%55 = load i8** %p, align 4
%56 = load i8* %55, align 1
%conv79 = zext i8 %56 to i32
%cmp80 = icmp eq i32 %conv79, 4
br i1 %cmp80, label %if.then82, label %if.else84
if.then82: ; preds = %if.else78
%57 = load i32* %level, align 4
%dec83 = add nsw i32 %57, -1
store i32 %dec83, i32* %level, align 4
br label %if.end90
if.else84: ; preds = %if.else78
%58 = load i8** %p, align 4
%59 = load i8* %58, align 1
%conv85 = zext i8 %59 to i32
%cmp86 = icmp eq i32 %conv85, 0
br i1 %cmp86, label %if.then88, label %if.end89
if.then88: ; preds = %if.else84
call void @_gcry_bug(i8* getelementptr inbounds ([7 x i8]* @.str7119, i32 0, i32 0), i32 623, i8* getelementptr inbounds ([15 x i8]* @__FUNCTION__._gcry_sexp_nth, i32 0, i32 0)) noreturn
unreachable
if.end89: ; preds = %if.else84
br label %if.end90
if.end90: ; preds = %if.end89, %if.then82
br label %if.end91
if.end91: ; preds = %if.end90, %if.then76
br label %if.end92
if.end92: ; preds = %if.end91, %if.then66
br label %do.cond
do.cond: ; preds = %if.end92
%60 = load i32* %level, align 4
%tobool93 = icmp ne i32 %60, 0
br i1 %tobool93, label %do.body, label %do.end
do.end: ; preds = %do.cond
%61 = load i8** %p, align 4
%add.ptr94 = getelementptr inbounds i8* %61, i32 1
%62 = load i8** %head, align 4
%sub.ptr.lhs.cast = ptrtoint i8* %add.ptr94 to i32
%sub.ptr.rhs.cast = ptrtoint i8* %62 to i32
%sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
%conv95 = trunc i32 %sub.ptr.sub to i16
store i16 %conv95, i16* %n, align 2
%63 = load i16* %n, align 2
%conv96 = zext i16 %63 to i32
%add97 = add i32 1, %conv96
%call98 = call noalias i8* @_gcry_malloc(i32 %add97)
%64 = bitcast i8* %call98 to %struct.gcry_sexp*
store %struct.gcry_sexp* %64, %struct.gcry_sexp** %newlist, align 4
%65 = load %struct.gcry_sexp** %newlist, align 4
%tobool99 = icmp ne %struct.gcry_sexp* %65, null
br i1 %tobool99, label %if.end101, label %if.then100
if.then100: ; preds = %do.end
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end101: ; preds = %do.end
%66 = load %struct.gcry_sexp** %newlist, align 4
%d102 = getelementptr inbounds %struct.gcry_sexp* %66, i32 0, i32 0
%arraydecay103 = getelementptr inbounds [1 x i8]* %d102, i32 0, i32 0
store i8* %arraydecay103, i8** %d, align 4
%67 = load i8** %d, align 4
%68 = load i8** %head, align 4
%69 = load i16* %n, align 2
%conv104 = zext i16 %69 to i32
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %67, i8* %68, i32 %conv104, i32 1, i1 false)
%70 = load i16* %n, align 2
%conv105 = zext i16 %70 to i32
%71 = load i8** %d, align 4
%add.ptr106 = getelementptr inbounds i8* %71, i32 %conv105
store i8* %add.ptr106, i8** %d, align 4
%72 = load i8** %d, align 4
%incdec.ptr107 = getelementptr inbounds i8* %72, i32 1
store i8* %incdec.ptr107, i8** %d, align 4
store i8 0, i8* %72, align 1
br label %if.end109
if.else108: ; preds = %if.else57
store %struct.gcry_sexp* null, %struct.gcry_sexp** %newlist, align 4
br label %if.end109
if.end109: ; preds = %if.else108, %if.end101
br label %if.end110
if.end110: ; preds = %if.end109, %if.end50
%73 = load %struct.gcry_sexp** %newlist, align 4
%call111 = call %struct.gcry_sexp* @normalize(%struct.gcry_sexp* %73)
store %struct.gcry_sexp* %call111, %struct.gcry_sexp** %retval
br label %return
return: ; preds = %if.end110, %if.then100, %if.then49, %if.then34, %if.then
%74 = load %struct.gcry_sexp** %retval
ret %struct.gcry_sexp* %74
}
define internal hidden %struct.gcry_sexp* @_gcry_sexp_car(%struct.gcry_sexp* %list) nounwind {
entry:
%list.addr = alloca %struct.gcry_sexp*, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
%0 = load %struct.gcry_sexp** %list.addr, align 4
%call = call %struct.gcry_sexp* @_gcry_sexp_nth(%struct.gcry_sexp* %0, i32 0)
ret %struct.gcry_sexp* %call
}
define internal hidden i8* @_gcry_sexp_nth_data(%struct.gcry_sexp* %list, i32 %number, i32* %datalen) nounwind {
entry:
%list.addr = alloca %struct.gcry_sexp*, align 4
%number.addr = alloca i32, align 4
%datalen.addr = alloca i32*, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i32 %number, i32* %number.addr, align 4
store i32* %datalen, i32** %datalen.addr, align 4
%0 = load %struct.gcry_sexp** %list.addr, align 4
%1 = load i32* %number.addr, align 4
%2 = load i32** %datalen.addr, align 4
%call = call i8* @sexp_nth_data(%struct.gcry_sexp* %0, i32 %1, i32* %2)
ret i8* %call
}
define internal i8* @sexp_nth_data(%struct.gcry_sexp* %list, i32 %number, i32* %datalen) nounwind {
entry:
%retval = alloca i8*, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%number.addr = alloca i32, align 4
%datalen.addr = alloca i32*, align 4
%p = alloca i8*, align 4
%n = alloca i16, align 2
%level = alloca i32, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i32 %number, i32* %number.addr, align 4
store i32* %datalen, i32** %datalen.addr, align 4
store i32 0, i32* %level, align 4
%0 = load i32** %datalen.addr, align 4
store i32 0, i32* %0, align 4
%1 = load %struct.gcry_sexp** %list.addr, align 4
%tobool = icmp ne %struct.gcry_sexp* %1, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
store i8* null, i8** %retval
br label %return
if.end: ; preds = %entry
%2 = load %struct.gcry_sexp** %list.addr, align 4
%d = getelementptr inbounds %struct.gcry_sexp* %2, i32 0, i32 0
%arraydecay = getelementptr inbounds [1 x i8]* %d, i32 0, i32 0
store i8* %arraydecay, i8** %p, align 4
%3 = load i8** %p, align 4
%4 = load i8* %3, align 1
%conv = zext i8 %4 to i32
%cmp = icmp eq i32 %conv, 3
br i1 %cmp, label %if.then2, label %if.else
if.then2: ; preds = %if.end
%5 = load i8** %p, align 4
%incdec.ptr = getelementptr inbounds i8* %5, i32 1
store i8* %incdec.ptr, i8** %p, align 4
br label %if.end6
if.else: ; preds = %if.end
%6 = load i32* %number.addr, align 4
%tobool3 = icmp ne i32 %6, 0
br i1 %tobool3, label %if.then4, label %if.end5
if.then4: ; preds = %if.else
store i8* null, i8** %retval
br label %return
if.end5: ; preds = %if.else
br label %if.end6
if.end6: ; preds = %if.end5, %if.then2
br label %while.cond
while.cond: ; preds = %if.end42, %if.end6
%7 = load i32* %number.addr, align 4
%cmp7 = icmp sgt i32 %7, 0
br i1 %cmp7, label %while.body, label %while.end
while.body: ; preds = %while.cond
%8 = load i8** %p, align 4
%9 = load i8* %8, align 1
%conv9 = zext i8 %9 to i32
%cmp10 = icmp eq i32 %conv9, 1
br i1 %cmp10, label %if.then12, label %if.else19
if.then12: ; preds = %while.body
%10 = bitcast i16* %n to i8*
%11 = load i8** %p, align 4
%incdec.ptr13 = getelementptr inbounds i8* %11, i32 1
store i8* %incdec.ptr13, i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %10, i8* %incdec.ptr13, i32 2, i32 1, i1 false)
%12 = load i16* %n, align 2
%conv14 = zext i16 %12 to i32
%add = add i32 2, %conv14
%13 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %13, i32 %add
store i8* %add.ptr, i8** %p, align 4
%14 = load i8** %p, align 4
%incdec.ptr15 = getelementptr inbounds i8* %14, i32 -1
store i8* %incdec.ptr15, i8** %p, align 4
%15 = load i32* %level, align 4
%tobool16 = icmp ne i32 %15, 0
br i1 %tobool16, label %if.end18, label %if.then17
if.then17: ; preds = %if.then12
%16 = load i32* %number.addr, align 4
%dec = add nsw i32 %16, -1
store i32 %dec, i32* %number.addr, align 4
br label %if.end18
if.end18: ; preds = %if.then17, %if.then12
br label %if.end42
if.else19: ; preds = %while.body
%17 = load i8** %p, align 4
%18 = load i8* %17, align 1
%conv20 = zext i8 %18 to i32
%cmp21 = icmp eq i32 %conv20, 3
br i1 %cmp21, label %if.then23, label %if.else24
if.then23: ; preds = %if.else19
%19 = load i32* %level, align 4
%inc = add nsw i32 %19, 1
store i32 %inc, i32* %level, align 4
br label %if.end41
if.else24: ; preds = %if.else19
%20 = load i8** %p, align 4
%21 = load i8* %20, align 1
%conv25 = zext i8 %21 to i32
%cmp26 = icmp eq i32 %conv25, 4
br i1 %cmp26, label %if.then28, label %if.else34
if.then28: ; preds = %if.else24
%22 = load i32* %level, align 4
%dec29 = add nsw i32 %22, -1
store i32 %dec29, i32* %level, align 4
%23 = load i32* %level, align 4
%tobool30 = icmp ne i32 %23, 0
br i1 %tobool30, label %if.end33, label %if.then31
if.then31: ; preds = %if.then28
%24 = load i32* %number.addr, align 4
%dec32 = add nsw i32 %24, -1
store i32 %dec32, i32* %number.addr, align 4
br label %if.end33
if.end33: ; preds = %if.then31, %if.then28
br label %if.end40
if.else34: ; preds = %if.else24
%25 = load i8** %p, align 4
%26 = load i8* %25, align 1
%conv35 = zext i8 %26 to i32
%cmp36 = icmp eq i32 %conv35, 0
br i1 %cmp36, label %if.then38, label %if.end39
if.then38: ; preds = %if.else34
store i8* null, i8** %retval
br label %return
if.end39: ; preds = %if.else34
br label %if.end40
if.end40: ; preds = %if.end39, %if.end33
br label %if.end41
if.end41: ; preds = %if.end40, %if.then23
br label %if.end42
if.end42: ; preds = %if.end41, %if.end18
%27 = load i8** %p, align 4
%incdec.ptr43 = getelementptr inbounds i8* %27, i32 1
store i8* %incdec.ptr43, i8** %p, align 4
br label %while.cond
while.end: ; preds = %while.cond
%28 = load i8** %p, align 4
%29 = load i8* %28, align 1
%conv44 = zext i8 %29 to i32
%cmp45 = icmp eq i32 %conv44, 1
br i1 %cmp45, label %if.then47, label %if.end51
if.then47: ; preds = %while.end
%30 = bitcast i16* %n to i8*
%31 = load i8** %p, align 4
%incdec.ptr48 = getelementptr inbounds i8* %31, i32 1
store i8* %incdec.ptr48, i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %30, i8* %incdec.ptr48, i32 2, i32 1, i1 false)
%32 = load i16* %n, align 2
%conv49 = zext i16 %32 to i32
%33 = load i32** %datalen.addr, align 4
store i32 %conv49, i32* %33, align 4
%34 = load i8** %p, align 4
%add.ptr50 = getelementptr inbounds i8* %34, i32 2
store i8* %add.ptr50, i8** %retval
br label %return
if.end51: ; preds = %while.end
store i8* null, i8** %retval
br label %return
return: ; preds = %if.end51, %if.then47, %if.then38, %if.then4, %if.then
%35 = load i8** %retval
ret i8* %35
}
define internal hidden i8* @_gcry_sexp_nth_buffer(%struct.gcry_sexp* %list, i32 %number, i32* %rlength) nounwind {
entry:
%retval = alloca i8*, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%number.addr = alloca i32, align 4
%rlength.addr = alloca i32*, align 4
%s = alloca i8*, align 4
%n = alloca i32, align 4
%buf = alloca i8*, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i32 %number, i32* %number.addr, align 4
store i32* %rlength, i32** %rlength.addr, align 4
%0 = load i32** %rlength.addr, align 4
store i32 0, i32* %0, align 4
%1 = load %struct.gcry_sexp** %list.addr, align 4
%2 = load i32* %number.addr, align 4
%call = call i8* @sexp_nth_data(%struct.gcry_sexp* %1, i32 %2, i32* %n)
store i8* %call, i8** %s, align 4
%3 = load i8** %s, align 4
%tobool = icmp ne i8* %3, null
br i1 %tobool, label %lor.lhs.false, label %if.then
lor.lhs.false: ; preds = %entry
%4 = load i32* %n, align 4
%tobool1 = icmp ne i32 %4, 0
br i1 %tobool1, label %if.end, label %if.then
if.then: ; preds = %lor.lhs.false, %entry
store i8* null, i8** %retval
br label %return
if.end: ; preds = %lor.lhs.false
%5 = load i32* %n, align 4
%call2 = call noalias i8* @_gcry_malloc(i32 %5)
store i8* %call2, i8** %buf, align 4
%6 = load i8** %buf, align 4
%tobool3 = icmp ne i8* %6, null
br i1 %tobool3, label %if.end5, label %if.then4
if.then4: ; preds = %if.end
store i8* null, i8** %retval
br label %return
if.end5: ; preds = %if.end
%7 = load i8** %buf, align 4
%8 = load i8** %s, align 4
%9 = load i32* %n, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %8, i32 %9, i32 1, i1 false)
%10 = load i32* %n, align 4
%11 = load i32** %rlength.addr, align 4
store i32 %10, i32* %11, align 4
%12 = load i8** %buf, align 4
store i8* %12, i8** %retval
br label %return
return: ; preds = %if.end5, %if.then4, %if.then
%13 = load i8** %retval
ret i8* %13
}
define internal hidden i8* @_gcry_sexp_nth_string(%struct.gcry_sexp* %list, i32 %number) nounwind {
entry:
%retval = alloca i8*, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%number.addr = alloca i32, align 4
%s = alloca i8*, align 4
%n = alloca i32, align 4
%buf = alloca i8*, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i32 %number, i32* %number.addr, align 4
%0 = load %struct.gcry_sexp** %list.addr, align 4
%1 = load i32* %number.addr, align 4
%call = call i8* @sexp_nth_data(%struct.gcry_sexp* %0, i32 %1, i32* %n)
store i8* %call, i8** %s, align 4
%2 = load i8** %s, align 4
%tobool = icmp ne i8* %2, null
br i1 %tobool, label %lor.lhs.false, label %if.then
lor.lhs.false: ; preds = %entry
%3 = load i32* %n, align 4
%cmp = icmp ult i32 %3, 1
br i1 %cmp, label %if.then, label %lor.lhs.false1
lor.lhs.false1: ; preds = %lor.lhs.false
%4 = load i32* %n, align 4
%add = add i32 %4, 1
%cmp2 = icmp ult i32 %add, 1
br i1 %cmp2, label %if.then, label %if.end
if.then: ; preds = %lor.lhs.false1, %lor.lhs.false, %entry
store i8* null, i8** %retval
br label %return
if.end: ; preds = %lor.lhs.false1
%5 = load i32* %n, align 4
%add3 = add i32 %5, 1
%call4 = call noalias i8* @_gcry_malloc(i32 %add3)
store i8* %call4, i8** %buf, align 4
%6 = load i8** %buf, align 4
%tobool5 = icmp ne i8* %6, null
br i1 %tobool5, label %if.end7, label %if.then6
if.then6: ; preds = %if.end
store i8* null, i8** %retval
br label %return
if.end7: ; preds = %if.end
%7 = load i8** %buf, align 4
%8 = load i8** %s, align 4
%9 = load i32* %n, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %8, i32 %9, i32 1, i1 false)
%10 = load i32* %n, align 4
%11 = load i8** %buf, align 4
%arrayidx = getelementptr inbounds i8* %11, i32 %10
store i8 0, i8* %arrayidx, align 1
%12 = load i8** %buf, align 4
store i8* %12, i8** %retval
br label %return
return: ; preds = %if.end7, %if.then6, %if.then
%13 = load i8** %retval
ret i8* %13
}
define internal hidden %struct.gcry_mpi* @_gcry_sexp_nth_mpi(%struct.gcry_sexp* %list, i32 %number, i32 %mpifmt) nounwind {
entry:
%retval = alloca %struct.gcry_mpi*, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%number.addr = alloca i32, align 4
%mpifmt.addr = alloca i32, align 4
%s = alloca i8*, align 4
%n = alloca i32, align 4
%a = alloca %struct.gcry_mpi*, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i32 %number, i32* %number.addr, align 4
store i32 %mpifmt, i32* %mpifmt.addr, align 4
%0 = load i32* %mpifmt.addr, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
store i32 1, i32* %mpifmt.addr, align 4
br label %if.end
if.end: ; preds = %if.then, %entry
%1 = load %struct.gcry_sexp** %list.addr, align 4
%2 = load i32* %number.addr, align 4
%call = call i8* @sexp_nth_data(%struct.gcry_sexp* %1, i32 %2, i32* %n)
store i8* %call, i8** %s, align 4
%3 = load i8** %s, align 4
%tobool1 = icmp ne i8* %3, null
br i1 %tobool1, label %if.end3, label %if.then2
if.then2: ; preds = %if.end
store %struct.gcry_mpi* null, %struct.gcry_mpi** %retval
br label %return
if.end3: ; preds = %if.end
%4 = load i32* %mpifmt.addr, align 4
%5 = load i8** %s, align 4
%6 = load i32* %n, align 4
%call4 = call i32 @_gcry_mpi_scan(%struct.gcry_mpi** %a, i32 %4, i8* %5, i32 %6, i32* null)
%tobool5 = icmp ne i32 %call4, 0
br i1 %tobool5, label %if.then6, label %if.end7
if.then6: ; preds = %if.end3
store %struct.gcry_mpi* null, %struct.gcry_mpi** %retval
br label %return
if.end7: ; preds = %if.end3
%7 = load %struct.gcry_mpi** %a, align 4
store %struct.gcry_mpi* %7, %struct.gcry_mpi** %retval
br label %return
return: ; preds = %if.end7, %if.then6, %if.then2
%8 = load %struct.gcry_mpi** %retval
ret %struct.gcry_mpi* %8
}
define internal hidden %struct.gcry_mpi* @_gcry_sexp_nth_opaque_mpi(%struct.gcry_sexp* %list, i32 %number) nounwind {
entry:
%retval = alloca %struct.gcry_mpi*, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%number.addr = alloca i32, align 4
%p = alloca i8*, align 4
%n = alloca i32, align 4
%a = alloca %struct.gcry_mpi*, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i32 %number, i32* %number.addr, align 4
%0 = load %struct.gcry_sexp** %list.addr, align 4
%1 = load i32* %number.addr, align 4
%call = call i8* @_gcry_sexp_nth_buffer(%struct.gcry_sexp* %0, i32 %1, i32* %n)
store i8* %call, i8** %p, align 4
%2 = load i8** %p, align 4
%tobool = icmp ne i8* %2, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
store %struct.gcry_mpi* null, %struct.gcry_mpi** %retval
br label %return
if.end: ; preds = %entry
%3 = load %struct.gcry_sexp** %list.addr, align 4
%4 = bitcast %struct.gcry_sexp* %3 to i8*
%call1 = call i32 @_gcry_is_secure(i8* %4) nounwind readonly
%tobool2 = icmp ne i32 %call1, 0
br i1 %tobool2, label %cond.true, label %cond.false
cond.true: ; preds = %if.end
%call3 = call %struct.gcry_mpi* @_gcry_mpi_snew(i32 0)
br label %cond.end
cond.false: ; preds = %if.end
%call4 = call %struct.gcry_mpi* @_gcry_mpi_new(i32 0)
br label %cond.end
cond.end: ; preds = %cond.false, %cond.true
%cond = phi %struct.gcry_mpi* [ %call3, %cond.true ], [ %call4, %cond.false ]
store %struct.gcry_mpi* %cond, %struct.gcry_mpi** %a, align 4
%5 = load %struct.gcry_mpi** %a, align 4
%tobool5 = icmp ne %struct.gcry_mpi* %5, null
br i1 %tobool5, label %if.then6, label %if.else
if.then6: ; preds = %cond.end
%6 = load %struct.gcry_mpi** %a, align 4
%7 = load i8** %p, align 4
%8 = load i32* %n, align 4
%mul = mul i32 %8, 8
%call7 = call %struct.gcry_mpi* @_gcry_mpi_set_opaque(%struct.gcry_mpi* %6, i8* %7, i32 %mul)
br label %if.end8
if.else: ; preds = %cond.end
%9 = load i8** %p, align 4
call void @_gcry_free(i8* %9)
br label %if.end8
if.end8: ; preds = %if.else, %if.then6
%10 = load %struct.gcry_mpi** %a, align 4
store %struct.gcry_mpi* %10, %struct.gcry_mpi** %retval
br label %return
return: ; preds = %if.end8, %if.then
%11 = load %struct.gcry_mpi** %retval
ret %struct.gcry_mpi* %11
}
define internal hidden %struct.gcry_sexp* @_gcry_sexp_cdr(%struct.gcry_sexp* %list) nounwind {
entry:
%retval = alloca %struct.gcry_sexp*, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%p = alloca i8*, align 4
%head = alloca i8*, align 4
%n = alloca i16, align 2
%newlist = alloca %struct.gcry_sexp*, align 4
%d = alloca i8*, align 4
%level = alloca i32, align 4
%skip = alloca i32, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i32 0, i32* %level, align 4
store i32 1, i32* %skip, align 4
%0 = load %struct.gcry_sexp** %list.addr, align 4
%tobool = icmp ne %struct.gcry_sexp* %0, null
br i1 %tobool, label %lor.lhs.false, label %if.then
lor.lhs.false: ; preds = %entry
%1 = load %struct.gcry_sexp** %list.addr, align 4
%d1 = getelementptr inbounds %struct.gcry_sexp* %1, i32 0, i32 0
%arrayidx = getelementptr inbounds [1 x i8]* %d1, i32 0, i32 0
%2 = load i8* %arrayidx, align 1
%conv = zext i8 %2 to i32
%cmp = icmp ne i32 %conv, 3
br i1 %cmp, label %if.then, label %if.end
if.then: ; preds = %lor.lhs.false, %entry
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end: ; preds = %lor.lhs.false
%3 = load %struct.gcry_sexp** %list.addr, align 4
%d3 = getelementptr inbounds %struct.gcry_sexp* %3, i32 0, i32 0
%arraydecay = getelementptr inbounds [1 x i8]* %d3, i32 0, i32 0
store i8* %arraydecay, i8** %p, align 4
br label %while.cond
while.cond: ; preds = %if.end38, %if.end
%4 = load i32* %skip, align 4
%cmp4 = icmp sgt i32 %4, 0
br i1 %cmp4, label %while.body, label %while.end
while.body: ; preds = %while.cond
%5 = load i8** %p, align 4
%incdec.ptr = getelementptr inbounds i8* %5, i32 1
store i8* %incdec.ptr, i8** %p, align 4
%6 = load i8** %p, align 4
%7 = load i8* %6, align 1
%conv6 = zext i8 %7 to i32
%cmp7 = icmp eq i32 %conv6, 1
br i1 %cmp7, label %if.then9, label %if.else
if.then9: ; preds = %while.body
%8 = bitcast i16* %n to i8*
%9 = load i8** %p, align 4
%incdec.ptr10 = getelementptr inbounds i8* %9, i32 1
store i8* %incdec.ptr10, i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %8, i8* %incdec.ptr10, i32 2, i32 1, i1 false)
%10 = load i16* %n, align 2
%conv11 = zext i16 %10 to i32
%add = add i32 2, %conv11
%11 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %11, i32 %add
store i8* %add.ptr, i8** %p, align 4
%12 = load i8** %p, align 4
%incdec.ptr12 = getelementptr inbounds i8* %12, i32 -1
store i8* %incdec.ptr12, i8** %p, align 4
%13 = load i32* %level, align 4
%tobool13 = icmp ne i32 %13, 0
br i1 %tobool13, label %if.end15, label %if.then14
if.then14: ; preds = %if.then9
%14 = load i32* %skip, align 4
%dec = add nsw i32 %14, -1
store i32 %dec, i32* %skip, align 4
br label %if.end15
if.end15: ; preds = %if.then14, %if.then9
br label %if.end38
if.else: ; preds = %while.body
%15 = load i8** %p, align 4
%16 = load i8* %15, align 1
%conv16 = zext i8 %16 to i32
%cmp17 = icmp eq i32 %conv16, 3
br i1 %cmp17, label %if.then19, label %if.else20
if.then19: ; preds = %if.else
%17 = load i32* %level, align 4
%inc = add nsw i32 %17, 1
store i32 %inc, i32* %level, align 4
br label %if.end37
if.else20: ; preds = %if.else
%18 = load i8** %p, align 4
%19 = load i8* %18, align 1
%conv21 = zext i8 %19 to i32
%cmp22 = icmp eq i32 %conv21, 4
br i1 %cmp22, label %if.then24, label %if.else30
if.then24: ; preds = %if.else20
%20 = load i32* %level, align 4
%dec25 = add nsw i32 %20, -1
store i32 %dec25, i32* %level, align 4
%21 = load i32* %level, align 4
%tobool26 = icmp ne i32 %21, 0
br i1 %tobool26, label %if.end29, label %if.then27
if.then27: ; preds = %if.then24
%22 = load i32* %skip, align 4
%dec28 = add nsw i32 %22, -1
store i32 %dec28, i32* %skip, align 4
br label %if.end29
if.end29: ; preds = %if.then27, %if.then24
br label %if.end36
if.else30: ; preds = %if.else20
%23 = load i8** %p, align 4
%24 = load i8* %23, align 1
%conv31 = zext i8 %24 to i32
%cmp32 = icmp eq i32 %conv31, 0
br i1 %cmp32, label %if.then34, label %if.end35
if.then34: ; preds = %if.else30
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end35: ; preds = %if.else30
br label %if.end36
if.end36: ; preds = %if.end35, %if.end29
br label %if.end37
if.end37: ; preds = %if.end36, %if.then19
br label %if.end38
if.end38: ; preds = %if.end37, %if.end15
br label %while.cond
while.end: ; preds = %while.cond
%25 = load i8** %p, align 4
%incdec.ptr39 = getelementptr inbounds i8* %25, i32 1
store i8* %incdec.ptr39, i8** %p, align 4
%26 = load i8** %p, align 4
store i8* %26, i8** %head, align 4
store i32 0, i32* %level, align 4
br label %do.body
do.body: ; preds = %do.cond, %while.end
%27 = load i8** %p, align 4
%28 = load i8* %27, align 1
%conv40 = zext i8 %28 to i32
%cmp41 = icmp eq i32 %conv40, 1
br i1 %cmp41, label %if.then43, label %if.else49
if.then43: ; preds = %do.body
%29 = bitcast i16* %n to i8*
%30 = load i8** %p, align 4
%incdec.ptr44 = getelementptr inbounds i8* %30, i32 1
store i8* %incdec.ptr44, i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %29, i8* %incdec.ptr44, i32 2, i32 1, i1 false)
%31 = load i16* %n, align 2
%conv45 = zext i16 %31 to i32
%add46 = add i32 2, %conv45
%32 = load i8** %p, align 4
%add.ptr47 = getelementptr inbounds i8* %32, i32 %add46
store i8* %add.ptr47, i8** %p, align 4
%33 = load i8** %p, align 4
%incdec.ptr48 = getelementptr inbounds i8* %33, i32 -1
store i8* %incdec.ptr48, i8** %p, align 4
br label %if.end69
if.else49: ; preds = %do.body
%34 = load i8** %p, align 4
%35 = load i8* %34, align 1
%conv50 = zext i8 %35 to i32
%cmp51 = icmp eq i32 %conv50, 3
br i1 %cmp51, label %if.then53, label %if.else55
if.then53: ; preds = %if.else49
%36 = load i32* %level, align 4
%inc54 = add nsw i32 %36, 1
store i32 %inc54, i32* %level, align 4
br label %if.end68
if.else55: ; preds = %if.else49
%37 = load i8** %p, align 4
%38 = load i8* %37, align 1
%conv56 = zext i8 %38 to i32
%cmp57 = icmp eq i32 %conv56, 4
br i1 %cmp57, label %if.then59, label %if.else61
if.then59: ; preds = %if.else55
%39 = load i32* %level, align 4
%dec60 = add nsw i32 %39, -1
store i32 %dec60, i32* %level, align 4
br label %if.end67
if.else61: ; preds = %if.else55
%40 = load i8** %p, align 4
%41 = load i8* %40, align 1
%conv62 = zext i8 %41 to i32
%cmp63 = icmp eq i32 %conv62, 0
br i1 %cmp63, label %if.then65, label %if.end66
if.then65: ; preds = %if.else61
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end66: ; preds = %if.else61
br label %if.end67
if.end67: ; preds = %if.end66, %if.then59
br label %if.end68
if.end68: ; preds = %if.end67, %if.then53
br label %if.end69
if.end69: ; preds = %if.end68, %if.then43
%42 = load i8** %p, align 4
%incdec.ptr70 = getelementptr inbounds i8* %42, i32 1
store i8* %incdec.ptr70, i8** %p, align 4
br label %do.cond
do.cond: ; preds = %if.end69
%43 = load i32* %level, align 4
%tobool71 = icmp ne i32 %43, 0
br i1 %tobool71, label %do.body, label %do.end
do.end: ; preds = %do.cond
%44 = load i8** %p, align 4
%45 = load i8** %head, align 4
%sub.ptr.lhs.cast = ptrtoint i8* %44 to i32
%sub.ptr.rhs.cast = ptrtoint i8* %45 to i32
%sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
%conv72 = trunc i32 %sub.ptr.sub to i16
store i16 %conv72, i16* %n, align 2
%46 = load i16* %n, align 2
%conv73 = zext i16 %46 to i32
%add74 = add i32 1, %conv73
%add75 = add i32 %add74, 2
%call = call noalias i8* @_gcry_malloc(i32 %add75)
%47 = bitcast i8* %call to %struct.gcry_sexp*
store %struct.gcry_sexp* %47, %struct.gcry_sexp** %newlist, align 4
%48 = load %struct.gcry_sexp** %newlist, align 4
%tobool76 = icmp ne %struct.gcry_sexp* %48, null
br i1 %tobool76, label %if.end78, label %if.then77
if.then77: ; preds = %do.end
store %struct.gcry_sexp* null, %struct.gcry_sexp** %retval
br label %return
if.end78: ; preds = %do.end
%49 = load %struct.gcry_sexp** %newlist, align 4
%d79 = getelementptr inbounds %struct.gcry_sexp* %49, i32 0, i32 0
%arraydecay80 = getelementptr inbounds [1 x i8]* %d79, i32 0, i32 0
store i8* %arraydecay80, i8** %d, align 4
%50 = load i8** %d, align 4
%incdec.ptr81 = getelementptr inbounds i8* %50, i32 1
store i8* %incdec.ptr81, i8** %d, align 4
store i8 3, i8* %50, align 1
%51 = load i8** %d, align 4
%52 = load i8** %head, align 4
%53 = load i16* %n, align 2
%conv82 = zext i16 %53 to i32
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %51, i8* %52, i32 %conv82, i32 1, i1 false)
%54 = load i16* %n, align 2
%conv83 = zext i16 %54 to i32
%55 = load i8** %d, align 4
%add.ptr84 = getelementptr inbounds i8* %55, i32 %conv83
store i8* %add.ptr84, i8** %d, align 4
%56 = load i8** %d, align 4
%incdec.ptr85 = getelementptr inbounds i8* %56, i32 1
store i8* %incdec.ptr85, i8** %d, align 4
store i8 4, i8* %56, align 1
%57 = load i8** %d, align 4
%incdec.ptr86 = getelementptr inbounds i8* %57, i32 1
store i8* %incdec.ptr86, i8** %d, align 4
store i8 0, i8* %57, align 1
%58 = load %struct.gcry_sexp** %newlist, align 4
%call87 = call %struct.gcry_sexp* @normalize(%struct.gcry_sexp* %58)
store %struct.gcry_sexp* %call87, %struct.gcry_sexp** %retval
br label %return
return: ; preds = %if.end78, %if.then77, %if.then65, %if.then34, %if.then
%59 = load %struct.gcry_sexp** %retval
ret %struct.gcry_sexp* %59
}
define internal hidden %struct.gcry_sexp* @_gcry_sexp_cadr(%struct.gcry_sexp* %list) nounwind {
entry:
%list.addr = alloca %struct.gcry_sexp*, align 4
%a = alloca %struct.gcry_sexp*, align 4
%b = alloca %struct.gcry_sexp*, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
%0 = load %struct.gcry_sexp** %list.addr, align 4
%call = call %struct.gcry_sexp* @_gcry_sexp_cdr(%struct.gcry_sexp* %0)
store %struct.gcry_sexp* %call, %struct.gcry_sexp** %a, align 4
%1 = load %struct.gcry_sexp** %a, align 4
%call1 = call %struct.gcry_sexp* @_gcry_sexp_car(%struct.gcry_sexp* %1)
store %struct.gcry_sexp* %call1, %struct.gcry_sexp** %b, align 4
%2 = load %struct.gcry_sexp** %a, align 4
call void @_gcry_sexp_release(%struct.gcry_sexp* %2)
%3 = load %struct.gcry_sexp** %b, align 4
ret %struct.gcry_sexp* %3
}
define internal hidden i32 @_gcry_sexp_build(%struct.gcry_sexp** %retsexp, i32* %erroff, i8* %format, ...) nounwind {
entry:
%retsexp.addr = alloca %struct.gcry_sexp**, align 4
%erroff.addr = alloca i32*, align 4
%format.addr = alloca i8*, align 4
%rc = alloca i32, align 4
%arg_ptr = alloca [4 x i32], align 4
store %struct.gcry_sexp** %retsexp, %struct.gcry_sexp*** %retsexp.addr, align 4
store i32* %erroff, i32** %erroff.addr, align 4
store i8* %format, i8** %format.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%0 = load %struct.gcry_sexp*** %retsexp.addr, align 4
%1 = load i32** %erroff.addr, align 4
%2 = load i8** %format.addr, align 4
%3 = load i8** %format.addr, align 4
%call = call i32 @strlen(i8* %3)
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%call3 = call i32 @vsexp_sscan(%struct.gcry_sexp** %0, i32* %1, i8* %2, i32 %call, i32 1, i8** null, i32* %arraydecay2)
store i32 %call3, i32* %rc, align 4
%arraydecay4 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay45 = bitcast i32* %arraydecay4 to i8*
call void @llvm.va_end(i8* %arraydecay45)
%4 = load i32* %rc, align 4
ret i32 %4
}
define internal i32 @vsexp_sscan(%struct.gcry_sexp** %retsexp, i32* %erroff, i8* %buffer, i32 %length, i32 %argflag, i8** %arg_list, i32* %arg_ptr) nounwind {
entry:
%retsexp.addr = alloca %struct.gcry_sexp**, align 4
%erroff.addr = alloca i32*, align 4
%buffer.addr = alloca i8*, align 4
%length.addr = alloca i32, align 4
%argflag.addr = alloca i32, align 4
%arg_list.addr = alloca i8**, align 4
%arg_ptr.addr = alloca i32*, align 4
%err = alloca i32, align 4
%p = alloca i8*, align 4
%n = alloca i32, align 4
%digptr = alloca i8*, align 4
%quoted = alloca i8*, align 4
%tokenp = alloca i8*, align 4
%hexfmt = alloca i8*, align 4
%base64 = alloca i8*, align 4
%disphint = alloca i8*, align 4
%percent = alloca i8*, align 4
%hexcount = alloca i32, align 4
%quoted_esc = alloca i32, align 4
%datalen = alloca i32, align 4
%dummy_erroff = alloca i32, align 4
%c = alloca %struct.make_space_ctx, align 4
%arg_counter = alloca i32, align 4
%level = alloca i32, align 4
%_ms_err = alloca i32, align 4
%ashort = alloca i16, align 2
%save = alloca i8*, align 4
%len = alloca i32, align 4
%_ms_err187 = alloca i32, align 4
%ashort203 = alloca i16, align 2
%ashort216 = alloca i16, align 2
%_ms_err242 = alloca i32, align 4
%ashort254 = alloca i16, align 2
%tmpc = alloca i32, align 4
%_ms_err336 = alloca i32, align 4
%ashort348 = alloca i16, align 2
%m = alloca %struct.gcry_mpi*, align 4
%nm = alloca i32, align 4
%mpifmt = alloca i32, align 4
%mp = alloca i8*, align 4
%nbits = alloca i32, align 4
%_ms_err417 = alloca i32, align 4
%newsexp = alloca %struct.gcry_sexp*, align 4
%newhead = alloca i8*, align 4
%ashort470 = alloca i16, align 2
%_ms_err486 = alloca i32, align 4
%newsexp504 = alloca %struct.gcry_sexp*, align 4
%newhead505 = alloca i8*, align 4
%ashort541 = alloca i16, align 2
%astr = alloca i8*, align 4
%alen = alloca i32, align 4
%_ms_err570 = alloca i32, align 4
%ashort582 = alloca i16, align 2
%astr596 = alloca i8*, align 4
%alen597 = alloca i32, align 4
%_ms_err615 = alloca i32, align 4
%newsexp635 = alloca %struct.gcry_sexp*, align 4
%newhead636 = alloca i8*, align 4
%ashort672 = alloca i16, align 2
%aint = alloca i32, align 4
%alen686 = alloca i32, align 4
%buf = alloca [35 x i8], align 1
%_ms_err700 = alloca i32, align 4
%ashort712 = alloca i16, align 2
%aint726 = alloca i32, align 4
%alen727 = alloca i32, align 4
%buf728 = alloca [35 x i8], align 1
%_ms_err742 = alloca i32, align 4
%ashort754 = alloca i16, align 2
%asexp = alloca %struct.gcry_sexp*, align 4
%alen768 = alloca i32, align 4
%aoff = alloca i32, align 4
%_ms_err781 = alloca i32, align 4
%_ms_err819 = alloca i32, align 4
%_ms_err843 = alloca i32, align 4
%_ms_err968 = alloca i32, align 4
%_vptr = alloca i8*, align 4
%_vlen = alloca i32, align 4
%_vset = alloca i8, align 1
%_vset_long = alloca i32, align 4
%_vptr_long = alloca i32*, align 4
store %struct.gcry_sexp** %retsexp, %struct.gcry_sexp*** %retsexp.addr, align 4
store i32* %erroff, i32** %erroff.addr, align 4
store i8* %buffer, i8** %buffer.addr, align 4
store i32 %length, i32* %length.addr, align 4
store i32 %argflag, i32* %argflag.addr, align 4
store i8** %arg_list, i8*** %arg_list.addr, align 4
store i32* %arg_ptr, i32** %arg_ptr.addr, align 4
store i32 0, i32* %err, align 4
store i8* null, i8** %digptr, align 4
store i8* null, i8** %quoted, align 4
store i8* null, i8** %tokenp, align 4
store i8* null, i8** %hexfmt, align 4
store i8* null, i8** %base64, align 4
store i8* null, i8** %disphint, align 4
store i8* null, i8** %percent, align 4
store i32 0, i32* %hexcount, align 4
store i32 0, i32* %quoted_esc, align 4
store i32 0, i32* %datalen, align 4
store i32 0, i32* %arg_counter, align 4
store i32 0, i32* %level, align 4
%0 = load i32** %erroff.addr, align 4
%tobool = icmp ne i32* %0, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
store i32* %dummy_erroff, i32** %erroff.addr, align 4
br label %if.end
if.end: ; preds = %if.then, %entry
%1 = load i32* %length.addr, align 4
%add = add i32 %1, 2
%allocated = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 1
store i32 %add, i32* %allocated, align 4
%2 = load i8** %buffer.addr, align 4
%tobool1 = icmp ne i8* %2, null
br i1 %tobool1, label %land.lhs.true, label %if.else
land.lhs.true: ; preds = %if.end
%3 = load i32* %length.addr, align 4
%tobool2 = icmp ne i32 %3, 0
br i1 %tobool2, label %land.lhs.true3, label %if.else
land.lhs.true3: ; preds = %land.lhs.true
%4 = load i8** %buffer.addr, align 4
%call = call i32 @_gcry_is_secure(i8* %4) nounwind readonly
%tobool4 = icmp ne i32 %call, 0
br i1 %tobool4, label %if.then5, label %if.else
if.then5: ; preds = %land.lhs.true3
%allocated6 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 1
%5 = load i32* %allocated6, align 4
%add7 = add i32 1, %5
%sub = sub i32 %add7, 1
%call8 = call noalias i8* @_gcry_malloc_secure(i32 %sub)
%6 = bitcast i8* %call8 to %struct.gcry_sexp*
%sexp = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
store %struct.gcry_sexp* %6, %struct.gcry_sexp** %sexp, align 4
br label %if.end14
if.else: ; preds = %land.lhs.true3, %land.lhs.true, %if.end
%allocated9 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 1
%7 = load i32* %allocated9, align 4
%add10 = add i32 1, %7
%sub11 = sub i32 %add10, 1
%call12 = call noalias i8* @_gcry_malloc(i32 %sub11)
%8 = bitcast i8* %call12 to %struct.gcry_sexp*
%sexp13 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
store %struct.gcry_sexp* %8, %struct.gcry_sexp** %sexp13, align 4
br label %if.end14
if.end14: ; preds = %if.else, %if.then5
%sexp15 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%9 = load %struct.gcry_sexp** %sexp15, align 4
%tobool16 = icmp ne %struct.gcry_sexp* %9, null
br i1 %tobool16, label %if.end20, label %if.then17
if.then17: ; preds = %if.end14
%call18 = call i32* @__errno_location() nounwind readnone
%10 = load i32* %call18, align 4
%call19 = call i32 @gpg_err_code_from_errno(i32 %10)
store i32 %call19, i32* %err, align 4
%11 = load i32** %erroff.addr, align 4
store i32 0, i32* %11, align 4
br label %leave
if.end20: ; preds = %if.end14
%sexp21 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%12 = load %struct.gcry_sexp** %sexp21, align 4
%d = getelementptr inbounds %struct.gcry_sexp* %12, i32 0, i32 0
%arraydecay = getelementptr inbounds [1 x i8]* %d, i32 0, i32 0
%pos = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
store i8* %arraydecay, i8** %pos, align 4
%13 = load i8** %buffer.addr, align 4
store i8* %13, i8** %p, align 4
%14 = load i32* %length.addr, align 4
store i32 %14, i32* %n, align 4
br label %for.cond
for.cond: ; preds = %for.inc963, %if.end20
%15 = load i32* %n, align 4
%tobool22 = icmp ne i32 %15, 0
br i1 %tobool22, label %for.body, label %for.end966
for.body: ; preds = %for.cond
%16 = load i8** %tokenp, align 4
%tobool23 = icmp ne i8* %16, null
br i1 %tobool23, label %land.lhs.true24, label %if.end48
land.lhs.true24: ; preds = %for.body
%17 = load i8** %hexfmt, align 4
%tobool25 = icmp ne i8* %17, null
br i1 %tobool25, label %if.end48, label %if.then26
if.then26: ; preds = %land.lhs.true24
%18 = load i8** %p, align 4
%19 = load i8* %18, align 1
%conv = sext i8 %19 to i32
%call27 = call i8* @strchr(i8* getelementptr inbounds ([71 x i8]* @vsexp_sscan.tokenchars, i32 0, i32 0), i32 %conv)
%tobool28 = icmp ne i8* %call27, null
br i1 %tobool28, label %if.then29, label %if.else30
if.then29: ; preds = %if.then26
br label %for.inc963
if.else30: ; preds = %if.then26
%20 = load i8** %p, align 4
%21 = load i8** %tokenp, align 4
%sub.ptr.lhs.cast = ptrtoint i8* %20 to i32
%sub.ptr.rhs.cast = ptrtoint i8* %21 to i32
%sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
store i32 %sub.ptr.sub, i32* %datalen, align 4
br label %do.body
do.body: ; preds = %if.else30
%22 = load i32* %datalen, align 4
%call31 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %22)
store i32 %call31, i32* %_ms_err, align 4
%23 = load i32* %_ms_err, align 4
%tobool32 = icmp ne i32 %23, 0
br i1 %tobool32, label %if.then33, label %if.end37
if.then33: ; preds = %do.body
%24 = load i32* %_ms_err, align 4
store i32 %24, i32* %err, align 4
%25 = load i8** %p, align 4
%26 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast34 = ptrtoint i8* %25 to i32
%sub.ptr.rhs.cast35 = ptrtoint i8* %26 to i32
%sub.ptr.sub36 = sub i32 %sub.ptr.lhs.cast34, %sub.ptr.rhs.cast35
%27 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub36, i32* %27, align 4
br label %leave
if.end37: ; preds = %do.body
br label %do.end
do.end: ; preds = %if.end37
%pos38 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%28 = load i8** %pos38, align 4
%incdec.ptr = getelementptr inbounds i8* %28, i32 1
store i8* %incdec.ptr, i8** %pos38, align 4
store i8 1, i8* %28, align 1
br label %do.body39
do.body39: ; preds = %do.end
%29 = load i32* %datalen, align 4
%conv40 = trunc i32 %29 to i16
store i16 %conv40, i16* %ashort, align 2
%pos41 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%30 = load i8** %pos41, align 4
%31 = bitcast i16* %ashort to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %30, i8* %31, i32 2, i32 1, i1 false)
%pos42 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%32 = load i8** %pos42, align 4
%add.ptr = getelementptr inbounds i8* %32, i32 2
store i8* %add.ptr, i8** %pos42, align 4
br label %do.end43
do.end43: ; preds = %do.body39
%pos44 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%33 = load i8** %pos44, align 4
%34 = load i8** %tokenp, align 4
%35 = load i32* %datalen, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %33, i8* %34, i32 %35, i32 1, i1 false)
%36 = load i32* %datalen, align 4
%pos45 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%37 = load i8** %pos45, align 4
%add.ptr46 = getelementptr inbounds i8* %37, i32 %36
store i8* %add.ptr46, i8** %pos45, align 4
store i8* null, i8** %tokenp, align 4
br label %if.end47
if.end47: ; preds = %do.end43
br label %if.end48
if.end48: ; preds = %if.end47, %land.lhs.true24, %for.body
%38 = load i8** %quoted, align 4
%tobool49 = icmp ne i8* %38, null
br i1 %tobool49, label %if.then50, label %if.else223
if.then50: ; preds = %if.end48
%39 = load i32* %quoted_esc, align 4
%tobool51 = icmp ne i32 %39, 0
br i1 %tobool51, label %if.then52, label %if.else175
if.then52: ; preds = %if.then50
%40 = load i8** %p, align 4
%41 = load i8* %40, align 1
%conv53 = sext i8 %41 to i32
switch i32 %conv53, label %sw.default [
i32 98, label %sw.bb
i32 116, label %sw.bb
i32 118, label %sw.bb
i32 110, label %sw.bb
i32 102, label %sw.bb
i32 114, label %sw.bb
i32 34, label %sw.bb
i32 39, label %sw.bb
i32 92, label %sw.bb
i32 48, label %sw.bb54
i32 49, label %sw.bb54
i32 50, label %sw.bb54
i32 51, label %sw.bb54
i32 52, label %sw.bb54
i32 53, label %sw.bb54
i32 54, label %sw.bb54
i32 55, label %sw.bb54
i32 120, label %sw.bb82
i32 13, label %sw.bb151
i32 10, label %sw.bb161
]
sw.bb: ; preds = %if.then52, %if.then52, %if.then52, %if.then52, %if.then52, %if.then52, %if.then52, %if.then52, %if.then52
store i32 0, i32* %quoted_esc, align 4
br label %sw.epilog
sw.bb54: ; preds = %if.then52, %if.then52, %if.then52, %if.then52, %if.then52, %if.then52, %if.then52, %if.then52
%42 = load i32* %n, align 4
%cmp = icmp ugt i32 %42, 2
br i1 %cmp, label %land.lhs.true56, label %if.then75
land.lhs.true56: ; preds = %sw.bb54
%43 = load i8** %p, align 4
%arrayidx = getelementptr inbounds i8* %43, i32 1
%44 = load i8* %arrayidx, align 1
%conv57 = sext i8 %44 to i32
%cmp58 = icmp sge i32 %conv57, 48
br i1 %cmp58, label %land.lhs.true60, label %if.then75
land.lhs.true60: ; preds = %land.lhs.true56
%45 = load i8** %p, align 4
%arrayidx61 = getelementptr inbounds i8* %45, i32 1
%46 = load i8* %arrayidx61, align 1
%conv62 = sext i8 %46 to i32
%cmp63 = icmp sle i32 %conv62, 55
br i1 %cmp63, label %land.lhs.true65, label %if.then75
land.lhs.true65: ; preds = %land.lhs.true60
%47 = load i8** %p, align 4
%arrayidx66 = getelementptr inbounds i8* %47, i32 2
%48 = load i8* %arrayidx66, align 1
%conv67 = sext i8 %48 to i32
%cmp68 = icmp sge i32 %conv67, 48
br i1 %cmp68, label %land.lhs.true70, label %if.then75
land.lhs.true70: ; preds = %land.lhs.true65
%49 = load i8** %p, align 4
%arrayidx71 = getelementptr inbounds i8* %49, i32 2
%50 = load i8* %arrayidx71, align 1
%conv72 = sext i8 %50 to i32
%cmp73 = icmp sle i32 %conv72, 55
br i1 %cmp73, label %if.end79, label %if.then75
if.then75: ; preds = %land.lhs.true70, %land.lhs.true65, %land.lhs.true60, %land.lhs.true56, %sw.bb54
%51 = load i8** %p, align 4
%52 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast76 = ptrtoint i8* %51 to i32
%sub.ptr.rhs.cast77 = ptrtoint i8* %52 to i32
%sub.ptr.sub78 = sub i32 %sub.ptr.lhs.cast76, %sub.ptr.rhs.cast77
%53 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub78, i32* %53, align 4
store i32 206, i32* %err, align 4
br label %leave
if.end79: ; preds = %land.lhs.true70
%54 = load i8** %p, align 4
%add.ptr80 = getelementptr inbounds i8* %54, i32 2
store i8* %add.ptr80, i8** %p, align 4
%55 = load i32* %n, align 4
%sub81 = sub i32 %55, 2
store i32 %sub81, i32* %n, align 4
store i32 0, i32* %quoted_esc, align 4
br label %sw.epilog
sw.bb82: ; preds = %if.then52
%56 = load i32* %n, align 4
%cmp83 = icmp ugt i32 %56, 2
br i1 %cmp83, label %land.lhs.true85, label %if.then144
land.lhs.true85: ; preds = %sw.bb82
%57 = load i8** %p, align 4
%add.ptr86 = getelementptr inbounds i8* %57, i32 1
%58 = load i8* %add.ptr86, align 1
%conv87 = sext i8 %58 to i32
%cmp88 = icmp sge i32 %conv87, 48
br i1 %cmp88, label %land.lhs.true90, label %lor.lhs.false
land.lhs.true90: ; preds = %land.lhs.true85
%59 = load i8** %p, align 4
%add.ptr91 = getelementptr inbounds i8* %59, i32 1
%60 = load i8* %add.ptr91, align 1
%conv92 = sext i8 %60 to i32
%cmp93 = icmp sle i32 %conv92, 57
br i1 %cmp93, label %land.lhs.true114, label %lor.lhs.false
lor.lhs.false: ; preds = %land.lhs.true90, %land.lhs.true85
%61 = load i8** %p, align 4
%add.ptr95 = getelementptr inbounds i8* %61, i32 1
%62 = load i8* %add.ptr95, align 1
%conv96 = sext i8 %62 to i32
%cmp97 = icmp sge i32 %conv96, 65
br i1 %cmp97, label %land.lhs.true99, label %lor.lhs.false104
land.lhs.true99: ; preds = %lor.lhs.false
%63 = load i8** %p, align 4
%add.ptr100 = getelementptr inbounds i8* %63, i32 1
%64 = load i8* %add.ptr100, align 1
%conv101 = sext i8 %64 to i32
%cmp102 = icmp sle i32 %conv101, 70
br i1 %cmp102, label %land.lhs.true114, label %lor.lhs.false104
lor.lhs.false104: ; preds = %land.lhs.true99, %lor.lhs.false
%65 = load i8** %p, align 4
%add.ptr105 = getelementptr inbounds i8* %65, i32 1
%66 = load i8* %add.ptr105, align 1
%conv106 = sext i8 %66 to i32
%cmp107 = icmp sge i32 %conv106, 97
br i1 %cmp107, label %land.lhs.true109, label %if.then144
land.lhs.true109: ; preds = %lor.lhs.false104
%67 = load i8** %p, align 4
%add.ptr110 = getelementptr inbounds i8* %67, i32 1
%68 = load i8* %add.ptr110, align 1
%conv111 = sext i8 %68 to i32
%cmp112 = icmp sle i32 %conv111, 102
br i1 %cmp112, label %land.lhs.true114, label %if.then144
land.lhs.true114: ; preds = %land.lhs.true109, %land.lhs.true99, %land.lhs.true90
%69 = load i8** %p, align 4
%add.ptr115 = getelementptr inbounds i8* %69, i32 2
%70 = load i8* %add.ptr115, align 1
%conv116 = sext i8 %70 to i32
%cmp117 = icmp sge i32 %conv116, 48
br i1 %cmp117, label %land.lhs.true119, label %lor.lhs.false124
land.lhs.true119: ; preds = %land.lhs.true114
%71 = load i8** %p, align 4
%add.ptr120 = getelementptr inbounds i8* %71, i32 2
%72 = load i8* %add.ptr120, align 1
%conv121 = sext i8 %72 to i32
%cmp122 = icmp sle i32 %conv121, 57
br i1 %cmp122, label %if.end148, label %lor.lhs.false124
lor.lhs.false124: ; preds = %land.lhs.true119, %land.lhs.true114
%73 = load i8** %p, align 4
%add.ptr125 = getelementptr inbounds i8* %73, i32 2
%74 = load i8* %add.ptr125, align 1
%conv126 = sext i8 %74 to i32
%cmp127 = icmp sge i32 %conv126, 65
br i1 %cmp127, label %land.lhs.true129, label %lor.lhs.false134
land.lhs.true129: ; preds = %lor.lhs.false124
%75 = load i8** %p, align 4
%add.ptr130 = getelementptr inbounds i8* %75, i32 2
%76 = load i8* %add.ptr130, align 1
%conv131 = sext i8 %76 to i32
%cmp132 = icmp sle i32 %conv131, 70
br i1 %cmp132, label %if.end148, label %lor.lhs.false134
lor.lhs.false134: ; preds = %land.lhs.true129, %lor.lhs.false124
%77 = load i8** %p, align 4
%add.ptr135 = getelementptr inbounds i8* %77, i32 2
%78 = load i8* %add.ptr135, align 1
%conv136 = sext i8 %78 to i32
%cmp137 = icmp sge i32 %conv136, 97
br i1 %cmp137, label %land.lhs.true139, label %if.then144
land.lhs.true139: ; preds = %lor.lhs.false134
%79 = load i8** %p, align 4
%add.ptr140 = getelementptr inbounds i8* %79, i32 2
%80 = load i8* %add.ptr140, align 1
%conv141 = sext i8 %80 to i32
%cmp142 = icmp sle i32 %conv141, 102
br i1 %cmp142, label %if.end148, label %if.then144
if.then144: ; preds = %land.lhs.true139, %lor.lhs.false134, %land.lhs.true109, %lor.lhs.false104, %sw.bb82
%81 = load i8** %p, align 4
%82 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast145 = ptrtoint i8* %81 to i32
%sub.ptr.rhs.cast146 = ptrtoint i8* %82 to i32
%sub.ptr.sub147 = sub i32 %sub.ptr.lhs.cast145, %sub.ptr.rhs.cast146
%83 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub147, i32* %83, align 4
store i32 206, i32* %err, align 4
br label %leave
if.end148: ; preds = %land.lhs.true139, %land.lhs.true129, %land.lhs.true119
%84 = load i8** %p, align 4
%add.ptr149 = getelementptr inbounds i8* %84, i32 2
store i8* %add.ptr149, i8** %p, align 4
%85 = load i32* %n, align 4
%sub150 = sub i32 %85, 2
store i32 %sub150, i32* %n, align 4
store i32 0, i32* %quoted_esc, align 4
br label %sw.epilog
sw.bb151: ; preds = %if.then52
%86 = load i32* %n, align 4
%tobool152 = icmp ne i32 %86, 0
br i1 %tobool152, label %land.lhs.true153, label %if.end160
land.lhs.true153: ; preds = %sw.bb151
%87 = load i8** %p, align 4
%arrayidx154 = getelementptr inbounds i8* %87, i32 1
%88 = load i8* %arrayidx154, align 1
%conv155 = sext i8 %88 to i32
%cmp156 = icmp eq i32 %conv155, 10
br i1 %cmp156, label %if.then158, label %if.end160
if.then158: ; preds = %land.lhs.true153
%89 = load i8** %p, align 4
%incdec.ptr159 = getelementptr inbounds i8* %89, i32 1
store i8* %incdec.ptr159, i8** %p, align 4
%90 = load i32* %n, align 4
%dec = add i32 %90, -1
store i32 %dec, i32* %n, align 4
br label %if.end160
if.end160: ; preds = %if.then158, %land.lhs.true153, %sw.bb151
store i32 0, i32* %quoted_esc, align 4
br label %sw.epilog
sw.bb161: ; preds = %if.then52
%91 = load i32* %n, align 4
%tobool162 = icmp ne i32 %91, 0
br i1 %tobool162, label %land.lhs.true163, label %if.end171
land.lhs.true163: ; preds = %sw.bb161
%92 = load i8** %p, align 4
%arrayidx164 = getelementptr inbounds i8* %92, i32 1
%93 = load i8* %arrayidx164, align 1
%conv165 = sext i8 %93 to i32
%cmp166 = icmp eq i32 %conv165, 13
br i1 %cmp166, label %if.then168, label %if.end171
if.then168: ; preds = %land.lhs.true163
%94 = load i8** %p, align 4
%incdec.ptr169 = getelementptr inbounds i8* %94, i32 1
store i8* %incdec.ptr169, i8** %p, align 4
%95 = load i32* %n, align 4
%dec170 = add i32 %95, -1
store i32 %dec170, i32* %n, align 4
br label %if.end171
if.end171: ; preds = %if.then168, %land.lhs.true163, %sw.bb161
store i32 0, i32* %quoted_esc, align 4
br label %sw.epilog
sw.default: ; preds = %if.then52
%96 = load i8** %p, align 4
%97 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast172 = ptrtoint i8* %96 to i32
%sub.ptr.rhs.cast173 = ptrtoint i8* %97 to i32
%sub.ptr.sub174 = sub i32 %sub.ptr.lhs.cast172, %sub.ptr.rhs.cast173
%98 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub174, i32* %98, align 4
store i32 206, i32* %err, align 4
br label %leave
sw.epilog: ; preds = %if.end171, %if.end160, %if.end148, %if.end79, %sw.bb
br label %if.end222
if.else175: ; preds = %if.then50
%99 = load i8** %p, align 4
%100 = load i8* %99, align 1
%conv176 = sext i8 %100 to i32
%cmp177 = icmp eq i32 %conv176, 92
br i1 %cmp177, label %if.then179, label %if.else180
if.then179: ; preds = %if.else175
store i32 1, i32* %quoted_esc, align 4
br label %if.end221
if.else180: ; preds = %if.else175
%101 = load i8** %p, align 4
%102 = load i8* %101, align 1
%conv181 = sext i8 %102 to i32
%cmp182 = icmp eq i32 %conv181, 34
br i1 %cmp182, label %if.then184, label %if.end220
if.then184: ; preds = %if.else180
%103 = load i8** %quoted, align 4
%incdec.ptr185 = getelementptr inbounds i8* %103, i32 1
store i8* %incdec.ptr185, i8** %quoted, align 4
br label %do.body186
do.body186: ; preds = %if.then184
%104 = load i8** %p, align 4
%105 = load i8** %quoted, align 4
%sub.ptr.lhs.cast188 = ptrtoint i8* %104 to i32
%sub.ptr.rhs.cast189 = ptrtoint i8* %105 to i32
%sub.ptr.sub190 = sub i32 %sub.ptr.lhs.cast188, %sub.ptr.rhs.cast189
%call191 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %sub.ptr.sub190)
store i32 %call191, i32* %_ms_err187, align 4
%106 = load i32* %_ms_err187, align 4
%tobool192 = icmp ne i32 %106, 0
br i1 %tobool192, label %if.then193, label %if.end197
if.then193: ; preds = %do.body186
%107 = load i32* %_ms_err187, align 4
store i32 %107, i32* %err, align 4
%108 = load i8** %p, align 4
%109 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast194 = ptrtoint i8* %108 to i32
%sub.ptr.rhs.cast195 = ptrtoint i8* %109 to i32
%sub.ptr.sub196 = sub i32 %sub.ptr.lhs.cast194, %sub.ptr.rhs.cast195
%110 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub196, i32* %110, align 4
br label %leave
if.end197: ; preds = %do.body186
br label %do.end198
do.end198: ; preds = %if.end197
%pos199 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%111 = load i8** %pos199, align 4
%incdec.ptr200 = getelementptr inbounds i8* %111, i32 1
store i8* %incdec.ptr200, i8** %pos199, align 4
store i8 1, i8* %111, align 1
%pos201 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%112 = load i8** %pos201, align 4
store i8* %112, i8** %save, align 4
br label %do.body202
do.body202: ; preds = %do.end198
store i16 0, i16* %ashort203, align 2
%pos204 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%113 = load i8** %pos204, align 4
%114 = bitcast i16* %ashort203 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %113, i8* %114, i32 2, i32 1, i1 false)
%pos205 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%115 = load i8** %pos205, align 4
%add.ptr206 = getelementptr inbounds i8* %115, i32 2
store i8* %add.ptr206, i8** %pos205, align 4
br label %do.end207
do.end207: ; preds = %do.body202
%116 = load i8** %quoted, align 4
%117 = load i8** %p, align 4
%118 = load i8** %quoted, align 4
%sub.ptr.lhs.cast208 = ptrtoint i8* %117 to i32
%sub.ptr.rhs.cast209 = ptrtoint i8* %118 to i32
%sub.ptr.sub210 = sub i32 %sub.ptr.lhs.cast208, %sub.ptr.rhs.cast209
%pos211 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%119 = load i8** %pos211, align 4
%call212 = call i32 @unquote_string(i8* %116, i32 %sub.ptr.sub210, i8* %119)
store i32 %call212, i32* %len, align 4
%120 = load i32* %len, align 4
%pos213 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%121 = load i8** %pos213, align 4
%add.ptr214 = getelementptr inbounds i8* %121, i32 %120
store i8* %add.ptr214, i8** %pos213, align 4
br label %do.body215
do.body215: ; preds = %do.end207
%122 = load i32* %len, align 4
%conv217 = trunc i32 %122 to i16
store i16 %conv217, i16* %ashort216, align 2
%123 = load i8** %save, align 4
%124 = bitcast i16* %ashort216 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %123, i8* %124, i32 2, i32 1, i1 false)
%125 = load i8** %save, align 4
%add.ptr218 = getelementptr inbounds i8* %125, i32 2
store i8* %add.ptr218, i8** %save, align 4
br label %do.end219
do.end219: ; preds = %do.body215
store i8* null, i8** %quoted, align 4
br label %if.end220
if.end220: ; preds = %do.end219, %if.else180
br label %if.end221
if.end221: ; preds = %if.end220, %if.then179
br label %if.end222
if.end222: ; preds = %if.end221, %sw.epilog
br label %if.end962
if.else223: ; preds = %if.end48
%126 = load i8** %hexfmt, align 4
%tobool224 = icmp ne i8* %126, null
br i1 %tobool224, label %if.then225, label %if.else302
if.then225: ; preds = %if.else223
%127 = load i8** %p, align 4
%128 = load i8* %127, align 1
%conv226 = sext i8 %128 to i32
%call227 = call i32 @isxdigit(i32 %conv226)
%tobool228 = icmp ne i32 %call227, 0
br i1 %tobool228, label %if.then229, label %if.else230
if.then229: ; preds = %if.then225
%129 = load i32* %hexcount, align 4
%inc = add nsw i32 %129, 1
store i32 %inc, i32* %hexcount, align 4
br label %if.end301
if.else230: ; preds = %if.then225
%130 = load i8** %p, align 4
%131 = load i8* %130, align 1
%conv231 = sext i8 %131 to i32
%cmp232 = icmp eq i32 %conv231, 35
br i1 %cmp232, label %if.then234, label %if.else292
if.then234: ; preds = %if.else230
%132 = load i32* %hexcount, align 4
%and = and i32 %132, 1
%tobool235 = icmp ne i32 %and, 0
br i1 %tobool235, label %if.then236, label %if.end240
if.then236: ; preds = %if.then234
%133 = load i8** %p, align 4
%134 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast237 = ptrtoint i8* %133 to i32
%sub.ptr.rhs.cast238 = ptrtoint i8* %134 to i32
%sub.ptr.sub239 = sub i32 %sub.ptr.lhs.cast237, %sub.ptr.rhs.cast238
%135 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub239, i32* %135, align 4
store i32 212, i32* %err, align 4
br label %leave
if.end240: ; preds = %if.then234
%136 = load i32* %hexcount, align 4
%div = sdiv i32 %136, 2
store i32 %div, i32* %datalen, align 4
br label %do.body241
do.body241: ; preds = %if.end240
%137 = load i32* %datalen, align 4
%call243 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %137)
store i32 %call243, i32* %_ms_err242, align 4
%138 = load i32* %_ms_err242, align 4
%tobool244 = icmp ne i32 %138, 0
br i1 %tobool244, label %if.then245, label %if.end249
if.then245: ; preds = %do.body241
%139 = load i32* %_ms_err242, align 4
store i32 %139, i32* %err, align 4
%140 = load i8** %p, align 4
%141 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast246 = ptrtoint i8* %140 to i32
%sub.ptr.rhs.cast247 = ptrtoint i8* %141 to i32
%sub.ptr.sub248 = sub i32 %sub.ptr.lhs.cast246, %sub.ptr.rhs.cast247
%142 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub248, i32* %142, align 4
br label %leave
if.end249: ; preds = %do.body241
br label %do.end250
do.end250: ; preds = %if.end249
%pos251 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%143 = load i8** %pos251, align 4
%incdec.ptr252 = getelementptr inbounds i8* %143, i32 1
store i8* %incdec.ptr252, i8** %pos251, align 4
store i8 1, i8* %143, align 1
br label %do.body253
do.body253: ; preds = %do.end250
%144 = load i32* %datalen, align 4
%conv255 = trunc i32 %144 to i16
store i16 %conv255, i16* %ashort254, align 2
%pos256 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%145 = load i8** %pos256, align 4
%146 = bitcast i16* %ashort254 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %145, i8* %146, i32 2, i32 1, i1 false)
%pos257 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%147 = load i8** %pos257, align 4
%add.ptr258 = getelementptr inbounds i8* %147, i32 2
store i8* %add.ptr258, i8** %pos257, align 4
br label %do.end259
do.end259: ; preds = %do.body253
%148 = load i8** %hexfmt, align 4
%incdec.ptr260 = getelementptr inbounds i8* %148, i32 1
store i8* %incdec.ptr260, i8** %hexfmt, align 4
br label %for.cond261
for.cond261: ; preds = %for.inc289, %do.end259
%149 = load i8** %hexfmt, align 4
%150 = load i8** %p, align 4
%cmp262 = icmp ult i8* %149, %150
br i1 %cmp262, label %for.body264, label %for.end291
for.body264: ; preds = %for.cond261
%151 = load i8** %hexfmt, align 4
%call265 = call i32 @whitespacep(i8* %151)
%tobool266 = icmp ne i32 %call265, 0
br i1 %tobool266, label %if.then267, label %if.end268
if.then267: ; preds = %for.body264
br label %for.inc289
if.end268: ; preds = %for.body264
%152 = load i8** %hexfmt, align 4
%153 = load i8* %152, align 1
%conv269 = zext i8 %153 to i32
%call270 = call i32 @hextonibble(i32 %conv269)
store i32 %call270, i32* %tmpc, align 4
%154 = load i8** %hexfmt, align 4
%incdec.ptr271 = getelementptr inbounds i8* %154, i32 1
store i8* %incdec.ptr271, i8** %hexfmt, align 4
br label %for.cond272
for.cond272: ; preds = %for.inc, %if.end268
%155 = load i8** %hexfmt, align 4
%156 = load i8** %p, align 4
%cmp273 = icmp ult i8* %155, %156
br i1 %cmp273, label %land.rhs, label %land.end
land.rhs: ; preds = %for.cond272
%157 = load i8** %hexfmt, align 4
%call275 = call i32 @whitespacep(i8* %157)
%tobool276 = icmp ne i32 %call275, 0
br label %land.end
land.end: ; preds = %land.rhs, %for.cond272
%158 = phi i1 [ false, %for.cond272 ], [ %tobool276, %land.rhs ]
br i1 %158, label %for.body277, label %for.end
for.body277: ; preds = %land.end
br label %for.inc
for.inc: ; preds = %for.body277
%159 = load i8** %hexfmt, align 4
%incdec.ptr278 = getelementptr inbounds i8* %159, i32 1
store i8* %incdec.ptr278, i8** %hexfmt, align 4
br label %for.cond272
for.end: ; preds = %land.end
%160 = load i8** %hexfmt, align 4
%161 = load i8** %p, align 4
%cmp279 = icmp ult i8* %160, %161
br i1 %cmp279, label %if.then281, label %if.end285
if.then281: ; preds = %for.end
%162 = load i32* %tmpc, align 4
%mul = mul nsw i32 %162, 16
store i32 %mul, i32* %tmpc, align 4
%163 = load i8** %hexfmt, align 4
%164 = load i8* %163, align 1
%conv282 = zext i8 %164 to i32
%call283 = call i32 @hextonibble(i32 %conv282)
%165 = load i32* %tmpc, align 4
%add284 = add nsw i32 %165, %call283
store i32 %add284, i32* %tmpc, align 4
br label %if.end285
if.end285: ; preds = %if.then281, %for.end
%166 = load i32* %tmpc, align 4
%conv286 = trunc i32 %166 to i8
%pos287 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%167 = load i8** %pos287, align 4
%incdec.ptr288 = getelementptr inbounds i8* %167, i32 1
store i8* %incdec.ptr288, i8** %pos287, align 4
store i8 %conv286, i8* %167, align 1
br label %for.inc289
for.inc289: ; preds = %if.end285, %if.then267
%168 = load i8** %hexfmt, align 4
%incdec.ptr290 = getelementptr inbounds i8* %168, i32 1
store i8* %incdec.ptr290, i8** %hexfmt, align 4
br label %for.cond261
for.end291: ; preds = %for.cond261
store i8* null, i8** %hexfmt, align 4
br label %if.end300
if.else292: ; preds = %if.else230
%169 = load i8** %p, align 4
%call293 = call i32 @whitespacep(i8* %169)
%tobool294 = icmp ne i32 %call293, 0
br i1 %tobool294, label %if.end299, label %if.then295
if.then295: ; preds = %if.else292
%170 = load i8** %p, align 4
%171 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast296 = ptrtoint i8* %170 to i32
%sub.ptr.rhs.cast297 = ptrtoint i8* %171 to i32
%sub.ptr.sub298 = sub i32 %sub.ptr.lhs.cast296, %sub.ptr.rhs.cast297
%172 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub298, i32* %172, align 4
store i32 211, i32* %err, align 4
br label %leave
if.end299: ; preds = %if.else292
br label %if.end300
if.end300: ; preds = %if.end299, %for.end291
br label %if.end301
if.end301: ; preds = %if.end300, %if.then229
br label %if.end961
if.else302: ; preds = %if.else223
%173 = load i8** %base64, align 4
%tobool303 = icmp ne i8* %173, null
br i1 %tobool303, label %if.then304, label %if.else310
if.then304: ; preds = %if.else302
%174 = load i8** %p, align 4
%175 = load i8* %174, align 1
%conv305 = sext i8 %175 to i32
%cmp306 = icmp eq i32 %conv305, 124
br i1 %cmp306, label %if.then308, label %if.end309
if.then308: ; preds = %if.then304
store i8* null, i8** %base64, align 4
br label %if.end309
if.end309: ; preds = %if.then308, %if.then304
br label %if.end960
if.else310: ; preds = %if.else302
%176 = load i8** %digptr, align 4
%tobool311 = icmp ne i8* %176, null
br i1 %tobool311, label %if.then312, label %if.else384
if.then312: ; preds = %if.else310
%177 = load i8** %p, align 4
%178 = load i8* %177, align 1
%conv313 = sext i8 %178 to i32
%cmp314 = icmp sge i32 %conv313, 48
br i1 %cmp314, label %land.lhs.true316, label %if.else321
land.lhs.true316: ; preds = %if.then312
%179 = load i8** %p, align 4
%180 = load i8* %179, align 1
%conv317 = sext i8 %180 to i32
%cmp318 = icmp sle i32 %conv317, 57
br i1 %cmp318, label %if.then320, label %if.else321
if.then320: ; preds = %land.lhs.true316
br label %if.end383
if.else321: ; preds = %land.lhs.true316, %if.then312
%181 = load i8** %p, align 4
%182 = load i8* %181, align 1
%conv322 = sext i8 %182 to i32
%cmp323 = icmp eq i32 %conv322, 58
br i1 %cmp323, label %if.then325, label %if.else360
if.then325: ; preds = %if.else321
%183 = load i8** %digptr, align 4
%call326 = call i32 @atoi(i8* %183)
store i32 %call326, i32* %datalen, align 4
store i8* null, i8** %digptr, align 4
%184 = load i32* %datalen, align 4
%185 = load i32* %n, align 4
%sub327 = sub i32 %185, 1
%cmp328 = icmp ugt i32 %184, %sub327
br i1 %cmp328, label %if.then330, label %if.end334
if.then330: ; preds = %if.then325
%186 = load i8** %p, align 4
%187 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast331 = ptrtoint i8* %186 to i32
%sub.ptr.rhs.cast332 = ptrtoint i8* %187 to i32
%sub.ptr.sub333 = sub i32 %sub.ptr.lhs.cast331, %sub.ptr.rhs.cast332
%188 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub333, i32* %188, align 4
store i32 202, i32* %err, align 4
br label %leave
if.end334: ; preds = %if.then325
br label %do.body335
do.body335: ; preds = %if.end334
%189 = load i32* %datalen, align 4
%call337 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %189)
store i32 %call337, i32* %_ms_err336, align 4
%190 = load i32* %_ms_err336, align 4
%tobool338 = icmp ne i32 %190, 0
br i1 %tobool338, label %if.then339, label %if.end343
if.then339: ; preds = %do.body335
%191 = load i32* %_ms_err336, align 4
store i32 %191, i32* %err, align 4
%192 = load i8** %p, align 4
%193 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast340 = ptrtoint i8* %192 to i32
%sub.ptr.rhs.cast341 = ptrtoint i8* %193 to i32
%sub.ptr.sub342 = sub i32 %sub.ptr.lhs.cast340, %sub.ptr.rhs.cast341
%194 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub342, i32* %194, align 4
br label %leave
if.end343: ; preds = %do.body335
br label %do.end344
do.end344: ; preds = %if.end343
%pos345 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%195 = load i8** %pos345, align 4
%incdec.ptr346 = getelementptr inbounds i8* %195, i32 1
store i8* %incdec.ptr346, i8** %pos345, align 4
store i8 1, i8* %195, align 1
br label %do.body347
do.body347: ; preds = %do.end344
%196 = load i32* %datalen, align 4
%conv349 = trunc i32 %196 to i16
store i16 %conv349, i16* %ashort348, align 2
%pos350 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%197 = load i8** %pos350, align 4
%198 = bitcast i16* %ashort348 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %197, i8* %198, i32 2, i32 1, i1 false)
%pos351 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%199 = load i8** %pos351, align 4
%add.ptr352 = getelementptr inbounds i8* %199, i32 2
store i8* %add.ptr352, i8** %pos351, align 4
br label %do.end353
do.end353: ; preds = %do.body347
%pos354 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%200 = load i8** %pos354, align 4
%201 = load i8** %p, align 4
%add.ptr355 = getelementptr inbounds i8* %201, i32 1
%202 = load i32* %datalen, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %200, i8* %add.ptr355, i32 %202, i32 1, i1 false)
%203 = load i32* %datalen, align 4
%pos356 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%204 = load i8** %pos356, align 4
%add.ptr357 = getelementptr inbounds i8* %204, i32 %203
store i8* %add.ptr357, i8** %pos356, align 4
%205 = load i32* %datalen, align 4
%206 = load i32* %n, align 4
%sub358 = sub i32 %206, %205
store i32 %sub358, i32* %n, align 4
%207 = load i32* %datalen, align 4
%208 = load i8** %p, align 4
%add.ptr359 = getelementptr inbounds i8* %208, i32 %207
store i8* %add.ptr359, i8** %p, align 4
br label %if.end382
if.else360: ; preds = %if.else321
%209 = load i8** %p, align 4
%210 = load i8* %209, align 1
%conv361 = sext i8 %210 to i32
%cmp362 = icmp eq i32 %conv361, 34
br i1 %cmp362, label %if.then364, label %if.else365
if.then364: ; preds = %if.else360
store i8* null, i8** %digptr, align 4
%211 = load i8** %p, align 4
store i8* %211, i8** %quoted, align 4
store i32 0, i32* %quoted_esc, align 4
br label %if.end381
if.else365: ; preds = %if.else360
%212 = load i8** %p, align 4
%213 = load i8* %212, align 1
%conv366 = sext i8 %213 to i32
%cmp367 = icmp eq i32 %conv366, 35
br i1 %cmp367, label %if.then369, label %if.else370
if.then369: ; preds = %if.else365
store i8* null, i8** %digptr, align 4
%214 = load i8** %p, align 4
store i8* %214, i8** %hexfmt, align 4
store i32 0, i32* %hexcount, align 4
br label %if.end380
if.else370: ; preds = %if.else365
%215 = load i8** %p, align 4
%216 = load i8* %215, align 1
%conv371 = sext i8 %216 to i32
%cmp372 = icmp eq i32 %conv371, 124
br i1 %cmp372, label %if.then374, label %if.else375
if.then374: ; preds = %if.else370
store i8* null, i8** %digptr, align 4
%217 = load i8** %p, align 4
store i8* %217, i8** %base64, align 4
br label %if.end379
if.else375: ; preds = %if.else370
%218 = load i8** %p, align 4
%219 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast376 = ptrtoint i8* %218 to i32
%sub.ptr.rhs.cast377 = ptrtoint i8* %219 to i32
%sub.ptr.sub378 = sub i32 %sub.ptr.lhs.cast376, %sub.ptr.rhs.cast377
%220 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub378, i32* %220, align 4
store i32 201, i32* %err, align 4
br label %leave
if.end379: ; preds = %if.then374
br label %if.end380
if.end380: ; preds = %if.end379, %if.then369
br label %if.end381
if.end381: ; preds = %if.end380, %if.then364
br label %if.end382
if.end382: ; preds = %if.end381, %do.end353
br label %if.end383
if.end383: ; preds = %if.end382, %if.then320
br label %if.end959
if.else384: ; preds = %if.else310
%221 = load i8** %percent, align 4
%tobool385 = icmp ne i8* %221, null
br i1 %tobool385, label %if.then386, label %if.else807
if.then386: ; preds = %if.else384
%222 = load i8** %p, align 4
%223 = load i8* %222, align 1
%conv387 = sext i8 %223 to i32
%cmp388 = icmp eq i32 %conv387, 109
br i1 %cmp388, label %if.then394, label %lor.lhs.false390
lor.lhs.false390: ; preds = %if.then386
%224 = load i8** %p, align 4
%225 = load i8* %224, align 1
%conv391 = sext i8 %225 to i32
%cmp392 = icmp eq i32 %conv391, 77
br i1 %cmp392, label %if.then394, label %if.else555
if.then394: ; preds = %lor.lhs.false390, %if.then386
store i32 0, i32* %nm, align 4
%226 = load i8** %p, align 4
%227 = load i8* %226, align 1
%conv395 = sext i8 %227 to i32
%cmp396 = icmp eq i32 %conv395, 109
%cond = select i1 %cmp396, i32 1, i32 5
store i32 %cond, i32* %mpifmt, align 4
br label %do.body398
do.body398: ; preds = %if.then394
%228 = load i8*** %arg_list.addr, align 4
%tobool399 = icmp ne i8** %228, null
br i1 %tobool399, label %if.else401, label %if.then400
if.then400: ; preds = %do.body398
%229 = load i32** %arg_ptr.addr, align 4
%230 = va_arg i32* %229, %struct.gcry_mpi*
store %struct.gcry_mpi* %230, %struct.gcry_mpi** %m, align 4
br label %if.end404
if.else401: ; preds = %do.body398
%231 = load i32* %arg_counter, align 4
%inc402 = add nsw i32 %231, 1
store i32 %inc402, i32* %arg_counter, align 4
%232 = load i8*** %arg_list.addr, align 4
%arrayidx403 = getelementptr inbounds i8** %232, i32 %231
%233 = load i8** %arrayidx403, align 4
%234 = bitcast i8* %233 to %struct.gcry_mpi**
%235 = load %struct.gcry_mpi** %234, align 4
store %struct.gcry_mpi* %235, %struct.gcry_mpi** %m, align 4
br label %if.end404
if.end404: ; preds = %if.else401, %if.then400
br label %do.end405
do.end405: ; preds = %if.end404
%236 = load %struct.gcry_mpi** %m, align 4
%call406 = call i32 @_gcry_mpi_get_flag(%struct.gcry_mpi* %236, i32 2)
%tobool407 = icmp ne i32 %call406, 0
br i1 %tobool407, label %if.then408, label %if.else480
if.then408: ; preds = %do.end405
%237 = load %struct.gcry_mpi** %m, align 4
%call409 = call i8* @_gcry_mpi_get_opaque(%struct.gcry_mpi* %237, i32* %nbits)
store i8* %call409, i8** %mp, align 4
%238 = load i32* %nbits, align 4
%add410 = add i32 %238, 7
%div411 = udiv i32 %add410, 8
store i32 %div411, i32* %nm, align 4
%239 = load i8** %mp, align 4
%tobool412 = icmp ne i8* %239, null
br i1 %tobool412, label %land.lhs.true413, label %if.end479
land.lhs.true413: ; preds = %if.then408
%240 = load i32* %nm, align 4
%tobool414 = icmp ne i32 %240, 0
br i1 %tobool414, label %if.then415, label %if.end479
if.then415: ; preds = %land.lhs.true413
br label %do.body416
do.body416: ; preds = %if.then415
%241 = load i32* %nm, align 4
%call418 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %241)
store i32 %call418, i32* %_ms_err417, align 4
%242 = load i32* %_ms_err417, align 4
%tobool419 = icmp ne i32 %242, 0
br i1 %tobool419, label %if.then420, label %if.end424
if.then420: ; preds = %do.body416
%243 = load i32* %_ms_err417, align 4
store i32 %243, i32* %err, align 4
%244 = load i8** %p, align 4
%245 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast421 = ptrtoint i8* %244 to i32
%sub.ptr.rhs.cast422 = ptrtoint i8* %245 to i32
%sub.ptr.sub423 = sub i32 %sub.ptr.lhs.cast421, %sub.ptr.rhs.cast422
%246 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub423, i32* %246, align 4
br label %leave
if.end424: ; preds = %do.body416
br label %do.end425
do.end425: ; preds = %if.end424
%sexp426 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%247 = load %struct.gcry_sexp** %sexp426, align 4
%d427 = getelementptr inbounds %struct.gcry_sexp* %247, i32 0, i32 0
%arraydecay428 = getelementptr inbounds [1 x i8]* %d427, i32 0, i32 0
%call429 = call i32 @_gcry_is_secure(i8* %arraydecay428) nounwind readonly
%tobool430 = icmp ne i32 %call429, 0
br i1 %tobool430, label %if.end466, label %land.lhs.true431
land.lhs.true431: ; preds = %do.end425
%248 = load %struct.gcry_mpi** %m, align 4
%call432 = call i32 @_gcry_mpi_get_flag(%struct.gcry_mpi* %248, i32 1)
%tobool433 = icmp ne i32 %call432, 0
br i1 %tobool433, label %if.then434, label %if.end466
if.then434: ; preds = %land.lhs.true431
%allocated435 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 1
%249 = load i32* %allocated435, align 4
%add436 = add i32 1, %249
%sub437 = sub i32 %add436, 1
%call438 = call noalias i8* @_gcry_malloc_secure(i32 %sub437)
%250 = bitcast i8* %call438 to %struct.gcry_sexp*
store %struct.gcry_sexp* %250, %struct.gcry_sexp** %newsexp, align 4
%251 = load %struct.gcry_sexp** %newsexp, align 4
%tobool439 = icmp ne %struct.gcry_sexp* %251, null
br i1 %tobool439, label %if.end443, label %if.then440
if.then440: ; preds = %if.then434
%call441 = call i32* @__errno_location() nounwind readnone
%252 = load i32* %call441, align 4
%call442 = call i32 @gpg_err_code_from_errno(i32 %252)
store i32 %call442, i32* %err, align 4
br label %leave
if.end443: ; preds = %if.then434
%253 = load %struct.gcry_sexp** %newsexp, align 4
%d444 = getelementptr inbounds %struct.gcry_sexp* %253, i32 0, i32 0
%arraydecay445 = getelementptr inbounds [1 x i8]* %d444, i32 0, i32 0
store i8* %arraydecay445, i8** %newhead, align 4
%254 = load i8** %newhead, align 4
%sexp446 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%255 = load %struct.gcry_sexp** %sexp446, align 4
%d447 = getelementptr inbounds %struct.gcry_sexp* %255, i32 0, i32 0
%256 = bitcast [1 x i8]* %d447 to i8*
%pos448 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%257 = load i8** %pos448, align 4
%sexp449 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%258 = load %struct.gcry_sexp** %sexp449, align 4
%d450 = getelementptr inbounds %struct.gcry_sexp* %258, i32 0, i32 0
%arraydecay451 = getelementptr inbounds [1 x i8]* %d450, i32 0, i32 0
%sub.ptr.lhs.cast452 = ptrtoint i8* %257 to i32
%sub.ptr.rhs.cast453 = ptrtoint i8* %arraydecay451 to i32
%sub.ptr.sub454 = sub i32 %sub.ptr.lhs.cast452, %sub.ptr.rhs.cast453
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %254, i8* %256, i32 %sub.ptr.sub454, i32 1, i1 false)
%259 = load i8** %newhead, align 4
%pos455 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%260 = load i8** %pos455, align 4
%sexp456 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%261 = load %struct.gcry_sexp** %sexp456, align 4
%d457 = getelementptr inbounds %struct.gcry_sexp* %261, i32 0, i32 0
%arraydecay458 = getelementptr inbounds [1 x i8]* %d457, i32 0, i32 0
%sub.ptr.lhs.cast459 = ptrtoint i8* %260 to i32
%sub.ptr.rhs.cast460 = ptrtoint i8* %arraydecay458 to i32
%sub.ptr.sub461 = sub i32 %sub.ptr.lhs.cast459, %sub.ptr.rhs.cast460
%add.ptr462 = getelementptr inbounds i8* %259, i32 %sub.ptr.sub461
%pos463 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
store i8* %add.ptr462, i8** %pos463, align 4
%sexp464 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%262 = load %struct.gcry_sexp** %sexp464, align 4
%263 = bitcast %struct.gcry_sexp* %262 to i8*
call void @_gcry_free(i8* %263)
%264 = load %struct.gcry_sexp** %newsexp, align 4
%sexp465 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
store %struct.gcry_sexp* %264, %struct.gcry_sexp** %sexp465, align 4
br label %if.end466
if.end466: ; preds = %if.end443, %land.lhs.true431, %do.end425
%pos467 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%265 = load i8** %pos467, align 4
%incdec.ptr468 = getelementptr inbounds i8* %265, i32 1
store i8* %incdec.ptr468, i8** %pos467, align 4
store i8 1, i8* %265, align 1
br label %do.body469
do.body469: ; preds = %if.end466
%266 = load i32* %nm, align 4
%conv471 = trunc i32 %266 to i16
store i16 %conv471, i16* %ashort470, align 2
%pos472 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%267 = load i8** %pos472, align 4
%268 = bitcast i16* %ashort470 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %267, i8* %268, i32 2, i32 1, i1 false)
%pos473 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%269 = load i8** %pos473, align 4
%add.ptr474 = getelementptr inbounds i8* %269, i32 2
store i8* %add.ptr474, i8** %pos473, align 4
br label %do.end475
do.end475: ; preds = %do.body469
%pos476 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%270 = load i8** %pos476, align 4
%271 = load i8** %mp, align 4
%272 = load i32* %nm, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %270, i8* %271, i32 %272, i32 1, i1 false)
%273 = load i32* %nm, align 4
%pos477 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%274 = load i8** %pos477, align 4
%add.ptr478 = getelementptr inbounds i8* %274, i32 %273
store i8* %add.ptr478, i8** %pos477, align 4
br label %if.end479
if.end479: ; preds = %do.end475, %land.lhs.true413, %if.then408
br label %if.end554
if.else480: ; preds = %do.end405
%275 = load i32* %mpifmt, align 4
%276 = load %struct.gcry_mpi** %m, align 4
%call481 = call i32 @_gcry_mpi_print(i32 %275, i8* null, i32 0, i32* %nm, %struct.gcry_mpi* %276)
%tobool482 = icmp ne i32 %call481, 0
br i1 %tobool482, label %if.then483, label %if.end484
if.then483: ; preds = %if.else480
call void @_gcry_bug(i8* getelementptr inbounds ([7 x i8]* @.str7119, i32 0, i32 0), i32 1381, i8* getelementptr inbounds ([12 x i8]* @__FUNCTION__.vsexp_sscan, i32 0, i32 0)) noreturn
unreachable
if.end484: ; preds = %if.else480
br label %do.body485
do.body485: ; preds = %if.end484
%277 = load i32* %nm, align 4
%call487 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %277)
store i32 %call487, i32* %_ms_err486, align 4
%278 = load i32* %_ms_err486, align 4
%tobool488 = icmp ne i32 %278, 0
br i1 %tobool488, label %if.then489, label %if.end493
if.then489: ; preds = %do.body485
%279 = load i32* %_ms_err486, align 4
store i32 %279, i32* %err, align 4
%280 = load i8** %p, align 4
%281 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast490 = ptrtoint i8* %280 to i32
%sub.ptr.rhs.cast491 = ptrtoint i8* %281 to i32
%sub.ptr.sub492 = sub i32 %sub.ptr.lhs.cast490, %sub.ptr.rhs.cast491
%282 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub492, i32* %282, align 4
br label %leave
if.end493: ; preds = %do.body485
br label %do.end494
do.end494: ; preds = %if.end493
%sexp495 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%283 = load %struct.gcry_sexp** %sexp495, align 4
%d496 = getelementptr inbounds %struct.gcry_sexp* %283, i32 0, i32 0
%arraydecay497 = getelementptr inbounds [1 x i8]* %d496, i32 0, i32 0
%call498 = call i32 @_gcry_is_secure(i8* %arraydecay497) nounwind readonly
%tobool499 = icmp ne i32 %call498, 0
br i1 %tobool499, label %if.end537, label %land.lhs.true500
land.lhs.true500: ; preds = %do.end494
%284 = load %struct.gcry_mpi** %m, align 4
%call501 = call i32 @_gcry_mpi_get_flag(%struct.gcry_mpi* %284, i32 1)
%tobool502 = icmp ne i32 %call501, 0
br i1 %tobool502, label %if.then503, label %if.end537
if.then503: ; preds = %land.lhs.true500
%allocated506 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 1
%285 = load i32* %allocated506, align 4
%add507 = add i32 1, %285
%sub508 = sub i32 %add507, 1
%call509 = call noalias i8* @_gcry_malloc_secure(i32 %sub508)
%286 = bitcast i8* %call509 to %struct.gcry_sexp*
store %struct.gcry_sexp* %286, %struct.gcry_sexp** %newsexp504, align 4
%287 = load %struct.gcry_sexp** %newsexp504, align 4
%tobool510 = icmp ne %struct.gcry_sexp* %287, null
br i1 %tobool510, label %if.end514, label %if.then511
if.then511: ; preds = %if.then503
%call512 = call i32* @__errno_location() nounwind readnone
%288 = load i32* %call512, align 4
%call513 = call i32 @gpg_err_code_from_errno(i32 %288)
store i32 %call513, i32* %err, align 4
br label %leave
if.end514: ; preds = %if.then503
%289 = load %struct.gcry_sexp** %newsexp504, align 4
%d515 = getelementptr inbounds %struct.gcry_sexp* %289, i32 0, i32 0
%arraydecay516 = getelementptr inbounds [1 x i8]* %d515, i32 0, i32 0
store i8* %arraydecay516, i8** %newhead505, align 4
%290 = load i8** %newhead505, align 4
%sexp517 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%291 = load %struct.gcry_sexp** %sexp517, align 4
%d518 = getelementptr inbounds %struct.gcry_sexp* %291, i32 0, i32 0
%292 = bitcast [1 x i8]* %d518 to i8*
%pos519 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%293 = load i8** %pos519, align 4
%sexp520 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%294 = load %struct.gcry_sexp** %sexp520, align 4
%d521 = getelementptr inbounds %struct.gcry_sexp* %294, i32 0, i32 0
%arraydecay522 = getelementptr inbounds [1 x i8]* %d521, i32 0, i32 0
%sub.ptr.lhs.cast523 = ptrtoint i8* %293 to i32
%sub.ptr.rhs.cast524 = ptrtoint i8* %arraydecay522 to i32
%sub.ptr.sub525 = sub i32 %sub.ptr.lhs.cast523, %sub.ptr.rhs.cast524
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %290, i8* %292, i32 %sub.ptr.sub525, i32 1, i1 false)
%295 = load i8** %newhead505, align 4
%pos526 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%296 = load i8** %pos526, align 4
%sexp527 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%297 = load %struct.gcry_sexp** %sexp527, align 4
%d528 = getelementptr inbounds %struct.gcry_sexp* %297, i32 0, i32 0
%arraydecay529 = getelementptr inbounds [1 x i8]* %d528, i32 0, i32 0
%sub.ptr.lhs.cast530 = ptrtoint i8* %296 to i32
%sub.ptr.rhs.cast531 = ptrtoint i8* %arraydecay529 to i32
%sub.ptr.sub532 = sub i32 %sub.ptr.lhs.cast530, %sub.ptr.rhs.cast531
%add.ptr533 = getelementptr inbounds i8* %295, i32 %sub.ptr.sub532
%pos534 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
store i8* %add.ptr533, i8** %pos534, align 4
%sexp535 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%298 = load %struct.gcry_sexp** %sexp535, align 4
%299 = bitcast %struct.gcry_sexp* %298 to i8*
call void @_gcry_free(i8* %299)
%300 = load %struct.gcry_sexp** %newsexp504, align 4
%sexp536 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
store %struct.gcry_sexp* %300, %struct.gcry_sexp** %sexp536, align 4
br label %if.end537
if.end537: ; preds = %if.end514, %land.lhs.true500, %do.end494
%pos538 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%301 = load i8** %pos538, align 4
%incdec.ptr539 = getelementptr inbounds i8* %301, i32 1
store i8* %incdec.ptr539, i8** %pos538, align 4
store i8 1, i8* %301, align 1
br label %do.body540
do.body540: ; preds = %if.end537
%302 = load i32* %nm, align 4
%conv542 = trunc i32 %302 to i16
store i16 %conv542, i16* %ashort541, align 2
%pos543 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%303 = load i8** %pos543, align 4
%304 = bitcast i16* %ashort541 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %303, i8* %304, i32 2, i32 1, i1 false)
%pos544 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%305 = load i8** %pos544, align 4
%add.ptr545 = getelementptr inbounds i8* %305, i32 2
store i8* %add.ptr545, i8** %pos544, align 4
br label %do.end546
do.end546: ; preds = %do.body540
%306 = load i32* %mpifmt, align 4
%pos547 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%307 = load i8** %pos547, align 4
%308 = load i32* %nm, align 4
%309 = load %struct.gcry_mpi** %m, align 4
%call548 = call i32 @_gcry_mpi_print(i32 %306, i8* %307, i32 %308, i32* %nm, %struct.gcry_mpi* %309)
%tobool549 = icmp ne i32 %call548, 0
br i1 %tobool549, label %if.then550, label %if.end551
if.then550: ; preds = %do.end546
call void @_gcry_bug(i8* getelementptr inbounds ([7 x i8]* @.str7119, i32 0, i32 0), i32 1408, i8* getelementptr inbounds ([12 x i8]* @__FUNCTION__.vsexp_sscan, i32 0, i32 0)) noreturn
unreachable
if.end551: ; preds = %do.end546
%310 = load i32* %nm, align 4
%pos552 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%311 = load i8** %pos552, align 4
%add.ptr553 = getelementptr inbounds i8* %311, i32 %310
store i8* %add.ptr553, i8** %pos552, align 4
br label %if.end554
if.end554: ; preds = %if.end551, %if.end479
br label %if.end806
if.else555: ; preds = %lor.lhs.false390
%312 = load i8** %p, align 4
%313 = load i8* %312, align 1
%conv556 = sext i8 %313 to i32
%cmp557 = icmp eq i32 %conv556, 115
br i1 %cmp557, label %if.then559, label %if.else591
if.then559: ; preds = %if.else555
br label %do.body560
do.body560: ; preds = %if.then559
%314 = load i8*** %arg_list.addr, align 4
%tobool561 = icmp ne i8** %314, null
br i1 %tobool561, label %if.else563, label %if.then562
if.then562: ; preds = %do.body560
%315 = load i32** %arg_ptr.addr, align 4
%316 = va_arg i32* %315, i8*
store i8* %316, i8** %astr, align 4
br label %if.end566
if.else563: ; preds = %do.body560
%317 = load i32* %arg_counter, align 4
%inc564 = add nsw i32 %317, 1
store i32 %inc564, i32* %arg_counter, align 4
%318 = load i8*** %arg_list.addr, align 4
%arrayidx565 = getelementptr inbounds i8** %318, i32 %317
%319 = load i8** %arrayidx565, align 4
%320 = bitcast i8* %319 to i8**
%321 = load i8** %320, align 4
store i8* %321, i8** %astr, align 4
br label %if.end566
if.end566: ; preds = %if.else563, %if.then562
br label %do.end567
do.end567: ; preds = %if.end566
%322 = load i8** %astr, align 4
%call568 = call i32 @strlen(i8* %322)
store i32 %call568, i32* %alen, align 4
br label %do.body569
do.body569: ; preds = %do.end567
%323 = load i32* %alen, align 4
%call571 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %323)
store i32 %call571, i32* %_ms_err570, align 4
%324 = load i32* %_ms_err570, align 4
%tobool572 = icmp ne i32 %324, 0
br i1 %tobool572, label %if.then573, label %if.end577
if.then573: ; preds = %do.body569
%325 = load i32* %_ms_err570, align 4
store i32 %325, i32* %err, align 4
%326 = load i8** %p, align 4
%327 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast574 = ptrtoint i8* %326 to i32
%sub.ptr.rhs.cast575 = ptrtoint i8* %327 to i32
%sub.ptr.sub576 = sub i32 %sub.ptr.lhs.cast574, %sub.ptr.rhs.cast575
%328 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub576, i32* %328, align 4
br label %leave
if.end577: ; preds = %do.body569
br label %do.end578
do.end578: ; preds = %if.end577
%pos579 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%329 = load i8** %pos579, align 4
%incdec.ptr580 = getelementptr inbounds i8* %329, i32 1
store i8* %incdec.ptr580, i8** %pos579, align 4
store i8 1, i8* %329, align 1
br label %do.body581
do.body581: ; preds = %do.end578
%330 = load i32* %alen, align 4
%conv583 = trunc i32 %330 to i16
store i16 %conv583, i16* %ashort582, align 2
%pos584 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%331 = load i8** %pos584, align 4
%332 = bitcast i16* %ashort582 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %331, i8* %332, i32 2, i32 1, i1 false)
%pos585 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%333 = load i8** %pos585, align 4
%add.ptr586 = getelementptr inbounds i8* %333, i32 2
store i8* %add.ptr586, i8** %pos585, align 4
br label %do.end587
do.end587: ; preds = %do.body581
%pos588 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%334 = load i8** %pos588, align 4
%335 = load i8** %astr, align 4
%336 = load i32* %alen, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %334, i8* %335, i32 %336, i32 1, i1 false)
%337 = load i32* %alen, align 4
%pos589 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%338 = load i8** %pos589, align 4
%add.ptr590 = getelementptr inbounds i8* %338, i32 %337
store i8* %add.ptr590, i8** %pos589, align 4
br label %if.end805
if.else591: ; preds = %if.else555
%339 = load i8** %p, align 4
%340 = load i8* %339, align 1
%conv592 = sext i8 %340 to i32
%cmp593 = icmp eq i32 %conv592, 98
br i1 %cmp593, label %if.then595, label %if.else681
if.then595: ; preds = %if.else591
br label %do.body598
do.body598: ; preds = %if.then595
%341 = load i8*** %arg_list.addr, align 4
%tobool599 = icmp ne i8** %341, null
br i1 %tobool599, label %if.else601, label %if.then600
if.then600: ; preds = %do.body598
%342 = load i32** %arg_ptr.addr, align 4
%343 = va_arg i32* %342, i32
store i32 %343, i32* %alen597, align 4
br label %if.end604
if.else601: ; preds = %do.body598
%344 = load i32* %arg_counter, align 4
%inc602 = add nsw i32 %344, 1
store i32 %inc602, i32* %arg_counter, align 4
%345 = load i8*** %arg_list.addr, align 4
%arrayidx603 = getelementptr inbounds i8** %345, i32 %344
%346 = load i8** %arrayidx603, align 4
%347 = bitcast i8* %346 to i32*
%348 = load i32* %347, align 4
store i32 %348, i32* %alen597, align 4
br label %if.end604
if.end604: ; preds = %if.else601, %if.then600
br label %do.end605
do.end605: ; preds = %if.end604
br label %do.body606
do.body606: ; preds = %do.end605
%349 = load i8*** %arg_list.addr, align 4
%tobool607 = icmp ne i8** %349, null
br i1 %tobool607, label %if.else609, label %if.then608
if.then608: ; preds = %do.body606
%350 = load i32** %arg_ptr.addr, align 4
%351 = va_arg i32* %350, i8*
store i8* %351, i8** %astr596, align 4
br label %if.end612
if.else609: ; preds = %do.body606
%352 = load i32* %arg_counter, align 4
%inc610 = add nsw i32 %352, 1
store i32 %inc610, i32* %arg_counter, align 4
%353 = load i8*** %arg_list.addr, align 4
%arrayidx611 = getelementptr inbounds i8** %353, i32 %352
%354 = load i8** %arrayidx611, align 4
%355 = bitcast i8* %354 to i8**
%356 = load i8** %355, align 4
store i8* %356, i8** %astr596, align 4
br label %if.end612
if.end612: ; preds = %if.else609, %if.then608
br label %do.end613
do.end613: ; preds = %if.end612
br label %do.body614
do.body614: ; preds = %do.end613
%357 = load i32* %alen597, align 4
%call616 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %357)
store i32 %call616, i32* %_ms_err615, align 4
%358 = load i32* %_ms_err615, align 4
%tobool617 = icmp ne i32 %358, 0
br i1 %tobool617, label %if.then618, label %if.end622
if.then618: ; preds = %do.body614
%359 = load i32* %_ms_err615, align 4
store i32 %359, i32* %err, align 4
%360 = load i8** %p, align 4
%361 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast619 = ptrtoint i8* %360 to i32
%sub.ptr.rhs.cast620 = ptrtoint i8* %361 to i32
%sub.ptr.sub621 = sub i32 %sub.ptr.lhs.cast619, %sub.ptr.rhs.cast620
%362 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub621, i32* %362, align 4
br label %leave
if.end622: ; preds = %do.body614
br label %do.end623
do.end623: ; preds = %if.end622
%363 = load i32* %alen597, align 4
%tobool624 = icmp ne i32 %363, 0
br i1 %tobool624, label %land.lhs.true625, label %if.end668
land.lhs.true625: ; preds = %do.end623
%sexp626 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%364 = load %struct.gcry_sexp** %sexp626, align 4
%d627 = getelementptr inbounds %struct.gcry_sexp* %364, i32 0, i32 0
%arraydecay628 = getelementptr inbounds [1 x i8]* %d627, i32 0, i32 0
%call629 = call i32 @_gcry_is_secure(i8* %arraydecay628) nounwind readonly
%tobool630 = icmp ne i32 %call629, 0
br i1 %tobool630, label %if.end668, label %land.lhs.true631
land.lhs.true631: ; preds = %land.lhs.true625
%365 = load i8** %astr596, align 4
%call632 = call i32 @_gcry_is_secure(i8* %365) nounwind readonly
%tobool633 = icmp ne i32 %call632, 0
br i1 %tobool633, label %if.then634, label %if.end668
if.then634: ; preds = %land.lhs.true631
%allocated637 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 1
%366 = load i32* %allocated637, align 4
%add638 = add i32 1, %366
%sub639 = sub i32 %add638, 1
%call640 = call noalias i8* @_gcry_malloc_secure(i32 %sub639)
%367 = bitcast i8* %call640 to %struct.gcry_sexp*
store %struct.gcry_sexp* %367, %struct.gcry_sexp** %newsexp635, align 4
%368 = load %struct.gcry_sexp** %newsexp635, align 4
%tobool641 = icmp ne %struct.gcry_sexp* %368, null
br i1 %tobool641, label %if.end645, label %if.then642
if.then642: ; preds = %if.then634
%call643 = call i32* @__errno_location() nounwind readnone
%369 = load i32* %call643, align 4
%call644 = call i32 @gpg_err_code_from_errno(i32 %369)
store i32 %call644, i32* %err, align 4
br label %leave
if.end645: ; preds = %if.then634
%370 = load %struct.gcry_sexp** %newsexp635, align 4
%d646 = getelementptr inbounds %struct.gcry_sexp* %370, i32 0, i32 0
%arraydecay647 = getelementptr inbounds [1 x i8]* %d646, i32 0, i32 0
store i8* %arraydecay647, i8** %newhead636, align 4
%371 = load i8** %newhead636, align 4
%sexp648 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%372 = load %struct.gcry_sexp** %sexp648, align 4
%d649 = getelementptr inbounds %struct.gcry_sexp* %372, i32 0, i32 0
%373 = bitcast [1 x i8]* %d649 to i8*
%pos650 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%374 = load i8** %pos650, align 4
%sexp651 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%375 = load %struct.gcry_sexp** %sexp651, align 4
%d652 = getelementptr inbounds %struct.gcry_sexp* %375, i32 0, i32 0
%arraydecay653 = getelementptr inbounds [1 x i8]* %d652, i32 0, i32 0
%sub.ptr.lhs.cast654 = ptrtoint i8* %374 to i32
%sub.ptr.rhs.cast655 = ptrtoint i8* %arraydecay653 to i32
%sub.ptr.sub656 = sub i32 %sub.ptr.lhs.cast654, %sub.ptr.rhs.cast655
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %371, i8* %373, i32 %sub.ptr.sub656, i32 1, i1 false)
%376 = load i8** %newhead636, align 4
%pos657 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%377 = load i8** %pos657, align 4
%sexp658 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%378 = load %struct.gcry_sexp** %sexp658, align 4
%d659 = getelementptr inbounds %struct.gcry_sexp* %378, i32 0, i32 0
%arraydecay660 = getelementptr inbounds [1 x i8]* %d659, i32 0, i32 0
%sub.ptr.lhs.cast661 = ptrtoint i8* %377 to i32
%sub.ptr.rhs.cast662 = ptrtoint i8* %arraydecay660 to i32
%sub.ptr.sub663 = sub i32 %sub.ptr.lhs.cast661, %sub.ptr.rhs.cast662
%add.ptr664 = getelementptr inbounds i8* %376, i32 %sub.ptr.sub663
%pos665 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
store i8* %add.ptr664, i8** %pos665, align 4
%sexp666 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%379 = load %struct.gcry_sexp** %sexp666, align 4
%380 = bitcast %struct.gcry_sexp* %379 to i8*
call void @_gcry_free(i8* %380)
%381 = load %struct.gcry_sexp** %newsexp635, align 4
%sexp667 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
store %struct.gcry_sexp* %381, %struct.gcry_sexp** %sexp667, align 4
br label %if.end668
if.end668: ; preds = %if.end645, %land.lhs.true631, %land.lhs.true625, %do.end623
%pos669 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%382 = load i8** %pos669, align 4
%incdec.ptr670 = getelementptr inbounds i8* %382, i32 1
store i8* %incdec.ptr670, i8** %pos669, align 4
store i8 1, i8* %382, align 1
br label %do.body671
do.body671: ; preds = %if.end668
%383 = load i32* %alen597, align 4
%conv673 = trunc i32 %383 to i16
store i16 %conv673, i16* %ashort672, align 2
%pos674 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%384 = load i8** %pos674, align 4
%385 = bitcast i16* %ashort672 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %384, i8* %385, i32 2, i32 1, i1 false)
%pos675 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%386 = load i8** %pos675, align 4
%add.ptr676 = getelementptr inbounds i8* %386, i32 2
store i8* %add.ptr676, i8** %pos675, align 4
br label %do.end677
do.end677: ; preds = %do.body671
%pos678 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%387 = load i8** %pos678, align 4
%388 = load i8** %astr596, align 4
%389 = load i32* %alen597, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %387, i8* %388, i32 %389, i32 1, i1 false)
%390 = load i32* %alen597, align 4
%pos679 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%391 = load i8** %pos679, align 4
%add.ptr680 = getelementptr inbounds i8* %391, i32 %390
store i8* %add.ptr680, i8** %pos679, align 4
br label %if.end804
if.else681: ; preds = %if.else591
%392 = load i8** %p, align 4
%393 = load i8* %392, align 1
%conv682 = sext i8 %393 to i32
%cmp683 = icmp eq i32 %conv682, 100
br i1 %cmp683, label %if.then685, label %if.else721
if.then685: ; preds = %if.else681
br label %do.body687
do.body687: ; preds = %if.then685
%394 = load i8*** %arg_list.addr, align 4
%tobool688 = icmp ne i8** %394, null
br i1 %tobool688, label %if.else690, label %if.then689
if.then689: ; preds = %do.body687
%395 = load i32** %arg_ptr.addr, align 4
%396 = va_arg i32* %395, i32
store i32 %396, i32* %aint, align 4
br label %if.end693
if.else690: ; preds = %do.body687
%397 = load i32* %arg_counter, align 4
%inc691 = add nsw i32 %397, 1
store i32 %inc691, i32* %arg_counter, align 4
%398 = load i8*** %arg_list.addr, align 4
%arrayidx692 = getelementptr inbounds i8** %398, i32 %397
%399 = load i8** %arrayidx692, align 4
%400 = bitcast i8* %399 to i32*
%401 = load i32* %400, align 4
store i32 %401, i32* %aint, align 4
br label %if.end693
if.end693: ; preds = %if.else690, %if.then689
br label %do.end694
do.end694: ; preds = %if.end693
%arraydecay695 = getelementptr inbounds [35 x i8]* %buf, i32 0, i32 0
%402 = load i32* %aint, align 4
%call696 = call i32 (i8*, i8*, ...)* @sprintf(i8* %arraydecay695, i8* getelementptr inbounds ([3 x i8]* @.str13125, i32 0, i32 0), i32 %402)
%arraydecay697 = getelementptr inbounds [35 x i8]* %buf, i32 0, i32 0
%call698 = call i32 @strlen(i8* %arraydecay697)
store i32 %call698, i32* %alen686, align 4
br label %do.body699
do.body699: ; preds = %do.end694
%403 = load i32* %alen686, align 4
%call701 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %403)
store i32 %call701, i32* %_ms_err700, align 4
%404 = load i32* %_ms_err700, align 4
%tobool702 = icmp ne i32 %404, 0
br i1 %tobool702, label %if.then703, label %if.end707
if.then703: ; preds = %do.body699
%405 = load i32* %_ms_err700, align 4
store i32 %405, i32* %err, align 4
%406 = load i8** %p, align 4
%407 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast704 = ptrtoint i8* %406 to i32
%sub.ptr.rhs.cast705 = ptrtoint i8* %407 to i32
%sub.ptr.sub706 = sub i32 %sub.ptr.lhs.cast704, %sub.ptr.rhs.cast705
%408 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub706, i32* %408, align 4
br label %leave
if.end707: ; preds = %do.body699
br label %do.end708
do.end708: ; preds = %if.end707
%pos709 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%409 = load i8** %pos709, align 4
%incdec.ptr710 = getelementptr inbounds i8* %409, i32 1
store i8* %incdec.ptr710, i8** %pos709, align 4
store i8 1, i8* %409, align 1
br label %do.body711
do.body711: ; preds = %do.end708
%410 = load i32* %alen686, align 4
%conv713 = trunc i32 %410 to i16
store i16 %conv713, i16* %ashort712, align 2
%pos714 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%411 = load i8** %pos714, align 4
%412 = bitcast i16* %ashort712 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %411, i8* %412, i32 2, i32 1, i1 false)
%pos715 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%413 = load i8** %pos715, align 4
%add.ptr716 = getelementptr inbounds i8* %413, i32 2
store i8* %add.ptr716, i8** %pos715, align 4
br label %do.end717
do.end717: ; preds = %do.body711
%pos718 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%414 = load i8** %pos718, align 4
%415 = bitcast [35 x i8]* %buf to i8*
%416 = load i32* %alen686, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %414, i8* %415, i32 %416, i32 1, i1 false)
%417 = load i32* %alen686, align 4
%pos719 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%418 = load i8** %pos719, align 4
%add.ptr720 = getelementptr inbounds i8* %418, i32 %417
store i8* %add.ptr720, i8** %pos719, align 4
br label %if.end803
if.else721: ; preds = %if.else681
%419 = load i8** %p, align 4
%420 = load i8* %419, align 1
%conv722 = sext i8 %420 to i32
%cmp723 = icmp eq i32 %conv722, 117
br i1 %cmp723, label %if.then725, label %if.else763
if.then725: ; preds = %if.else721
br label %do.body729
do.body729: ; preds = %if.then725
%421 = load i8*** %arg_list.addr, align 4
%tobool730 = icmp ne i8** %421, null
br i1 %tobool730, label %if.else732, label %if.then731
if.then731: ; preds = %do.body729
%422 = load i32** %arg_ptr.addr, align 4
%423 = va_arg i32* %422, i32
store i32 %423, i32* %aint726, align 4
br label %if.end735
if.else732: ; preds = %do.body729
%424 = load i32* %arg_counter, align 4
%inc733 = add nsw i32 %424, 1
store i32 %inc733, i32* %arg_counter, align 4
%425 = load i8*** %arg_list.addr, align 4
%arrayidx734 = getelementptr inbounds i8** %425, i32 %424
%426 = load i8** %arrayidx734, align 4
%427 = bitcast i8* %426 to i32*
%428 = load i32* %427, align 4
store i32 %428, i32* %aint726, align 4
br label %if.end735
if.end735: ; preds = %if.else732, %if.then731
br label %do.end736
do.end736: ; preds = %if.end735
%arraydecay737 = getelementptr inbounds [35 x i8]* %buf728, i32 0, i32 0
%429 = load i32* %aint726, align 4
%call738 = call i32 (i8*, i8*, ...)* @sprintf(i8* %arraydecay737, i8* getelementptr inbounds ([3 x i8]* @.str14126, i32 0, i32 0), i32 %429)
%arraydecay739 = getelementptr inbounds [35 x i8]* %buf728, i32 0, i32 0
%call740 = call i32 @strlen(i8* %arraydecay739)
store i32 %call740, i32* %alen727, align 4
br label %do.body741
do.body741: ; preds = %do.end736
%430 = load i32* %alen727, align 4
%call743 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %430)
store i32 %call743, i32* %_ms_err742, align 4
%431 = load i32* %_ms_err742, align 4
%tobool744 = icmp ne i32 %431, 0
br i1 %tobool744, label %if.then745, label %if.end749
if.then745: ; preds = %do.body741
%432 = load i32* %_ms_err742, align 4
store i32 %432, i32* %err, align 4
%433 = load i8** %p, align 4
%434 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast746 = ptrtoint i8* %433 to i32
%sub.ptr.rhs.cast747 = ptrtoint i8* %434 to i32
%sub.ptr.sub748 = sub i32 %sub.ptr.lhs.cast746, %sub.ptr.rhs.cast747
%435 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub748, i32* %435, align 4
br label %leave
if.end749: ; preds = %do.body741
br label %do.end750
do.end750: ; preds = %if.end749
%pos751 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%436 = load i8** %pos751, align 4
%incdec.ptr752 = getelementptr inbounds i8* %436, i32 1
store i8* %incdec.ptr752, i8** %pos751, align 4
store i8 1, i8* %436, align 1
br label %do.body753
do.body753: ; preds = %do.end750
%437 = load i32* %alen727, align 4
%conv755 = trunc i32 %437 to i16
store i16 %conv755, i16* %ashort754, align 2
%pos756 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%438 = load i8** %pos756, align 4
%439 = bitcast i16* %ashort754 to i8*
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %438, i8* %439, i32 2, i32 1, i1 false)
%pos757 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%440 = load i8** %pos757, align 4
%add.ptr758 = getelementptr inbounds i8* %440, i32 2
store i8* %add.ptr758, i8** %pos757, align 4
br label %do.end759
do.end759: ; preds = %do.body753
%pos760 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%441 = load i8** %pos760, align 4
%442 = bitcast [35 x i8]* %buf728 to i8*
%443 = load i32* %alen727, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %441, i8* %442, i32 %443, i32 1, i1 false)
%444 = load i32* %alen727, align 4
%pos761 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%445 = load i8** %pos761, align 4
%add.ptr762 = getelementptr inbounds i8* %445, i32 %444
store i8* %add.ptr762, i8** %pos761, align 4
br label %if.end802
if.else763: ; preds = %if.else721
%446 = load i8** %p, align 4
%447 = load i8* %446, align 1
%conv764 = sext i8 %447 to i32
%cmp765 = icmp eq i32 %conv764, 83
br i1 %cmp765, label %if.then767, label %if.else797
if.then767: ; preds = %if.else763
br label %do.body769
do.body769: ; preds = %if.then767
%448 = load i8*** %arg_list.addr, align 4
%tobool770 = icmp ne i8** %448, null
br i1 %tobool770, label %if.else772, label %if.then771
if.then771: ; preds = %do.body769
%449 = load i32** %arg_ptr.addr, align 4
%450 = va_arg i32* %449, %struct.gcry_sexp*
store %struct.gcry_sexp* %450, %struct.gcry_sexp** %asexp, align 4
br label %if.end775
if.else772: ; preds = %do.body769
%451 = load i32* %arg_counter, align 4
%inc773 = add nsw i32 %451, 1
store i32 %inc773, i32* %arg_counter, align 4
%452 = load i8*** %arg_list.addr, align 4
%arrayidx774 = getelementptr inbounds i8** %452, i32 %451
%453 = load i8** %arrayidx774, align 4
%454 = bitcast i8* %453 to %struct.gcry_sexp**
%455 = load %struct.gcry_sexp** %454, align 4
store %struct.gcry_sexp* %455, %struct.gcry_sexp** %asexp, align 4
br label %if.end775
if.end775: ; preds = %if.else772, %if.then771
br label %do.end776
do.end776: ; preds = %if.end775
%456 = load %struct.gcry_sexp** %asexp, align 4
%call777 = call i32 @get_internal_buffer(%struct.gcry_sexp* %456, i32* %aoff)
store i32 %call777, i32* %alen768, align 4
%457 = load i32* %alen768, align 4
%tobool778 = icmp ne i32 %457, 0
br i1 %tobool778, label %if.then779, label %if.end796
if.then779: ; preds = %do.end776
br label %do.body780
do.body780: ; preds = %if.then779
%458 = load i32* %alen768, align 4
%call782 = call i32 @make_space(%struct.make_space_ctx* %c, i32 %458)
store i32 %call782, i32* %_ms_err781, align 4
%459 = load i32* %_ms_err781, align 4
%tobool783 = icmp ne i32 %459, 0
br i1 %tobool783, label %if.then784, label %if.end788
if.then784: ; preds = %do.body780
%460 = load i32* %_ms_err781, align 4
store i32 %460, i32* %err, align 4
%461 = load i8** %p, align 4
%462 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast785 = ptrtoint i8* %461 to i32
%sub.ptr.rhs.cast786 = ptrtoint i8* %462 to i32
%sub.ptr.sub787 = sub i32 %sub.ptr.lhs.cast785, %sub.ptr.rhs.cast786
%463 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub787, i32* %463, align 4
br label %leave
if.end788: ; preds = %do.body780
br label %do.end789
do.end789: ; preds = %if.end788
%pos790 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%464 = load i8** %pos790, align 4
%465 = load %struct.gcry_sexp** %asexp, align 4
%d791 = getelementptr inbounds %struct.gcry_sexp* %465, i32 0, i32 0
%arraydecay792 = getelementptr inbounds [1 x i8]* %d791, i32 0, i32 0
%466 = load i32* %aoff, align 4
%add.ptr793 = getelementptr inbounds i8* %arraydecay792, i32 %466
%467 = load i32* %alen768, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %464, i8* %add.ptr793, i32 %467, i32 1, i1 false)
%468 = load i32* %alen768, align 4
%pos794 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%469 = load i8** %pos794, align 4
%add.ptr795 = getelementptr inbounds i8* %469, i32 %468
store i8* %add.ptr795, i8** %pos794, align 4
br label %if.end796
if.end796: ; preds = %do.end789, %do.end776
br label %if.end801
if.else797: ; preds = %if.else763
%470 = load i8** %p, align 4
%471 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast798 = ptrtoint i8* %470 to i32
%sub.ptr.rhs.cast799 = ptrtoint i8* %471 to i32
%sub.ptr.sub800 = sub i32 %sub.ptr.lhs.cast798, %sub.ptr.rhs.cast799
%472 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub800, i32* %472, align 4
store i32 201, i32* %err, align 4
br label %leave
if.end801: ; preds = %if.end796
br label %if.end802
if.end802: ; preds = %if.end801, %do.end759
br label %if.end803
if.end803: ; preds = %if.end802, %do.end717
br label %if.end804
if.end804: ; preds = %if.end803, %do.end677
br label %if.end805
if.end805: ; preds = %if.end804, %do.end587
br label %if.end806
if.end806: ; preds = %if.end805, %if.end554
store i8* null, i8** %percent, align 4
br label %if.end958
if.else807: ; preds = %if.else384
%473 = load i8** %p, align 4
%474 = load i8* %473, align 1
%conv808 = sext i8 %474 to i32
%cmp809 = icmp eq i32 %conv808, 40
br i1 %cmp809, label %if.then811, label %if.else831
if.then811: ; preds = %if.else807
%475 = load i8** %disphint, align 4
%tobool812 = icmp ne i8* %475, null
br i1 %tobool812, label %if.then813, label %if.end817
if.then813: ; preds = %if.then811
%476 = load i8** %p, align 4
%477 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast814 = ptrtoint i8* %476 to i32
%sub.ptr.rhs.cast815 = ptrtoint i8* %477 to i32
%sub.ptr.sub816 = sub i32 %sub.ptr.lhs.cast814, %sub.ptr.rhs.cast815
%478 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub816, i32* %478, align 4
store i32 209, i32* %err, align 4
br label %leave
if.end817: ; preds = %if.then811
br label %do.body818
do.body818: ; preds = %if.end817
%call820 = call i32 @make_space(%struct.make_space_ctx* %c, i32 0)
store i32 %call820, i32* %_ms_err819, align 4
%479 = load i32* %_ms_err819, align 4
%tobool821 = icmp ne i32 %479, 0
br i1 %tobool821, label %if.then822, label %if.end826
if.then822: ; preds = %do.body818
%480 = load i32* %_ms_err819, align 4
store i32 %480, i32* %err, align 4
%481 = load i8** %p, align 4
%482 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast823 = ptrtoint i8* %481 to i32
%sub.ptr.rhs.cast824 = ptrtoint i8* %482 to i32
%sub.ptr.sub825 = sub i32 %sub.ptr.lhs.cast823, %sub.ptr.rhs.cast824
%483 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub825, i32* %483, align 4
br label %leave
if.end826: ; preds = %do.body818
br label %do.end827
do.end827: ; preds = %if.end826
%pos828 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%484 = load i8** %pos828, align 4
%incdec.ptr829 = getelementptr inbounds i8* %484, i32 1
store i8* %incdec.ptr829, i8** %pos828, align 4
store i8 3, i8* %484, align 1
%485 = load i32* %level, align 4
%inc830 = add nsw i32 %485, 1
store i32 %inc830, i32* %level, align 4
br label %if.end957
if.else831: ; preds = %if.else807
%486 = load i8** %p, align 4
%487 = load i8* %486, align 1
%conv832 = sext i8 %487 to i32
%cmp833 = icmp eq i32 %conv832, 41
br i1 %cmp833, label %if.then835, label %if.else855
if.then835: ; preds = %if.else831
%488 = load i8** %disphint, align 4
%tobool836 = icmp ne i8* %488, null
br i1 %tobool836, label %if.then837, label %if.end841
if.then837: ; preds = %if.then835
%489 = load i8** %p, align 4
%490 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast838 = ptrtoint i8* %489 to i32
%sub.ptr.rhs.cast839 = ptrtoint i8* %490 to i32
%sub.ptr.sub840 = sub i32 %sub.ptr.lhs.cast838, %sub.ptr.rhs.cast839
%491 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub840, i32* %491, align 4
store i32 209, i32* %err, align 4
br label %leave
if.end841: ; preds = %if.then835
br label %do.body842
do.body842: ; preds = %if.end841
%call844 = call i32 @make_space(%struct.make_space_ctx* %c, i32 0)
store i32 %call844, i32* %_ms_err843, align 4
%492 = load i32* %_ms_err843, align 4
%tobool845 = icmp ne i32 %492, 0
br i1 %tobool845, label %if.then846, label %if.end850
if.then846: ; preds = %do.body842
%493 = load i32* %_ms_err843, align 4
store i32 %493, i32* %err, align 4
%494 = load i8** %p, align 4
%495 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast847 = ptrtoint i8* %494 to i32
%sub.ptr.rhs.cast848 = ptrtoint i8* %495 to i32
%sub.ptr.sub849 = sub i32 %sub.ptr.lhs.cast847, %sub.ptr.rhs.cast848
%496 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub849, i32* %496, align 4
br label %leave
if.end850: ; preds = %do.body842
br label %do.end851
do.end851: ; preds = %if.end850
%pos852 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%497 = load i8** %pos852, align 4
%incdec.ptr853 = getelementptr inbounds i8* %497, i32 1
store i8* %incdec.ptr853, i8** %pos852, align 4
store i8 4, i8* %497, align 1
%498 = load i32* %level, align 4
%dec854 = add nsw i32 %498, -1
store i32 %dec854, i32* %level, align 4
br label %if.end956
if.else855: ; preds = %if.else831
%499 = load i8** %p, align 4
%500 = load i8* %499, align 1
%conv856 = sext i8 %500 to i32
%cmp857 = icmp eq i32 %conv856, 34
br i1 %cmp857, label %if.then859, label %if.else860
if.then859: ; preds = %if.else855
%501 = load i8** %p, align 4
store i8* %501, i8** %quoted, align 4
store i32 0, i32* %quoted_esc, align 4
br label %if.end955
if.else860: ; preds = %if.else855
%502 = load i8** %p, align 4
%503 = load i8* %502, align 1
%conv861 = sext i8 %503 to i32
%cmp862 = icmp eq i32 %conv861, 35
br i1 %cmp862, label %if.then864, label %if.else865
if.then864: ; preds = %if.else860
%504 = load i8** %p, align 4
store i8* %504, i8** %hexfmt, align 4
store i32 0, i32* %hexcount, align 4
br label %if.end954
if.else865: ; preds = %if.else860
%505 = load i8** %p, align 4
%506 = load i8* %505, align 1
%conv866 = sext i8 %506 to i32
%cmp867 = icmp eq i32 %conv866, 124
br i1 %cmp867, label %if.then869, label %if.else870
if.then869: ; preds = %if.else865
%507 = load i8** %p, align 4
store i8* %507, i8** %base64, align 4
br label %if.end953
if.else870: ; preds = %if.else865
%508 = load i8** %p, align 4
%509 = load i8* %508, align 1
%conv871 = sext i8 %509 to i32
%cmp872 = icmp eq i32 %conv871, 91
br i1 %cmp872, label %if.then874, label %if.else881
if.then874: ; preds = %if.else870
%510 = load i8** %disphint, align 4
%tobool875 = icmp ne i8* %510, null
br i1 %tobool875, label %if.then876, label %if.end880
if.then876: ; preds = %if.then874
%511 = load i8** %p, align 4
%512 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast877 = ptrtoint i8* %511 to i32
%sub.ptr.rhs.cast878 = ptrtoint i8* %512 to i32
%sub.ptr.sub879 = sub i32 %sub.ptr.lhs.cast877, %sub.ptr.rhs.cast878
%513 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub879, i32* %513, align 4
store i32 208, i32* %err, align 4
br label %leave
if.end880: ; preds = %if.then874
%514 = load i8** %p, align 4
store i8* %514, i8** %disphint, align 4
br label %if.end952
if.else881: ; preds = %if.else870
%515 = load i8** %p, align 4
%516 = load i8* %515, align 1
%conv882 = sext i8 %516 to i32
%cmp883 = icmp eq i32 %conv882, 93
br i1 %cmp883, label %if.then885, label %if.else892
if.then885: ; preds = %if.else881
%517 = load i8** %disphint, align 4
%tobool886 = icmp ne i8* %517, null
br i1 %tobool886, label %if.end891, label %if.then887
if.then887: ; preds = %if.then885
%518 = load i8** %p, align 4
%519 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast888 = ptrtoint i8* %518 to i32
%sub.ptr.rhs.cast889 = ptrtoint i8* %519 to i32
%sub.ptr.sub890 = sub i32 %sub.ptr.lhs.cast888, %sub.ptr.rhs.cast889
%520 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub890, i32* %520, align 4
store i32 209, i32* %err, align 4
br label %leave
if.end891: ; preds = %if.then885
store i8* null, i8** %disphint, align 4
br label %if.end951
if.else892: ; preds = %if.else881
%521 = load i8** %p, align 4
%522 = load i8* %521, align 1
%conv893 = sext i8 %522 to i32
%cmp894 = icmp sge i32 %conv893, 48
br i1 %cmp894, label %land.lhs.true896, label %if.else909
land.lhs.true896: ; preds = %if.else892
%523 = load i8** %p, align 4
%524 = load i8* %523, align 1
%conv897 = sext i8 %524 to i32
%cmp898 = icmp sle i32 %conv897, 57
br i1 %cmp898, label %if.then900, label %if.else909
if.then900: ; preds = %land.lhs.true896
%525 = load i8** %p, align 4
%526 = load i8* %525, align 1
%conv901 = sext i8 %526 to i32
%cmp902 = icmp eq i32 %conv901, 48
br i1 %cmp902, label %if.then904, label %if.end908
if.then904: ; preds = %if.then900
%527 = load i8** %p, align 4
%528 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast905 = ptrtoint i8* %527 to i32
%sub.ptr.rhs.cast906 = ptrtoint i8* %528 to i32
%sub.ptr.sub907 = sub i32 %sub.ptr.lhs.cast905, %sub.ptr.rhs.cast906
%529 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub907, i32* %529, align 4
store i32 207, i32* %err, align 4
br label %leave
if.end908: ; preds = %if.then900
%530 = load i8** %p, align 4
store i8* %530, i8** %digptr, align 4
br label %if.end950
if.else909: ; preds = %land.lhs.true896, %if.else892
%531 = load i8** %p, align 4
%532 = load i8* %531, align 1
%conv910 = sext i8 %532 to i32
%call911 = call i8* @strchr(i8* getelementptr inbounds ([71 x i8]* @vsexp_sscan.tokenchars, i32 0, i32 0), i32 %conv910)
%tobool912 = icmp ne i8* %call911, null
br i1 %tobool912, label %if.then913, label %if.else914
if.then913: ; preds = %if.else909
%533 = load i8** %p, align 4
store i8* %533, i8** %tokenp, align 4
br label %if.end949
if.else914: ; preds = %if.else909
%534 = load i8** %p, align 4
%call915 = call i32 @whitespacep(i8* %534)
%tobool916 = icmp ne i32 %call915, 0
br i1 %tobool916, label %if.then917, label %if.else918
if.then917: ; preds = %if.else914
br label %if.end948
if.else918: ; preds = %if.else914
%535 = load i8** %p, align 4
%536 = load i8* %535, align 1
%conv919 = sext i8 %536 to i32
%cmp920 = icmp eq i32 %conv919, 123
br i1 %cmp920, label %if.then922, label %if.else926
if.then922: ; preds = %if.else918
%537 = load i8** %p, align 4
%538 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast923 = ptrtoint i8* %537 to i32
%sub.ptr.rhs.cast924 = ptrtoint i8* %538 to i32
%sub.ptr.sub925 = sub i32 %sub.ptr.lhs.cast923, %sub.ptr.rhs.cast924
%539 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub925, i32* %539, align 4
store i32 210, i32* %err, align 4
br label %leave
if.else926: ; preds = %if.else918
%540 = load i8** %p, align 4
%541 = load i8* %540, align 1
%conv927 = sext i8 %541 to i32
%call928 = call i8* @strchr(i8* getelementptr inbounds ([3 x i8]* @.str15127, i32 0, i32 0), i32 %conv927)
%tobool929 = icmp ne i8* %call928, null
br i1 %tobool929, label %if.then930, label %if.else934
if.then930: ; preds = %if.else926
%542 = load i8** %p, align 4
%543 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast931 = ptrtoint i8* %542 to i32
%sub.ptr.rhs.cast932 = ptrtoint i8* %543 to i32
%sub.ptr.sub933 = sub i32 %sub.ptr.lhs.cast931, %sub.ptr.rhs.cast932
%544 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub933, i32* %544, align 4
store i32 210, i32* %err, align 4
br label %leave
if.else934: ; preds = %if.else926
%545 = load i32* %argflag.addr, align 4
%tobool935 = icmp ne i32 %545, 0
br i1 %tobool935, label %land.lhs.true936, label %if.else941
land.lhs.true936: ; preds = %if.else934
%546 = load i8** %p, align 4
%547 = load i8* %546, align 1
%conv937 = sext i8 %547 to i32
%cmp938 = icmp eq i32 %conv937, 37
br i1 %cmp938, label %if.then940, label %if.else941
if.then940: ; preds = %land.lhs.true936
%548 = load i8** %p, align 4
store i8* %548, i8** %percent, align 4
br label %if.end945
if.else941: ; preds = %land.lhs.true936, %if.else934
%549 = load i8** %p, align 4
%550 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast942 = ptrtoint i8* %549 to i32
%sub.ptr.rhs.cast943 = ptrtoint i8* %550 to i32
%sub.ptr.sub944 = sub i32 %sub.ptr.lhs.cast942, %sub.ptr.rhs.cast943
%551 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub944, i32* %551, align 4
store i32 205, i32* %err, align 4
br label %leave
if.end945: ; preds = %if.then940
br label %if.end946
if.end946: ; preds = %if.end945
br label %if.end947
if.end947: ; preds = %if.end946
br label %if.end948
if.end948: ; preds = %if.end947, %if.then917
br label %if.end949
if.end949: ; preds = %if.end948, %if.then913
br label %if.end950
if.end950: ; preds = %if.end949, %if.end908
br label %if.end951
if.end951: ; preds = %if.end950, %if.end891
br label %if.end952
if.end952: ; preds = %if.end951, %if.end880
br label %if.end953
if.end953: ; preds = %if.end952, %if.then869
br label %if.end954
if.end954: ; preds = %if.end953, %if.then864
br label %if.end955
if.end955: ; preds = %if.end954, %if.then859
br label %if.end956
if.end956: ; preds = %if.end955, %do.end851
br label %if.end957
if.end957: ; preds = %if.end956, %do.end827
br label %if.end958
if.end958: ; preds = %if.end957, %if.end806
br label %if.end959
if.end959: ; preds = %if.end958, %if.end383
br label %if.end960
if.end960: ; preds = %if.end959, %if.end309
br label %if.end961
if.end961: ; preds = %if.end960, %if.end301
br label %if.end962
if.end962: ; preds = %if.end961, %if.end222
br label %for.inc963
for.inc963: ; preds = %if.end962, %if.then29
%552 = load i8** %p, align 4
%incdec.ptr964 = getelementptr inbounds i8* %552, i32 1
store i8* %incdec.ptr964, i8** %p, align 4
%553 = load i32* %n, align 4
%dec965 = add i32 %553, -1
store i32 %dec965, i32* %n, align 4
br label %for.cond
for.end966: ; preds = %for.cond
br label %do.body967
do.body967: ; preds = %for.end966
%call969 = call i32 @make_space(%struct.make_space_ctx* %c, i32 0)
store i32 %call969, i32* %_ms_err968, align 4
%554 = load i32* %_ms_err968, align 4
%tobool970 = icmp ne i32 %554, 0
br i1 %tobool970, label %if.then971, label %if.end975
if.then971: ; preds = %do.body967
%555 = load i32* %_ms_err968, align 4
store i32 %555, i32* %err, align 4
%556 = load i8** %p, align 4
%557 = load i8** %buffer.addr, align 4
%sub.ptr.lhs.cast972 = ptrtoint i8* %556 to i32
%sub.ptr.rhs.cast973 = ptrtoint i8* %557 to i32
%sub.ptr.sub974 = sub i32 %sub.ptr.lhs.cast972, %sub.ptr.rhs.cast973
%558 = load i32** %erroff.addr, align 4
store i32 %sub.ptr.sub974, i32* %558, align 4
br label %leave
if.end975: ; preds = %do.body967
br label %do.end976
do.end976: ; preds = %if.end975
%pos977 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 2
%559 = load i8** %pos977, align 4
%incdec.ptr978 = getelementptr inbounds i8* %559, i32 1
store i8* %incdec.ptr978, i8** %pos977, align 4
store i8 0, i8* %559, align 1
%560 = load i32* %level, align 4
%tobool979 = icmp ne i32 %560, 0
br i1 %tobool979, label %land.lhs.true980, label %if.end983
land.lhs.true980: ; preds = %do.end976
%561 = load i32* %err, align 4
%tobool981 = icmp ne i32 %561, 0
br i1 %tobool981, label %if.end983, label %if.then982
if.then982: ; preds = %land.lhs.true980
store i32 203, i32* %err, align 4
br label %if.end983
if.end983: ; preds = %if.then982, %land.lhs.true980, %do.end976
br label %leave
leave: ; preds = %if.end983, %if.then971, %if.else941, %if.then930, %if.then922, %if.then904, %if.then887, %if.then876, %if.then846, %if.then837, %if.then822, %if.then813, %if.else797, %if.then784, %if.then745, %if.then703, %if.then642, %if.then618, %if.then573, %if.then511, %if.then489, %if.then440, %if.then420, %if.else375, %if.then339, %if.then330, %if.then295, %if.then245, %if.then236, %if.then193, %sw.default, %if.then144, %if.then75, %if.then33, %if.then17
%562 = load i32* %err, align 4
%tobool984 = icmp ne i32 %562, 0
br i1 %tobool984, label %if.then985, label %if.else1035
if.then985: ; preds = %leave
%sexp986 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%563 = load %struct.gcry_sexp** %sexp986, align 4
%tobool987 = icmp ne %struct.gcry_sexp* %563, null
br i1 %tobool987, label %if.then988, label %if.end1034
if.then988: ; preds = %if.then985
%sexp989 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%564 = load %struct.gcry_sexp** %sexp989, align 4
%565 = bitcast %struct.gcry_sexp* %564 to i8*
%call990 = call i32 @_gcry_is_secure(i8* %565) nounwind readonly
%tobool991 = icmp ne i32 %call990, 0
br i1 %tobool991, label %if.then992, label %if.end1032
if.then992: ; preds = %if.then988
br label %do.body993
do.body993: ; preds = %if.then992
%sexp994 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%566 = load %struct.gcry_sexp** %sexp994, align 4
%567 = bitcast %struct.gcry_sexp* %566 to i8*
store i8* %567, i8** %_vptr, align 4
%allocated995 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 1
%568 = load i32* %allocated995, align 4
%add996 = add i32 1, %568
%sub997 = sub i32 %add996, 1
store i32 %sub997, i32* %_vlen, align 4
store i8 0, i8* %_vset, align 1
br label %do.body998
do.body998: ; preds = %do.body993
%569 = load i8* %_vset, align 1
%conv999 = zext i8 %569 to i32
store i32 %conv999, i32* %_vset_long, align 4
br label %do.body1000
do.body1000: ; preds = %do.body998
br label %while.cond
while.cond: ; preds = %while.body, %do.body1000
%570 = load i8** %_vptr, align 4
%571 = ptrtoint i8* %570 to i32
%and1001 = and i32 %571, 3
%tobool1002 = icmp ne i32 %and1001, 0
br i1 %tobool1002, label %land.rhs1003, label %land.end1005
land.rhs1003: ; preds = %while.cond
%572 = load i32* %_vlen, align 4
%tobool1004 = icmp ne i32 %572, 0
br label %land.end1005
land.end1005: ; preds = %land.rhs1003, %while.cond
%573 = phi i1 [ false, %while.cond ], [ %tobool1004, %land.rhs1003 ]
br i1 %573, label %while.body, label %while.end
while.body: ; preds = %land.end1005
%574 = load i8* %_vset, align 1
%575 = load i8** %_vptr, align 4
store volatile i8 %574, i8* %575, align 1
%576 = load i8** %_vptr, align 4
%incdec.ptr1006 = getelementptr inbounds i8* %576, i32 1
store i8* %incdec.ptr1006, i8** %_vptr, align 4
%577 = load i32* %_vlen, align 4
%dec1007 = add i32 %577, -1
store i32 %dec1007, i32* %_vlen, align 4
br label %while.cond
while.end: ; preds = %land.end1005
br label %do.end1008
do.end1008: ; preds = %while.end
%578 = load i32* %_vlen, align 4
%cmp1009 = icmp ult i32 %578, 4
br i1 %cmp1009, label %if.then1011, label %if.end1012
if.then1011: ; preds = %do.end1008
br label %do.end1023
if.end1012: ; preds = %do.end1008
%579 = load i32* %_vset_long, align 4
%conv1013 = zext i32 %579 to i64
%mul1014 = mul i64 %conv1013, 72340172838076673
%conv1015 = trunc i64 %mul1014 to i32
store i32 %conv1015, i32* %_vset_long, align 4
br label %do.body1016
do.body1016: ; preds = %do.cond, %if.end1012
%580 = load i8** %_vptr, align 4
%581 = bitcast i8* %580 to i32*
store i32* %581, i32** %_vptr_long, align 4
%582 = load i32* %_vset_long, align 4
%583 = load i32** %_vptr_long, align 4
store volatile i32 %582, i32* %583, align 4
%584 = load i32* %_vlen, align 4
%sub1017 = sub i32 %584, 4
store i32 %sub1017, i32* %_vlen, align 4
%585 = load i8** %_vptr, align 4
%add.ptr1018 = getelementptr inbounds i8* %585, i32 4
store i8* %add.ptr1018, i8** %_vptr, align 4
br label %do.cond
do.cond: ; preds = %do.body1016
%586 = load i32* %_vlen, align 4
%cmp1019 = icmp uge i32 %586, 4
br i1 %cmp1019, label %do.body1016, label %do.end1021
do.end1021: ; preds = %do.cond
br label %do.end1023
do.end1023: ; preds = %do.end1021, %if.then1011
br label %while.cond1024
while.cond1024: ; preds = %while.body1026, %do.end1023
%587 = load i32* %_vlen, align 4
%tobool1025 = icmp ne i32 %587, 0
br i1 %tobool1025, label %while.body1026, label %while.end1029
while.body1026: ; preds = %while.cond1024
%588 = load i8* %_vset, align 1
%589 = load i8** %_vptr, align 4
store volatile i8 %588, i8* %589, align 1
%590 = load i8** %_vptr, align 4
%incdec.ptr1027 = getelementptr inbounds i8* %590, i32 1
store i8* %incdec.ptr1027, i8** %_vptr, align 4
%591 = load i32* %_vlen, align 4
%dec1028 = add i32 %591, -1
store i32 %dec1028, i32* %_vlen, align 4
br label %while.cond1024
while.end1029: ; preds = %while.cond1024
br label %do.end1031
do.end1031: ; preds = %while.end1029
br label %if.end1032
if.end1032: ; preds = %do.end1031, %if.then988
%sexp1033 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%592 = load %struct.gcry_sexp** %sexp1033, align 4
%593 = bitcast %struct.gcry_sexp* %592 to i8*
call void @_gcry_free(i8* %593)
br label %if.end1034
if.end1034: ; preds = %if.end1032, %if.then985
%594 = load %struct.gcry_sexp*** %retsexp.addr, align 4
store %struct.gcry_sexp* null, %struct.gcry_sexp** %594, align 4
br label %if.end1038
if.else1035: ; preds = %leave
%sexp1036 = getelementptr inbounds %struct.make_space_ctx* %c, i32 0, i32 0
%595 = load %struct.gcry_sexp** %sexp1036, align 4
%call1037 = call %struct.gcry_sexp* @normalize(%struct.gcry_sexp* %595)
%596 = load %struct.gcry_sexp*** %retsexp.addr, align 4
store %struct.gcry_sexp* %call1037, %struct.gcry_sexp** %596, align 4
br label %if.end1038
if.end1038: ; preds = %if.else1035, %if.end1034
%597 = load i32* %err, align 4
ret i32 %597
}
define internal hidden i32 @_gcry_sexp_build_array(%struct.gcry_sexp** %retsexp, i32* %erroff, i8* %format, i8** %arg_list) nounwind {
entry:
%retsexp.addr = alloca %struct.gcry_sexp**, align 4
%erroff.addr = alloca i32*, align 4
%format.addr = alloca i8*, align 4
%arg_list.addr = alloca i8**, align 4
store %struct.gcry_sexp** %retsexp, %struct.gcry_sexp*** %retsexp.addr, align 4
store i32* %erroff, i32** %erroff.addr, align 4
store i8* %format, i8** %format.addr, align 4
store i8** %arg_list, i8*** %arg_list.addr, align 4
%0 = load %struct.gcry_sexp*** %retsexp.addr, align 4
%1 = load i32** %erroff.addr, align 4
%2 = load i8** %format.addr, align 4
%3 = load i8** %format.addr, align 4
%call = call i32 @strlen(i8* %3)
%4 = load i8*** %arg_list.addr, align 4
%call1 = call i32 (%struct.gcry_sexp**, i32*, i8*, i32, i32, i8**, ...)* @sexp_sscan(%struct.gcry_sexp** %0, i32* %1, i8* %2, i32 %call, i32 1, i8** %4)
ret i32 %call1
}
define internal hidden i32 @_gcry_sexp_sscan(%struct.gcry_sexp** %retsexp, i32* %erroff, i8* %buffer, i32 %length) nounwind {
entry:
%retsexp.addr = alloca %struct.gcry_sexp**, align 4
%erroff.addr = alloca i32*, align 4
%buffer.addr = alloca i8*, align 4
%length.addr = alloca i32, align 4
store %struct.gcry_sexp** %retsexp, %struct.gcry_sexp*** %retsexp.addr, align 4
store i32* %erroff, i32** %erroff.addr, align 4
store i8* %buffer, i8** %buffer.addr, align 4
store i32 %length, i32* %length.addr, align 4
%0 = load %struct.gcry_sexp*** %retsexp.addr, align 4
%1 = load i32** %erroff.addr, align 4
%2 = load i8** %buffer.addr, align 4
%3 = load i32* %length.addr, align 4
%call = call i32 (%struct.gcry_sexp**, i32*, i8*, i32, i32, i8**, ...)* @sexp_sscan(%struct.gcry_sexp** %0, i32* %1, i8* %2, i32 %3, i32 0, i8** null)
ret i32 %call
}
declare i32 @sprintf(i8*, i8*, ...)
declare i8* @stpcpy(i8*, i8*)
define internal hidden i32 @_gcry_sexp_vextract_param(%struct.gcry_sexp* %sexp, i8* %path, i8* %list, i32* %arg_ptr) nounwind {
entry:
%retval = alloca i32, align 4
%sexp.addr = alloca %struct.gcry_sexp*, align 4
%path.addr = alloca i8*, align 4
%list.addr = alloca i8*, align 4
%arg_ptr.addr = alloca i32*, align 4
%rc = alloca i32, align 4
%s = alloca i8*, align 4
%array = alloca [20 x %struct.gcry_mpi**], align 4
%arrayisdesc = alloca [20 x i8], align 1
%idx = alloca i32, align 4
%l1 = alloca %struct.gcry_sexp*, align 4
%mode = alloca i32, align 4
%freethis = alloca %struct.gcry_sexp*, align 4
%n = alloca i32, align 4
%spec = alloca %struct.gcry_buffer_t*, align 4
%spec98 = alloca %struct.gcry_buffer_t*, align 4
%pbuf = alloca i8*, align 4
%nbuf = alloca i32, align 4
%spec178 = alloca %struct.gcry_buffer_t*, align 4
%spec182 = alloca %struct.gcry_buffer_t*, align 4
store %struct.gcry_sexp* %sexp, %struct.gcry_sexp** %sexp.addr, align 4
store i8* %path, i8** %path.addr, align 4
store i8* %list, i8** %list.addr, align 4
store i32* %arg_ptr, i32** %arg_ptr.addr, align 4
store i32 43, i32* %mode, align 4
store %struct.gcry_sexp* null, %struct.gcry_sexp** %freethis, align 4
%0 = bitcast [20 x i8]* %arrayisdesc to i8*
call void @llvm.memset.p0i8.i32(i8* %0, i8 0, i32 20, i32 1, i1 false)
%1 = load i8** %list.addr, align 4
store i8* %1, i8** %s, align 4
store i32 0, i32* %idx, align 4
br label %for.cond
for.cond: ; preds = %for.inc, %entry
%2 = load i8** %s, align 4
%3 = load i8* %2, align 1
%conv = sext i8 %3 to i32
%tobool = icmp ne i32 %conv, 0
br i1 %tobool, label %land.rhs, label %land.end
land.rhs: ; preds = %for.cond
%4 = load i32* %idx, align 4
%cmp = icmp ult i32 %4, 20
br label %land.end
land.end: ; preds = %land.rhs, %for.cond
%5 = phi i1 [ false, %for.cond ], [ %cmp, %land.rhs ]
br i1 %5, label %for.body, label %for.end
for.body: ; preds = %land.end
%6 = load i8** %s, align 4
%7 = load i8* %6, align 1
%conv2 = sext i8 %7 to i32
%cmp3 = icmp eq i32 %conv2, 38
br i1 %cmp3, label %if.then, label %lor.lhs.false
lor.lhs.false: ; preds = %for.body
%8 = load i8** %s, align 4
%9 = load i8* %8, align 1
%conv5 = sext i8 %9 to i32
%cmp6 = icmp eq i32 %conv5, 43
br i1 %cmp6, label %if.then, label %lor.lhs.false8
lor.lhs.false8: ; preds = %lor.lhs.false
%10 = load i8** %s, align 4
%11 = load i8* %10, align 1
%conv9 = sext i8 %11 to i32
%cmp10 = icmp eq i32 %conv9, 45
br i1 %cmp10, label %if.then, label %lor.lhs.false12
lor.lhs.false12: ; preds = %lor.lhs.false8
%12 = load i8** %s, align 4
%13 = load i8* %12, align 1
%conv13 = sext i8 %13 to i32
%cmp14 = icmp eq i32 %conv13, 47
br i1 %cmp14, label %if.then, label %lor.lhs.false16
lor.lhs.false16: ; preds = %lor.lhs.false12
%14 = load i8** %s, align 4
%15 = load i8* %14, align 1
%conv17 = sext i8 %15 to i32
%cmp18 = icmp eq i32 %conv17, 63
br i1 %cmp18, label %if.then, label %if.else
if.then: ; preds = %lor.lhs.false16, %lor.lhs.false12, %lor.lhs.false8, %lor.lhs.false, %for.body
br label %if.end23
if.else: ; preds = %lor.lhs.false16
%16 = load i32** %arg_ptr.addr, align 4
%17 = va_arg i32* %16, %struct.gcry_mpi**
%18 = load i32* %idx, align 4
%arrayidx = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %18
store %struct.gcry_mpi** %17, %struct.gcry_mpi*** %arrayidx, align 4
%19 = load i32* %idx, align 4
%arrayidx20 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %19
%20 = load %struct.gcry_mpi*** %arrayidx20, align 4
%tobool21 = icmp ne %struct.gcry_mpi** %20, null
br i1 %tobool21, label %if.end, label %if.then22
if.then22: ; preds = %if.else
store i32 128, i32* %retval
br label %return
if.end: ; preds = %if.else
%21 = load i32* %idx, align 4
%inc = add nsw i32 %21, 1
store i32 %inc, i32* %idx, align 4
br label %if.end23
if.end23: ; preds = %if.end, %if.then
br label %for.inc
for.inc: ; preds = %if.end23
%22 = load i8** %s, align 4
%incdec.ptr = getelementptr inbounds i8* %22, i32 1
store i8* %incdec.ptr, i8** %s, align 4
br label %for.cond
for.end: ; preds = %land.end
%23 = load i8** %s, align 4
%24 = load i8* %23, align 1
%tobool24 = icmp ne i8 %24, 0
br i1 %tobool24, label %if.then25, label %if.end26
if.then25: ; preds = %for.end
store i32 183, i32* %retval
br label %return
if.end26: ; preds = %for.end
%25 = load i32** %arg_ptr.addr, align 4
%26 = va_arg i32* %25, %struct.gcry_mpi**
%tobool27 = icmp ne %struct.gcry_mpi** %26, null
br i1 %tobool27, label %if.then28, label %if.end29
if.then28: ; preds = %if.end26
store i32 45, i32* %retval
br label %return
if.end29: ; preds = %if.end26
br label %while.cond
while.cond: ; preds = %if.end47, %if.end29
%27 = load i8** %path.addr, align 4
%tobool30 = icmp ne i8* %27, null
br i1 %tobool30, label %land.rhs31, label %land.end34
land.rhs31: ; preds = %while.cond
%28 = load i8** %path.addr, align 4
%29 = load i8* %28, align 1
%conv32 = sext i8 %29 to i32
%tobool33 = icmp ne i32 %conv32, 0
br label %land.end34
land.end34: ; preds = %land.rhs31, %while.cond
%30 = phi i1 [ false, %while.cond ], [ %tobool33, %land.rhs31 ]
br i1 %30, label %while.body, label %while.end
while.body: ; preds = %land.end34
%31 = load i8** %path.addr, align 4
%call = call i8* @strchr(i8* %31, i32 33)
store i8* %call, i8** %s, align 4
%32 = load i8** %s, align 4
%33 = load i8** %path.addr, align 4
%cmp35 = icmp eq i8* %32, %33
br i1 %cmp35, label %if.then37, label %if.end38
if.then37: ; preds = %while.body
store i32 27, i32* %rc, align 4
br label %cleanup
if.end38: ; preds = %while.body
%34 = load i8** %s, align 4
%tobool39 = icmp ne i8* %34, null
br i1 %tobool39, label %cond.true, label %cond.false
cond.true: ; preds = %if.end38
%35 = load i8** %s, align 4
%36 = load i8** %path.addr, align 4
%sub.ptr.lhs.cast = ptrtoint i8* %35 to i32
%sub.ptr.rhs.cast = ptrtoint i8* %36 to i32
%sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
br label %cond.end
cond.false: ; preds = %if.end38
br label %cond.end
cond.end: ; preds = %cond.false, %cond.true
%cond = phi i32 [ %sub.ptr.sub, %cond.true ], [ 0, %cond.false ]
store i32 %cond, i32* %n, align 4
%37 = load %struct.gcry_sexp** %sexp.addr, align 4
%38 = load i8** %path.addr, align 4
%39 = load i32* %n, align 4
%call40 = call %struct.gcry_sexp* @_gcry_sexp_find_token(%struct.gcry_sexp* %37, i8* %38, i32 %39)
store %struct.gcry_sexp* %call40, %struct.gcry_sexp** %l1, align 4
%40 = load %struct.gcry_sexp** %l1, align 4
%tobool41 = icmp ne %struct.gcry_sexp* %40, null
br i1 %tobool41, label %if.end43, label %if.then42
if.then42: ; preds = %cond.end
store i32 27, i32* %rc, align 4
br label %cleanup
if.end43: ; preds = %cond.end
%41 = load %struct.gcry_sexp** %l1, align 4
store %struct.gcry_sexp* %41, %struct.gcry_sexp** %sexp.addr, align 4
store %struct.gcry_sexp* null, %struct.gcry_sexp** %l1, align 4
%42 = load %struct.gcry_sexp** %freethis, align 4
call void @_gcry_sexp_release(%struct.gcry_sexp* %42)
%43 = load %struct.gcry_sexp** %sexp.addr, align 4
store %struct.gcry_sexp* %43, %struct.gcry_sexp** %freethis, align 4
%44 = load i32* %n, align 4
%tobool44 = icmp ne i32 %44, 0
br i1 %tobool44, label %if.then45, label %if.else46
if.then45: ; preds = %if.end43
%45 = load i32* %n, align 4
%add = add i32 %45, 1
%46 = load i8** %path.addr, align 4
%add.ptr = getelementptr inbounds i8* %46, i32 %add
store i8* %add.ptr, i8** %path.addr, align 4
br label %if.end47
if.else46: ; preds = %if.end43
store i8* null, i8** %path.addr, align 4
br label %if.end47
if.end47: ; preds = %if.else46, %if.then45
br label %while.cond
while.end: ; preds = %land.end34
%47 = load i8** %list.addr, align 4
store i8* %47, i8** %s, align 4
store i32 0, i32* %idx, align 4
br label %for.cond48
for.cond48: ; preds = %for.inc161, %while.end
%48 = load i8** %s, align 4
%49 = load i8* %48, align 1
%tobool49 = icmp ne i8 %49, 0
br i1 %tobool49, label %for.body50, label %for.end163
for.body50: ; preds = %for.cond48
%50 = load i8** %s, align 4
%51 = load i8* %50, align 1
%conv51 = sext i8 %51 to i32
%cmp52 = icmp eq i32 %conv51, 38
br i1 %cmp52, label %if.then66, label %lor.lhs.false54
lor.lhs.false54: ; preds = %for.body50
%52 = load i8** %s, align 4
%53 = load i8* %52, align 1
%conv55 = sext i8 %53 to i32
%cmp56 = icmp eq i32 %conv55, 43
br i1 %cmp56, label %if.then66, label %lor.lhs.false58
lor.lhs.false58: ; preds = %lor.lhs.false54
%54 = load i8** %s, align 4
%55 = load i8* %54, align 1
%conv59 = sext i8 %55 to i32
%cmp60 = icmp eq i32 %conv59, 45
br i1 %cmp60, label %if.then66, label %lor.lhs.false62
lor.lhs.false62: ; preds = %lor.lhs.false58
%56 = load i8** %s, align 4
%57 = load i8* %56, align 1
%conv63 = sext i8 %57 to i32
%cmp64 = icmp eq i32 %conv63, 47
br i1 %cmp64, label %if.then66, label %if.else68
if.then66: ; preds = %lor.lhs.false62, %lor.lhs.false58, %lor.lhs.false54, %for.body50
%58 = load i8** %s, align 4
%59 = load i8* %58, align 1
%conv67 = sext i8 %59 to i32
store i32 %conv67, i32* %mode, align 4
br label %if.end160
if.else68: ; preds = %lor.lhs.false62
%60 = load i8** %s, align 4
%61 = load i8* %60, align 1
%conv69 = sext i8 %61 to i32
%cmp70 = icmp eq i32 %conv69, 63
br i1 %cmp70, label %if.then72, label %if.else73
if.then72: ; preds = %if.else68
br label %if.end159
if.else73: ; preds = %if.else68
%62 = load %struct.gcry_sexp** %sexp.addr, align 4
%63 = load i8** %s, align 4
%call74 = call %struct.gcry_sexp* @_gcry_sexp_find_token(%struct.gcry_sexp* %62, i8* %63, i32 1)
store %struct.gcry_sexp* %call74, %struct.gcry_sexp** %l1, align 4
%64 = load %struct.gcry_sexp** %l1, align 4
%tobool75 = icmp ne %struct.gcry_sexp* %64, null
br i1 %tobool75, label %if.else91, label %land.lhs.true
land.lhs.true: ; preds = %if.else73
%65 = load i8** %s, align 4
%arrayidx76 = getelementptr inbounds i8* %65, i32 1
%66 = load i8* %arrayidx76, align 1
%conv77 = sext i8 %66 to i32
%cmp78 = icmp eq i32 %conv77, 63
br i1 %cmp78, label %if.then80, label %if.else91
if.then80: ; preds = %land.lhs.true
%67 = load i32* %mode, align 4
%cmp81 = icmp eq i32 %67, 38
br i1 %cmp81, label %if.then83, label %if.else88
if.then83: ; preds = %if.then80
%68 = load i32* %idx, align 4
%arrayidx84 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %68
%69 = load %struct.gcry_mpi*** %arrayidx84, align 4
%70 = bitcast %struct.gcry_mpi** %69 to %struct.gcry_buffer_t*
store %struct.gcry_buffer_t* %70, %struct.gcry_buffer_t** %spec, align 4
%71 = load %struct.gcry_buffer_t** %spec, align 4
%data = getelementptr inbounds %struct.gcry_buffer_t* %71, i32 0, i32 3
%72 = load i8** %data, align 4
%tobool85 = icmp ne i8* %72, null
br i1 %tobool85, label %if.end87, label %if.then86
if.then86: ; preds = %if.then83
%73 = load %struct.gcry_buffer_t** %spec, align 4
%size = getelementptr inbounds %struct.gcry_buffer_t* %73, i32 0, i32 0
store i32 0, i32* %size, align 4
%74 = load %struct.gcry_buffer_t** %spec, align 4
%off = getelementptr inbounds %struct.gcry_buffer_t* %74, i32 0, i32 1
store i32 0, i32* %off, align 4
br label %if.end87
if.end87: ; preds = %if.then86, %if.then83
%75 = load %struct.gcry_buffer_t** %spec, align 4
%len = getelementptr inbounds %struct.gcry_buffer_t* %75, i32 0, i32 2
store i32 0, i32* %len, align 4
br label %if.end90
if.else88: ; preds = %if.then80
%76 = load i32* %idx, align 4
%arrayidx89 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %76
%77 = load %struct.gcry_mpi*** %arrayidx89, align 4
store %struct.gcry_mpi* null, %struct.gcry_mpi** %77, align 4
br label %if.end90
if.end90: ; preds = %if.else88, %if.end87
br label %if.end157
if.else91: ; preds = %land.lhs.true, %if.else73
%78 = load %struct.gcry_sexp** %l1, align 4
%tobool92 = icmp ne %struct.gcry_sexp* %78, null
br i1 %tobool92, label %if.else94, label %if.then93
if.then93: ; preds = %if.else91
store i32 68, i32* %rc, align 4
br label %cleanup
if.else94: ; preds = %if.else91
%79 = load i32* %mode, align 4
%cmp95 = icmp eq i32 %79, 38
br i1 %cmp95, label %if.then97, label %if.else134
if.then97: ; preds = %if.else94
%80 = load i32* %idx, align 4
%arrayidx99 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %80
%81 = load %struct.gcry_mpi*** %arrayidx99, align 4
%82 = bitcast %struct.gcry_mpi** %81 to %struct.gcry_buffer_t*
store %struct.gcry_buffer_t* %82, %struct.gcry_buffer_t** %spec98, align 4
%83 = load %struct.gcry_buffer_t** %spec98, align 4
%data100 = getelementptr inbounds %struct.gcry_buffer_t* %83, i32 0, i32 3
%84 = load i8** %data100, align 4
%tobool101 = icmp ne i8* %84, null
br i1 %tobool101, label %if.then102, label %if.else121
if.then102: ; preds = %if.then97
%85 = load %struct.gcry_sexp** %l1, align 4
%call103 = call i8* @_gcry_sexp_nth_data(%struct.gcry_sexp* %85, i32 1, i32* %nbuf)
store i8* %call103, i8** %pbuf, align 4
%86 = load i8** %pbuf, align 4
%tobool104 = icmp ne i8* %86, null
br i1 %tobool104, label %lor.lhs.false105, label %if.then107
lor.lhs.false105: ; preds = %if.then102
%87 = load i32* %nbuf, align 4
%tobool106 = icmp ne i32 %87, 0
br i1 %tobool106, label %if.end108, label %if.then107
if.then107: ; preds = %lor.lhs.false105, %if.then102
store i32 65, i32* %rc, align 4
br label %cleanup
if.end108: ; preds = %lor.lhs.false105
%88 = load %struct.gcry_buffer_t** %spec98, align 4
%off109 = getelementptr inbounds %struct.gcry_buffer_t* %88, i32 0, i32 1
%89 = load i32* %off109, align 4
%90 = load i32* %nbuf, align 4
%add110 = add i32 %89, %90
%91 = load %struct.gcry_buffer_t** %spec98, align 4
%size111 = getelementptr inbounds %struct.gcry_buffer_t* %91, i32 0, i32 0
%92 = load i32* %size111, align 4
%cmp112 = icmp ugt i32 %add110, %92
br i1 %cmp112, label %if.then114, label %if.end115
if.then114: ; preds = %if.end108
store i32 200, i32* %rc, align 4
br label %cleanup
if.end115: ; preds = %if.end108
%93 = load %struct.gcry_buffer_t** %spec98, align 4
%data116 = getelementptr inbounds %struct.gcry_buffer_t* %93, i32 0, i32 3
%94 = load i8** %data116, align 4
%95 = load %struct.gcry_buffer_t** %spec98, align 4
%off117 = getelementptr inbounds %struct.gcry_buffer_t* %95, i32 0, i32 1
%96 = load i32* %off117, align 4
%add.ptr118 = getelementptr inbounds i8* %94, i32 %96
%97 = load i8** %pbuf, align 4
%98 = load i32* %nbuf, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %add.ptr118, i8* %97, i32 %98, i32 1, i1 false)
%99 = load i32* %nbuf, align 4
%100 = load %struct.gcry_buffer_t** %spec98, align 4
%len119 = getelementptr inbounds %struct.gcry_buffer_t* %100, i32 0, i32 2
store i32 %99, i32* %len119, align 4
%101 = load i32* %idx, align 4
%arrayidx120 = getelementptr inbounds [20 x i8]* %arrayisdesc, i32 0, i32 %101
store i8 1, i8* %arrayidx120, align 1
br label %if.end133
if.else121: ; preds = %if.then97
%102 = load %struct.gcry_sexp** %l1, align 4
%103 = load %struct.gcry_buffer_t** %spec98, align 4
%size122 = getelementptr inbounds %struct.gcry_buffer_t* %103, i32 0, i32 0
%call123 = call i8* @_gcry_sexp_nth_buffer(%struct.gcry_sexp* %102, i32 1, i32* %size122)
%104 = load %struct.gcry_buffer_t** %spec98, align 4
%data124 = getelementptr inbounds %struct.gcry_buffer_t* %104, i32 0, i32 3
store i8* %call123, i8** %data124, align 4
%105 = load %struct.gcry_buffer_t** %spec98, align 4
%data125 = getelementptr inbounds %struct.gcry_buffer_t* %105, i32 0, i32 3
%106 = load i8** %data125, align 4
%tobool126 = icmp ne i8* %106, null
br i1 %tobool126, label %if.end128, label %if.then127
if.then127: ; preds = %if.else121
store i32 65, i32* %rc, align 4
br label %cleanup
if.end128: ; preds = %if.else121
%107 = load %struct.gcry_buffer_t** %spec98, align 4
%size129 = getelementptr inbounds %struct.gcry_buffer_t* %107, i32 0, i32 0
%108 = load i32* %size129, align 4
%109 = load %struct.gcry_buffer_t** %spec98, align 4
%len130 = getelementptr inbounds %struct.gcry_buffer_t* %109, i32 0, i32 2
store i32 %108, i32* %len130, align 4
%110 = load %struct.gcry_buffer_t** %spec98, align 4
%off131 = getelementptr inbounds %struct.gcry_buffer_t* %110, i32 0, i32 1
store i32 0, i32* %off131, align 4
%111 = load i32* %idx, align 4
%arrayidx132 = getelementptr inbounds [20 x i8]* %arrayisdesc, i32 0, i32 %111
store i8 2, i8* %arrayidx132, align 1
br label %if.end133
if.end133: ; preds = %if.end128, %if.end115
br label %if.end151
if.else134: ; preds = %if.else94
%112 = load i32* %mode, align 4
%cmp135 = icmp eq i32 %112, 47
br i1 %cmp135, label %if.then137, label %if.else140
if.then137: ; preds = %if.else134
%113 = load %struct.gcry_sexp** %l1, align 4
%call138 = call %struct.gcry_mpi* @_gcry_sexp_nth_opaque_mpi(%struct.gcry_sexp* %113, i32 1)
%114 = load i32* %idx, align 4
%arrayidx139 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %114
%115 = load %struct.gcry_mpi*** %arrayidx139, align 4
store %struct.gcry_mpi* %call138, %struct.gcry_mpi** %115, align 4
br label %if.end150
if.else140: ; preds = %if.else134
%116 = load i32* %mode, align 4
%cmp141 = icmp eq i32 %116, 45
br i1 %cmp141, label %if.then143, label %if.else146
if.then143: ; preds = %if.else140
%117 = load %struct.gcry_sexp** %l1, align 4
%call144 = call %struct.gcry_mpi* @_gcry_sexp_nth_mpi(%struct.gcry_sexp* %117, i32 1, i32 1)
%118 = load i32* %idx, align 4
%arrayidx145 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %118
%119 = load %struct.gcry_mpi*** %arrayidx145, align 4
store %struct.gcry_mpi* %call144, %struct.gcry_mpi** %119, align 4
br label %if.end149
if.else146: ; preds = %if.else140
%120 = load %struct.gcry_sexp** %l1, align 4
%call147 = call %struct.gcry_mpi* @_gcry_sexp_nth_mpi(%struct.gcry_sexp* %120, i32 1, i32 5)
%121 = load i32* %idx, align 4
%arrayidx148 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %121
%122 = load %struct.gcry_mpi*** %arrayidx148, align 4
store %struct.gcry_mpi* %call147, %struct.gcry_mpi** %122, align 4
br label %if.end149
if.end149: ; preds = %if.else146, %if.then143
br label %if.end150
if.end150: ; preds = %if.end149, %if.then137
br label %if.end151
if.end151: ; preds = %if.end150, %if.end133
%123 = load %struct.gcry_sexp** %l1, align 4
call void @_gcry_sexp_release(%struct.gcry_sexp* %123)
store %struct.gcry_sexp* null, %struct.gcry_sexp** %l1, align 4
%124 = load i32* %idx, align 4
%arrayidx152 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %124
%125 = load %struct.gcry_mpi*** %arrayidx152, align 4
%126 = load %struct.gcry_mpi** %125, align 4
%tobool153 = icmp ne %struct.gcry_mpi* %126, null
br i1 %tobool153, label %if.end155, label %if.then154
if.then154: ; preds = %if.end151
store i32 65, i32* %rc, align 4
br label %cleanup
if.end155: ; preds = %if.end151
br label %if.end156
if.end156: ; preds = %if.end155
br label %if.end157
if.end157: ; preds = %if.end156, %if.end90
%127 = load i32* %idx, align 4
%inc158 = add nsw i32 %127, 1
store i32 %inc158, i32* %idx, align 4
br label %if.end159
if.end159: ; preds = %if.end157, %if.then72
br label %if.end160
if.end160: ; preds = %if.end159, %if.then66
br label %for.inc161
for.inc161: ; preds = %if.end160
%128 = load i8** %s, align 4
%incdec.ptr162 = getelementptr inbounds i8* %128, i32 1
store i8* %incdec.ptr162, i8** %s, align 4
br label %for.cond48
for.end163: ; preds = %for.cond48
%129 = load %struct.gcry_sexp** %freethis, align 4
call void @_gcry_sexp_release(%struct.gcry_sexp* %129)
store i32 0, i32* %retval
br label %return
cleanup: ; preds = %if.then154, %if.then127, %if.then114, %if.then107, %if.then93, %if.then42, %if.then37
%130 = load %struct.gcry_sexp** %freethis, align 4
call void @_gcry_sexp_release(%struct.gcry_sexp* %130)
%131 = load %struct.gcry_sexp** %l1, align 4
call void @_gcry_sexp_release(%struct.gcry_sexp* %131)
br label %while.cond164
while.cond164: ; preds = %if.end190, %cleanup
%132 = load i32* %idx, align 4
%dec = add nsw i32 %132, -1
store i32 %dec, i32* %idx, align 4
%tobool165 = icmp ne i32 %132, 0
br i1 %tobool165, label %while.body166, label %while.end191
while.body166: ; preds = %while.cond164
%133 = load i32* %idx, align 4
%arrayidx167 = getelementptr inbounds [20 x i8]* %arrayisdesc, i32 0, i32 %133
%134 = load i8* %arrayidx167, align 1
%tobool168 = icmp ne i8 %134, 0
br i1 %tobool168, label %if.else172, label %if.then169
if.then169: ; preds = %while.body166
%135 = load i32* %idx, align 4
%arrayidx170 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %135
%136 = load %struct.gcry_mpi*** %arrayidx170, align 4
%137 = load %struct.gcry_mpi** %136, align 4
call void @_gcry_mpi_release(%struct.gcry_mpi* %137)
%138 = load i32* %idx, align 4
%arrayidx171 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %138
%139 = load %struct.gcry_mpi*** %arrayidx171, align 4
store %struct.gcry_mpi* null, %struct.gcry_mpi** %139, align 4
br label %if.end190
if.else172: ; preds = %while.body166
%140 = load i32* %idx, align 4
%arrayidx173 = getelementptr inbounds [20 x i8]* %arrayisdesc, i32 0, i32 %140
%141 = load i8* %arrayidx173, align 1
%tobool174 = icmp ne i8 %141, 0
%lnot = xor i1 %tobool174, true
%lnot.ext = zext i1 %lnot to i32
%cmp175 = icmp eq i32 %lnot.ext, 1
br i1 %cmp175, label %if.then177, label %if.else181
if.then177: ; preds = %if.else172
%142 = load i32* %idx, align 4
%arrayidx179 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %142
%143 = load %struct.gcry_mpi*** %arrayidx179, align 4
%144 = bitcast %struct.gcry_mpi** %143 to %struct.gcry_buffer_t*
store %struct.gcry_buffer_t* %144, %struct.gcry_buffer_t** %spec178, align 4
%145 = load %struct.gcry_buffer_t** %spec178, align 4
%len180 = getelementptr inbounds %struct.gcry_buffer_t* %145, i32 0, i32 2
store i32 0, i32* %len180, align 4
br label %if.end189
if.else181: ; preds = %if.else172
%146 = load i32* %idx, align 4
%arrayidx183 = getelementptr inbounds [20 x %struct.gcry_mpi**]* %array, i32 0, i32 %146
%147 = load %struct.gcry_mpi*** %arrayidx183, align 4
%148 = bitcast %struct.gcry_mpi** %147 to %struct.gcry_buffer_t*
store %struct.gcry_buffer_t* %148, %struct.gcry_buffer_t** %spec182, align 4
%149 = load %struct.gcry_buffer_t** %spec182, align 4
%data184 = getelementptr inbounds %struct.gcry_buffer_t* %149, i32 0, i32 3
%150 = load i8** %data184, align 4
call void @_gcry_free(i8* %150)
%151 = load %struct.gcry_buffer_t** %spec182, align 4
%data185 = getelementptr inbounds %struct.gcry_buffer_t* %151, i32 0, i32 3
store i8* null, i8** %data185, align 4
%152 = load %struct.gcry_buffer_t** %spec182, align 4
%len186 = getelementptr inbounds %struct.gcry_buffer_t* %152, i32 0, i32 2
store i32 0, i32* %len186, align 4
%153 = load %struct.gcry_buffer_t** %spec182, align 4
%off187 = getelementptr inbounds %struct.gcry_buffer_t* %153, i32 0, i32 1
store i32 0, i32* %off187, align 4
%154 = load %struct.gcry_buffer_t** %spec182, align 4
%size188 = getelementptr inbounds %struct.gcry_buffer_t* %154, i32 0, i32 0
store i32 0, i32* %size188, align 4
br label %if.end189
if.end189: ; preds = %if.else181, %if.then177
br label %if.end190
if.end190: ; preds = %if.end189, %if.then169
br label %while.cond164
while.end191: ; preds = %while.cond164
%155 = load i32* %rc, align 4
store i32 %155, i32* %retval
br label %return
return: ; preds = %while.end191, %for.end163, %if.then28, %if.then25, %if.then22
%156 = load i32* %retval
ret i32 %156
}
define internal hidden i32 @_gcry_sexp_extract_param(%struct.gcry_sexp* %sexp, i8* %path, i8* %list, ...) nounwind {
entry:
%sexp.addr = alloca %struct.gcry_sexp*, align 4
%path.addr = alloca i8*, align 4
%list.addr = alloca i8*, align 4
%rc = alloca i32, align 4
%arg_ptr = alloca [4 x i32], align 4
store %struct.gcry_sexp* %sexp, %struct.gcry_sexp** %sexp.addr, align 4
store i8* %path, i8** %path.addr, align 4
store i8* %list, i8** %list.addr, align 4
%arraydecay = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay1 = bitcast i32* %arraydecay to i8*
call void @llvm.va_start(i8* %arraydecay1)
%0 = load %struct.gcry_sexp** %sexp.addr, align 4
%1 = load i8** %path.addr, align 4
%2 = load i8** %list.addr, align 4
%arraydecay2 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%call = call i32 @_gcry_sexp_vextract_param(%struct.gcry_sexp* %0, i8* %1, i8* %2, i32* %arraydecay2)
store i32 %call, i32* %rc, align 4
%arraydecay3 = getelementptr inbounds [4 x i32]* %arg_ptr, i32 0, i32 0
%arraydecay34 = bitcast i32* %arraydecay3 to i8*
call void @llvm.va_end(i8* %arraydecay34)
%3 = load i32* %rc, align 4
%call5 = call i32 @gpg_error183(i32 %3)
ret i32 %call5
}
define internal i32 @gpg_error183(i32 %code) nounwind inlinehint {
entry:
%code.addr = alloca i32, align 4
store i32 %code, i32* %code.addr, align 4
%0 = load i32* %code.addr, align 4
%call = call i32 @gpg_err_make184(i32 1, i32 %0)
ret i32 %call
}
define internal i32 @gpg_err_make184(i32 %source, i32 %code) nounwind inlinehint {
entry:
%source.addr = alloca i32, align 4
%code.addr = alloca i32, align 4
store i32 %source, i32* %source.addr, align 4
store i32 %code, i32* %code.addr, align 4
%0 = load i32* %code.addr, align 4
%cmp = icmp eq i32 %0, 0
br i1 %cmp, label %cond.true, label %cond.false
cond.true: ; preds = %entry
br label %cond.end
cond.false: ; preds = %entry
%1 = load i32* %source.addr, align 4
%and = and i32 %1, 127
%shl = shl i32 %and, 24
%2 = load i32* %code.addr, align 4
%and1 = and i32 %2, 65535
%or = or i32 %shl, %and1
br label %cond.end
cond.end: ; preds = %cond.false, %cond.true
%cond = phi i32 [ 0, %cond.true ], [ %or, %cond.false ]
ret i32 %cond
}
define internal i32 @make_space(%struct.make_space_ctx* %c, i32 %n) nounwind {
entry:
%retval = alloca i32, align 4
%c.addr = alloca %struct.make_space_ctx*, align 4
%n.addr = alloca i32, align 4
%used = alloca i32, align 4
%newsexp = alloca %struct.gcry_sexp*, align 4
%newhead = alloca i8*, align 4
%newsize = alloca i32, align 4
store %struct.make_space_ctx* %c, %struct.make_space_ctx** %c.addr, align 4
store i32 %n, i32* %n.addr, align 4
%0 = load %struct.make_space_ctx** %c.addr, align 4
%pos = getelementptr inbounds %struct.make_space_ctx* %0, i32 0, i32 2
%1 = load i8** %pos, align 4
%2 = load %struct.make_space_ctx** %c.addr, align 4
%sexp = getelementptr inbounds %struct.make_space_ctx* %2, i32 0, i32 0
%3 = load %struct.gcry_sexp** %sexp, align 4
%d = getelementptr inbounds %struct.gcry_sexp* %3, i32 0, i32 0
%arraydecay = getelementptr inbounds [1 x i8]* %d, i32 0, i32 0
%sub.ptr.lhs.cast = ptrtoint i8* %1 to i32
%sub.ptr.rhs.cast = ptrtoint i8* %arraydecay to i32
%sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
store i32 %sub.ptr.sub, i32* %used, align 4
%4 = load i32* %used, align 4
%5 = load i32* %n.addr, align 4
%add = add i32 %4, %5
%add1 = add i32 %add, 2
%add2 = add i32 %add1, 1
%6 = load %struct.make_space_ctx** %c.addr, align 4
%allocated = getelementptr inbounds %struct.make_space_ctx* %6, i32 0, i32 1
%7 = load i32* %allocated, align 4
%cmp = icmp uge i32 %add2, %7
br i1 %cmp, label %if.then, label %if.end21
if.then: ; preds = %entry
%8 = load %struct.make_space_ctx** %c.addr, align 4
%allocated3 = getelementptr inbounds %struct.make_space_ctx* %8, i32 0, i32 1
%9 = load i32* %allocated3, align 4
%10 = load i32* %n.addr, align 4
%add4 = add i32 %10, 2
%add5 = add i32 %add4, 1
%mul = mul i32 2, %add5
%add6 = add i32 %9, %mul
store i32 %add6, i32* %newsize, align 4
%11 = load i32* %newsize, align 4
%12 = load %struct.make_space_ctx** %c.addr, align 4
%allocated7 = getelementptr inbounds %struct.make_space_ctx* %12, i32 0, i32 1
%13 = load i32* %allocated7, align 4
%cmp8 = icmp ule i32 %11, %13
br i1 %cmp8, label %if.then9, label %if.end
if.then9: ; preds = %if.then
store i32 67, i32* %retval
br label %return
if.end: ; preds = %if.then
%14 = load %struct.make_space_ctx** %c.addr, align 4
%sexp10 = getelementptr inbounds %struct.make_space_ctx* %14, i32 0, i32 0
%15 = load %struct.gcry_sexp** %sexp10, align 4
%16 = bitcast %struct.gcry_sexp* %15 to i8*
%17 = load i32* %newsize, align 4
%add11 = add i32 1, %17
%sub = sub i32 %add11, 1
%call = call i8* @_gcry_realloc(i8* %16, i32 %sub)
%18 = bitcast i8* %call to %struct.gcry_sexp*
store %struct.gcry_sexp* %18, %struct.gcry_sexp** %newsexp, align 4
%19 = load %struct.gcry_sexp** %newsexp, align 4
%tobool = icmp ne %struct.gcry_sexp* %19, null
br i1 %tobool, label %if.end15, label %if.then12
if.then12: ; preds = %if.end
%call13 = call i32* @__errno_location() nounwind readnone
%20 = load i32* %call13, align 4
%call14 = call i32 @gpg_err_code_from_errno(i32 %20)
store i32 %call14, i32* %retval
br label %return
if.end15: ; preds = %if.end
%21 = load i32* %newsize, align 4
%22 = load %struct.make_space_ctx** %c.addr, align 4
%allocated16 = getelementptr inbounds %struct.make_space_ctx* %22, i32 0, i32 1
store i32 %21, i32* %allocated16, align 4
%23 = load %struct.gcry_sexp** %newsexp, align 4
%d17 = getelementptr inbounds %struct.gcry_sexp* %23, i32 0, i32 0
%arraydecay18 = getelementptr inbounds [1 x i8]* %d17, i32 0, i32 0
store i8* %arraydecay18, i8** %newhead, align 4
%24 = load i8** %newhead, align 4
%25 = load i32* %used, align 4
%add.ptr = getelementptr inbounds i8* %24, i32 %25
%26 = load %struct.make_space_ctx** %c.addr, align 4
%pos19 = getelementptr inbounds %struct.make_space_ctx* %26, i32 0, i32 2
store i8* %add.ptr, i8** %pos19, align 4
%27 = load %struct.gcry_sexp** %newsexp, align 4
%28 = load %struct.make_space_ctx** %c.addr, align 4
%sexp20 = getelementptr inbounds %struct.make_space_ctx* %28, i32 0, i32 0
store %struct.gcry_sexp* %27, %struct.gcry_sexp** %sexp20, align 4
br label %if.end21
if.end21: ; preds = %if.end15, %entry
store i32 0, i32* %retval
br label %return
return: ; preds = %if.end21, %if.then12, %if.then9
%29 = load i32* %retval
ret i32 %29
}
define internal i32 @unquote_string(i8* %string, i32 %length, i8* %buf) nounwind {
entry:
%string.addr = alloca i8*, align 4
%length.addr = alloca i32, align 4
%buf.addr = alloca i8*, align 4
%esc = alloca i32, align 4
%s = alloca i8*, align 4
%d = alloca i8*, align 4
%n = alloca i32, align 4
store i8* %string, i8** %string.addr, align 4
store i32 %length, i32* %length.addr, align 4
store i8* %buf, i8** %buf.addr, align 4
store i32 0, i32* %esc, align 4
%0 = load i8** %string.addr, align 4
store i8* %0, i8** %s, align 4
%1 = load i8** %buf.addr, align 4
store i8* %1, i8** %d, align 4
%2 = load i32* %length.addr, align 4
store i32 %2, i32* %n, align 4
br label %for.cond
for.cond: ; preds = %for.inc, %entry
%3 = load i32* %n, align 4
%tobool = icmp ne i32 %3, 0
br i1 %tobool, label %for.body, label %for.end
for.body: ; preds = %for.cond
%4 = load i32* %esc, align 4
%tobool1 = icmp ne i32 %4, 0
br i1 %tobool1, label %if.then, label %if.else
if.then: ; preds = %for.body
%5 = load i8** %s, align 4
%6 = load i8* %5, align 1
%conv = zext i8 %6 to i32
switch i32 %conv, label %sw.default [
i32 98, label %sw.bb
i32 116, label %sw.bb2
i32 118, label %sw.bb4
i32 110, label %sw.bb6
i32 102, label %sw.bb8
i32 114, label %sw.bb10
i32 34, label %sw.bb12
i32 39, label %sw.bb14
i32 92, label %sw.bb16
i32 13, label %sw.bb18
i32 10, label %sw.bb25
i32 120, label %sw.bb37
]
sw.bb: ; preds = %if.then
%7 = load i8** %d, align 4
%incdec.ptr = getelementptr inbounds i8* %7, i32 1
store i8* %incdec.ptr, i8** %d, align 4
store i8 8, i8* %7, align 1
br label %sw.epilog
sw.bb2: ; preds = %if.then
%8 = load i8** %d, align 4
%incdec.ptr3 = getelementptr inbounds i8* %8, i32 1
store i8* %incdec.ptr3, i8** %d, align 4
store i8 9, i8* %8, align 1
br label %sw.epilog
sw.bb4: ; preds = %if.then
%9 = load i8** %d, align 4
%incdec.ptr5 = getelementptr inbounds i8* %9, i32 1
store i8* %incdec.ptr5, i8** %d, align 4
store i8 11, i8* %9, align 1
br label %sw.epilog
sw.bb6: ; preds = %if.then
%10 = load i8** %d, align 4
%incdec.ptr7 = getelementptr inbounds i8* %10, i32 1
store i8* %incdec.ptr7, i8** %d, align 4
store i8 10, i8* %10, align 1
br label %sw.epilog
sw.bb8: ; preds = %if.then
%11 = load i8** %d, align 4
%incdec.ptr9 = getelementptr inbounds i8* %11, i32 1
store i8* %incdec.ptr9, i8** %d, align 4
store i8 12, i8* %11, align 1
br label %sw.epilog
sw.bb10: ; preds = %if.then
%12 = load i8** %d, align 4
%incdec.ptr11 = getelementptr inbounds i8* %12, i32 1
store i8* %incdec.ptr11, i8** %d, align 4
store i8 13, i8* %12, align 1
br label %sw.epilog
sw.bb12: ; preds = %if.then
%13 = load i8** %d, align 4
%incdec.ptr13 = getelementptr inbounds i8* %13, i32 1
store i8* %incdec.ptr13, i8** %d, align 4
store i8 34, i8* %13, align 1
br label %sw.epilog
sw.bb14: ; preds = %if.then
%14 = load i8** %d, align 4
%incdec.ptr15 = getelementptr inbounds i8* %14, i32 1
store i8* %incdec.ptr15, i8** %d, align 4
store i8 39, i8* %14, align 1
br label %sw.epilog
sw.bb16: ; preds = %if.then
%15 = load i8** %d, align 4
%incdec.ptr17 = getelementptr inbounds i8* %15, i32 1
store i8* %incdec.ptr17, i8** %d, align 4
store i8 92, i8* %15, align 1
br label %sw.epilog
sw.bb18: ; preds = %if.then
%16 = load i32* %n, align 4
%cmp = icmp ugt i32 %16, 1
br i1 %cmp, label %land.lhs.true, label %if.end
land.lhs.true: ; preds = %sw.bb18
%17 = load i8** %s, align 4
%arrayidx = getelementptr inbounds i8* %17, i32 1
%18 = load i8* %arrayidx, align 1
%conv20 = zext i8 %18 to i32
%cmp21 = icmp eq i32 %conv20, 10
br i1 %cmp21, label %if.then23, label %if.end
if.then23: ; preds = %land.lhs.true
%19 = load i8** %s, align 4
%incdec.ptr24 = getelementptr inbounds i8* %19, i32 1
store i8* %incdec.ptr24, i8** %s, align 4
%20 = load i32* %n, align 4
%dec = add i32 %20, -1
store i32 %dec, i32* %n, align 4
br label %if.end
if.end: ; preds = %if.then23, %land.lhs.true, %sw.bb18
br label %sw.epilog
sw.bb25: ; preds = %if.then
%21 = load i32* %n, align 4
%cmp26 = icmp ugt i32 %21, 1
br i1 %cmp26, label %land.lhs.true28, label %if.end36
land.lhs.true28: ; preds = %sw.bb25
%22 = load i8** %s, align 4
%arrayidx29 = getelementptr inbounds i8* %22, i32 1
%23 = load i8* %arrayidx29, align 1
%conv30 = zext i8 %23 to i32
%cmp31 = icmp eq i32 %conv30, 13
br i1 %cmp31, label %if.then33, label %if.end36
if.then33: ; preds = %land.lhs.true28
%24 = load i8** %s, align 4
%incdec.ptr34 = getelementptr inbounds i8* %24, i32 1
store i8* %incdec.ptr34, i8** %s, align 4
%25 = load i32* %n, align 4
%dec35 = add i32 %25, -1
store i32 %dec35, i32* %n, align 4
br label %if.end36
if.end36: ; preds = %if.then33, %land.lhs.true28, %sw.bb25
br label %sw.epilog
sw.bb37: ; preds = %if.then
%26 = load i32* %n, align 4
%cmp38 = icmp ugt i32 %26, 2
br i1 %cmp38, label %land.lhs.true40, label %if.end149
land.lhs.true40: ; preds = %sw.bb37
%27 = load i8** %s, align 4
%add.ptr = getelementptr inbounds i8* %27, i32 1
%28 = load i8* %add.ptr, align 1
%conv41 = zext i8 %28 to i32
%cmp42 = icmp sge i32 %conv41, 48
br i1 %cmp42, label %land.lhs.true44, label %lor.lhs.false
land.lhs.true44: ; preds = %land.lhs.true40
%29 = load i8** %s, align 4
%add.ptr45 = getelementptr inbounds i8* %29, i32 1
%30 = load i8* %add.ptr45, align 1
%conv46 = zext i8 %30 to i32
%cmp47 = icmp sle i32 %conv46, 57
br i1 %cmp47, label %land.lhs.true68, label %lor.lhs.false
lor.lhs.false: ; preds = %land.lhs.true44, %land.lhs.true40
%31 = load i8** %s, align 4
%add.ptr49 = getelementptr inbounds i8* %31, i32 1
%32 = load i8* %add.ptr49, align 1
%conv50 = zext i8 %32 to i32
%cmp51 = icmp sge i32 %conv50, 65
br i1 %cmp51, label %land.lhs.true53, label %lor.lhs.false58
land.lhs.true53: ; preds = %lor.lhs.false
%33 = load i8** %s, align 4
%add.ptr54 = getelementptr inbounds i8* %33, i32 1
%34 = load i8* %add.ptr54, align 1
%conv55 = zext i8 %34 to i32
%cmp56 = icmp sle i32 %conv55, 70
br i1 %cmp56, label %land.lhs.true68, label %lor.lhs.false58
lor.lhs.false58: ; preds = %land.lhs.true53, %lor.lhs.false
%35 = load i8** %s, align 4
%add.ptr59 = getelementptr inbounds i8* %35, i32 1
%36 = load i8* %add.ptr59, align 1
%conv60 = zext i8 %36 to i32
%cmp61 = icmp sge i32 %conv60, 97
br i1 %cmp61, label %land.lhs.true63, label %if.end149
land.lhs.true63: ; preds = %lor.lhs.false58
%37 = load i8** %s, align 4
%add.ptr64 = getelementptr inbounds i8* %37, i32 1
%38 = load i8* %add.ptr64, align 1
%conv65 = zext i8 %38 to i32
%cmp66 = icmp sle i32 %conv65, 102
br i1 %cmp66, label %land.lhs.true68, label %if.end149
land.lhs.true68: ; preds = %land.lhs.true63, %land.lhs.true53, %land.lhs.true44
%39 = load i8** %s, align 4
%add.ptr69 = getelementptr inbounds i8* %39, i32 2
%40 = load i8* %add.ptr69, align 1
%conv70 = zext i8 %40 to i32
%cmp71 = icmp sge i32 %conv70, 48
br i1 %cmp71, label %land.lhs.true73, label %lor.lhs.false78
land.lhs.true73: ; preds = %land.lhs.true68
%41 = load i8** %s, align 4
%add.ptr74 = getelementptr inbounds i8* %41, i32 2
%42 = load i8* %add.ptr74, align 1
%conv75 = zext i8 %42 to i32
%cmp76 = icmp sle i32 %conv75, 57
br i1 %cmp76, label %if.then98, label %lor.lhs.false78
lor.lhs.false78: ; preds = %land.lhs.true73, %land.lhs.true68
%43 = load i8** %s, align 4
%add.ptr79 = getelementptr inbounds i8* %43, i32 2
%44 = load i8* %add.ptr79, align 1
%conv80 = zext i8 %44 to i32
%cmp81 = icmp sge i32 %conv80, 65
br i1 %cmp81, label %land.lhs.true83, label %lor.lhs.false88
land.lhs.true83: ; preds = %lor.lhs.false78
%45 = load i8** %s, align 4
%add.ptr84 = getelementptr inbounds i8* %45, i32 2
%46 = load i8* %add.ptr84, align 1
%conv85 = zext i8 %46 to i32
%cmp86 = icmp sle i32 %conv85, 70
br i1 %cmp86, label %if.then98, label %lor.lhs.false88
lor.lhs.false88: ; preds = %land.lhs.true83, %lor.lhs.false78
%47 = load i8** %s, align 4
%add.ptr89 = getelementptr inbounds i8* %47, i32 2
%48 = load i8* %add.ptr89, align 1
%conv90 = zext i8 %48 to i32
%cmp91 = icmp sge i32 %conv90, 97
br i1 %cmp91, label %land.lhs.true93, label %if.end149
land.lhs.true93: ; preds = %lor.lhs.false88
%49 = load i8** %s, align 4
%add.ptr94 = getelementptr inbounds i8* %49, i32 2
%50 = load i8* %add.ptr94, align 1
%conv95 = zext i8 %50 to i32
%cmp96 = icmp sle i32 %conv95, 102
br i1 %cmp96, label %if.then98, label %if.end149
if.then98: ; preds = %land.lhs.true93, %land.lhs.true83, %land.lhs.true73
%51 = load i8** %s, align 4
%incdec.ptr99 = getelementptr inbounds i8* %51, i32 1
store i8* %incdec.ptr99, i8** %s, align 4
%52 = load i32* %n, align 4
%dec100 = add i32 %52, -1
store i32 %dec100, i32* %n, align 4
%53 = load i8** %s, align 4
%54 = load i8* %53, align 1
%conv101 = zext i8 %54 to i32
%cmp102 = icmp sle i32 %conv101, 57
br i1 %cmp102, label %cond.true, label %cond.false
cond.true: ; preds = %if.then98
%55 = load i8** %s, align 4
%56 = load i8* %55, align 1
%conv104 = zext i8 %56 to i32
%sub = sub nsw i32 %conv104, 48
br label %cond.end115
cond.false: ; preds = %if.then98
%57 = load i8** %s, align 4
%58 = load i8* %57, align 1
%conv105 = zext i8 %58 to i32
%cmp106 = icmp sle i32 %conv105, 70
br i1 %cmp106, label %cond.true108, label %cond.false111
cond.true108: ; preds = %cond.false
%59 = load i8** %s, align 4
%60 = load i8* %59, align 1
%conv109 = zext i8 %60 to i32
%sub110 = sub nsw i32 %conv109, 65
%add = add nsw i32 %sub110, 10
br label %cond.end
cond.false111: ; preds = %cond.false
%61 = load i8** %s, align 4
%62 = load i8* %61, align 1
%conv112 = zext i8 %62 to i32
%sub113 = sub nsw i32 %conv112, 97
%add114 = add nsw i32 %sub113, 10
br label %cond.end
cond.end: ; preds = %cond.false111, %cond.true108
%cond = phi i32 [ %add, %cond.true108 ], [ %add114, %cond.false111 ]
br label %cond.end115
cond.end115: ; preds = %cond.end, %cond.true
%cond116 = phi i32 [ %sub, %cond.true ], [ %cond, %cond.end ]
%mul = mul nsw i32 %cond116, 16
%63 = load i8** %s, align 4
%add.ptr117 = getelementptr inbounds i8* %63, i32 1
%64 = load i8* %add.ptr117, align 1
%conv118 = zext i8 %64 to i32
%cmp119 = icmp sle i32 %conv118, 57
br i1 %cmp119, label %cond.true121, label %cond.false125
cond.true121: ; preds = %cond.end115
%65 = load i8** %s, align 4
%add.ptr122 = getelementptr inbounds i8* %65, i32 1
%66 = load i8* %add.ptr122, align 1
%conv123 = zext i8 %66 to i32
%sub124 = sub nsw i32 %conv123, 48
br label %cond.end142
cond.false125: ; preds = %cond.end115
%67 = load i8** %s, align 4
%add.ptr126 = getelementptr inbounds i8* %67, i32 1
%68 = load i8* %add.ptr126, align 1
%conv127 = zext i8 %68 to i32
%cmp128 = icmp sle i32 %conv127, 70
br i1 %cmp128, label %cond.true130, label %cond.false135
cond.true130: ; preds = %cond.false125
%69 = load i8** %s, align 4
%add.ptr131 = getelementptr inbounds i8* %69, i32 1
%70 = load i8* %add.ptr131, align 1
%conv132 = zext i8 %70 to i32
%sub133 = sub nsw i32 %conv132, 65
%add134 = add nsw i32 %sub133, 10
br label %cond.end140
cond.false135: ; preds = %cond.false125
%71 = load i8** %s, align 4
%add.ptr136 = getelementptr inbounds i8* %71, i32 1
%72 = load i8* %add.ptr136, align 1
%conv137 = zext i8 %72 to i32
%sub138 = sub nsw i32 %conv137, 97
%add139 = add nsw i32 %sub138, 10
br label %cond.end140
cond.end140: ; preds = %cond.false135, %cond.true130
%cond141 = phi i32 [ %add134, %cond.true130 ], [ %add139, %cond.false135 ]
br label %cond.end142
cond.end142: ; preds = %cond.end140, %cond.true121
%cond143 = phi i32 [ %sub124, %cond.true121 ], [ %cond141, %cond.end140 ]
%add144 = add nsw i32 %mul, %cond143
%conv145 = trunc i32 %add144 to i8
%73 = load i8** %d, align 4
%incdec.ptr146 = getelementptr inbounds i8* %73, i32 1
store i8* %incdec.ptr146, i8** %d, align 4
store i8 %conv145, i8* %73, align 1
%74 = load i8** %s, align 4
%incdec.ptr147 = getelementptr inbounds i8* %74, i32 1
store i8* %incdec.ptr147, i8** %s, align 4
%75 = load i32* %n, align 4
%dec148 = add i32 %75, -1
store i32 %dec148, i32* %n, align 4
br label %if.end149
if.end149: ; preds = %cond.end142, %land.lhs.true93, %lor.lhs.false88, %land.lhs.true63, %lor.lhs.false58, %sw.bb37
br label %sw.epilog
sw.default: ; preds = %if.then
%76 = load i32* %n, align 4
%cmp150 = icmp ugt i32 %76, 2
br i1 %cmp150, label %land.lhs.true152, label %if.end197
land.lhs.true152: ; preds = %sw.default
%77 = load i8** %s, align 4
%78 = load i8* %77, align 1
%conv153 = zext i8 %78 to i32
%cmp154 = icmp sge i32 %conv153, 48
br i1 %cmp154, label %land.lhs.true156, label %if.end197
land.lhs.true156: ; preds = %land.lhs.true152
%79 = load i8** %s, align 4
%80 = load i8* %79, align 1
%conv157 = zext i8 %80 to i32
%cmp158 = icmp sle i32 %conv157, 55
br i1 %cmp158, label %land.lhs.true160, label %if.end197
land.lhs.true160: ; preds = %land.lhs.true156
%81 = load i8** %s, align 4
%add.ptr161 = getelementptr inbounds i8* %81, i32 1
%82 = load i8* %add.ptr161, align 1
%conv162 = zext i8 %82 to i32
%cmp163 = icmp sge i32 %conv162, 48
br i1 %cmp163, label %land.lhs.true165, label %if.end197
land.lhs.true165: ; preds = %land.lhs.true160
%83 = load i8** %s, align 4
%add.ptr166 = getelementptr inbounds i8* %83, i32 1
%84 = load i8* %add.ptr166, align 1
%conv167 = zext i8 %84 to i32
%cmp168 = icmp sle i32 %conv167, 55
br i1 %cmp168, label %land.lhs.true170, label %if.end197
land.lhs.true170: ; preds = %land.lhs.true165
%85 = load i8** %s, align 4
%add.ptr171 = getelementptr inbounds i8* %85, i32 2
%86 = load i8* %add.ptr171, align 1
%conv172 = zext i8 %86 to i32
%cmp173 = icmp sge i32 %conv172, 48
br i1 %cmp173, label %land.lhs.true175, label %if.end197
land.lhs.true175: ; preds = %land.lhs.true170
%87 = load i8** %s, align 4
%add.ptr176 = getelementptr inbounds i8* %87, i32 2
%88 = load i8* %add.ptr176, align 1
%conv177 = zext i8 %88 to i32
%cmp178 = icmp sle i32 %conv177, 55
br i1 %cmp178, label %if.then180, label %if.end197
if.then180: ; preds = %land.lhs.true175
%89 = load i8** %s, align 4
%90 = load i8* %89, align 1
%conv181 = zext i8 %90 to i32
%sub182 = sub nsw i32 %conv181, 48
%mul183 = mul nsw i32 %sub182, 64
%91 = load i8** %s, align 4
%add.ptr184 = getelementptr inbounds i8* %91, i32 1
%92 = load i8* %add.ptr184, align 1
%conv185 = zext i8 %92 to i32
%sub186 = sub nsw i32 %conv185, 48
%mul187 = mul nsw i32 %sub186, 8
%add188 = add nsw i32 %mul183, %mul187
%93 = load i8** %s, align 4
%add.ptr189 = getelementptr inbounds i8* %93, i32 2
%94 = load i8* %add.ptr189, align 1
%conv190 = zext i8 %94 to i32
%sub191 = sub nsw i32 %conv190, 48
%add192 = add nsw i32 %add188, %sub191
%conv193 = trunc i32 %add192 to i8
%95 = load i8** %d, align 4
%incdec.ptr194 = getelementptr inbounds i8* %95, i32 1
store i8* %incdec.ptr194, i8** %d, align 4
store i8 %conv193, i8* %95, align 1
%96 = load i8** %s, align 4
%add.ptr195 = getelementptr inbounds i8* %96, i32 2
store i8* %add.ptr195, i8** %s, align 4
%97 = load i32* %n, align 4
%sub196 = sub i32 %97, 2
store i32 %sub196, i32* %n, align 4
br label %if.end197
if.end197: ; preds = %if.then180, %land.lhs.true175, %land.lhs.true170, %land.lhs.true165, %land.lhs.true160, %land.lhs.true156, %land.lhs.true152, %sw.default
br label %sw.epilog
sw.epilog: ; preds = %if.end197, %if.end149, %if.end36, %if.end, %sw.bb16, %sw.bb14, %sw.bb12, %sw.bb10, %sw.bb8, %sw.bb6, %sw.bb4, %sw.bb2, %sw.bb
store i32 0, i32* %esc, align 4
br label %if.end205
if.else: ; preds = %for.body
%98 = load i8** %s, align 4
%99 = load i8* %98, align 1
%conv198 = zext i8 %99 to i32
%cmp199 = icmp eq i32 %conv198, 92
br i1 %cmp199, label %if.then201, label %if.else202
if.then201: ; preds = %if.else
store i32 1, i32* %esc, align 4
br label %if.end204
if.else202: ; preds = %if.else
%100 = load i8** %s, align 4
%101 = load i8* %100, align 1
%102 = load i8** %d, align 4
%incdec.ptr203 = getelementptr inbounds i8* %102, i32 1
store i8* %incdec.ptr203, i8** %d, align 4
store i8 %101, i8* %102, align 1
br label %if.end204
if.end204: ; preds = %if.else202, %if.then201
br label %if.end205
if.end205: ; preds = %if.end204, %sw.epilog
br label %for.inc
for.inc: ; preds = %if.end205
%103 = load i32* %n, align 4
%dec206 = add i32 %103, -1
store i32 %dec206, i32* %n, align 4
%104 = load i8** %s, align 4
%incdec.ptr207 = getelementptr inbounds i8* %104, i32 1
store i8* %incdec.ptr207, i8** %s, align 4
br label %for.cond
for.end: ; preds = %for.cond
%105 = load i8** %d, align 4
%106 = load i8** %buf.addr, align 4
%sub.ptr.lhs.cast = ptrtoint i8* %105 to i32
%sub.ptr.rhs.cast = ptrtoint i8* %106 to i32
%sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
ret i32 %sub.ptr.sub
}
declare i32 @isxdigit(i32)
define internal i32 @whitespacep(i8* %p) nounwind inlinehint {
entry:
%retval = alloca i32, align 4
%p.addr = alloca i8*, align 4
store i8* %p, i8** %p.addr, align 4
%0 = load i8** %p.addr, align 4
%1 = load i8* %0, align 1
%conv = sext i8 %1 to i32
switch i32 %conv, label %sw.default [
i32 32, label %sw.bb
i32 9, label %sw.bb
i32 11, label %sw.bb
i32 12, label %sw.bb
i32 13, label %sw.bb
i32 10, label %sw.bb
]
sw.bb: ; preds = %entry, %entry, %entry, %entry, %entry, %entry
store i32 1, i32* %retval
br label %return
sw.default: ; preds = %entry
store i32 0, i32* %retval
br label %return
return: ; preds = %sw.default, %sw.bb
%2 = load i32* %retval
ret i32 %2
}
define internal i32 @hextonibble(i32 %s) nounwind inlinehint {
entry:
%retval = alloca i32, align 4
%s.addr = alloca i32, align 4
store i32 %s, i32* %s.addr, align 4
%0 = load i32* %s.addr, align 4
%cmp = icmp sge i32 %0, 48
br i1 %cmp, label %land.lhs.true, label %if.else
land.lhs.true: ; preds = %entry
%1 = load i32* %s.addr, align 4
%cmp1 = icmp sle i32 %1, 57
br i1 %cmp1, label %if.then, label %if.else
if.then: ; preds = %land.lhs.true
%2 = load i32* %s.addr, align 4
%sub = sub nsw i32 %2, 48
store i32 %sub, i32* %retval
br label %return
if.else: ; preds = %land.lhs.true, %entry
%3 = load i32* %s.addr, align 4
%cmp2 = icmp sge i32 %3, 65
br i1 %cmp2, label %land.lhs.true3, label %if.else7
land.lhs.true3: ; preds = %if.else
%4 = load i32* %s.addr, align 4
%cmp4 = icmp sle i32 %4, 70
br i1 %cmp4, label %if.then5, label %if.else7
if.then5: ; preds = %land.lhs.true3
%5 = load i32* %s.addr, align 4
%add = add nsw i32 10, %5
%sub6 = sub nsw i32 %add, 65
store i32 %sub6, i32* %retval
br label %return
if.else7: ; preds = %land.lhs.true3, %if.else
%6 = load i32* %s.addr, align 4
%cmp8 = icmp sge i32 %6, 97
br i1 %cmp8, label %land.lhs.true9, label %if.else14
land.lhs.true9: ; preds = %if.else7
%7 = load i32* %s.addr, align 4
%cmp10 = icmp sle i32 %7, 102
br i1 %cmp10, label %if.then11, label %if.else14
if.then11: ; preds = %land.lhs.true9
%8 = load i32* %s.addr, align 4
%add12 = add nsw i32 10, %8
%sub13 = sub nsw i32 %add12, 97
store i32 %sub13, i32* %retval
br label %return
if.else14: ; preds = %land.lhs.true9, %if.else7
store i32 0, i32* %retval
br label %return
return: ; preds = %if.else14, %if.then11, %if.then5, %if.then
%9 = load i32* %retval
ret i32 %9
}
declare i32 @atoi(i8*)
define internal i32 @get_internal_buffer(%struct.gcry_sexp* %list, i32* %r_off) nounwind {
entry:
%retval = alloca i32, align 4
%list.addr = alloca %struct.gcry_sexp*, align 4
%r_off.addr = alloca i32*, align 4
%p = alloca i8*, align 4
%n = alloca i16, align 2
%type = alloca i32, align 4
%level = alloca i32, align 4
store %struct.gcry_sexp* %list, %struct.gcry_sexp** %list.addr, align 4
store i32* %r_off, i32** %r_off.addr, align 4
store i32 0, i32* %level, align 4
%0 = load i32** %r_off.addr, align 4
store i32 0, i32* %0, align 4
%1 = load %struct.gcry_sexp** %list.addr, align 4
%tobool = icmp ne %struct.gcry_sexp* %1, null
br i1 %tobool, label %if.then, label %if.end29
if.then: ; preds = %entry
%2 = load %struct.gcry_sexp** %list.addr, align 4
%d = getelementptr inbounds %struct.gcry_sexp* %2, i32 0, i32 0
%arraydecay = getelementptr inbounds [1 x i8]* %d, i32 0, i32 0
store i8* %arraydecay, i8** %p, align 4
br label %while.cond
while.cond: ; preds = %if.end28, %if.then
%3 = load i8** %p, align 4
%4 = load i8* %3, align 1
%conv = zext i8 %4 to i32
store i32 %conv, i32* %type, align 4
%cmp = icmp ne i32 %conv, 0
br i1 %cmp, label %while.body, label %while.end
while.body: ; preds = %while.cond
%5 = load i8** %p, align 4
%incdec.ptr = getelementptr inbounds i8* %5, i32 1
store i8* %incdec.ptr, i8** %p, align 4
%6 = load i32* %type, align 4
%cmp2 = icmp eq i32 %6, 1
br i1 %cmp2, label %if.then4, label %if.else
if.then4: ; preds = %while.body
%7 = bitcast i16* %n to i8*
%8 = load i8** %p, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %7, i8* %8, i32 2, i32 1, i1 false)
%9 = load i16* %n, align 2
%conv5 = zext i16 %9 to i32
%add = add i32 2, %conv5
%10 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %10, i32 %add
store i8* %add.ptr, i8** %p, align 4
br label %if.end28
if.else: ; preds = %while.body
%11 = load i32* %type, align 4
%cmp6 = icmp eq i32 %11, 3
br i1 %cmp6, label %if.then8, label %if.else14
if.then8: ; preds = %if.else
%12 = load i32* %level, align 4
%tobool9 = icmp ne i32 %12, 0
br i1 %tobool9, label %if.end, label %if.then10
if.then10: ; preds = %if.then8
%13 = load i8** %p, align 4
%add.ptr11 = getelementptr inbounds i8* %13, i32 -1
%14 = load %struct.gcry_sexp** %list.addr, align 4
%d12 = getelementptr inbounds %struct.gcry_sexp* %14, i32 0, i32 0
%arraydecay13 = getelementptr inbounds [1 x i8]* %d12, i32 0, i32 0
%sub.ptr.lhs.cast = ptrtoint i8* %add.ptr11 to i32
%sub.ptr.rhs.cast = ptrtoint i8* %arraydecay13 to i32
%sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
%15 = load i32** %r_off.addr, align 4
store i32 %sub.ptr.sub, i32* %15, align 4
br label %if.end
if.end: ; preds = %if.then10, %if.then8
%16 = load i32* %level, align 4
%inc = add nsw i32 %16, 1
store i32 %inc, i32* %level, align 4
br label %if.end27
if.else14: ; preds = %if.else
%17 = load i32* %type, align 4
%cmp15 = icmp eq i32 %17, 4
br i1 %cmp15, label %if.then17, label %if.end26
if.then17: ; preds = %if.else14
%18 = load i32* %level, align 4
%dec = add nsw i32 %18, -1
store i32 %dec, i32* %level, align 4
%19 = load i32* %level, align 4
%tobool18 = icmp ne i32 %19, 0
br i1 %tobool18, label %if.end25, label %if.then19
if.then19: ; preds = %if.then17
%20 = load i8** %p, align 4
%21 = load %struct.gcry_sexp** %list.addr, align 4
%d20 = getelementptr inbounds %struct.gcry_sexp* %21, i32 0, i32 0
%arraydecay21 = getelementptr inbounds [1 x i8]* %d20, i32 0, i32 0
%sub.ptr.lhs.cast22 = ptrtoint i8* %20 to i32
%sub.ptr.rhs.cast23 = ptrtoint i8* %arraydecay21 to i32
%sub.ptr.sub24 = sub i32 %sub.ptr.lhs.cast22, %sub.ptr.rhs.cast23
store i32 %sub.ptr.sub24, i32* %retval
br label %return
if.end25: ; preds = %if.then17
br label %if.end26
if.end26: ; preds = %if.end25, %if.else14
br label %if.end27
if.end27: ; preds = %if.end26, %if.end
br label %if.end28
if.end28: ; preds = %if.end27, %if.then4
br label %while.cond
while.end: ; preds = %while.cond
br label %if.end29
if.end29: ; preds = %while.end, %entry
store i32 0, i32* %retval
br label %return
return: ; preds = %if.end29, %if.then19
%22 = load i32* %retval
ret i32 %22
}
define internal hidden i32 @_gcry_get_hw_features() nounwind {
entry:
%0 = load i32* @hw_features, align 4
ret i32 %0
}
define internal hidden void @_gcry_detect_hw_features(i32 %disabled_features) nounwind {
entry:
%disabled_features.addr = alloca i32, align 4
store i32 %disabled_features, i32* %disabled_features.addr, align 4
store i32 0, i32* @hw_features, align 4
%call = call i32 @_gcry_fips_mode()
%tobool = icmp ne i32 %call, 0
br i1 %tobool, label %if.then, label %if.end
if.then: ; preds = %entry
br label %return
if.end: ; preds = %entry
%0 = load i32* %disabled_features.addr, align 4
%neg = xor i32 %0, -1
%1 = load i32* @hw_features, align 4
%and = and i32 %1, %neg
store i32 %and, i32* @hw_features, align 4
br label %return
return: ; preds = %if.end, %if.then
ret void
}
define internal hidden void @_gcry_private_enable_m_guard() nounwind {
entry:
store i32 1, i32* @use_m_guard, align 4
ret void
}
define internal hidden noalias i8* @_gcry_private_malloc(i32 %n) nounwind {
entry:
%retval = alloca i8*, align 4
%n.addr = alloca i32, align 4
%p = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
%0 = load i32* %n.addr, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
call void @gpg_err_set_errno(i32 22)
store i8* null, i8** %retval
br label %return
if.end: ; preds = %entry
%1 = load i32* @use_m_guard, align 4
%tobool1 = icmp ne i32 %1, 0
br i1 %tobool1, label %if.then2, label %if.else
if.then2: ; preds = %if.end
%2 = load i32* %n.addr, align 4
%add = add i32 %2, 4
%add3 = add i32 %add, 5
%call = call i8* @malloc(i32 %add3)
store i8* %call, i8** %p, align 4
%tobool4 = icmp ne i8* %call, null
br i1 %tobool4, label %if.end6, label %if.then5
if.then5: ; preds = %if.then2
store i8* null, i8** %retval
br label %return
if.end6: ; preds = %if.then2
%3 = load i32* %n.addr, align 4
%conv = trunc i32 %3 to i8
%4 = load i8** %p, align 4
%arrayidx = getelementptr inbounds i8* %4, i32 4
store i8 %conv, i8* %arrayidx, align 1
%5 = load i32* %n.addr, align 4
%shr = lshr i32 %5, 8
%conv7 = trunc i32 %shr to i8
%6 = load i8** %p, align 4
%arrayidx8 = getelementptr inbounds i8* %6, i32 5
store i8 %conv7, i8* %arrayidx8, align 1
%7 = load i32* %n.addr, align 4
%shr9 = lshr i32 %7, 16
%conv10 = trunc i32 %shr9 to i8
%8 = load i8** %p, align 4
%arrayidx11 = getelementptr inbounds i8* %8, i32 6
store i8 %conv10, i8* %arrayidx11, align 1
%9 = load i8** %p, align 4
%arrayidx12 = getelementptr inbounds i8* %9, i32 7
store i8 85, i8* %arrayidx12, align 1
%10 = load i32* %n.addr, align 4
%add13 = add i32 8, %10
%11 = load i8** %p, align 4
%arrayidx14 = getelementptr inbounds i8* %11, i32 %add13
store i8 -86, i8* %arrayidx14, align 1
%12 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %12, i32 4
%add.ptr15 = getelementptr inbounds i8* %add.ptr, i32 4
store i8* %add.ptr15, i8** %retval
br label %return
if.else: ; preds = %if.end
%13 = load i32* %n.addr, align 4
%call16 = call i8* @malloc(i32 %13)
store i8* %call16, i8** %retval
br label %return
return: ; preds = %if.else, %if.end6, %if.then5, %if.then
%14 = load i8** %retval
ret i8* %14
}
define internal hidden noalias i8* @_gcry_private_malloc_secure(i32 %n) nounwind {
entry:
%retval = alloca i8*, align 4
%n.addr = alloca i32, align 4
%p = alloca i8*, align 4
store i32 %n, i32* %n.addr, align 4
%0 = load i32* %n.addr, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
call void @gpg_err_set_errno(i32 22)
store i8* null, i8** %retval
br label %return
if.end: ; preds = %entry
%1 = load i32* @use_m_guard, align 4
%tobool1 = icmp ne i32 %1, 0
br i1 %tobool1, label %if.then2, label %if.else
if.then2: ; preds = %if.end
%2 = load i32* %n.addr, align 4
%add = add i32 %2, 4
%add3 = add i32 %add, 5
%call = call noalias i8* @_gcry_secmem_malloc(i32 %add3)
store i8* %call, i8** %p, align 4
%tobool4 = icmp ne i8* %call, null
br i1 %tobool4, label %if.end6, label %if.then5
if.then5: ; preds = %if.then2
store i8* null, i8** %retval
br label %return
if.end6: ; preds = %if.then2
%3 = load i32* %n.addr, align 4
%conv = trunc i32 %3 to i8
%4 = load i8** %p, align 4
%arrayidx = getelementptr inbounds i8* %4, i32 4
store i8 %conv, i8* %arrayidx, align 1
%5 = load i32* %n.addr, align 4
%shr = lshr i32 %5, 8
%conv7 = trunc i32 %shr to i8
%6 = load i8** %p, align 4
%arrayidx8 = getelementptr inbounds i8* %6, i32 5
store i8 %conv7, i8* %arrayidx8, align 1
%7 = load i32* %n.addr, align 4
%shr9 = lshr i32 %7, 16
%conv10 = trunc i32 %shr9 to i8
%8 = load i8** %p, align 4
%arrayidx11 = getelementptr inbounds i8* %8, i32 6
store i8 %conv10, i8* %arrayidx11, align 1
%9 = load i8** %p, align 4
%arrayidx12 = getelementptr inbounds i8* %9, i32 7
store i8 -52, i8* %arrayidx12, align 1
%10 = load i32* %n.addr, align 4
%add13 = add i32 8, %10
%11 = load i8** %p, align 4
%arrayidx14 = getelementptr inbounds i8* %11, i32 %add13
store i8 -86, i8* %arrayidx14, align 1
%12 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %12, i32 4
%add.ptr15 = getelementptr inbounds i8* %add.ptr, i32 4
store i8* %add.ptr15, i8** %retval
br label %return
if.else: ; preds = %if.end
%13 = load i32* %n.addr, align 4
%call16 = call noalias i8* @_gcry_secmem_malloc(i32 %13)
store i8* %call16, i8** %retval
br label %return
return: ; preds = %if.else, %if.end6, %if.then5, %if.then
%14 = load i8** %retval
ret i8* %14
}
define internal hidden i8* @_gcry_private_realloc(i8* %a, i32 %n) nounwind {
entry:
%retval = alloca i8*, align 4
%a.addr = alloca i8*, align 4
%n.addr = alloca i32, align 4
%p = alloca i8*, align 4
%b = alloca i8*, align 4
%len = alloca i32, align 4
store i8* %a, i8** %a.addr, align 4
store i32 %n, i32* %n.addr, align 4
%0 = load i32* @use_m_guard, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.then, label %if.else23
if.then: ; preds = %entry
%1 = load i8** %a.addr, align 4
store i8* %1, i8** %p, align 4
%2 = load i8** %a.addr, align 4
%tobool1 = icmp ne i8* %2, null
br i1 %tobool1, label %if.end, label %if.then2
if.then2: ; preds = %if.then
%3 = load i32* %n.addr, align 4
%call = call noalias i8* @_gcry_private_malloc(i32 %3)
store i8* %call, i8** %retval
br label %return
if.end: ; preds = %if.then
%4 = load i8** %p, align 4
call void @_gcry_private_check_heap(i8* %4)
%5 = load i8** %p, align 4
%arrayidx = getelementptr inbounds i8* %5, i32 -4
%6 = load i8* %arrayidx, align 1
%conv = zext i8 %6 to i32
store i32 %conv, i32* %len, align 4
%7 = load i8** %p, align 4
%arrayidx3 = getelementptr inbounds i8* %7, i32 -3
%8 = load i8* %arrayidx3, align 1
%conv4 = zext i8 %8 to i32
%shl = shl i32 %conv4, 8
%9 = load i32* %len, align 4
%or = or i32 %9, %shl
store i32 %or, i32* %len, align 4
%10 = load i8** %p, align 4
%arrayidx5 = getelementptr inbounds i8* %10, i32 -2
%11 = load i8* %arrayidx5, align 1
%conv6 = zext i8 %11 to i32
%shl7 = shl i32 %conv6, 16
%12 = load i32* %len, align 4
%or8 = or i32 %12, %shl7
store i32 %or8, i32* %len, align 4
%13 = load i32* %len, align 4
%14 = load i32* %n.addr, align 4
%cmp = icmp uge i32 %13, %14
br i1 %cmp, label %if.then10, label %if.end11
if.then10: ; preds = %if.end
%15 = load i8** %a.addr, align 4
store i8* %15, i8** %retval
br label %return
if.end11: ; preds = %if.end
%16 = load i8** %p, align 4
%arrayidx12 = getelementptr inbounds i8* %16, i32 -1
%17 = load i8* %arrayidx12, align 1
%conv13 = zext i8 %17 to i32
%cmp14 = icmp eq i32 %conv13, 204
br i1 %cmp14, label %if.then16, label %if.else
if.then16: ; preds = %if.end11
%18 = load i32* %n.addr, align 4
%call17 = call noalias i8* @_gcry_private_malloc_secure(i32 %18)
store i8* %call17, i8** %b, align 4
br label %if.end19
if.else: ; preds = %if.end11
%19 = load i32* %n.addr, align 4
%call18 = call noalias i8* @_gcry_private_malloc(i32 %19)
store i8* %call18, i8** %b, align 4
br label %if.end19
if.end19: ; preds = %if.else, %if.then16
%20 = load i8** %b, align 4
%tobool20 = icmp ne i8* %20, null
br i1 %tobool20, label %if.end22, label %if.then21
if.then21: ; preds = %if.end19
store i8* null, i8** %retval
br label %return
if.end22: ; preds = %if.end19
%21 = load i8** %b, align 4
%22 = load i8** %a.addr, align 4
%23 = load i32* %len, align 4
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %21, i8* %22, i32 %23, i32 1, i1 false)
%24 = load i8** %b, align 4
%25 = load i32* %len, align 4
%add.ptr = getelementptr inbounds i8* %24, i32 %25
%26 = load i32* %n.addr, align 4
%27 = load i32* %len, align 4
%sub = sub i32 %26, %27
call void @llvm.memset.p0i8.i32(i8* %add.ptr, i8 0, i32 %sub, i32 1, i1 false)
%28 = load i8** %p, align 4
call void @_gcry_private_free(i8* %28)
%29 = load i8** %b, align 4
store i8* %29, i8** %retval
br label %return
if.else23: ; preds = %entry
%30 = load i8** %a.addr, align 4
%call24 = call i32 @_gcry_private_is_secure(i8* %30)
%tobool25 = icmp ne i32 %call24, 0
br i1 %tobool25, label %if.then26, label %if.else28
if.then26: ; preds = %if.else23
%31 = load i8** %a.addr, align 4
%32 = load i32* %n.addr, align 4
%call27 = call i8* @_gcry_secmem_realloc(i8* %31, i32 %32)
store i8* %call27, i8** %retval
br label %return
if.else28: ; preds = %if.else23
%33 = load i8** %a.addr, align 4
%34 = load i32* %n.addr, align 4
%call29 = call i8* @realloc(i8* %33, i32 %34)
store i8* %call29, i8** %retval
br label %return
return: ; preds = %if.else28, %if.then26, %if.end22, %if.then21, %if.then10, %if.then2
%35 = load i8** %retval
ret i8* %35
}
define internal hidden void @_gcry_private_check_heap(i8* %a) nounwind {
entry:
%a.addr = alloca i8*, align 4
%p = alloca i8*, align 4
%len = alloca i32, align 4
store i8* %a, i8** %a.addr, align 4
%0 = load i32* @use_m_guard, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.then, label %if.end28
if.then: ; preds = %entry
%1 = load i8** %a.addr, align 4
store i8* %1, i8** %p, align 4
%2 = load i8** %p, align 4
%tobool1 = icmp ne i8* %2, null
br i1 %tobool1, label %if.end, label %if.then2
if.then2: ; preds = %if.then
br label %if.end28
if.end: ; preds = %if.then
%3 = load i8** %p, align 4
%arrayidx = getelementptr inbounds i8* %3, i32 -1
%4 = load i8* %arrayidx, align 1
%conv = zext i8 %4 to i32
%cmp = icmp eq i32 %conv, 85
br i1 %cmp, label %if.end11, label %lor.lhs.false
lor.lhs.false: ; preds = %if.end
%5 = load i8** %p, align 4
%arrayidx4 = getelementptr inbounds i8* %5, i32 -1
%6 = load i8* %arrayidx4, align 1
%conv5 = zext i8 %6 to i32
%cmp6 = icmp eq i32 %conv5, 204
br i1 %cmp6, label %if.end11, label %if.then8
if.then8: ; preds = %lor.lhs.false
%7 = load i8** %p, align 4
%8 = load i8** %p, align 4
%arrayidx9 = getelementptr inbounds i8* %8, i32 -1
%9 = load i8* %arrayidx9, align 1
%conv10 = zext i8 %9 to i32
call void (i8*, ...)* @_gcry_log_fatal(i8* getelementptr inbounds ([41 x i8]* @.str189, i32 0, i32 0), i8* %7, i32 %conv10) noreturn
unreachable
if.end11: ; preds = %lor.lhs.false, %if.end
%10 = load i8** %p, align 4
%arrayidx12 = getelementptr inbounds i8* %10, i32 -4
%11 = load i8* %arrayidx12, align 1
%conv13 = zext i8 %11 to i32
store i32 %conv13, i32* %len, align 4
%12 = load i8** %p, align 4
%arrayidx14 = getelementptr inbounds i8* %12, i32 -3
%13 = load i8* %arrayidx14, align 1
%conv15 = zext i8 %13 to i32
%shl = shl i32 %conv15, 8
%14 = load i32* %len, align 4
%or = or i32 %14, %shl
store i32 %or, i32* %len, align 4
%15 = load i8** %p, align 4
%arrayidx16 = getelementptr inbounds i8* %15, i32 -2
%16 = load i8* %arrayidx16, align 1
%conv17 = zext i8 %16 to i32
%shl18 = shl i32 %conv17, 16
%17 = load i32* %len, align 4
%or19 = or i32 %17, %shl18
store i32 %or19, i32* %len, align 4
%18 = load i32* %len, align 4
%19 = load i8** %p, align 4
%arrayidx20 = getelementptr inbounds i8* %19, i32 %18
%20 = load i8* %arrayidx20, align 1
%conv21 = zext i8 %20 to i32
%cmp22 = icmp ne i32 %conv21, 170
br i1 %cmp22, label %if.then24, label %if.end27
if.then24: ; preds = %if.end11
%21 = load i8** %p, align 4
%22 = load i8** %p, align 4
%arrayidx25 = getelementptr inbounds i8* %22, i32 -1
%23 = load i8* %arrayidx25, align 1
%conv26 = zext i8 %23 to i32
call void (i8*, ...)* @_gcry_log_fatal(i8* getelementptr inbounds ([40 x i8]* @.str1190, i32 0, i32 0), i8* %21, i32 %conv26) noreturn
unreachable
if.end27: ; preds = %if.end11
br label %if.end28
if.end28: ; preds = %if.end27, %if.then2, %entry
ret void
}
define internal hidden void @_gcry_private_free(i8* %a) nounwind {
entry:
%a.addr = alloca i8*, align 4
%p = alloca i8*, align 4
store i8* %a, i8** %a.addr, align 4
%0 = load i8** %a.addr, align 4
store i8* %0, i8** %p, align 4
%1 = load i8** %p, align 4
%tobool = icmp ne i8* %1, null
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
br label %if.end15
if.end: ; preds = %entry
%2 = load i32* @use_m_guard, align 4
%tobool1 = icmp ne i32 %2, 0
br i1 %tobool1, label %if.then2, label %if.else9
if.then2: ; preds = %if.end
%3 = load i8** %p, align 4
call void @_gcry_private_check_heap(i8* %3)
%4 = load i8** %a.addr, align 4
%call = call i32 @_gcry_private_is_secure(i8* %4)
%tobool3 = icmp ne i32 %call, 0
br i1 %tobool3, label %if.then4, label %if.else
if.then4: ; preds = %if.then2
%5 = load i8** %p, align 4
%add.ptr = getelementptr inbounds i8* %5, i32 -4
%add.ptr5 = getelementptr inbounds i8* %add.ptr, i32 -4
call void @_gcry_secmem_free(i8* %add.ptr5)
br label %if.end8
if.else: ; preds = %if.then2
%6 = load i8** %p, align 4
%add.ptr6 = getelementptr inbounds i8* %6, i32 -4
%add.ptr7 = getelementptr inbounds i8* %add.ptr6, i32 -4
call void @free(i8* %add.ptr7)
br label %if.end8
if.end8: ; preds = %if.else, %if.then4
br label %if.end15
if.else9: ; preds = %if.end
%7 = load i8** %a.addr, align 4
%call10 = call i32 @_gcry_private_is_secure(i8* %7)
%tobool11 = icmp ne i32 %call10, 0
br i1 %tobool11, label %if.then12, label %if.else13
if.then12: ; preds = %if.else9
%8 = load i8** %p, align 4
call void @_gcry_secmem_free(i8* %8)
br label %if.end14
if.else13: ; preds = %if.else9
%9 = load i8** %p, align 4
call void @free(i8* %9)
br label %if.end14
if.end14: ; preds = %if.else13, %if.then12
br label %if.end15
if.end15: ; preds = %if.end14, %if.end8, %if.then
ret void
}
define internal hidden void @_gcry_secmem_set_flags(i32 %flags) nounwind {
entry:
%flags.addr = alloca i32, align 4
%was_susp = alloca i32, align 4
store i32 %flags, i32* %flags.addr, align 4
%call = call i32 @_gcry_ath_mutex_lock(i8** @secmem_lock)
%0 = load i32* @suspend_warning, align 4
store i32 %0, i32* %was_susp, align 4
%1 = load i32* %flags.addr, align 4
%and = and i32 %1, 1
store i32 %and, i32* @no_warning, align 4
%2 = load i32* %flags.addr, align 4
%and1 = and i32 %2, 2
store i32 %and1, i32* @suspend_warning, align 4
%3 = load i32* %flags.addr, align 4
%and2 = and i32 %3, 8
store i32 %and2, i32* @no_mlock, align 4
%4 = load i32* %flags.addr, align 4
%and3 = and i32 %4, 16
store i32 %and3, i32* @no_priv_drop, align 4
%5 = load i32* %was_susp, align 4
%tobool = icmp ne i32 %5, 0
br i1 %tobool, label %land.lhs.true, label %if.end
land.lhs.true: ; preds = %entry
%6 = load i32* @suspend_warning, align 4
%tobool4 = icmp ne i32 %6, 0
br i1 %tobool4, label %if.end, label %land.lhs.true5
land.lhs.true5: ; preds = %land.lhs.true
%7 = load i32* @show_warning, align 4
%tobool6 = icmp ne i32 %7, 0
br i1 %tobool6, label %if.then, label %if.end
if.then: ; preds = %land.lhs.true5
store i32 0, i32* @show_warning, align 4
call void @print_warn()
br label %if.end
if.end: ; preds = %if.then, %land.lhs.true5, %land.lhs.true, %entry
%call7 = call i32 @_gcry_ath_mutex_unlock(i8** @secmem_lock)
ret void
}
define internal void @print_warn() nounwind {
entry:
%0 = load i32* @no_warning, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
%call = call i8* @_gcry_gettext(i8* getelementptr inbounds ([33 x i8]* @.str10211, i32 0, i32 0))
call void (i8*, ...)* @_gcry_log_info(i8* %call)
br label %if.end
if.end: ; preds = %if.then, %entry
ret void
}
define internal hidden i32 @_gcry_secmem_get_flags() nounwind {
entry:
%flags = alloca i32, align 4
%call = call i32 @_gcry_ath_mutex_lock(i8** @secmem_lock)
%0 = load i32* @no_warning, align 4
%tobool = icmp ne i32 %0, 0
%cond = select i1 %tobool, i32 1, i32 0
store i32 %cond, i32* %flags, align 4
%1 = load i32* @suspend_warning, align 4
%tobool1 = icmp ne i32 %1, 0
%cond2 = select i1 %tobool1, i32 2, i32 0
%2 = load i32* %flags, align 4
%or = or i32 %2, %cond2
store i32 %or, i32* %flags, align 4
%3 = load i32* @not_locked, align 4
%tobool3 = icmp ne i32 %3, 0
%cond4 = select i1 %tobool3, i32 4, i32 0
%4 = load i32* %flags, align 4
%or5 = or i32 %4, %cond4
store i32 %or5, i32* %flags, align 4
%5 = load i32* @no_mlock, align 4
%tobool6 = icmp ne i32 %5, 0
%cond7 = select i1 %tobool6, i32 8, i32 0
%6 = load i32* %flags, align 4
%or8 = or i32 %6, %cond7
store i32 %or8, i32* %flags, align 4
%7 = load i32* @no_priv_drop, align 4
%tobool9 = icmp ne i32 %7, 0
%cond10 = select i1 %tobool9, i32 16, i32 0
%8 = load i32* %flags, align 4
%or11 = or i32 %8, %cond10
store i32 %or11, i32* %flags, align 4
%call12 = call i32 @_gcry_ath_mutex_unlock(i8** @secmem_lock)
%9 = load i32* %flags, align 4
ret i32 %9
}
define internal hidden void @_gcry_secmem_init(i32 %n) nounwind {
entry:
%n.addr = alloca i32, align 4
store i32 %n, i32* %n.addr, align 4
%call = call i32 @_gcry_ath_mutex_lock(i8** @secmem_lock)
%0 = load i32* %n.addr, align 4
call void @secmem_init(i32 %0)
%call1 = call i32 @_gcry_ath_mutex_unlock(i8** @secmem_lock)
ret void
}
define internal void @secmem_init(i32 %n) nounwind {
entry:
%n.addr = alloca i32, align 4
%uid = alloca i32, align 4
store i32 %n, i32* %n.addr, align 4
%0 = load i32* %n.addr, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.else, label %if.then
if.then: ; preds = %entry
store i32 1, i32* @disable_secmem, align 4
%call = call i32 @getuid()
store i32 %call, i32* %uid, align 4
%1 = load i32* %uid, align 4
%call1 = call i32 @geteuid()
%cmp = icmp ne i32 %1, %call1
br i1 %cmp, label %if.then2, label %if.end12
if.then2: ; preds = %if.then
%2 = load i32* %uid, align 4
%call3 = call i32 @setuid(i32 %2)
%tobool4 = icmp ne i32 %call3, 0
br i1 %tobool4, label %if.then11, label %lor.lhs.false
lor.lhs.false: ; preds = %if.then2
%call5 = call i32 @getuid()
%call6 = call i32 @geteuid()
%cmp7 = icmp ne i32 %call5, %call6
br i1 %cmp7, label %if.then11, label %lor.lhs.false8
lor.lhs.false8: ; preds = %lor.lhs.false
%call9 = call i32 @setuid(i32 0)
%tobool10 = icmp ne i32 %call9, 0
br i1 %tobool10, label %if.end, label %if.then11
if.then11: ; preds = %lor.lhs.false8, %lor.lhs.false, %if.then2
call void (i8*, ...)* @_gcry_log_fatal(i8* getelementptr inbounds ([23 x i8]* @.str4205, i32 0, i32 0)) noreturn
unreachable
if.end: ; preds = %lor.lhs.false8
br label %if.end12
if.end12: ; preds = %if.end, %if.then
br label %if.end20
if.else: ; preds = %entry
%3 = load i32* %n.addr, align 4
%cmp13 = icmp ult i32 %3, 16384
br i1 %cmp13, label %if.then14, label %if.end15
if.then14: ; preds = %if.else
store i32 16384, i32* %n.addr, align 4
br label %if.end15
if.end15: ; preds = %if.then14, %if.else
%4 = load volatile i32* @pool_okay, align 4
%tobool16 = icmp ne i32 %4, 0
br i1 %tobool16, label %if.else18, label %if.then17
if.then17: ; preds = %if.end15
%5 = load i32* %n.addr, align 4
call void @init_pool(i32 %5)
%6 = load i8** @pool, align 4
%7 = load i32* %n.addr, align 4
call void @lock_pool(i8* %6, i32 %7)
br label %if.end19
if.else18: ; preds = %if.end15
call void (i8*, ...)* @_gcry_log_error(i8* getelementptr inbounds ([46 x i8]* @.str5206, i32 0, i32 0))
br label %if.end19
if.end19: ; preds = %if.else18, %if.then17
br label %if.end20
if.end20: ; preds = %if.end19, %if.end12
ret void
}
define internal hidden i32 @_gcry_secmem_module_init() nounwind {
entry:
%err = alloca i32, align 4
%call = call i32 @_gcry_ath_mutex_init(i8** @secmem_lock)
store i32 %call, i32* %err, align 4
%0 = load i32* %err, align 4
%tobool = icmp ne i32 %0, 0
br i1 %tobool, label %if.then, label %if.end
if.then: ; preds = %entry
call vo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment