Function at 0x5deb10
Capabilities:
Encode data using xor
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x740
lea eax, [esp + 0x3e0]
push 0x258
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
lea esi, [esp + 0x650]
xorps xmm0, xmm0
movaps xmmword [esp + 0x720], xmm0
movaps xmmword [esp + 0x710], xmm0
movaps xmmword [esp + 0x700], xmm0
movaps xmmword [esp + 0x6f0], xmm0
movaps xmmword [esp + 0x6e0], xmm0
movaps xmmword [esp + 0x6d0], xmm0
movaps xmmword [esp + 0x6c0], xmm0
movaps xmmword [esp + 0x6b0], xmm0
movaps xmmword [esp + 0x6a0], xmm0
movaps xmmword [esp + 0x690], xmm0
movaps xmmword [esp + 0x680], xmm0
movaps xmmword [esp + 0x670], xmm0
movaps xmmword [esp + 0x660], xmm0
movaps xmmword [esp + 0x650], xmm0
movaps xmmword [esp + 0x290], xmm0
movaps xmmword [esp + 0x280], xmm0
movaps xmmword [esp + 0x270], xmm0
movaps xmmword [esp + 0x260], xmm0
movaps xmmword [esp + 0x250], xmm0
movaps xmmword [esp + 0x240], xmm0
movaps xmmword [esp + 0x230], xmm0
movaps xmmword [esp + 0x220], xmm0
movaps xmmword [esp + 0x210], xmm0
movaps xmmword [esp + 0x200], xmm0
movaps xmmword [esp + 0x1f0], xmm0
movaps xmmword [esp + 0x1e0], xmm0
movaps xmmword [esp + 0x1d0], xmm0
movaps xmmword [esp + 0x1c0], xmm0
movaps xmmword [esp + 0x1b0], xmm0
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x730], 0xa
movdqu xmm0, xmmword [str.BoringCrypto_Key_a]
movdqa xmmword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x640], xmm0
movdqa xmm1, xmmword [str.BoringCrypto_Key]
mov edi, 0xfffffff6
lea ebx, [esp + 0x80]
nop
movdqa xmmword [esp + 0x10], xmm1
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2c0], xmm0
lea ecx, [esp + 0x2c0]
mov edx, ebx
call fcn.005e46a0
movzx eax, byte [edi + 0x8bfb80]
movd xmm1, eax
pxor xmm1, xmmword [esp + 0x10]
movdqa xmm0, xmmword [esp + 0x2c0]
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
por xmm0, xmm2
psrldq xmm0, 0xc
pxor xmm0, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 4
movdqa xmm2, xmm0
pslldq xmm2, 8
pxor xmm2, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 0xc
pxor xmm1, xmm2
pxor xmm1, xmm0
movdqa xmmword [esp + 0x80], xmm1
movdqa xmm0, xmmword [esp + 0x80]
movdqu xmmword [esi], xmm0
add esi, 0x10
inc edi
jne 0x5dec70
lea eax, [esp + 0x70]
lea ecx, [esp + 0x640]
lea esi, [esp + 0x1a0]
push 1
push eax
push ecx
push 0x20
push esi
push 0x8c10e3
call fcn.0059c200
add esp, 0x18
mov ecx, 0x8c1103
mov edx, esi
push str.AES_CBC_encrypt_KAT
push 0x20
call fcn.005de6a0
add esp, 8
mov bl, 1
test eax, eax
je 0x5df701
pxor xmm0, xmm0
movdqa xmmword [esp + 0x70], xmm0
mov dword [esp + 0x730], 0xa
movdqu xmm0, xmmword [str.BoringCrypto_Key_a]
movdqa xmmword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x640], xmm0
movdqa xmm1, xmmword [str.BoringCrypto_Key]
mov ebx, 0xfffffff6
lea edi, [esp + 0x650]
lea esi, [esp + 0x80]
nop dword [eax]
movdqa xmmword [esp + 0x10], xmm1
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2c0], xmm0
lea ecx, [esp + 0x2c0]
mov edx, esi
call fcn.005e46a0
movzx eax, byte [ebx + 0x8bfb80]
movd xmm1, eax
pxor xmm1, xmmword [esp + 0x10]
movdqa xmm0, xmmword [esp + 0x2c0]
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
por xmm0, xmm2
psrldq xmm0, 0xc
pxor xmm0, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 4
movdqa xmm2, xmm0
pslldq xmm2, 8
pxor xmm2, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 0xc
pxor xmm1, xmm2
pxor xmm1, xmm0
movdqa xmmword [esp + 0x80], xmm1
movdqa xmm0, xmmword [esp + 0x80]
movdqu xmmword [edi], xmm0
add edi, 0x10
inc ebx
jne 0x5deda0
mov edi, esi
push 0
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x648]
push eax
push 0x20
lea esi, [esp + 0x1b0]
push esi
push 0x8c1137
call fcn.0059c200
add esp, 0x18
mov ecx, 0x8c1157
mov edx, esi
push str.AES_CBC_decrypt_KAT
push 0x20
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5df6ff
mov dword [esp + 0x2c], 0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2a0], xmm0
mov dword [esp + 0x2b4], 0
mov dword [esp + 0x2b0], 0
push 0x5ba350
push 0x9b6c0c
call sym.adb.exe_CRYPTO_once
add esp, 8
mov ecx, dword [0x9b6c18]
test ecx, ecx
je 0x5def5e
cmp byte [0x9b6c10], 0x10
mov bl, 1
jne 0x5def77
mov dword [esp + 0x3e0], 0x9b6c10
push 0
push 0x10
push str.BoringCrypto_Key_a
lea eax, [esp + 0x3ec]
push eax
call ecx
add esp, 0x10
test eax, eax
je 0x5def8c
push 0x5ba350
push 0x9b6c0c
call sym.adb.exe_CRYPTO_once
add esp, 8
movzx eax, byte [0x9b6c11]
lea ecx, [esp + 0x1a0]
cmp ecx, 0x8c11d6
jae 0x5defb9
lea ecx, [esp + 0x2a0]
cmp ecx, 0x8c11b6
jbe 0x5defb9
push 0x85
push str.external_boringssl_src_crypto_fipsmodule_cipher_aead.c
push 0x73
push 0
push 0x1e
call sym.adb.exe_ERR_put_error
add esp, 0x14
jmp 0x5df3ff
push 0x41
push str.external_boringssl_src_crypto_fipsmodule_cipher_aead.c
push 0x7c
push 0
push 0x1e
call sym.adb.exe_ERR_put_error
add esp, 0x14
mov bl, 1
jmp 0x5def8c
push 0x4e
push str.external_boringssl_src_crypto_fipsmodule_cipher_aead.c
push pe_nt_image_headers32
push 0
push 0x1e
call sym.adb.exe_ERR_put_error
add esp, 0x14
mov dword [esp + 0x3e0], 0
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x2a
push str.EVP_AEAD_CTX_init_for_AES_128_GCM_failed._n
call fcn.005fe788
add esp, 0x10
jmp 0x5df701
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x80], 0
lea edx, [esp + 0x1c0]
sub esp, 0x34
mov dword [esp + 0x18], eax
movdqa xmm0, xmmword [0x8be990]
movdqu xmmword [esp + 0x20], xmm0
mov dword [esp + 8], edx
lea esi, [esp + 0x2d4]
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], edi
lea eax, [esp + 0x1d4]
mov dword [esp + 4], eax
lea eax, [esp + 0x414]
mov dword [esp], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x1c], 0x8c11b6
mov dword [esp + 0x10], 0xe0
call dword [ecx + 0x18]
add esp, 0x34
test eax, eax
je 0x5df3ff
mov eax, dword [esp + 0x80]
add eax, 0x20
mov dword [esp + 0x2c], eax
lea edx, [esp + 0x1a0]
mov ecx, 0x8c11d6
push str.AES_GCM_encrypt_KAT
push 0x30
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5df49b
push 0x5ba350
push 0x9b6c0c
call sym.adb.exe_CRYPTO_once
add esp, 8
movzx eax, byte [0x9b6c11]
lea ecx, [esp + 0x2c]
push 0
push 0
push 0x30
push 0x8c1245
push eax
push esi
push 0x100
push ecx
lea eax, [esp + 0x1c0]
push eax
lea eax, [esp + 0x404]
push eax
call sym.adb.exe_EVP_AEAD_CTX_open
add esp, 0x28
test eax, eax
je 0x5df4b5
lea edx, [esp + 0x1a0]
mov ecx, 0x8c1275
push str.AES_GCM_decrypt_KAT
push 0x20
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5df4b5
movaps xmm0, xmmword [0x8be9a0]
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0xc3d2e1f0
lea edx, [esp + 0x9c]
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0x80
mov dword [esp + 0xdc], 0x10
movups xmm0, xmmword [0x8c12e7]
movups xmmword [esp + 0x9c], xmm0
mov byte [esp + 0xac], 0x80
xorps xmm0, xmm0
movups xmmword [esp + 0xad], xmm0
movups xmmword [esp + 0xbd], xmm0
movups xmmword [esp + 0xc8], xmm0
mov dword [esp + 0xd8], 0x80000000
mov esi, edi
mov ecx, edi
push 1
call fcn.005e0d60
add esp, 4
pxor xmm2, xmm2
movdqu xmmword [esp + 0xcc], xmm2
movdqu xmmword [esp + 0xbc], xmm2
movdqu xmmword [esp + 0xac], xmm2
movdqu xmmword [esp + 0x9c], xmm2
mov dword [esp + 0xdc], 0
movdqu xmm0, xmmword [esp + 0x80]
movdqa xmm1, xmm0
punpckhbw xmm1, xmm2
pxor xmm2, xmm2
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm0, xmm2
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqa xmmword [esp + 0x1a0], xmm0
mov eax, dword [esp + 0x90]
bswap eax
mov dword [esp + 0x1b0], eax
push 0x60
push edi
call sym.adb.exe_OPENSSL_cleanse
add esp, 8
lea edx, [esp + 0x1a0]
mov ecx, 0x8c12f7
push str.SHA_1_KAT
push 0x14
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5df701
pxor xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
push esi
push 0x10
push 0x8bfa9d
call sym.adb.exe_SHA256
add esp, 0xc
mov ecx, 0x8bfaad
mov edx, esi
push 0x8bfacd
push 0x20
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5df701
call fcn.005de7a0
test eax, eax
je 0x5df701
call fcn.005de9a0
test eax, eax
je 0x5df701
push 0x118
push 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
movups xmm0, xmmword [0x8c1325]
movaps xmmword [esp + 0x2d0], xmm0
movups xmm0, xmmword [0x8c1335]
mov word [esp + 0x2d0], 0x8602
movdqa xmm1, xmmword [0x8be9b0]
movdqa xmmword [esp + 0x2c0], xmm1
movdqa xmm2, xmmword [esp + 0x2d0]
pxor xmm2, xmmword [0x8be9c0]
movdqa xmmword [esp + 0x2d0], xmm2
xorps xmm0, xmmword [0x8be9d0]
movaps xmmword [esp + 0x2e0], xmm0
mov dword [esp + 0x170], 0xe
movdqa xmmword [esp + 0x50], xmm1
movdqa xmmword [esp + 0x80], xmm1
movdqa xmmword [esp + 0x40], xmm2
movdqa xmmword [esp + 0x90], xmm2
mov esi, 0x30
mov ebx, 0x8bfb76
movaps xmm0, xmmword [esp + 0x50]
movaps xmmword [esp + 0x10], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x30], xmm0
lea ecx, [esp + 0x30]
lea edx, [esp + 0x40]
call fcn.005e46a0
movzx eax, byte [ebx]
movd xmm1, eax
pxor xmm1, xmmword [esp + 0x10]
movdqa xmm0, xmmword [esp + 0x30]
movdqa xmm2, xmm0
psrld xmm2, 8
pslld xmm0, 0x18
por xmm0, xmm2
psrldq xmm0, 0xc
pxor xmm0, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 4
movdqa xmm2, xmm0
pslldq xmm2, 8
pxor xmm2, xmm1
movdqa xmm1, xmm0
pslldq xmm1, 0xc
pxor xmm1, xmm2
pxor xmm1, xmm0
movdqa xmmword [esp + 0x50], xmm1
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [esp + esi + 0x70], xmm0
cmp esi, 0xf0
je 0x5df4cf
movdqa xmmword [esp + 0x10], xmm1
lea ecx, [esp + 0x30]
lea edx, [esp + 0x50]
call fcn.005e46a0
movdqa xmm0, xmmword [esp + 0x30]
psrldq xmm0, 0xc
pxor xmm0, xmmword [esp + 0x40]
movdqa xmm1, xmm0
movdqa xmm2, xmm0
pslldq xmm2, 0xc
pxor xmm2, xmm0
pslldq xmm0, 4
pslldq xmm1, 8
pxor xmm1, xmm0
pxor xmm2, xmm1
movdqa xmmword [esp + 0x40], xmm2
movaps xmm0, xmmword [esp + 0x40]
movups xmmword [esp + esi + 0x80], xmm0
add esi, 0x20
inc ebx
jmp 0x5df316
pxor xmm0, xmm0
movdqa xmmword [esp + 0x290], xmm0
movdqa xmmword [esp + 0x280], xmm0
movdqa xmmword [esp + 0x270], xmm0
movdqa xmmword [esp + 0x260], xmm0
movdqa xmmword [esp + 0x250], xmm0
movdqa xmmword [esp + 0x240], xmm0
movdqa xmmword [esp + 0x230], xmm0
movdqa xmmword [esp + 0x220], xmm0
movdqa xmmword [esp + 0x210], xmm0
movdqa xmmword [esp + 0x200], xmm0
movdqa xmmword [esp + 0x1f0], xmm0
movdqa xmmword [esp + 0x1e0], xmm0
movdqa xmmword [esp + 0x1d0], xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov dword [esp + 0x2c], 0
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x2a
push str.EVP_AEAD_CTX_seal_for_AES_128_GCM_failed._n
jmp 0x5defac
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x3d
push str.AES_GCM_decrypt_KAT_failed_because_EVP_AEAD_CTX_open_failed._n
jmp 0x5defac
mov dword [esp + 0x174], fcn.00599480
mov dword [esp + 0x178], 0x59b760
movdqa xmm0, xmmword [esp + 0x2e0]
movdqu xmmword [esp + 0x17c], xmm0
mov dword [esp + 0x194], 0
mov dword [esp + 0x190], 1
push 0x10
push 0x8c1345
push 0x40
lea eax, [esp + 0x1ac]
push eax
push edi
call sym.adb.exe_CTR_DRBG_generate
add esp, 0x14
test eax, eax
mov bl, 1
je 0x5df6c8
lea esi, [esp + 0x1a0]
mov ecx, 0x8c1355
mov edx, esi
push str.DRBG_Generate_KAT
push 0x40
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5df6c8
movups xmm0, xmmword [0x8c13b5]
movaps xmmword [esp + 0x2e0], xmm0
movups xmm0, xmmword [0x8c13a5]
movaps xmmword [esp + 0x2d0], xmm0
movdqa xmm0, xmmword [0x8be9e0]
movdqa xmmword [esp + 0x2c0], xmm0
lea edi, [esp + 0x80]
lea edx, [esp + 0x2c0]
mov ecx, edi
push 0x30
call fcn.005d5fa0
add esp, 4
test eax, eax
je 0x5df6c8
mov dword [esp + 0x194], 0
mov dword [esp + 0x190], 1
push 0x10
push 0x8c1345
push 0x40
push esi
push edi
call sym.adb.exe_CTR_DRBG_generate
add esp, 0x14
test eax, eax
je 0x5df6c8
lea edx, [esp + 0x1a0]
mov ecx, 0x8c13c5
push str.DRBG_reseed_KAT
push 0x40
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5df6c8
push 0x118
push edi
call sym.adb.exe_OPENSSL_cleanse
add esp, 8
push 0x118
push 0
lea esi, [esp + 0x2c8]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov ecx, esi
mov edx, edi
push str.DRBG_Clear_KAT
push 0x118
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5df6ff
push 0x5be120
push 0x9b6e80
call sym.adb.exe_CRYPTO_once
add esp, 8
pxor xmm0, xmm0
movdqa xmmword [esp + 0x60], xmm0
movdqa xmmword [esp + 0x50], xmm0
push 0x5be320
push 0x9b6f10
call sym.adb.exe_CRYPTO_once
add esp, 8
lea ecx, [esp + 0x50]
mov edx, 0x20
push 0x10
push 0x8c1487
push 0x10
push 0x8c1477
push 0xf
push 0x8c1468
push 0x20
push 0x8c1448
push 0x9b6e84
call fcn.005e40a0
add esp, 0x24
test eax, eax
je 0x5df6e2
lea edx, [esp + 0x50]
mov ecx, 0x8c1497
push str.TLS_KDF_KAT
push 0x20
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5df6e2
xor ebx, ebx
jmp 0x5df701
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x11
push str.CTR_DRBG_failed._n
jmp 0x5defac
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x10
push str.TLS_KDF_failed._n
call fcn.005fe788
add esp, 0x10
mov bl, 1
mov eax, dword [esp + 0x3e0]
test eax, eax
je 0x5df71a
lea ecx, [esp + 0x3e0]
push ecx
call dword [eax + 0x10]
add esp, 4
xor esi, esi
test bl, bl
jne 0x5df9b9
pxor xmm0, xmm0
movdqa xmmword [esp + 0x4d0], xmm0
movdqa xmmword [esp + 0x4c0], xmm0
movdqa xmmword [esp + 0x4b0], xmm0
movdqa xmmword [esp + 0x4a0], xmm0
movdqa xmmword [esp + 0x490], xmm0
movdqa xmmword [esp + 0x480], xmm0
movdqa xmmword [esp + 0x470], xmm0
movdqa xmmword [esp + 0x460], xmm0
movdqa xmmword [esp + 0x450], xmm0
movdqa xmmword [esp + 0x440], xmm0
movdqa xmmword [esp + 0x430], xmm0
movdqa xmmword [esp + 0x420], xmm0
movdqa xmmword [esp + 0x410], xmm0
movdqa xmmword [esp + 0x400], xmm0
movdqa xmmword [esp + 0x3f0], xmm0
movdqa xmmword [esp + 0x3e0], xmm0
push 0
call sym.adb.exe_RSA_new_method
add esp, 4
mov edi, eax
test eax, eax
je 0x5df988
push 0
push 0x100
push 0x8c1770
call sym.adb.exe_BN_bin2bn
add esp, 0xc
mov dword [edi + 4], eax
test eax, eax
je 0x5df988
push 0
push 3
push 0x8c1870
call sym.adb.exe_BN_bin2bn
add esp, 0xc
mov dword [edi + 8], eax
test eax, eax
je 0x5df988
push 0
push 0x100
push 0x8c1873
call sym.adb.exe_BN_bin2bn
add esp, 0xc
mov dword [edi + 0xc], eax
test eax, eax
je 0x5df988
push 0
push 0x80
push 0x8c1973
call sym.adb.exe_BN_bin2bn
add esp, 0xc
mov dword [edi + 0x10], eax
test eax, eax
je 0x5df988
push 0
push 0x80
push 0x8c19f3
call sym.adb.exe_BN_bin2bn
add esp, 0xc
mov dword [edi + 0x14], eax
test eax, eax
je 0x5df988
push 0
push 0x80
push 0x8c1a73
call sym.adb.exe_BN_bin2bn
add esp, 0xc
mov dword [edi + 0x18], eax
test eax, eax
je 0x5df988
push 0
push 0x80
push 0x8c1af3
call sym.adb.exe_BN_bin2bn
add esp, 0xc
mov dword [edi + 0x1c], eax
test eax, eax
je 0x5df988
push 0
push 0x80
push 0x8c1b73
call sym.adb.exe_BN_bin2bn
add esp, 0xc
mov dword [edi + 0x20], eax
test eax, eax
je 0x5df988
mov dword [esp + 0x80], 0
push edi
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x3e8]
push eax
push 0x20
push str.nS0or_ry_
push 0x2a0
call fcn.005da0e0
add esp, 0x18
test eax, eax
je 0x5df9c3
lea edx, [esp + 0x3e0]
mov ecx, 0x8c1511
push 0x8c1611
push 0x100
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5df9c3
push edi
push 0x100
push 0x8c1658
push 0x20
push 0x8c1638
push 0x2a0
call fcn.005da450
add esp, 0x18
test eax, eax
je 0x5df9e2
push edi
call sym.adb.exe_RSA_free
add esp, 4
push 0
call sym.adb.exe_EC_KEY_new_method
add esp, 4
test eax, eax
je 0x5df9f9
mov edi, eax
push 0x19f
call sym.adb.exe_EC_GROUP_new_by_curve_name
add esp, 4
mov dword [edi], eax
test eax, eax
jne 0x5dfa13
push edi
call sym.adb.exe_EC_KEY_free
add esp, 4
jmp 0x5dfa11
push edi
call sym.adb.exe_RSA_free
add esp, 4
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x1c
push str.RSA_key_construction_failed_n
call fcn.005fe788
add esp, 0x10
xor edi, edi
push edi
call sym.adb.exe_RSA_free
add esp, 4
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x19
push str.RSA_signing_test_failed._n
call fcn.005fe788
add esp, 0x10
jmp 0x5df9b0
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x17
push str.RSA_verify_KAT_failed._n
jmp 0x5df9d8
push 0x90
push str.external_boringssl_src_crypto_fipsmodule_ec_ec_key.c
push 0x41
push 0
push 0xf
call sym.adb.exe_ERR_put_error
add esp, 0x14
xor edi, edi
push 0
push 0x20
push 0x8c1de0
call sym.adb.exe_BN_bin2bn
add esp, 0xc
mov dword [esp + 4], eax
push 0
push 0x20
push 0x8c1e00
call sym.adb.exe_BN_bin2bn
add esp, 0xc
mov ebx, eax
push 0
push 0x20
push 0x8c1e20
call sym.adb.exe_BN_bin2bn
mov ecx, ebx
add esp, 0xc
mov ebx, edi
test edi, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
je 0x5dfaa3
test edi, edi
je 0x5dfaa3
test ecx, ecx
je 0x5dfaa3
test eax, eax
je 0x5dfaa3
push ecx
push edi
mov edi, ebx
push ebx
call sym.adb.exe_EC_KEY_set_public_key_affine_coordinates
add esp, 0xc
test eax, eax
je 0x5dfa8e
push dword [esp + 0x10]
push edi
call sym.adb.exe_EC_KEY_set_private_key
add esp, 8
test eax, eax
jne 0x5dfa99
push edi
call sym.adb.exe_EC_KEY_free
add esp, 4
xor ebx, ebx
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 4]
jmp 0x5dfab6
push ebx
call sym.adb.exe_EC_KEY_free
mov ecx, dword [esp + 0x10]
add esp, 4
xor ebx, ebx
test edi, edi
je 0x5dfae7
mov eax, dword [edi + 0x10]
test al, 2
jne 0x5dface
push dword [edi]
call sym.adb.exe_OPENSSL_free
mov ecx, dword [esp + 0x10]
add esp, 4
mov eax, dword [edi + 0x10]
test al, 1
jne 0x5dfada
mov dword [edi], 0
jmp 0x5dfae7
push edi
call sym.adb.exe_OPENSSL_free
mov ecx, dword [esp + 0x10]
add esp, 4
test ecx, ecx
lea edi, [esp + 0x2c0]
je 0x5dfb1f
mov eax, dword [ecx + 0x10]
test al, 2
jne 0x5dfb0a
push dword [ecx]
call sym.adb.exe_OPENSSL_free
mov ecx, dword [esp + 0x10]
add esp, 4
mov eax, dword [ecx + 0x10]
test al, 1
jne 0x5dfb16
mov dword [ecx], 0
jmp 0x5dfb1f
push ecx
call sym.adb.exe_OPENSSL_free
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5dfb62
mov eax, dword [eax + 0x10]
test al, 2
jne 0x5dfb46
mov edi, dword [esp + 0x10]
push dword [edi]
call sym.adb.exe_OPENSSL_free
add esp, 4
mov eax, dword [edi + 0x10]
lea edi, [esp + 0x2c0]
test al, 1
jne 0x5dfb56
mov eax, dword [esp + 0x10]
mov dword [eax], 0
jmp 0x5dfb62
push dword [esp + 0x10]
call sym.adb.exe_OPENSSL_free
add esp, 4
test ebx, ebx
je 0x5dfc15
pxor xmm0, xmm0
movdqu xmmword [esp + 0x1af], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
mov byte [esp + 0x1bf], 0x2a
push 0x20
lea eax, [esp + 0x1a4]
push eax
push ebx
push 0x20
push 0x8c1c08
call fcn.005c0440
add esp, 0x14
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2c0], xmm0
movdqa xmmword [esp + 0x2d0], xmm0
movdqa xmmword [esp + 0x2e0], xmm0
movdqa xmmword [esp + 0x2f0], xmm0
mov dword [esp + 0x10], eax
test eax, eax
je 0x5e0331
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
lea ecx, [edx*4]
cmp ecx, 0x21
mov dword [esp + 0xc], ebx
mov dword [esp + 4], ecx
jb 0x5dfde1
mov dword [esp + 0x28], edx
lea edx, [ecx - 0x20]
xor esi, esi
cmp edx, 8
jae 0x5dfc39
mov edx, 0x20
xor ebx, ebx
xor esi, esi
jmp 0x5dfdcd
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x14
push str.ECDSA_KeyGen_failed_n
call fcn.005fe788
add esp, 0x10
xor edi, edi
jmp 0x5e0352
mov ebx, 0
cmp edx, 0x20
mov dword [esp + 8], edx
jb 0x5dfd5c
add ecx, 0xffffffc0
mov esi, ecx
shr esi, 5
inc esi
mov edi, esi
and edi, 3
cmp ecx, 0x60
jae 0x5dfc6a
pxor xmm0, xmm0
xor ebx, ebx
pxor xmm1, xmm1
jmp 0x5dfcd5
and esi, 0xfffffffc
pxor xmm0, xmm0
xor ebx, ebx
pxor xmm1, xmm1
movdqu xmm2, xmmword [eax + ebx + 0x20]
por xmm2, xmm0
movdqu xmm0, xmmword [eax + ebx + 0x30]
por xmm0, xmm1
movdqu xmm1, xmmword [eax + ebx + 0x40]
movdqu xmm3, xmmword [eax + ebx + 0x50]
movdqu xmm4, xmmword [eax + ebx + 0x60]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [eax + ebx + 0x70]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [eax + ebx + 0x80]
por xmm0, xmm4
movdqu xmm1, xmmword [eax + ebx + 0x90]
por xmm1, xmm2
sub ebx, 0xffffff80
add esi, 0xfffffffc
jne 0x5dfc77
mov esi, dword [esp + 8]
and esi, 0xffffffe3
test edi, edi
je 0x5dfd05
lea ecx, [ebx + eax]
add ecx, 0x30
shl edi, 5
xor ebx, ebx
movdqu xmm2, xmmword [ecx + ebx - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [ecx + ebx]
por xmm1, xmm2
add ebx, 0x20
cmp edi, ebx
jne 0x5dfceb
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
por xmm0, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x10
por xmm1, xmm0
movdqa xmm0, xmm1
psrlw xmm0, 8
por xmm0, xmm1
movd ebx, xmm0
cmp dword [esp + 8], esi
jne 0x5dfd51
xor esi, esi
lea edi, [esp + 0x2c0]
mov ecx, dword [esp + 4]
jmp 0x5dfdd5
test byte [esp + 0x28], 6
je 0x5dfdbb
mov edx, dword [esp + 8]
mov edi, edx
and edi, 0xfffffffb
lea edx, [edi + 0x20]
movzx ecx, bl
movd xmm0, ecx
movq xmm1, qword [eax + esi + 0x20]
por xmm0, xmm1
add esi, 8
cmp edi, esi
jne 0x5dfd6b
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd ebx, xmm1
cmp dword [esp + 8], edi
mov esi, 0
lea edi, [esp + 0x2c0]
mov ecx, dword [esp + 4]
jne 0x5dfdcd
jmp 0x5dfdd5
add esi, 0x20
mov edx, esi
xor esi, esi
lea edi, [esp + 0x2c0]
mov ecx, dword [esp + 4]
or bl, byte [eax + edx]
inc edx
cmp ecx, edx
jne 0x5dfdcd
test bl, bl
mov ebx, dword [esp + 0xc]
jne 0x5e0331
cmp ecx, 0x20
mov edx, ecx
mov ecx, 0x20
cmovb ecx, edx
test ecx, ecx
je 0x5dfee2
xor esi, esi
cmp ecx, 8
jb 0x5dfeca
xor esi, esi
cmp ecx, 0x10
jae 0x5dfe5d
mov edi, esi
mov esi, ecx
and esi, 0x38
lea ebx, [eax + edi]
neg edi
mov edx, ecx
and edx, 0xfffffff8
neg edx
pxor xmm0, xmm0
movq xmm1, qword [ebx]
punpcklbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm1
movq qword [esp + edi + 0x2d8], xmm1
add ebx, 8
add edi, 0xfffffff8
cmp edx, edi
jne 0x5dfe1f
cmp ecx, esi
lea edi, [esp + 0x2c0]
jne 0x5dfeca
jmp 0x5dfee2
mov esi, ecx
and esi, 0x30
mov edi, ecx
and edi, 0xfffffff0
neg edi
xor ebx, ebx
pxor xmm0, xmm0
mov edx, eax
movdqu xmm1, xmmword [edx]
movdqa xmm2, xmm1
punpcklbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpckhbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [esp + ebx + 0x2d0], xmm1
add edx, 0x10
add ebx, 0xfffffff0
cmp edi, ebx
jne 0x5dfe71
cmp ecx, esi
lea edi, [esp + 0x2c0]
je 0x5dfee2
test cl, 8
jne 0x5dfe08
mov edx, esi
neg edx
add edx, esp
add edx, 0x2df
movzx ebx, byte [eax + esi]
mov byte [edx], bl
inc esi
dec edx
cmp ecx, esi
jne 0x5dfed6
cmp dword [esp + 4], 0x1f
ja 0x5dfefc
mov eax, 0x20
sub eax, ecx
push eax
push 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
lea edi, [edx*4]
cmp edi, 0x21
mov esi, 0
jb 0x5e00d3
mov dword [esp + 4], edi
lea ecx, [edi - 0x20]
xor edi, edi
cmp ecx, 8
jae 0x5dff3b
mov edx, 0x20
xor ebx, ebx
mov edi, dword [esp + 4]
jmp 0x5e00bf
mov dword [esp + 0x28], edx
mov ebx, 0
cmp ecx, 0x20
mov dword [esp + 8], ecx
jb 0x5e005c
mov ecx, dword [esp + 4]
add ecx, 0xffffffc0
mov edi, ecx
shr edi, 5
inc edi
mov esi, edi
and esi, 3
cmp ecx, 0x60
jae 0x5dff74
pxor xmm0, xmm0
xor edx, edx
pxor xmm1, xmm1
jmp 0x5dffdf
and edi, 0xfffffffc
pxor xmm0, xmm0
xor edx, edx
pxor xmm1, xmm1
movdqu xmm2, xmmword [eax + edx + 0x20]
por xmm2, xmm0
movdqu xmm0, xmmword [eax + edx + 0x30]
por xmm0, xmm1
movdqu xmm1, xmmword [eax + edx + 0x40]
movdqu xmm3, xmmword [eax + edx + 0x50]
movdqu xmm4, xmmword [eax + edx + 0x60]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [eax + edx + 0x70]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [eax + edx + 0x80]
por xmm0, xmm4
movdqu xmm1, xmmword [eax + edx + 0x90]
por xmm1, xmm2
sub edx, 0xffffff80
add edi, 0xfffffffc
jne 0x5dff81
mov edi, dword [esp + 8]
and edi, 0xffffffe3
test esi, esi
je 0x5e000f
lea ecx, [edx + eax]
add ecx, 0x30
shl esi, 5
xor edx, edx
movdqu xmm2, xmmword [ecx + edx - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [ecx + edx]
por xmm1, xmm2
add edx, 0x20
cmp esi, edx
jne 0x5dfff5
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
por xmm0, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x10
por xmm1, xmm0
movdqa xmm0, xmm1
psrlw xmm0, 8
por xmm0, xmm1
movd ebx, xmm0
cmp dword [esp + 8], edi
jne 0x5e0051
xor esi, esi
mov edi, dword [esp + 4]
jmp 0x5e00c7
test byte [esp + 0x28], 6
je 0x5e00b4
mov ecx, dword [esp + 8]
mov esi, ecx
and esi, 0xfffffffb
lea edx, [esi + 0x20]
movzx ecx, bl
movd xmm0, ecx
movq xmm1, qword [eax + edi + 0x20]
por xmm0, xmm1
add edi, 8
cmp esi, edi
jne 0x5e006b
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd ebx, xmm1
cmp dword [esp + 8], esi
mov esi, 0
mov edi, dword [esp + 4]
jne 0x5e00bf
jmp 0x5e00c7
add edi, 0x20
mov edx, edi
xor esi, esi
mov edi, dword [esp + 4]
or bl, byte [eax + edx]
inc edx
cmp edi, edx
jne 0x5e00bf
test bl, bl
mov ebx, dword [esp + 0xc]
jne 0x5e0331
cmp edi, 0x20
mov ecx, 0x20
cmovb ecx, edi
test ecx, ecx
je 0x5e01d0
xor esi, esi
cmp ecx, 8
jb 0x5e01b8
xor esi, esi
cmp ecx, 0x10
mov dword [esp + 4], edi
jae 0x5e014e
mov edi, esi
mov esi, ecx
and esi, 0x38
lea ebx, [eax + edi]
neg edi
mov edx, ecx
and edx, 0xfffffff8
neg edx
pxor xmm0, xmm0
movq xmm1, qword [ebx]
punpcklbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm1
movq qword [esp + edi + 0x2f8], xmm1
add ebx, 8
add edi, 0xfffffff8
cmp edx, edi
jne 0x5e0113
cmp ecx, esi
mov edi, dword [esp + 4]
jne 0x5e01b8
jmp 0x5e01d0
mov esi, ecx
and esi, 0x30
mov edi, ecx
and edi, 0xfffffff0
neg edi
xor ebx, ebx
pxor xmm0, xmm0
mov edx, eax
movdqu xmm1, xmmword [edx]
movdqa xmm2, xmm1
punpcklbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpckhbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [esp + ebx + 0x2f0], xmm1
add edx, 0x10
add ebx, 0xfffffff0
cmp edi, ebx
jne 0x5e0162
cmp ecx, esi
mov edi, dword [esp + 4]
je 0x5e01d0
test cl, 8
jne 0x5e00fc
mov edx, esi
neg edx
add edx, esp
add edx, 0x2ff
movzx ebx, byte [eax + esi]
mov byte [edx], bl
inc esi
dec edx
cmp ecx, esi
jne 0x5e01c4
cmp edi, 0x1f
ja 0x5e01ef
lea eax, [esp + 0x2e0]
mov edx, 0x20
sub edx, ecx
push edx
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
lea edx, [esp + 0x2c0]
mov ecx, 0x8c1c28
push 0x8c1c68
push 0x40
call fcn.005de6a0
add esp, 8
test eax, eax
mov esi, 0
mov ebx, dword [esp + 0xc]
je 0x5e0331
push dword [esp + 0x10]
call sym.adb.exe_ECDSA_SIG_free
add esp, 4
call sym.adb.exe_ECDSA_SIG_new
mov edi, eax
test eax, eax
je 0x5e0366
push dword [edi]
push 0x20
push 0x8c1cb5
call sym.adb.exe_BN_bin2bn
add esp, 0xc
test eax, eax
je 0x5e0366
push dword [edi + 4]
push 0x20
push 0x8c1cd5
call sym.adb.exe_BN_bin2bn
add esp, 0xc
test eax, eax
je 0x5e0366
push ebx
mov dword [esp + 0x14], edi
push edi
push 0x20
push str.xP_
call fcn.005bf730
add esp, 0x10
test eax, eax
je 0x5e0390
push 0x19f
call sym.adb.exe_EC_GROUP_new_by_curve_name
add esp, 4
mov dword [esp + 4], eax
test eax, eax
je 0x5e039c
push 0xd0
call sym.adb.exe_OPENSSL_malloc
add esp, 4
mov ebx, eax
test eax, eax
je 0x5e03c1
mov eax, dword [esp + 4]
cmp dword [eax + 0x1c], 0
jne 0x5e02d2
mov eax, dword [esp + 4]
add eax, 0x10c
push eax
call sym.adb.exe_CRYPTO_refcount_inc
add esp, 4
mov eax, dword [esp + 4]
mov dword [ebx], eax
pxor xmm0, xmm0
movdqu xmmword [ebx + 4], xmm0
movdqu xmmword [ebx + 0x14], xmm0
movdqu xmmword [ebx + 0x24], xmm0
movdqu xmmword [ebx + 0x34], xmm0
movdqu xmmword [ebx + 0x44], xmm0
movdqu xmmword [ebx + 0x54], xmm0
movdqu xmmword [ebx + 0x64], xmm0
movdqu xmmword [ebx + 0x74], xmm0
movdqu xmmword [ebx + 0x84], xmm0
movdqu xmmword [ebx + 0x94], xmm0
movdqu xmmword [ebx + 0xa4], xmm0
movdqu xmmword [ebx + 0xb4], xmm0
movdqu xmmword [ebx + 0xc0], xmm0
jmp 0x5e03d9
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x17
push str.ECDSA_sign_KAT_failed._n
call fcn.005fe788
add esp, 0x10
mov edi, dword [esp + 0x10]
push ebx
call sym.adb.exe_EC_KEY_free
add esp, 4
push edi
call sym.adb.exe_ECDSA_SIG_free
jmp 0x5df9b6
push edi
call sym.adb.exe_ECDSA_SIG_free
add esp, 4
xor edi, edi
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x19
push 0x8c1cf5
call fcn.005fe788
add esp, 0x10
jmp 0x5e0352
xor esi, esi
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
jmp 0x5e0371
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x1e
push 0x8c1d91
call fcn.005fe788
add esp, 0x10
xor esi, esi
mov ebx, dword [esp + 0xc]
jmp 0x5e034e
push 0x2b1
push str.external_boringssl_src_crypto_fipsmodule_ec_ec.c
push 0x41
push 0
push 0xf
call sym.adb.exe_ERR_put_error
add esp, 0x14
push 0xd0
call sym.adb.exe_OPENSSL_malloc
add esp, 4
mov edi, eax
test eax, eax
je 0x5e0464
mov eax, dword [esp + 4]
cmp dword [eax + 0x1c], 0
jne 0x5e0408
mov eax, dword [esp + 4]
add eax, 0x10c
push eax
call sym.adb.exe_CRYPTO_refcount_inc
add esp, 4
mov eax, dword [esp + 4]
mov dword [edi], eax
pxor xmm0, xmm0
movdqu xmmword [edi + 4], xmm0
movdqu xmmword [edi + 0x14], xmm0
movdqu xmmword [edi + 0x24], xmm0
movdqu xmmword [edi + 0x34], xmm0
movdqu xmmword [edi + 0x44], xmm0
movdqu xmmword [edi + 0x54], xmm0
movdqu xmmword [edi + 0x64], xmm0
movdqu xmmword [edi + 0x74], xmm0
movdqu xmmword [edi + 0x84], xmm0
movdqu xmmword [edi + 0x94], xmm0
movdqu xmmword [edi + 0xa4], xmm0
movdqu xmmword [edi + 0xb4], xmm0
movdqu xmmword [edi + 0xc0], xmm0
jmp 0x5e047c
push 0x2b1
push str.external_boringssl_src_crypto_fipsmodule_ec_ec.c
push 0x41
push 0
push 0xf
call sym.adb.exe_ERR_put_error
add esp, 0x14
push 0x14
call sym.adb.exe_OPENSSL_malloc
add esp, 4
mov dword [esp + 8], eax
test eax, eax
je 0x5e058a
pxor xmm0, xmm0
mov eax, dword [esp + 8]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 1
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
mov byte [esp + 0xc0], 0
test ebx, ebx
je 0x5e05cf
test edi, edi
je 0x5e05cf
push 0
push 0x41
push 0x8c1d0f
push ebx
push dword [esp + 0x14]
call sym.adb.exe_EC_POINT_oct2point
add esp, 0x14
test eax, eax
je 0x5e05cf
push 8
push dword [esp + 0xc]
call fcn.0059f5c0
add esp, 8
test eax, eax
je 0x5e05cf
mov ecx, dword [esp + 8]
mov dword [ecx + 4], 8
mov dword [ecx + 0xc], 0
mov eax, dword [ecx]
movaps xmm0, xmmword [0x8be9f0]
movups xmmword [eax], xmm0
movdqa xmm0, xmmword [0x8bea00]
movdqu xmmword [eax + 0x10], xmm0
push 0
push ecx
push ebx
push 0
push edi
push dword [esp + 0x18]
call fcn.005c5800
add esp, 0x18
test eax, eax
je 0x5e05cf
sub esp, 4
push dword [edi]
push dword [esp + 0xc]
call sym.adb.exe_EC_GROUP_cmp
add esp, 0xc
test eax, eax
je 0x5e09bc
push 0xd6
push str.external_boringssl_src_crypto_fipsmodule_ec_oct.c
push 0x6a
push 0
push 0xf
call sym.adb.exe_ERR_put_error
add esp, 0x14
jmp 0x5e05cf
push 0x49
push str.external_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x41
push 0
push 3
call sym.adb.exe_ERR_put_error
add esp, 0x14
pxor xmm0, xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
mov byte [esp + 0xc0], 0
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0x1a
push str.Z_computation_KAT_failed._n
call fcn.005fe788
add esp, 0x10
push dword [esp + 0xc]
call sym.adb.exe_EC_KEY_free
add esp, 4
xor esi, esi
test ebx, ebx
je 0x5e0611
push dword [ebx]
call sym.adb.exe_EC_GROUP_free
add esp, 4
push ebx
call sym.adb.exe_OPENSSL_free
add esp, 4
test edi, edi
je 0x5e0628
push dword [edi]
call sym.adb.exe_EC_GROUP_free
add esp, 4
push edi
call sym.adb.exe_OPENSSL_free
add esp, 4
push dword [esp + 4]
call sym.adb.exe_EC_GROUP_free
add esp, 4
cmp dword [esp + 8], 0
je 0x5e0673
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
test al, 2
jne 0x5e0657
mov edi, dword [esp + 8]
push dword [edi]
call sym.adb.exe_OPENSSL_free
add esp, 4
mov eax, dword [edi + 0x10]
test al, 1
jne 0x5e0667
mov eax, dword [esp + 8]
mov dword [eax], 0
jmp 0x5e0673
push dword [esp + 8]
call sym.adb.exe_OPENSSL_free
add esp, 4
push dword [esp + 0x10]
call sym.adb.exe_ECDSA_SIG_free
add esp, 4
test esi, esi
mov esi, 0
je 0x5df9b9
push 0x14
call sym.adb.exe_OPENSSL_malloc
add esp, 4
mov esi, eax
test eax, eax
je 0x5e06d6
pxor xmm0, xmm0
movdqu xmmword [esi], xmm0
mov dword [esi + 0x10], 1
push 0
call sym.adb.exe_OPENSSL_free
add esp, 4
mov dword [esi], 0x8c1e40
mov dword [esi + 4], 0x40
mov dword [esi + 8], 0x40
mov dword [esi + 0xc], 0
or byte [esi + 0x10], 2
jmp 0x5e06eb
push 0x49
push str.external_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x41
push 0
push 3
call sym.adb.exe_ERR_put_error
add esp, 0x14
call sym.adb.exe_DH_get_rfc7919_2048
mov dword [esp + 0x10], eax
test eax, eax
je 0x5e079b
push 0x14
call sym.adb.exe_OPENSSL_malloc
add esp, 4
test eax, eax
je 0x5e077a
mov ebx, eax
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 1
push 0
call sym.adb.exe_OPENSSL_free
add esp, 4
mov dword [ebx], 0x8c2058
mov dword [ebx + 4], 8
mov dword [ebx + 8], 8
mov dword [ebx + 0xc], 0
or byte [ebx + 0x10], 2
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x5e080b
mov eax, dword [edi + 0x10]
test al, 2
jne 0x5e0767
push dword [edi]
call sym.adb.exe_OPENSSL_free
add esp, 4
mov eax, dword [edi + 0x10]
test al, 1
jne 0x5e0802
mov dword [edi], 0
jmp 0x5e080b
push 0x49
push str.external_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x41
push 0
push 3
call sym.adb.exe_ERR_put_error
add esp, 0x14
push dword [esp + 0x10]
call sym.adb.exe_DH_free
add esp, 4
mov dword [esp + 0x10], 0
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 1
push 0xd
push str.FFDH_failed._n
call fcn.005fe788
add esp, 0x10
xor edi, edi
push dword [esp + 0x10]
call sym.adb.exe_DH_free
add esp, 4
test esi, esi
je 0x5e07fb
mov eax, dword [esi + 0x10]
test al, 2
jne 0x5e07e6
push dword [esi]
call sym.adb.exe_OPENSSL_free
add esp, 4
mov eax, dword [esi + 0x10]
test al, 1
jne 0x5e07f2
mov dword [esi], 0
jmp 0x5e07fb
push esi
call sym.adb.exe_OPENSSL_free
add esp, 4
mov esi, edi
jmp 0x5df9b9
push edi
call sym.adb.exe_OPENSSL_free
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc], ebx
pxor xmm0, xmm0
movdqa xmmword [esp + 0x4d0], xmm0
movdqa xmmword [esp + 0x4c0], xmm0
movdqa xmmword [esp + 0x4b0], xmm0
movdqa xmmword [esp + 0x4a0], xmm0
movdqa xmmword [esp + 0x490], xmm0
movdqa xmmword [esp + 0x480], xmm0
movdqa xmmword [esp + 0x470], xmm0
movdqa xmmword [esp + 0x460], xmm0
movdqa xmmword [esp + 0x450], xmm0
movdqa xmmword [esp + 0x440], xmm0
movdqa xmmword [esp + 0x430], xmm0
movdqa xmmword [esp + 0x420], xmm0
movdqa xmmword [esp + 0x410], xmm0
movdqa xmmword [esp + 0x400], xmm0
movdqa xmmword [esp + 0x3f0], xmm0
movdqa xmmword [esp + 0x3e0], xmm0
test esi, esi
je 0x5e07a3
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
mov ebx, dword [edi + 4]
mov edx, ebx
sar edx, 0x1f
and edx, ebx
mov eax, ebx
test eax, eax
jle 0x5e08d1
mov ecx, dword [edi]
mov ecx, dword [ecx + eax*4 - 4]
dec eax
test ecx, ecx
je 0x5e08c0
jmp 0x5e08e2
test ebx, ebx
jns 0x5e07a3
mov eax, dword [edi]
mov ecx, dword [eax + edx*4 - 4]
dec edx
mov eax, edx
shl eax, 5
mov ebx, ecx
shr ebx, 0x10
xor edx, edx
cmp ecx, 0x10000
cmovb ebx, ecx
setae dl
shl edx, 4
mov dword [esp + 0xc], edx
mov edi, ebx
shr edi, 8
xor edx, edx
cmp ebx, 0x100
cmovb edi, ebx
setae dl
mov dword [esp + 4], edx
mov edx, edi
shr edx, 4
xor ebx, ebx
cmp edi, 0x10
cmovb edx, edi
setae bl
mov dword [esp + 8], ebx
mov edi, edx
shr edi, 2
xor ebx, ebx
cmp edx, 4
cmovb edi, edx
setae bl
cmp ecx, 1
sbb eax, 0
add eax, 8
or eax, dword [esp + 0xc]
cmp edi, 2
mov ecx, dword [esp + 4]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 8]
lea eax, [eax + ecx*4]
lea eax, [eax + ebx*2]
sbb eax, 0xffffffff
and eax, 0xfffffff8
cmp eax, 0x800
jne 0x5e07a3
push dword [esp + 0x10]
push esi
lea eax, [esp + 0x3e8]
push eax
call fcn.005bc890
add esp, 0xc
cmp eax, 0x100
jne 0x5e07a3
lea edx, [esp + 0x3e0]
mov ecx, 0x8c1f40
push str.FFC_DH
push 0x100
call fcn.005de6a0
add esp, 8
mov edi, 1
test eax, eax
jne 0x5e07c2
jmp 0x5e07a3
pxor xmm0, xmm0
movdqa xmmword [esp + 0x450], xmm0
movdqa xmmword [esp + 0x440], xmm0
movdqa xmmword [esp + 0x430], xmm0
movdqa xmmword [esp + 0x420], xmm0
movdqa xmmword [esp + 0x410], xmm0
movdqa xmmword [esp + 0x400], xmm0
movdqa xmmword [esp + 0x3f0], xmm0
movdqa xmmword [esp + 0x3e0], xmm0
mov dword [esp + 0x464], 0
mov dword [esp + 0x460], 0
lea eax, [edi + 4]
mov esi, dword [esp + 4]
mov ecx, dword [esi]
lea edx, [esp + 0x424]
push edx
lea edx, [esp + 0x3e4]
push edx
push eax
push esi
call dword [ecx + 0xc]
add esp, 0x10
test eax, eax
je 0x5e05cf
push 0x41
lea eax, [esp + 0x84]
push eax
push 4
lea eax, [esp + 0x3ec]
push eax
push dword [esp + 0x14]
call fcn.005cae40
add esp, 0x14
test eax, eax
je 0x5e05cf
lea edx, [esp + 0x80]
mov ecx, 0x8c1d50
push str.Z_Computation_Result
push 0x41
call fcn.005de6a0
add esp, 8
test eax, eax
je 0x5e05cf
push dword [esp + 0xc]
call sym.adb.exe_EC_KEY_free
add esp, 4
mov esi, 1
jmp 0x5e05fe