Function at 0x503770
Capabilities:
Encode data using xor
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x7e0
lea eax, [esp + 0x350]
push 0x248
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
lea esi, [esp + 0x5d0]
xorps xmm0, 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 + 0x640], xmm0
movaps xmmword [esp + 0x630], xmm0
movaps xmmword [esp + 0x620], xmm0
movaps xmmword [esp + 0x610], xmm0
movaps xmmword [esp + 0x600], xmm0
movaps xmmword [esp + 0x5f0], xmm0
movaps xmmword [esp + 0x5e0], xmm0
movaps xmmword [esp + 0x5d0], xmm0
movaps xmmword [esp + 0x180], xmm0
mov dword [esp + 0x6b0], 0xa
movdqu xmm0, xmmword [str.BoringCrypto_Key_a]
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x5c0], xmm0
movdqa xmm1, xmmword [str.BoringCrypto_Key]
mov edi, 0xfffffff6
lea ebx, [esp + 0x40]
nop dword [eax + eax]
movdqa xmmword [esp + 0x20], xmm1
pxor xmm0, xmm0
movdqa xmmword [esp + 0x6c0], xmm0
lea ecx, [esp + 0x6c0]
mov edx, ebx
call fcn.00509720
movzx eax, byte [edi + 0x58ed77]
movd xmm1, eax
pxor xmm1, xmmword [esp + 0x20]
movdqa xmm0, xmmword [esp + 0x6c0]
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 + 0x40], xmm1
movdqa xmm0, xmmword [esp + 0x40]
movdqu xmmword [esi], xmm0
add esi, 0x10
inc edi
jne 0x503850
mov esi, ebx
pxor xmm0, 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
movdqa xmmword [esp + 0x190], xmm0
lea eax, [esp + 0x180]
lea ecx, [esp + 0x5c0]
lea edi, [esp + 0x190]
push 1
push eax
push ecx
push 0x20
push edi
push 0x590493
call fcn.004c8ab0
add esp, 0x18
mov ecx, 0x5904b3
mov edx, edi
push str.AES_CBC_encrypt_KAT
push 0x20
call fcn.00503300
add esp, 8
mov bl, 1
test eax, eax
je 0x5047ba
pxor xmm0, xmm0
movdqa xmmword [esp + 0x180], xmm0
mov dword [esp + 0x6b0], 0xa
movdqu xmm0, xmmword [str.BoringCrypto_Key_a]
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x5c0], xmm0
movdqa xmm1, xmmword [str.BoringCrypto_Key]
mov esi, 0xfffffff6
lea ebx, [esp + 0x5d0]
lea edi, [esp + 0x40]
nop dword [eax]
movdqa xmmword [esp + 0x20], xmm1
pxor xmm0, xmm0
movdqa xmmword [esp + 0x6c0], xmm0
lea ecx, [esp + 0x6c0]
mov edx, edi
call fcn.00509720
movzx eax, byte [esi + 0x58ed77]
movd xmm1, eax
pxor xmm1, xmmword [esp + 0x20]
movdqa xmm0, xmmword [esp + 0x6c0]
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 + 0x40], xmm1
movdqa xmm0, xmmword [esp + 0x40]
movdqu xmmword [ebx], xmm0
add ebx, 0x10
inc esi
jne 0x503a10
push 0
lea eax, [esp + 0x184]
push eax
lea eax, [esp + 0x5c8]
push eax
push 0x20
lea edi, [esp + 0x1a0]
push edi
push 0x5904e7
call fcn.004c8ab0
add esp, 0x18
mov ecx, 0x590507
mov edx, edi
push str.AES_CBC_decrypt_KAT
push 0x20
call fcn.00503300
add esp, 8
test eax, eax
je 0x5047b4
mov dword [esp + 0x34], 0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x290], xmm0
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a0], 0
push 0x4e28f0
push 0x5abb3c
call sym.fastboot.exe_CRYPTO_once
add esp, 8
mov eax, dword [0x5abb48]
test eax, eax
lea esi, [esp + 0x40]
je 0x503bc1
cmp byte [0x5abb40], 0x10
mov bl, 1
jne 0x503bda
mov dword [esp + 0x350], 0x5abb40
push 0
push 0x10
push str.BoringCrypto_Key_a
lea ecx, [esp + 0x35c]
push ecx
call eax
add esp, 0x10
test eax, eax
je 0x503bef
push 0x4e28f0
push 0x5abb3c
call sym.fastboot.exe_CRYPTO_once
add esp, 8
movzx eax, byte [0x5abb41]
cmp edi, 0x590586
jae 0x503c1c
lea ecx, [esp + 0x290]
cmp ecx, 0x590566
jbe 0x503c1c
push 0x85
push str.external_boringssl_src_crypto_fipsmodule_cipher_aead.c
push 0x73
push 0
push 0x1e
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
jmp 0x504203
push 0x41
push str.external_boringssl_src_crypto_fipsmodule_cipher_aead.c
push 0x7c
push 0
push 0x1e
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
mov bl, 1
jmp 0x503bef
push 0x4e
push str.external_boringssl_src_crypto_fipsmodule_cipher_aead.c
push pe_nt_image_headers32
push 0
push 0x1e
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
mov dword [esp + 0x350], 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 sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
jmp 0x5047ba
mov ecx, dword [esp + 0x350]
mov dword [esp + 0x40], 0
lea edx, [esp + 0x1b0]
sub esp, 0x34
movdqa xmm0, xmmword [0x58dd60]
movdqu xmmword [esp + 0x20], xmm0
mov dword [esp + 0x18], eax
mov dword [esp + 8], edx
mov dword [esp + 4], edi
lea edi, [esp + 0x2c4]
mov dword [esp + 0x14], edi
lea eax, [esp + 0x74]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x384]
mov dword [esp], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x1c], 0x590566
mov dword [esp + 0x10], 0xe0
call dword [ecx + 0x18]
add esp, 0x34
test eax, eax
je 0x504203
mov eax, dword [esp + 0x40]
add eax, 0x20
mov dword [esp + 0x34], eax
lea edx, [esp + 0x190]
mov ecx, 0x590586
push str.AES_GCM_encrypt_KAT
push 0x30
call fcn.00503300
add esp, 8
test eax, eax
je 0x50429f
push 0x4e28f0
push 0x5abb3c
call sym.fastboot.exe_CRYPTO_once
add esp, 8
movzx eax, byte [0x5abb41]
lea ecx, [esp + 0x34]
push 0
push 0
push 0x30
push 0x5905f5
push eax
push edi
push 0x100
push ecx
lea eax, [esp + 0x1b0]
push eax
lea eax, [esp + 0x374]
push eax
call sym.fastboot.exe_EVP_AEAD_CTX_open
add esp, 0x28
test eax, eax
je 0x5042b9
lea edx, [esp + 0x190]
mov ecx, 0x590625
push str.AES_GCM_decrypt_KAT
push 0x20
call fcn.00503300
add esp, 8
test eax, eax
je 0x5042b9
movaps xmm0, xmmword [0x58dd70]
movups xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0xc3d2e1f0
lea edx, [esp + 0x5c]
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0x80
mov dword [esp + 0x9c], 0x10
movups xmm0, xmmword [0x590697]
movups xmmword [esp + 0x5c], xmm0
mov byte [esp + 0x6c], 0x80
xorps xmm0, xmm0
movups xmmword [esp + 0x6d], xmm0
movups xmmword [esp + 0x7d], xmm0
movups xmmword [esp + 0x88], xmm0
mov dword [esp + 0x98], 0x80000000
lea edi, [esp + 0x40]
mov ecx, edi
push 1
call fcn.00505d60
add esp, 4
pxor xmm2, xmm2
movdqu xmmword [esp + 0x8c], xmm2
movdqu xmmword [esp + 0x7c], xmm2
movdqu xmmword [esp + 0x6c], xmm2
movdqu xmmword [esp + 0x5c], xmm2
mov dword [esp + 0x9c], 0
movdqu xmm0, xmmword [esp + 0x40]
movdqa xmm1, xmm0
punpckhbw xmm1, 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 + 0x190], xmm0
mov eax, dword [esp + 0x50]
bswap eax
mov dword [esp + 0x1a0], eax
push 0x60
push edi
call sym.fastboot.exe_OPENSSL_cleanse
add esp, 8
lea edx, [esp + 0x190]
mov ecx, 0x5906a7
push str.SHA_1_KAT
push 0x14
call fcn.00503300
add esp, 8
test eax, eax
je 0x5047ba
pxor xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
movdqa xmmword [esp + 0x40], xmm0
push edi
push 0x10
push 0x58ec8d
call sym.fastboot.exe_SHA256
add esp, 0xc
mov ecx, 0x58ec9d
mov edx, edi
push 0x58ecbd
push 0x20
call fcn.00503300
add esp, 8
test eax, eax
je 0x5047ba
lea edx, [esp + 0x90]
movaps xmm0, xmmword [0x58dd80]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x58dd90]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x58dda0]
movups xmmword [esp + 0x60], xmm0
movaps xmm0, xmmword [0x58ddb0]
movups xmmword [esp + 0x70], xmm0
mov dword [esp + 0x114], 0x40
movaps xmm0, xmmword [0x58ddc0]
movups xmmword [esp + 0x80], xmm0
movups xmm0, xmmword [0x58ecc9]
movups xmmword [esp + 0x90], xmm0
mov dword [esp + 0x110], 0x10
mov byte [esp + 0xa0], 0x80
xorps xmm0, xmm0
movups xmmword [esp + 0xa1], xmm0
movups xmmword [esp + 0xb1], xmm0
movups xmmword [esp + 0xc1], xmm0
movups xmmword [esp + 0xd1], xmm0
movups xmmword [esp + 0xe1], xmm0
movups xmmword [esp + 0xf1], xmm0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x10c], 0x80000000
mov dword [esp + 0x108], 0
mov ecx, edi
push 1
call fcn.00508a20
add esp, 4
movdqu xmm1, xmmword [esp + 0x40]
movdqu xmm0, xmmword [esp + 0x50]
movdqa xmm2, xmm1
pxor xmm3, xmm3
punpckhbw xmm2, xmm3
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm1, xmm3
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [esp + 0x6c0], xmm1
movdqa xmm1, xmm0
punpckhbw xmm1, xmm3
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm0, xmm3
pshufd xmm0, xmm0, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqu xmmword [esp + 0x6d0], xmm0
movdqu xmm0, xmmword [esp + 0x60]
movdqa xmm1, xmm0
punpckhbw xmm1, xmm3
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm0, xmm3
pxor xmm2, xmm2
pshufd xmm0, xmm0, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqu xmmword [esp + 0x6e0], xmm0
movdqu xmm0, xmmword [esp + 0x70]
movdqa xmm1, xmm0
punpckhbw xmm1, xmm2
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm0, xmm2
pshufd xmm0, xmm0, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqu xmmword [esp + 0x6f0], xmm0
push 0xd8
push edi
call sym.fastboot.exe_OPENSSL_cleanse
add esp, 8
lea edx, [esp + 0x6c0]
mov ecx, 0x58ecd9
push 0x58ed19
push 0x40
call fcn.00503300
add esp, 8
test eax, eax
je 0x5047ba
call fcn.00503610
test eax, eax
je 0x5047ba
push 0x118
push 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0x130], 0xe
movaps xmm0, xmmword [0x58ddd0]
movaps xmmword [esp + 0x6c0], xmm0
movaps xmmword [esp + 0x20], xmm0
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x58dde0]
movaps xmmword [esp + 0x2b0], xmm0
movaps xmmword [esp + 0x10], xmm0
movups xmmword [esp + 0x50], xmm0
mov edi, 0x30
mov esi, 0x58ed6d
lea ebx, [esp + 0x2b0]
xorps xmm0, xmm0
movaps xmmword [esp + 0x160], xmm0
lea ecx, [esp + 0x160]
mov edx, ebx
call fcn.00509720
movzx eax, byte [esi]
movd xmm1, eax
pxor xmm1, xmmword [esp + 0x20]
movdqa xmm0, xmmword [esp + 0x160]
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 + 0x6c0], xmm1
movaps xmm0, xmmword [esp + 0x6c0]
movups xmmword [esp + edi + 0x30], xmm0
cmp edi, 0xf0
je 0x5042d3
movdqa xmmword [esp + 0x20], xmm1
lea ecx, [esp + 0x160]
lea edx, [esp + 0x6c0]
call fcn.00509720
movdqa xmm0, xmmword [esp + 0x160]
psrldq xmm0, 0xc
movdqa xmm2, xmmword [esp + 0x10]
pxor xmm2, xmm0
movdqa xmm0, xmm2
pslldq xmm0, 4
movdqa xmm1, xmm2
pslldq xmm1, 8
pxor xmm1, xmm0
movdqa xmm0, xmm2
pslldq xmm0, 0xc
pxor xmm0, xmm1
pxor xmm2, xmm0
movdqa xmmword [esp + 0x10], xmm2
movdqa xmmword [esp + 0x2b0], xmm2
movaps xmm0, xmmword [esp + 0x2b0]
movups xmmword [esp + edi + 0x40], xmm0
add edi, 0x20
inc esi
jmp 0x5040f3
pxor xmm0, 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
movdqa xmmword [esp + 0x190], xmm0
mov dword [esp + 0x34], 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 0x503c0f
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 0x503c0f
mov dword [esp + 0x134], fcn.004c5df0
mov dword [esp + 0x138], 0x4c8100
movdqa xmm0, xmmword [0x58ddf0]
movdqu xmmword [esp + 0x13c], xmm0
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 1
push 0x10
push str.BCM_DRBG_KAT_AD
push 0x40
lea eax, [esp + 0x19c]
push eax
lea eax, [esp + 0x50]
push eax
call sym.fastboot.exe_CTR_DRBG_generate
add esp, 0x14
test eax, eax
je 0x504797
lea ebx, [esp + 0x190]
mov ecx, 0x5906d5
mov edx, ebx
push str.DRBG_Generate_KAT
push 0x40
call fcn.00503300
add esp, 8
test eax, eax
je 0x504797
movups xmm0, xmmword [0x590735]
movaps xmmword [esp + 0x6e0], xmm0
movups xmm0, xmmword [0x590725]
movaps xmmword [esp + 0x6d0], xmm0
movdqa xmm0, xmmword [0x58de00]
movdqa xmmword [esp + 0x6c0], xmm0
lea esi, [esp + 0x40]
lea edi, [esp + 0x6c0]
mov ecx, esi
mov edx, edi
push 0x30
call fcn.004fc8d0
add esp, 4
test eax, eax
je 0x504797
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 1
push 0x10
push str.BCM_DRBG_KAT_AD
push 0x40
push ebx
push esi
call sym.fastboot.exe_CTR_DRBG_generate
add esp, 0x14
test eax, eax
je 0x504797
lea edx, [esp + 0x190]
mov ecx, 0x590745
push str.DRBG_reseed_KAT
push 0x40
call fcn.00503300
add esp, 8
test eax, eax
je 0x504797
push 0x118
push esi
call sym.fastboot.exe_OPENSSL_cleanse
add esp, 8
push 0x118
push 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov ecx, edi
mov edx, esi
push str.DRBG_Clear_KAT
push 0x118
call fcn.00503300
add esp, 8
test eax, eax
je 0x5047b4
push 0x4e6460
push 0x5abe6c
call sym.fastboot.exe_CRYPTO_once
add esp, 8
pxor xmm0, xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
push 0x4e6460
push 0x5abe6c
call sym.fastboot.exe_CRYPTO_once
add esp, 8
push 0x4e60e0
push 0x5abd70
call sym.fastboot.exe_CRYPTO_once
add esp, 8
lea ecx, [esp + 0x160]
mov edx, 0x20
push 0x10
push 0x5907e7
push 0x10
push 0x5907d7
push 0xf
push str.FIPS_self_test
push 0x10
push 0x5907f7
push 0x5abd74
call fcn.00509050
add esp, 0x24
test eax, eax
je 0x504da5
push 0x4e6160
push 0x5abd94
call sym.fastboot.exe_CRYPTO_once
add esp, 8
lea ecx, [esp + 0x160]
mov edx, 0x20
push 0x10
push 0x5907e7
push 0x10
push 0x5907d7
push 0xf
push str.FIPS_self_test
push 0x10
push 0x590807
push 0x5abd98
call fcn.00509050
add esp, 0x24
test eax, eax
je 0x504da5
lea edx, [esp + 0x160]
mov ecx, 0x590817
push str.TLS10_KDF_KAT
push 0x20
call fcn.00503300
add esp, 8
test eax, eax
je 0x504da5
push 0x4e6260
push 0x5abddc
call sym.fastboot.exe_CRYPTO_once
add esp, 8
pxor xmm0, xmm0
movdqa xmmword [esp + 0x340], xmm0
movdqa xmmword [esp + 0x330], xmm0
push 0x4e6460
push 0x5abe6c
call sym.fastboot.exe_CRYPTO_once
add esp, 8
lea ecx, [esp + 0x330]
mov edx, 0x20
push 0x10
push 0x5907e7
push 0x10
push 0x5907d7
push 0xf
push str.FIPS_self_test
push 0x20
push 0x590856
push 0x5abde0
call fcn.00509050
add esp, 0x24
test eax, eax
je 0x504da5
lea edx, [esp + 0x330]
mov ecx, 0x590876
push 0x590896
push 0x20
call fcn.00503300
add esp, 8
test eax, eax
je 0x504da5
pxor xmm0, xmm0
movdqa xmmword [esp + 0x5b0], xmm0
movdqa xmmword [esp + 0x5a0], xmm0
mov dword [esp + 0x38], 0
movdqa xmmword [esp + 0x310], xmm0
movdqa xmmword [esp + 0x320], xmm0
push 0x4e6260
push 0x5abddc
call sym.fastboot.exe_CRYPTO_once
add esp, 8
lea eax, [esp + 0x38]
lea esi, [esp + 0x5a0]
push 0x10
push 0x5908c4
push 0x20
push 0x5908a4
push 0x5abde0
push eax
push esi
call sym.fastboot.exe_HKDF_extract
add esp, 0x1c
test eax, eax
je 0x505681
cmp dword [esp + 0x38], 0x20
jne 0x505681
push 0x4e6260
push 0x5abddc
call sym.fastboot.exe_CRYPTO_once
add esp, 8
lea eax, [esp + 0x310]
push 0x20
push 0x5908e0
push 0xb
push 0x5908d4
push 0x20
push esi
push 0x5abde0
push 0x20
push eax
call sym.fastboot.exe_CRYPTO_tls13_hkdf_expand_label
add esp, 0x24
test eax, eax
je 0x505681
lea edx, [esp + 0x310]
mov ecx, 0x590900
push 0x590920
push 0x20
call fcn.00503300
add esp, 8
test eax, eax
je 0x505681
pxor xmm0, xmm0
movdqa xmmword [esp + 0x300], xmm0
movdqa xmmword [esp + 0x2f0], xmm0
push 0x4e6260
push 0x5abddc
call sym.fastboot.exe_CRYPTO_once
add esp, 8
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2e0], xmm0
movdqa xmmword [esp + 0x2d0], xmm0
movdqa xmmword [esp + 0x2c0], xmm0
movdqa xmmword [esp + 0x2b0], xmm0
mov dword [esp + 0x3c], 0
lea eax, [esp + 0x3c]
push 0x20
push 0x590972
push 0x20
push 0x590952
push 0x5abde0
push eax
lea eax, [esp + 0x2c8]
push eax
call sym.fastboot.exe_HKDF_extract
add esp, 0x1c
test eax, eax
je 0x505a74
lea eax, [esp + 0x2f0]
push 0x20
push 0x590992
push dword [esp + 0x44]
lea ecx, [esp + 0x2bc]
push ecx
push 0x5abde0
push 0x20
push eax
call sym.fastboot.exe_HKDF_expand
add esp, 0x1c
test eax, eax
je 0x505a74
lea edx, [esp + 0x2f0]
mov ecx, 0x5909b2
push 0x5909d2
push 0x20
call fcn.00503300
add esp, 8
test eax, eax
je 0x505a74
lea esi, [esp + 0x40]
xor ebx, ebx
jmp 0x5047ba
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
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
lea esi, [esp + 0x40]
mov bl, 1
mov eax, dword [esp + 0x350]
test eax, eax
je 0x5047d3
lea ecx, [esp + 0x350]
push ecx
call dword [eax + 0x10]
add esp, 4
xor edi, edi
test bl, bl
jne 0x504b07
pxor xmm0, 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
movdqa xmmword [esp + 0x3d0], xmm0
movdqa xmmword [esp + 0x3c0], xmm0
movdqa xmmword [esp + 0x3b0], xmm0
movdqa xmmword [esp + 0x3a0], xmm0
movdqa xmmword [esp + 0x390], xmm0
movdqa xmmword [esp + 0x380], xmm0
movdqa xmmword [esp + 0x370], xmm0
movdqa xmmword [esp + 0x360], xmm0
movdqa xmmword [esp + 0x350], xmm0
push 0
call sym.fastboot.exe_RSA_new_method
add esp, 4
mov ebx, eax
test eax, eax
je 0x504ad6
push 0
push 0x100
push 0x590c81
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 4], eax
test eax, eax
je 0x504ad6
push 0
push 3
push 0x590d81
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 8], eax
test eax, eax
je 0x504ad6
push 0
push 0x100
push 0x590d84
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0xc], eax
test eax, eax
je 0x504ad6
push 0
push 0x80
push 0x590e84
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0x10], eax
test eax, eax
je 0x504ad6
push 0
push 0x80
push 0x590f04
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0x14], eax
test eax, eax
je 0x504ad6
push 0
push 0x80
push 0x590f84
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0x18], eax
test eax, eax
je 0x504ad6
push 0
push 0x80
push 0x591004
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0x1c], eax
test eax, eax
je 0x504ad6
push 0
push 0x80
push 0x591084
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0x20], eax
test eax, eax
je 0x504ad6
or byte [ebx + 0x2c], 8
mov dword [esp + 0x40], 0
push ebx
push esi
lea eax, [esp + 0x358]
push eax
push 0x20
push str.nS0or_ry_
push 0x2a0
call fcn.004ffb80
add esp, 0x18
test eax, eax
je 0x504b11
lea edx, [esp + 0x350]
mov ecx, 0x590a22
push 0x590b22
push 0x100
call fcn.00503300
add esp, 8
test eax, eax
je 0x504b11
push ebx
push 0x100
push 0x590b69
push 0x20
push 0x590b49
push 0x2a0
call fcn.004fff00
add esp, 0x18
test eax, eax
je 0x504b30
push ebx
call sym.fastboot.exe_RSA_free
add esp, 4
push 0
call sym.fastboot.exe_EC_KEY_new_method
add esp, 4
mov ebx, eax
push 0
push 0x20
push 0x5912d2
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [esp + 8], eax
push 0
push 0x20
push 0x5912f2
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov edi, eax
push 0
push 0x20
push 0x591312
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [esp + 0x20], ebx
test ebx, ebx
mov ebx, edi
mov edi, dword [esp + 8]
mov dword [esp + 0x10], eax
je 0x504b47
test edi, edi
je 0x504b47
test ebx, ebx
je 0x504b47
test eax, eax
je 0x504b47
push 0x4e9700
push 0x5ac080
call sym.fastboot.exe_CRYPTO_once
add esp, 8
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0xc], ebx
je 0x504b64
sub esp, 4
push 0x5ac084
push eax
call sym.fastboot.exe_EC_GROUP_cmp
add esp, 0xc
test eax, eax
je 0x504b84
push 0xd8
push str.external_boringssl_src_crypto_fipsmodule_ec_ec_key.c
push 0x82
push 0
push 0xf
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
mov ebx, dword [esp + 0x20]
jmp 0x504ba8
push ebx
call sym.fastboot.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 sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
xor ebx, ebx
push ebx
call sym.fastboot.exe_RSA_free
add esp, 4
mov eax, edi
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 sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
jmp 0x504afe
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 0x504b26
push dword [esp + 0x20]
call sym.fastboot.exe_EC_KEY_free
add esp, 4
mov dword [esp + 0x20], 0
test edi, edi
jne 0x504bbd
jmp 0x504be6
cmp dword [0x5ac244], 0
jne 0x504b7a
push 0x5ac260
call sym.fastboot.exe_CRYPTO_refcount_inc
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [eax], 0x5ac084
push ebx
push edi
mov ebx, dword [esp + 0x28]
push ebx
call sym.fastboot.exe_EC_KEY_set_public_key_affine_coordinates
add esp, 0xc
test eax, eax
je 0x504ba8
push dword [esp + 0x10]
push ebx
call sym.fastboot.exe_EC_KEY_set_private_key
add esp, 8
test eax, eax
jne 0x504bb9
push ebx
call sym.fastboot.exe_EC_KEY_free
add esp, 4
mov dword [esp + 0x20], 0
mov ebx, dword [esp + 0xc]
mov eax, dword [edi + 0x10]
test al, 2
jne 0x504bd1
push dword [edi]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [edi + 0x10]
test al, 1
jne 0x504bdd
mov dword [edi], 0
jmp 0x504be6
push edi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
test ebx, ebx
lea edi, [esp + 0x6c0]
je 0x504c1a
mov eax, dword [ebx + 0x10]
test al, 2
jne 0x504c05
push dword [ebx]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [ebx + 0x10]
test al, 1
jne 0x504c11
mov dword [ebx], 0
jmp 0x504c1a
push ebx
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
mov ebx, dword [esp + 0x20]
je 0x504c61
mov eax, dword [eax + 0x10]
test al, 2
jne 0x504c45
mov edi, dword [esp + 0x10]
push dword [edi]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [edi + 0x10]
lea edi, [esp + 0x6c0]
test al, 1
jne 0x504c55
mov eax, dword [esp + 0x10]
mov dword [eax], 0
jmp 0x504c61
push dword [esp + 0x10]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
test ebx, ebx
je 0x504cfe
pxor xmm0, xmm0
movdqu xmmword [esp + 0x6cf], xmm0
movdqa xmmword [esp + 0x6c0], xmm0
mov byte [esp + 0x6df], 0x2a
push 0x20
push edi
push ebx
push 0x20
push 0x591119
call fcn.004e80e0
add esp, 0x14
pxor xmm0, xmm0
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x50], xmm0
movdqa xmmword [esp + 0x60], xmm0
movdqa xmmword [esp + 0x70], xmm0
mov dword [esp + 8], eax
test eax, eax
mov edi, 0
je 0x5052d2
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
lea ecx, [edx*4]
cmp ecx, 0x21
mov dword [esp + 0xc], ecx
jb 0x504e43
lea ebx, [ecx - 0x20]
xor edi, edi
cmp ebx, 8
jae 0x504d24
mov ebx, 0x20
xor edx, edx
xor edi, edi
jmp 0x504e33
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 sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
xor esi, esi
xor edi, edi
jmp 0x5052f7
mov dword [esp + 0x30], edx
mov edx, 0
cmp ebx, 0x20
mov dword [esp + 0x10], ebx
jb 0x504dca
mov edi, ebx
and edi, 0xffffffe0
xor ecx, ecx
pxor xmm1, xmm1
movdqu xmm2, xmmword [eax + ecx + 0x20]
por xmm0, xmm2
movdqu xmm2, xmmword [eax + ecx + 0x30]
por xmm1, xmm2
add ecx, 0x20
cmp edi, ecx
jne 0x504d45
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
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 edx, xmm1
cmp dword [esp + 0x10], edi
jne 0x504dbf
xor edi, edi
mov ecx, dword [esp + 0xc]
jmp 0x504e3b
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
jmp 0x5047ac
test byte [esp + 0x30], 6
je 0x504e28
mov ebx, dword [esp + 0x10]
and ebx, 0xfffffff8
mov dword [esp + 0x30], ebx
add ebx, 0x20
movzx ecx, dl
movd xmm0, ecx
mov ecx, dword [esp + 0x30]
movq xmm1, qword [eax + edi + 0x20]
por xmm0, xmm1
add edi, 8
cmp ecx, edi
jne 0x504ddf
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 edx, xmm1
cmp dword [esp + 0x10], ecx
mov edi, 0
mov ecx, dword [esp + 0xc]
jne 0x504e33
jmp 0x504e3b
add edi, 0x20
mov ebx, edi
xor edi, edi
mov ecx, dword [esp + 0xc]
or dl, byte [eax + ebx]
inc ebx
cmp ecx, ebx
jne 0x504e33
test dl, dl
jne 0x5052d2
cmp ecx, 0x20
mov ebx, 0x20
cmovb ebx, ecx
test ebx, ebx
je 0x504f60
xor ecx, ecx
cmp ebx, 8
mov dword [esp + 0x10], ebx
jb 0x504f47
xor ecx, ecx
cmp ebx, 0x10
jb 0x504ef8
mov ecx, ebx
and ecx, 0x30
movdqu xmm1, xmmword [eax]
pxor xmm0, xmm0
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
movdqa xmmword [esp + 0x50], xmm1
cmp ecx, 0x10
je 0x504eef
movdqu xmm1, xmmword [eax + 0x10]
movdqa xmm2, xmm1
punpcklbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpckhbw xmm1, xmm0
pshufd xmm0, xmm1, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqa xmmword [esp + 0x40], xmm0
cmp ebx, ecx
je 0x504f60
test bl, 8
je 0x504f47
mov edi, ecx
mov ecx, ebx
and ecx, 0x38
mov edx, ebx
lea ebx, [eax + edi]
neg edi
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 + 0x58], xmm1
add ebx, 8
add edi, 0xfffffff8
cmp edx, edi
jne 0x504f0f
mov ebx, dword [esp + 0x10]
cmp ebx, ecx
mov edi, 0
je 0x504f60
mov edx, ecx
neg edx
add edx, esp
add edx, 0x5f
movzx ebx, byte [eax + ecx]
mov byte [edx], bl
mov ebx, dword [esp + 0x10]
inc ecx
dec edx
cmp ebx, ecx
jne 0x504f50
cmp dword [esp + 0xc], 0x1f
ja 0x504f7a
mov eax, 0x20
sub eax, ebx
push eax
push 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [esp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov ebx, dword [ecx + 4]
lea esi, [ebx*4]
cmp esi, 0x21
mov dword [esp + 0x10], esi
jb 0x5050a8
lea ecx, [esi - 0x20]
xor esi, esi
cmp ecx, 8
jae 0x504fb4
mov ebx, 0x20
xor edx, edx
mov esi, dword [esp + 0x10]
jmp 0x505098
mov edx, 0
cmp ecx, 0x20
jb 0x505031
mov edi, ecx
mov esi, ecx
and esi, 0xffffffe0
pxor xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
movdqu xmm2, xmmword [eax + ecx + 0x20]
por xmm0, xmm2
movdqu xmm2, xmmword [eax + ecx + 0x30]
por xmm1, xmm2
add ecx, 0x20
cmp esi, ecx
jne 0x504fcf
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
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 edx, xmm1
cmp edi, esi
jne 0x50502a
xor edi, edi
mov esi, dword [esp + 0x10]
jmp 0x5050a0
test bl, 6
je 0x50508d
mov ecx, edi
mov dword [esp + 0xc], ecx
mov edi, ecx
and edi, 0xfffffff8
lea ebx, [edi + 0x20]
movzx ecx, dl
movd xmm0, ecx
movq xmm1, qword [eax + esi + 0x20]
por xmm0, xmm1
add esi, 8
cmp edi, esi
jne 0x505044
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 edx, xmm1
cmp dword [esp + 0xc], edi
mov edi, 0
mov esi, dword [esp + 0x10]
jne 0x505098
jmp 0x5050a0
add esi, 0x20
mov ebx, esi
xor edi, edi
mov esi, dword [esp + 0x10]
or dl, byte [eax + ebx]
inc ebx
cmp esi, ebx
jne 0x505098
test dl, dl
jne 0x5052d2
cmp esi, 0x20
mov ecx, 0x20
cmovb ecx, esi
test ecx, ecx
je 0x5051c7
xor esi, esi
cmp ecx, 8
jb 0x5051b2
xor esi, esi
cmp ecx, 0x10
jae 0x505121
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 + 0x78], xmm1
add ebx, 8
add edi, 0xfffffff8
cmp edx, edi
jne 0x5050e4
cmp ecx, esi
mov edi, 0
jne 0x5051b2
jmp 0x5051c7
mov esi, ecx
and esi, 0x30
movdqu xmm1, xmmword [eax]
pxor xmm0, xmm0
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
movdqa xmmword [esp + 0x70], xmm1
cmp esi, 0x10
je 0x5051a0
movdqu xmm1, xmmword [eax + 0x10]
movdqa xmm2, xmm1
punpcklbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpckhbw xmm1, xmm0
pshufd xmm0, xmm1, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm2
movdqa xmmword [esp + 0x60], xmm0
cmp ecx, esi
mov edi, 0
je 0x5051c7
test cl, 8
jne 0x5050cd
mov edx, esi
neg edx
add edx, esp
add edx, 0x7f
movzx ebx, byte [eax + esi]
mov byte [edx], bl
inc esi
dec edx
cmp ecx, esi
jne 0x5051bb
cmp dword [esp + 0x10], 0x1f
ja 0x5051e5
lea eax, [esp + 0x60]
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 + 0x40]
mov ecx, 0x591139
push 0x591179
push 0x40
call fcn.00503300
add esp, 8
test eax, eax
je 0x5052d2
push dword [esp + 8]
call sym.fastboot.exe_ECDSA_SIG_free
add esp, 4
push 8
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
mov ebx, eax
xor esi, esi
mov eax, 0
test ebx, ebx
je 0x50559b
push 0x14
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
test eax, eax
je 0x505249
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 1
mov dword [ebx], eax
push 0x14
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
test eax, eax
je 0x50530b
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 1
mov dword [ebx + 4], eax
mov edi, dword [ebx]
test edi, edi
je 0x505312
mov dword [esp + 0x10], ebx
cmp dword [edi + 8], 8
jae 0x505322
test byte [edi + 0x10], 2
jne 0x50557d
push 4
push 8
call sym.fastboot.exe_OPENSSL_calloc
add esp, 8
test eax, eax
je 0x505595
mov ebx, eax
mov eax, dword [edi + 4]
shl eax, 2
test eax, eax
je 0x5052bd
push eax
push dword [edi]
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push dword [edi]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov dword [edi], ebx
mov dword [edi + 8], 8
jmp 0x505324
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 sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 8]
push ebx
call sym.fastboot.exe_EC_KEY_free
add esp, 4
push esi
call sym.fastboot.exe_ECDSA_SIG_free
jmp 0x504b04
mov dword [ebx + 4], 0
push ebx
call sym.fastboot.exe_ECDSA_SIG_free
add esp, 4
xor eax, eax
jmp 0x505599
mov ebx, dword [edi]
mov dword [edi + 4], 8
mov dword [edi + 0xc], 0
movaps xmm0, xmmword [0x58de10]
movups xmmword [ebx], xmm0
movdqa xmm0, xmmword [0x58de20]
movdqu xmmword [ebx + 0x10], xmm0
mov eax, dword [esp + 0x10]
push dword [eax + 4]
push 0x20
push 0x5911e6
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
test eax, eax
je 0x505595
push dword [esp + 0x20]
push dword [esp + 0x14]
push 0x20
push str.xP_
call fcn.004e7710
add esp, 0x10
test eax, eax
je 0x5055ca
push 0x4e9700
push 0x5ac080
call sym.fastboot.exe_CRYPTO_once
add esp, 8
push 0xd0
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
mov edi, eax
test eax, eax
je 0x50541b
cmp dword [0x5ac244], 0
jne 0x5053c1
push 0x5ac260
call sym.fastboot.exe_CRYPTO_refcount_inc
add esp, 4
mov dword [edi], 0x5ac084
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
push 0xd0
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
mov ebx, eax
test eax, eax
je 0x50549e
cmp dword [0x5ac244], 0
jne 0x505444
push 0x5ac260
call sym.fastboot.exe_CRYPTO_refcount_inc
add esp, 4
mov dword [ebx], 0x5ac084
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
push 0x14
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
mov esi, eax
pxor xmm0, xmm0
test eax, eax
je 0x5055d2
movdqu xmmword [esi], xmm0
mov dword [esi + 0x10], 1
movdqa xmmword [esp + 0x380], xmm0
movdqa xmmword [esp + 0x370], xmm0
movdqa xmmword [esp + 0x360], xmm0
movdqa xmmword [esp + 0x350], xmm0
add eax, dword [eax]
add dh, al
test byte [eax + edx*4], ah
add eax, dword [eax]
add byte [eax], al
test edi, edi
je 0x5055fe
test ebx, ebx
je 0x5055fe
push 0
push 0x41
push 0x591220
push edi
push 0x5ac084
call sym.fastboot.exe_EC_POINT_oct2point
add esp, 0x14
test eax, eax
je 0x5055fe
cmp dword [esi + 8], 8
jae 0x50580e
test byte [esi + 0x10], 2
jne 0x505a8e
push 4
push 8
call sym.fastboot.exe_OPENSSL_calloc
add esp, 8
mov dword [esp + 8], eax
test eax, eax
je 0x5055fe
mov eax, dword [esi + 4]
shl eax, 2
test eax, eax
je 0x505561
push eax
push dword [esi]
push dword [esp + 0x10]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push dword [esi]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [esp + 8]
mov dword [esi], eax
mov dword [esi + 8], 8
jmp 0x505814
push 0x168
push str.external_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x6a
push 0
push 3
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
mov eax, dword [esp + 0x10]
xor edi, edi
push eax
call sym.fastboot.exe_ECDSA_SIG_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 0x19
push 0x591206
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
mov ebx, dword [esp + 0x20]
jmp 0x5052f7
mov esi, dword [esp + 0x10]
xor edi, edi
jmp 0x5055a4
movdqa xmmword [esp + 0x380], xmm0
movdqa xmmword [esp + 0x370], xmm0
movdqa xmmword [esp + 0x360], xmm0
movdqa xmmword [esp + 0x350], xmm0
mov byte [esp + 0x390], 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 sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
push dword [esp + 0x20]
call sym.fastboot.exe_EC_KEY_free
add esp, 4
mov dword [esp + 0x20], 0
test edi, edi
je 0x505646
push dword [edi]
call sym.fastboot.exe_EC_GROUP_free
add esp, 4
push edi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
test ebx, ebx
je 0x50565d
push dword [ebx]
call sym.fastboot.exe_EC_GROUP_free
add esp, 4
push ebx
call sym.fastboot.exe_OPENSSL_free
add esp, 4
test esi, esi
je 0x5056a4
mov eax, dword [esi + 0x10]
test al, 2
jne 0x505675
push dword [esi]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [esi + 0x10]
test al, 1
jne 0x50569b
mov dword [esi], 0
jmp 0x5056a4
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 0x12
push str.TLS13_KDF_failed._n
jmp 0x5047ac
push esi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
push dword [esp + 0x10]
call sym.fastboot.exe_ECDSA_SIG_free
add esp, 4
cmp dword [esp + 0x20], 0
je 0x505792
push 0x14
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
mov esi, eax
test eax, eax
je 0x505703
pxor xmm0, xmm0
movdqu xmmword [esi], xmm0
mov dword [esi + 0x10], 1
push 0
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov dword [esi], 0x591334
mov dword [esi + 4], 0x40
mov dword [esi + 8], 0x40
mov dword [esi + 0xc], 0
or byte [esi + 0x10], 2
call sym.fastboot.exe_DH_get_rfc7919_2048
mov dword [esp + 0x20], eax
test eax, eax
je 0x5057a5
push 0x14
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
test eax, eax
je 0x505799
mov ebx, eax
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 1
push 0
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov dword [ebx], 0x59154c
mov dword [ebx + 4], 8
mov dword [ebx + 8], 8
mov dword [ebx + 0xc], 0
or byte [ebx + 0x10], 2
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x5058c3
mov eax, dword [edi + 0x10]
test al, 2
jne 0x50577f
push dword [edi]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [edi + 0x10]
test al, 1
jne 0x5058ba
mov dword [edi], 0
jmp 0x5058c3
xor edi, edi
jmp 0x504b07
push dword [esp + 0x20]
call sym.fastboot.exe_DH_free
add esp, 4
mov dword [esp + 0x20], 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 sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
xor edi, edi
push dword [esp + 0x20]
call sym.fastboot.exe_DH_free
add esp, 4
test esi, esi
je 0x504b07
mov eax, dword [esi + 0x10]
test al, 2
jne 0x5057f4
push dword [esi]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [esi + 0x10]
test al, 1
jne 0x505803
mov dword [esi], 0
jmp 0x504b07
push esi
call sym.fastboot.exe_OPENSSL_free
jmp 0x504b04
mov eax, dword [esi]
mov dword [esp + 8], eax
mov dword [esi + 4], 8
mov dword [esi + 0xc], 0
movaps xmm0, xmmword [0x58de30]
mov eax, dword [esp + 8]
movups xmmword [eax], xmm0
movdqa xmm0, xmmword [0x58de40]
movdqu xmmword [eax + 0x10], xmm0
push 0
push esi
push edi
push 0
push ebx
push 0x5ac084
call fcn.004ed100
add esp, 0x18
test eax, eax
je 0x5055fe
sub esp, 4
push 0x41
lea eax, [esp + 0x358]
push eax
push 4
push ebx
push 0x5ac084
call sym.fastboot.exe_EC_POINT_point2oct
add esp, 0x18
test eax, eax
je 0x5055fe
lea edx, [esp + 0x350]
mov ecx, 0x591261
push 0x5912a2
push 0x41
call fcn.00503300
add esp, 8
test eax, eax
je 0x5055fe
push dword [esp + 0x20]
call sym.fastboot.exe_EC_KEY_free
add esp, 4
mov dword [esp + 0x20], 1
jmp 0x505633
push edi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [eax + 0x10], ebx
pxor xmm0, 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
movdqa xmmword [esp + 0x3d0], xmm0
movdqa xmmword [esp + 0x3c0], xmm0
movdqa xmmword [esp + 0x3b0], xmm0
movdqa xmmword [esp + 0x3a0], xmm0
movdqa xmmword [esp + 0x390], xmm0
movdqa xmmword [esp + 0x380], xmm0
movdqa xmmword [esp + 0x370], xmm0
movdqa xmmword [esp + 0x360], xmm0
movdqa xmmword [esp + 0x350], xmm0
test esi, esi
je 0x5057ad
mov eax, dword [esp + 0x20]
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 0x505989
mov ecx, dword [edi]
mov ecx, dword [ecx + eax*4 - 4]
dec eax
test ecx, ecx
je 0x505978
jmp 0x50599a
test ebx, ebx
jns 0x5057ad
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 + 0x10], edx
mov edi, ebx
shr edi, 8
xor edx, edx
cmp ebx, 0x100
cmovb edi, ebx
setae dl
mov dword [esp + 8], edx
mov edx, edi
shr edx, 4
xor ebx, ebx
cmp edi, 0x10
cmovb edx, edi
setae bl
mov dword [esp + 0xc], 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 + 0x10]
cmp edi, 2
mov ecx, dword [esp + 8]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx*4]
lea eax, [eax + ebx*2]
sbb eax, 0xffffffff
and eax, 0xfffffff8
cmp eax, 0x800
jne 0x5057ad
push dword [esp + 0x20]
push esi
lea eax, [esp + 0x358]
push eax
call fcn.004e4bb0
add esp, 0xc
cmp eax, 0x100
jne 0x5057ad
lea edx, [esp + 0x350]
mov ecx, 0x591434
push str.FFC_DH
push 0x100
call fcn.00503300
add esp, 8
mov edi, 1
test eax, eax
jne 0x5057cc
jmp 0x5057ad
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.HKDF_failed._n
jmp 0x5047ac
push 0x168
push str.external_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x6a
push 0
push 3
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
jmp 0x5055fe