Function at 0x4f3c80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x750
lea eax, [esp + 0x3f0]
push 0x258
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
lea esi, [esp + 0x660]
xorps xmm0, xmm0
movaps xmmword [esp + 0x730], 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 + 0x180], xmm0
movaps xmmword [esp + 0x170], xmm0
movaps xmmword [esp + 0x160], xmm0
movaps xmmword [esp + 0x150], xmm0
movaps xmmword [esp + 0x140], xmm0
movaps xmmword [esp + 0x130], xmm0
movaps xmmword [esp + 0x120], xmm0
movaps xmmword [esp + 0x110], xmm0
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xb0], xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x740], 0xa
movdqu xmm0, xmmword [str.BoringCrypto_Key_a]
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x650], xmm0
movdqa xmm2, xmmword [str.BoringCrypto_Key]
mov edi, 0xfffffff6
lea ebx, [esp + 0x2b0]
nop word cs:[eax + eax]
nop dword [eax + eax]
movdqa xmmword [esp + 0x10], xmm2
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2b0], xmm0
mov ecx, ebx
lea edx, [esp + 0x190]
call fcn.004f9880
movzx eax, byte [edi + 0x57007f]
movd xmm0, eax
pxor xmm0, xmmword [esp + 0x10]
movdqa xmm2, xmmword [esp + 0x2b0]
movdqa xmm1, xmm2
psrld xmm1, 8
pslld xmm2, 0x18
por xmm2, xmm1
psrldq xmm2, 0xc
pxor xmm2, xmm0
movdqa xmm0, xmm2
pslldq xmm0, 4
pxor xmm0, xmm2
movdqa xmm1, xmm2
pslldq xmm1, 8
pslldq xmm2, 0xc
pxor xmm2, xmm1
pxor xmm2, xmm0
movdqa xmmword [esp + 0x190], xmm2
movdqa xmm0, xmmword [esp + 0x190]
movdqu xmmword [esi], xmm0
add esi, 0x10
inc edi
jne 0x4f3df0
lea eax, [esp + 0x80]
lea ecx, [esp + 0x650]
lea edi, [esp + 0x90]
push 1
push eax
push ecx
push 0x20
push edi
push 0x5715a9
call fcn.004af370
add esp, 0x18
mov ecx, 0x5715c9
mov edx, edi
push str.AES_CBC_encrypt_KAT
push 0x20
call fcn.004f37e0
add esp, 8
mov bl, 1
test eax, eax
je 0x4f411d
pxor xmm0, xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0x740], 0xa
movdqu xmm0, xmmword [str.BoringCrypto_Key_a]
movdqa xmmword [esp + 0x190], xmm0
movdqa xmmword [esp + 0x650], xmm0
lea edi, [esp + 0x660]
movdqa xmm2, xmmword [str.BoringCrypto_Key]
mov ebx, 0xfffffff6
lea esi, [esp + 0x190]
nop
movdqa xmmword [esp + 0x10], xmm2
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2b0], xmm0
lea ecx, [esp + 0x2b0]
mov edx, esi
call fcn.004f9880
movzx eax, byte [ebx + 0x57007f]
movd xmm0, eax
pxor xmm0, xmmword [esp + 0x10]
movdqa xmm2, xmmword [esp + 0x2b0]
movdqa xmm1, xmm2
psrld xmm1, 8
pslld xmm2, 0x18
por xmm2, xmm1
psrldq xmm2, 0xc
pxor xmm2, xmm0
movdqa xmm0, xmm2
pslldq xmm0, 4
pxor xmm0, xmm2
movdqa xmm1, xmm2
pslldq xmm1, 8
pslldq xmm2, 0xc
pxor xmm2, xmm1
pxor xmm2, xmm0
movdqa xmmword [esp + 0x190], xmm2
movdqa xmm0, xmmword [esp + 0x190]
movdqu xmmword [edi], xmm0
add edi, 0x10
inc ebx
jne 0x4f3f20
push 0
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x658]
push eax
push 0x20
lea edi, [esp + 0xa0]
push edi
push 0x5715fd
call fcn.004af370
add esp, 0x18
mov ecx, 0x57161d
mov edx, edi
push str.AES_CBC_decrypt_KAT
push 0x20
call fcn.004f37e0
add esp, 8
test eax, eax
je 0x4f40d4
mov dword [esp + 0x3c], 0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x3d0], xmm0
mov dword [esp + 0x3e4], 0
mov dword [esp + 0x3e0], 0
push 0x4cf260
push 0x587d7c
call sym.fastboot.exe_CRYPTO_once
add esp, 8
mov ecx, dword [0x587d88]
test ecx, ecx
mov bl, 1
je 0x4f40d8
cmp byte [0x587d80], 0x10
jne 0x4f40e3
mov dword [esp + 0x3f0], 0x587d80
push 0
push 0x10
push str.BoringCrypto_Key_a
lea eax, [esp + 0x3fc]
push eax
call ecx
add esp, 0x10
test eax, eax
je 0x4f40f8
push 0x4cf260
push 0x587d7c
call sym.fastboot.exe_CRYPTO_once
add esp, 8
movzx eax, byte [0x587d81]
cmp edi, 0x57169c
jae 0x4f43dd
lea ecx, [esp + 0x190]
cmp ecx, 0x57167c
jbe 0x4f43dd
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 0x4f48b7
mov bl, 1
jmp 0x4f411d
push 0x41
push str.external_boringssl_src_crypto_fipsmodule_cipher_aead.c
push 0x7c
jmp 0x4f40ec
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 + 0x3f0], 0
mov esi, str.EVP_AEAD_CTX_init_for_AES_128_GCM_failed._n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push esi
push eax
call fcn.00509eb0
add esp, 8
mov eax, dword [esp + 0x3f0]
test eax, eax
je 0x4f4136
lea ecx, [esp + 0x3f0]
push ecx
call dword [eax + 0x10]
add esp, 4
xor eax, eax
test bl, bl
jne 0x4f43d5
pxor xmm0, xmm0
movdqa xmmword [esp + 0x4e0], 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
push 0
call sym.fastboot.exe_RSA_new_method
add esp, 4
mov ebx, eax
test eax, eax
je 0x4f43a5
push 0
push 0x100
push 0x571c36
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 4], eax
test eax, eax
je 0x4f43a5
push 0
push 3
push 0x571d36
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 8], eax
test eax, eax
je 0x4f43a5
push 0
push 0x100
push 0x571d39
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0xc], eax
test eax, eax
je 0x4f43a5
push 0
push 0x80
push 0x571e39
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0x10], eax
test eax, eax
je 0x4f43a5
push 0
push 0x80
push 0x571eb9
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0x14], eax
test eax, eax
je 0x4f43a5
push 0
push 0x80
push 0x571f39
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0x18], eax
test eax, eax
je 0x4f43a5
push 0
push 0x80
push 0x571fb9
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0x1c], eax
test eax, eax
je 0x4f43a5
push 0
push 0x80
push 0x572039
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [ebx + 0x20], eax
test eax, eax
je 0x4f43a5
mov dword [esp + 0x190], 0
push ebx
lea eax, [esp + 0x194]
push eax
lea eax, [esp + 0x3f8]
push eax
push 0x20
push str.nS0or_ry_
push 0x2a0
call fcn.004ef160
add esp, 0x18
mov esi, str.RSA_signing_test_failed._n
test eax, eax
je 0x4f43b5
lea edx, [esp + 0x3f0]
mov ecx, 0x5719d7
push 0x571ad7
push 0x100
call fcn.004f37e0
add esp, 8
test eax, eax
je 0x4f43b5
push ebx
push 0x100
push 0x571b1e
push 0x20
push 0x571afe
push 0x2a0
call fcn.004ef4d0
add esp, 0x18
test eax, eax
je 0x4f4964
push ebx
call sym.fastboot.exe_RSA_free
add esp, 4
push 0
call sym.fastboot.exe_EC_KEY_new_method
add esp, 4
test eax, eax
je 0x4f4b98
mov esi, eax
push 0x19f
call sym.fastboot.exe_EC_GROUP_new_by_curve_name
add esp, 4
mov dword [esi], eax
test eax, eax
jne 0x4f4bb2
push esi
call sym.fastboot.exe_EC_KEY_free
add esp, 4
jmp 0x4f4bb0
push ebx
call sym.fastboot.exe_RSA_free
add esp, 4
xor ebx, ebx
mov esi, str.RSA_key_construction_failed_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push esi
push eax
call fcn.00509eb0
add esp, 8
push ebx
call sym.fastboot.exe_RSA_free
add esp, 4
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x3f0]
mov dword [esp + 0x190], 0
lea edx, [esp + 0xb0]
sub esp, 0x34
mov dword [esp + 0x18], eax
movdqa xmm0, xmmword [0x56f060]
movdqu xmmword [esp + 0x20], xmm0
mov dword [esp + 8], edx
lea edi, [esp + 0x404]
mov dword [esp + 0x14], edi
lea eax, [esp + 0x1c4]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc4]
mov dword [esp + 4], eax
lea eax, [esp + 0x424]
mov dword [esp], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x1c], 0x57167c
mov dword [esp + 0x10], 0xe0
call dword [ecx + 0x18]
add esp, 0x34
test eax, eax
je 0x4f48b7
mov eax, dword [esp + 0x190]
add eax, 0x20
mov dword [esp + 0x3c], eax
lea esi, [esp + 0x90]
mov ecx, 0x57169c
mov edx, esi
push str.AES_GCM_encrypt_KAT
push 0x30
call fcn.004f37e0
add esp, 8
test eax, eax
je 0x4f4953
push 0x4cf260
push 0x587d7c
call sym.fastboot.exe_CRYPTO_once
add esp, 8
movzx eax, byte [0x587d81]
lea ecx, [esp + 0x3c]
push 0
push 0
push 0x30
push 0x57170b
push eax
push edi
push 0x100
push ecx
push esi
lea eax, [esp + 0x414]
push eax
call sym.fastboot.exe_EVP_AEAD_CTX_open
add esp, 0x28
mov esi, str.AES_GCM_decrypt_KAT_failed_because_EVP_AEAD_CTX_open_failed._n
test eax, eax
je 0x4f4958
lea edx, [esp + 0x90]
mov ecx, 0x57173b
push str.AES_GCM_decrypt_KAT
push 0x20
call fcn.004f37e0
add esp, 8
test eax, eax
lea edi, [esp + 0x90]
je 0x4f4108
movaps xmm0, xmmword [0x56f070]
movups xmmword [esp + 0x190], xmm0
mov dword [esp + 0x1a0], 0xc3d2e1f0
lea edx, [esp + 0x1ac]
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1a4], 0x80
mov dword [esp + 0x1ec], 0x10
movups xmm0, xmmword [0x5717ad]
movups xmmword [esp + 0x1ac], xmm0
mov byte [esp + 0x1bc], 0x80
xorps xmm0, xmm0
movups xmmword [esp + 0x1bd], xmm0
movups xmmword [esp + 0x1cd], xmm0
movups xmmword [esp + 0x1d8], xmm0
mov dword [esp + 0x1e8], 0x80000000
lea esi, [esp + 0x190]
mov ecx, esi
push 1
call fcn.004f5df0
add esp, 4
pxor xmm2, xmm2
movdqu xmmword [esp + 0x1dc], xmm2
movdqu xmmword [esp + 0x1cc], xmm2
movdqu xmmword [esp + 0x1bc], xmm2
movdqu xmmword [esp + 0x1ac], xmm2
mov dword [esp + 0x1ec], 0
movdqu xmm0, xmmword [esp + 0x190]
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 + 0x90], xmm0
mov eax, dword [esp + 0x1a0]
bswap eax
mov dword [esp + 0xa0], eax
push 0x60
push esi
call sym.fastboot.exe_OPENSSL_cleanse
add esp, 8
lea edx, [esp + 0x90]
mov ecx, 0x5717bd
push str.SHA_1_KAT
push 0x14
call fcn.004f37e0
add esp, 8
test eax, eax
je 0x4f411d
pxor xmm0, xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
push esi
push 0x10
push 0x56ff9c
call sym.fastboot.exe_SHA256
add esp, 0xc
mov ecx, 0x56ffac
mov edx, esi
push 0x56ffcc
push 0x20
call fcn.004f37e0
add esp, 8
test eax, eax
je 0x4f411d
call fcn.004f38e0
test eax, eax
je 0x4f411d
call fcn.004f3b10
test eax, eax
je 0x4f411d
push 0x118
push 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
movups xmm0, xmmword [0x5717eb]
movaps xmmword [esp + 0x2c0], xmm0
movups xmm0, xmmword [0x5717fb]
movaps xmmword [esp + 0x2d0], xmm0
mov word [esp + 0x2c0], 0x8602
movaps xmm0, xmmword [0x56f080]
movaps xmmword [esp + 0x2b0], xmm0
movups xmm0, xmmword [esp + 0x2b1]
xorps xmm0, xmmword [0x56f090]
movups xmmword [esp + 0x2b1], xmm0
movups xmm0, xmmword [esp + 0x2c1]
xorps xmm0, xmmword [0x56f0a0]
movups xmmword [esp + 0x2c1], xmm0
movsd xmm0, qword [esp + 0x2d1]
xorps xmm0, xmmword [0x56f0b0]
movlps qword [esp + 0x2d1], xmm0
xor byte [esp + 0x2d9], 0xa2
xor byte [esp + 0x2da], 0xf5
xor byte [esp + 0x2db], 0x8e
xor byte [esp + 0x2dc], 0x75
xor byte [esp + 0x2dd], 6
xor byte [esp + 0x2de], 0x35
xor byte [esp + 0x2df], 0x8e
mov dword [esp + 0x280], 0xe
movaps xmm0, xmmword [esp + 0x2b0]
movaps xmmword [esp + 0x60], xmm0
movaps xmm0, xmmword [esp + 0x2b0]
movaps xmmword [esp + 0x190], xmm0
movaps xmm0, xmmword [esp + 0x2c0]
movaps xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x2c0]
movaps xmmword [esp + 0x1a0], xmm0
mov esi, 0x30
mov dword [esp + 0x10], 0x570075
movaps xmm0, xmmword [esp + 0x60]
movaps xmmword [esp + 0x20], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
lea ecx, [esp + 0x40]
lea edx, [esp + 0x50]
call fcn.004f9880
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
movd xmm0, eax
pxor xmm0, xmmword [esp + 0x20]
movdqa xmm2, xmmword [esp + 0x40]
movdqa xmm1, xmm2
psrld xmm1, 8
pslld xmm2, 0x18
por xmm2, xmm1
psrldq xmm2, 0xc
pxor xmm2, xmm0
movdqa xmm0, xmm2
pslldq xmm0, 4
pxor xmm0, xmm2
movdqa xmm1, xmm2
pslldq xmm1, 8
pslldq xmm2, 0xc
pxor xmm2, xmm1
pxor xmm2, xmm0
movdqa xmmword [esp + 0x60], xmm2
movaps xmm0, xmmword [esp + 0x60]
movups xmmword [esp + esi + 0x180], xmm0
cmp esi, 0xf0
je 0x4f496e
movdqa xmmword [esp + 0x20], xmm2
lea ecx, [esp + 0x40]
lea edx, [esp + 0x60]
call fcn.004f9880
movdqa xmm0, xmmword [esp + 0x40]
psrldq xmm0, 0xc
pxor xmm0, xmmword [esp + 0x50]
movdqa xmm1, xmm0
pslldq xmm1, 4
pxor xmm1, xmm0
movdqa xmm2, xmm0
pslldq xmm2, 8
pslldq xmm0, 0xc
pxor xmm0, xmm2
pxor xmm0, xmm1
movdqa xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [esp + esi + 0x190], xmm0
add esi, 0x20
add dword [esp + 0x10], 1
jmp 0x4f47c7
pxor xmm0, xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqa xmmword [esp + 0x160], xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
movdqa xmmword [esp + 0x100], xmm0
movdqa xmmword [esp + 0xf0], xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
mov dword [esp + 0x3c], 0
mov esi, str.EVP_AEAD_CTX_seal_for_AES_128_GCM_failed._n
lea edi, [esp + 0x90]
jmp 0x4f4108
mov esi, str.RSA_verify_KAT_failed._n
jmp 0x4f43b5
mov dword [esp + 0x284], fcn.004ac5d0
mov dword [esp + 0x288], 0x4ae8c0
movdqa xmm0, xmmword [esp + 0x2d0]
movdqu xmmword [esp + 0x28c], xmm0
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a0], 1
push 0x10
push 0x57180b
push 0x40
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x1a0]
push eax
call sym.fastboot.exe_CTR_DRBG_generate
add esp, 0x14
mov esi, str.CTR_DRBG_failed._n
test eax, eax
je 0x4f4108
lea edx, [esp + 0x90]
mov ecx, 0x57181b
push str.DRBG_Generate_KAT
push 0x40
call fcn.004f37e0
add esp, 8
test eax, eax
je 0x4f53d3
movups xmm0, xmmword [0x57187b]
movaps xmmword [esp + 0x2d0], xmm0
movups xmm0, xmmword [0x57186b]
movaps xmmword [esp + 0x2c0], xmm0
movdqa xmm0, xmmword [0x56f0c0]
movdqa xmmword [esp + 0x2b0], xmm0
lea ebx, [esp + 0x190]
lea edx, [esp + 0x2b0]
mov ecx, ebx
push 0x30
call fcn.004eb0b0
add esp, 4
test eax, eax
je 0x4f53d3
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a0], 1
push 0x10
push 0x57180b
push 0x40
lea eax, [esp + 0x9c]
push eax
push ebx
call sym.fastboot.exe_CTR_DRBG_generate
add esp, 0x14
test eax, eax
je 0x4f53d3
lea edx, [esp + 0x90]
mov ecx, 0x57188b
push str.DRBG_reseed_KAT
push 0x40
call fcn.004f37e0
add esp, 8
test eax, eax
mov bl, 1
je 0x4f4108
push 0x118
lea esi, [esp + 0x194]
push esi
call sym.fastboot.exe_OPENSSL_cleanse
add esp, 8
push 0x118
push 0
lea edi, [esp + 0x2b8]
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.004f37e0
add esp, 8
test eax, eax
je 0x4f53be
push 0x4d2210
push 0x587f98
call sym.fastboot.exe_CRYPTO_once
add esp, 8
pxor xmm0, xmm0
movdqa xmmword [esp + 0x70], xmm0
movdqa xmmword [esp + 0x60], xmm0
push 0x4d2410
push 0x588028
call sym.fastboot.exe_CRYPTO_once
add esp, 8
lea ecx, [esp + 0x60]
mov edx, 0x20
push 0x10
push 0x57194d
push 0x10
push 0x57193d
push 0xf
push 0x57192e
push 0x20
push 0x57190e
push 0x587f9c
call fcn.004f9210
add esp, 0x24
mov esi, str.TLS_KDF_failed._n
test eax, eax
je 0x4f53cc
lea edx, [esp + 0x60]
mov ecx, 0x57195d
push str.TLS_KDF_KAT
push 0x20
call fcn.004f37e0
add esp, 8
test eax, eax
lea edi, [esp + 0x90]
mov bl, 1
je 0x4f4108
xor ebx, ebx
jmp 0x4f411d
push 0x90
push str.external_boringssl_src_crypto_fipsmodule_ec_ec_key.c
push 0x41
push 0
push 0xf
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
xor esi, esi
push 0
push 0x20
push 0x5722c6
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov ebx, eax
push 0
push 0x20
push 0x5722e6
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [esp + 0x20], eax
push 0
push 0x20
push 0x572306
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
mov dword [esp + 4], eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x4f4c32
test ebx, ebx
je 0x4f4c32
cmp dword [esp + 0x20], 0
je 0x4f4c32
cmp dword [esp + 4], 0
je 0x4f4c32
push dword [esp + 0x20]
push ebx
push dword [esp + 0x18]
call sym.fastboot.exe_EC_KEY_set_public_key_affine_coordinates
add esp, 0xc
test eax, eax
je 0x4f4c32
push dword [esp + 4]
push dword [esp + 0x14]
call sym.fastboot.exe_EC_KEY_set_private_key
add esp, 8
test eax, eax
jne 0x4f4c46
push dword [esp + 0x10]
call sym.fastboot.exe_EC_KEY_free
add esp, 4
mov dword [esp + 0x10], 0
test ebx, ebx
mov ecx, dword [esp + 0x20]
je 0x4f4c7f
mov eax, dword [ebx + 0x10]
test al, 2
jne 0x4f4c66
push dword [ebx]
call sym.fastboot.exe_OPENSSL_free
mov ecx, dword [esp + 0x24]
add esp, 4
mov eax, dword [ebx + 0x10]
test al, 1
jne 0x4f4c72
mov dword [ebx], 0
jmp 0x4f4c7f
push ebx
call sym.fastboot.exe_OPENSSL_free
mov ecx, dword [esp + 0x24]
add esp, 4
test ecx, ecx
mov ebx, dword [esp + 4]
je 0x4f4cb4
mov eax, dword [ecx + 0x10]
test al, 2
jne 0x4f4c9f
push dword [ecx]
call sym.fastboot.exe_OPENSSL_free
mov ecx, dword [esp + 0x24]
add esp, 4
mov eax, dword [ecx + 0x10]
test al, 1
jne 0x4f4cab
mov dword [ecx], 0
jmp 0x4f4cb4
push ecx
call sym.fastboot.exe_OPENSSL_free
add esp, 4
test ebx, ebx
mov esi, dword [esp + 0x10]
je 0x4f4ce5
mov eax, dword [ebx + 0x10]
test al, 2
jne 0x4f4cd0
push dword [ebx]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [ebx + 0x10]
test al, 1
jne 0x4f4cdc
mov dword [ebx], 0
jmp 0x4f4ce5
push ebx
call sym.fastboot.exe_OPENSSL_free
add esp, 4
test esi, esi
je 0x4f4d7c
pxor xmm0, xmm0
movdqu xmmword [esp + 0x9f], xmm0
movdqa xmmword [esp + 0x90], xmm0
mov byte [esp + 0xaf], 0x2a
push 0x20
push edi
push esi
push 0x20
push 0x5720ce
call fcn.004d4120
add esp, 0x14
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2b0], xmm0
movdqa xmmword [esp + 0x2c0], xmm0
movdqa xmmword [esp + 0x2d0], xmm0
movdqa xmmword [esp + 0x2e0], xmm0
mov edi, str.ECDSA_sign_KAT_failed._n
test eax, eax
je 0x4f4d81
mov ebx, eax
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea eax, [edx*4]
cmp eax, 0x21
mov dword [esp + 0x20], ebx
jb 0x4f4d88
lea edx, [eax - 0x20]
cmp edx, 8
jae 0x4f4d9e
xor esi, esi
mov edx, 0x20
jmp 0x4f4e77
mov edi, str.ECDSA_KeyGen_failed_n
xor ebx, ebx
jmp 0x4f53ee
test edx, edx
jne 0x4f4e96
xor eax, eax
lea esi, [esp + 0x2b0]
jmp 0x4f4fc7
mov dword [esp + 4], edx
and edx, 0xfffffff8
lea esi, [edx - 8]
mov ebx, esi
shr ebx, 3
add ebx, 1
test esi, esi
je 0x4f4e19
mov edi, ebx
and edi, 0xfffffffe
pxor xmm2, xmm2
xor esi, esi
pxor xmm0, xmm0
pxor xmm1, xmm1
movd xmm4, dword [ecx + esi + 0x20]
movd xmm3, dword [ecx + esi + 0x24]
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm2
por xmm4, xmm0
punpcklbw xmm3, xmm2
punpcklwd xmm3, xmm2
por xmm3, xmm1
movd xmm0, dword [ecx + esi + 0x28]
movd xmm1, dword [ecx + esi + 0x2c]
punpcklbw xmm0, xmm2
punpcklwd xmm0, xmm2
por xmm0, xmm4
punpcklbw xmm1, xmm2
punpcklwd xmm1, xmm2
por xmm1, xmm3
add esi, 0x10
add edi, 0xfffffffe
jne 0x4f4dc7
jmp 0x4f4e23
pxor xmm0, xmm0
xor esi, esi
pxor xmm1, xmm1
test bl, 1
je 0x4f4e50
movd xmm2, dword [esi + ecx + 0x20]
movd xmm3, dword [esi + ecx + 0x24]
pxor xmm4, xmm4
punpcklbw xmm2, xmm4
punpcklwd xmm2, xmm4
por xmm0, xmm2
punpcklbw xmm3, xmm4
punpcklwd xmm3, xmm4
por xmm1, xmm3
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
por xmm0, xmm1
movd esi, xmm0
cmp dword [esp + 4], edx
mov ebx, dword [esp + 0x20]
je 0x4f4e84
add edx, 0x20
movzx edi, byte [ecx + edx]
or esi, edi
add edx, 1
cmp eax, edx
jne 0x4f4e77
test esi, esi
jne 0x4f5101
mov eax, 0x20
mov edi, str.ECDSA_sign_KAT_failed._n
xor edx, edx
cmp eax, 8
jb 0x4f4f9b
xor edx, edx
cmp eax, 0x20
jb 0x4f4f50
mov edx, eax
and edx, 0xffffffe0
lea esi, [ecx + 0x10]
mov ebx, edx
neg ebx
xor edi, edi
pxor xmm0, xmm0
movdqu xmm2, xmmword [esi - 0x10]
movdqu xmm1, xmmword [esi]
movdqa xmm3, xmm2
punpcklbw xmm3, xmm0
pshufd xmm3, xmm3, 0x4e
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpckhbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm3
movdqu xmmword [esp + edi + 0x2c0], xmm2
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 + edi + 0x2b0], xmm1
add esi, 0x20
add edi, 0xffffffe0
cmp ebx, edi
jne 0x4f4ebe
cmp eax, edx
mov edi, str.ECDSA_sign_KAT_failed._n
je 0x4f4fb7
test al, 0x18
je 0x4f4f9b
mov esi, edx
mov edx, eax
and edx, 0xfffffff8
lea edi, [ecx + esi]
neg esi
mov ebx, edx
neg ebx
pxor xmm0, xmm0
movq xmm1, qword [edi]
punpcklbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm1
movq qword [esp + esi + 0x2c8], xmm1
add edi, 8
add esi, 0xfffffff8
cmp ebx, esi
jne 0x4f4f64
cmp eax, edx
mov edi, str.ECDSA_sign_KAT_failed._n
je 0x4f4fb7
lea esi, [esp + 0x2b0]
sub esi, edx
add esi, 0x1f
movzx ebx, byte [ecx + edx]
mov byte [esi], bl
add edx, 1
add esi, 0xffffffff
cmp eax, edx
jne 0x4f4fa7
cmp eax, 0x20
lea esi, [esp + 0x2b0]
mov ebx, dword [esp + 0x20]
je 0x4f4fda
mov ecx, 0x20
sub ecx, eax
push ecx
push 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea eax, [edx*4]
cmp eax, 0x21
jb 0x4f5002
lea edx, [eax - 0x20]
cmp edx, 8
jae 0x4f5011
xor esi, esi
mov edx, 0x20
jmp 0x4f50f0
test edx, edx
jne 0x4f5120
xor eax, eax
jmp 0x4f5251
mov dword [esp + 4], edx
and edx, 0xfffffff8
lea esi, [edx - 8]
mov ebx, esi
shr ebx, 3
add ebx, 1
test esi, esi
je 0x4f508c
mov edi, ebx
and edi, 0xfffffffe
pxor xmm2, xmm2
xor esi, esi
pxor xmm0, xmm0
pxor xmm1, xmm1
movd xmm4, dword [ecx + esi + 0x20]
movd xmm3, dword [ecx + esi + 0x24]
punpcklbw xmm4, xmm2
punpcklwd xmm4, xmm2
por xmm4, xmm0
punpcklbw xmm3, xmm2
punpcklwd xmm3, xmm2
por xmm3, xmm1
movd xmm0, dword [ecx + esi + 0x28]
movd xmm1, dword [ecx + esi + 0x2c]
punpcklbw xmm0, xmm2
punpcklwd xmm0, xmm2
por xmm0, xmm4
punpcklbw xmm1, xmm2
punpcklwd xmm1, xmm2
por xmm1, xmm3
add esi, 0x10
add edi, 0xfffffffe
jne 0x4f503a
jmp 0x4f5096
pxor xmm0, xmm0
xor esi, esi
pxor xmm1, xmm1
test bl, 1
je 0x4f50c3
movd xmm2, dword [esi + ecx + 0x20]
movd xmm3, dword [esi + ecx + 0x24]
pxor xmm4, xmm4
punpcklbw xmm2, xmm4
punpcklwd xmm2, xmm4
por xmm0, xmm2
punpcklbw xmm3, xmm4
punpcklwd xmm3, xmm4
por xmm1, xmm3
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
por xmm0, xmm1
movd esi, xmm0
cmp dword [esp + 4], edx
jne 0x4f50e9
mov ebx, dword [esp + 0x20]
jmp 0x4f50fd
add edx, 0x20
mov ebx, dword [esp + 0x20]
movzx edi, byte [ecx + edx]
or esi, edi
add edx, 1
cmp eax, edx
jne 0x4f50f0
test esi, esi
je 0x4f510f
mov esi, dword [esp + 0x10]
mov edi, str.ECDSA_sign_KAT_failed._n
jmp 0x4f53ee
mov eax, 0x20
lea esi, [esp + 0x2b0]
mov edi, str.ECDSA_sign_KAT_failed._n
xor edx, edx
cmp eax, 8
jb 0x4f5233
xor edx, edx
cmp eax, 0x20
jb 0x4f51e1
mov edx, eax
and edx, 0xffffffe0
lea esi, [ecx + 0x10]
mov ebx, edx
neg ebx
xor edi, edi
pxor xmm0, xmm0
movdqu xmm2, xmmword [esi - 0x10]
movdqu xmm1, xmmword [esi]
movdqa xmm3, xmm2
punpcklbw xmm3, xmm0
pshufd xmm3, xmm3, 0x4e
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpckhbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm3
movdqu xmmword [esp + edi + 0x2e0], xmm2
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 + edi + 0x2d0], xmm1
add esi, 0x20
add edi, 0xffffffe0
cmp ebx, edi
jne 0x4f5148
cmp eax, edx
lea esi, [esp + 0x2b0]
mov edi, str.ECDSA_sign_KAT_failed._n
je 0x4f5248
test al, 0x18
je 0x4f5233
mov esi, edx
mov edx, eax
and edx, 0xfffffff8
lea edi, [ecx + esi]
neg esi
mov ebx, edx
neg ebx
pxor xmm0, xmm0
movq xmm1, qword [edi]
punpcklbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm1
movq qword [esp + esi + 0x2e8], xmm1
add edi, 8
add esi, 0xfffffff8
cmp ebx, esi
jne 0x4f51f5
cmp eax, edx
lea esi, [esp + 0x2b0]
mov edi, str.ECDSA_sign_KAT_failed._n
je 0x4f5248
sub esi, edx
add esi, 0x3f
movzx ebx, byte [ecx + edx]
mov byte [esi], bl
add edx, 1
add esi, 0xffffffff
cmp eax, edx
jne 0x4f5238
cmp eax, 0x20
mov ebx, dword [esp + 0x20]
je 0x4f526b
lea ecx, [esp + 0x2d0]
mov edx, 0x20
sub edx, eax
push edx
push 0
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
lea edx, [esp + 0x2b0]
mov ecx, 0x5720ee
push 0x57212e
push 0x40
call fcn.004f37e0
add esp, 8
test eax, eax
mov esi, dword [esp + 0x10]
je 0x4f53ee
push ebx
call sym.fastboot.exe_ECDSA_SIG_free
add esp, 4
call sym.fastboot.exe_ECDSA_SIG_new
mov edi, eax
test eax, eax
je 0x4f53ab
push dword [edi]
push 0x20
push 0x57217b
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
test eax, eax
je 0x4f53ab
push dword [edi + 4]
push 0x20
push 0x57219b
call sym.fastboot.exe_BN_bin2bn
add esp, 0xc
test eax, eax
je 0x4f53ab
push esi
mov dword [esp + 0x24], edi
push edi
push 0x20
push str.xP_
call fcn.004d3380
add esp, 0x10
test eax, eax
je 0x4f53da
push 0x19f
call sym.fastboot.exe_EC_GROUP_new_by_curve_name
add esp, 4
mov dword [esp + 4], eax
test eax, eax
je 0x4f53e1
push 0xd0
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
je 0x4f5417
mov eax, dword [esp + 4]
cmp dword [eax + 0x1c], 0
jne 0x4f5348
mov eax, dword [esp + 4]
add eax, 0x10c
push eax
call sym.fastboot.exe_CRYPTO_refcount_inc
add esp, 4
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
pxor xmm0, xmm0
movdqu xmmword [ecx + 4], xmm0
movdqu xmmword [ecx + 0x14], xmm0
movdqu xmmword [ecx + 0x24], xmm0
movdqu xmmword [ecx + 0x34], xmm0
movdqu xmmword [ecx + 0x44], xmm0
movdqu xmmword [ecx + 0x54], xmm0
movdqu xmmword [ecx + 0x64], xmm0
movdqu xmmword [ecx + 0x74], xmm0
movdqu xmmword [ecx + 0x84], xmm0
movdqu xmmword [ecx + 0x94], xmm0
movdqu xmmword [ecx + 0xa4], xmm0
movdqu xmmword [ecx + 0xb4], xmm0
movdqu xmmword [ecx + 0xc0], xmm0
jmp 0x4f5437
push edi
call sym.fastboot.exe_ECDSA_SIG_free
add esp, 4
mov edi, 0x5721bb
jmp 0x4f4d81
lea edi, [esp + 0x90]
mov bl, 1
jmp 0x4f411d
lea edi, [esp + 0x90]
mov bl, 1
jmp 0x4f4108
mov edi, 0x5721bb
jmp 0x4f53e6
mov edi, 0x572277
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push edi
push eax
call fcn.00509eb0
add esp, 8
push esi
call sym.fastboot.exe_EC_KEY_free
add esp, 4
push ebx
call sym.fastboot.exe_ECDSA_SIG_free
jmp 0x4f43d0
push 0x2b0
push str.external_boringssl_src_crypto_fipsmodule_ec_ec.c
push 0x41
push 0
push 0xf
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
mov dword [esp + 0xc], 0
push 0xd0
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
mov dword [esp + 8], eax
test eax, eax
je 0x4f54c8
mov eax, dword [esp + 4]
cmp dword [eax + 0x1c], 0
jne 0x4f5468
mov eax, dword [esp + 4]
add eax, 0x10c
push eax
call sym.fastboot.exe_CRYPTO_refcount_inc
add esp, 4
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [ecx], eax
pxor xmm0, xmm0
movdqu xmmword [ecx + 4], xmm0
movdqu xmmword [ecx + 0x14], xmm0
movdqu xmmword [ecx + 0x24], xmm0
movdqu xmmword [ecx + 0x34], xmm0
movdqu xmmword [ecx + 0x44], xmm0
movdqu xmmword [ecx + 0x54], xmm0
movdqu xmmword [ecx + 0x64], xmm0
movdqu xmmword [ecx + 0x74], xmm0
movdqu xmmword [ecx + 0x84], xmm0
movdqu xmmword [ecx + 0x94], xmm0
movdqu xmmword [ecx + 0xa4], xmm0
movdqu xmmword [ecx + 0xb4], xmm0
movdqu xmmword [ecx + 0xc0], xmm0
jmp 0x4f54e8
push 0x2b0
push str.external_boringssl_src_crypto_fipsmodule_ec_ec.c
push 0x41
push 0
push 0xf
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
mov dword [esp + 8], 0
push 0x14
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
test eax, eax
je 0x4f5509
mov ebx, eax
pxor xmm0, xmm0
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 1
jmp 0x4f5520
push 0x49
push str.external_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x41
push 0
push 3
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
xor ebx, ebx
pxor xmm0, xmm0
movdqa xmmword [esp + 0x1c0], xmm0
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmmword [esp + 0x1a0], xmm0
movdqa xmmword [esp + 0x190], xmm0
mov byte [esp + 0x1d0], 0
cmp dword [esp + 0xc], 0
je 0x4f565e
cmp dword [esp + 8], 0
je 0x4f565e
test ebx, ebx
je 0x4f565e
push 0
push 0x41
push 0x5721d5
push dword [esp + 0x18]
push dword [esp + 0x14]
call sym.fastboot.exe_EC_POINT_oct2point
add esp, 0x14
test eax, eax
je 0x4f565e
push 8
push ebx
call fcn.004b36f0
add esp, 8
test eax, eax
je 0x4f565e
mov dword [ebx + 4], 8
mov dword [ebx + 0xc], 0
mov eax, 8
mov edx, 3
xor esi, esi
mov ecx, 0xffffffe0
jmp 0x4f55c8
add ecx, 2
je 0x4f560c
shl esi, 8
movzx edi, byte [ecx + 0x572236]
or edi, esi
sub edx, 1
jae 0x4f55e9
mov edx, dword [ebx]
mov dword [edx + eax*4 - 4], edi
add eax, 0xffffffff
xor edi, edi
mov edx, 3
shl edi, 8
movzx esi, byte [ecx + 0x572237]
or esi, edi
sub edx, 1
jae 0x4f55c3
mov edx, dword [ebx]
mov dword [edx + eax*4 - 4], esi
add eax, 0xffffffff
xor esi, esi
mov edx, 3
jmp 0x4f55c3
push 0
push ebx
push dword [esp + 0x14]
push 0
push dword [esp + 0x18]
push dword [esp + 0x18]
call fcn.004d9570
add esp, 0x18
test eax, eax
je 0x4f565e
sub esp, 4
mov eax, dword [esp + 0xc]
push dword [eax]
push dword [esp + 0xc]
call sym.fastboot.exe_EC_GROUP_cmp
add esp, 0xc
test eax, eax
je 0x4f5a5c
push 0xd6
push str.external_boringssl_src_crypto_fipsmodule_ec_oct.c
push 0x6a
push 0
push 0xf
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.Z_computation_KAT_failed._n
push eax
call fcn.00509eb0
add esp, 8
push dword [esp + 0x10]
call sym.fastboot.exe_EC_KEY_free
add esp, 4
xor esi, esi
cmp dword [esp + 0xc], 0
je 0x4f56a3
mov edi, dword [esp + 0xc]
push dword [edi]
call sym.fastboot.exe_EC_GROUP_free
add esp, 4
push edi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
cmp dword [esp + 8], 0
je 0x4f56c1
mov edi, dword [esp + 8]
push dword [edi]
call sym.fastboot.exe_EC_GROUP_free
add esp, 4
push edi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
push dword [esp + 4]
call sym.fastboot.exe_EC_GROUP_free
add esp, 4
test ebx, ebx
je 0x4f56fa
mov eax, dword [ebx + 0x10]
test al, 2
jne 0x4f56e5
push dword [ebx]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [ebx + 0x10]
test al, 1
jne 0x4f56f1
mov dword [ebx], 0
jmp 0x4f56fa
push ebx
call sym.fastboot.exe_OPENSSL_free
add esp, 4
push dword [esp + 0x20]
call sym.fastboot.exe_ECDSA_SIG_free
add esp, 4
test esi, esi
je 0x4f43d3
push 0x14
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
mov esi, eax
test eax, eax
je 0x4f575c
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], 0x572328
mov dword [esi + 4], 0x40
mov dword [esi + 8], 0x40
mov dword [esi + 0xc], 0
or byte [esi + 0x10], 2
mov dword [esp + 0x20], esi
jmp 0x4f5779
push 0x49
push str.external_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x41
push 0
push 3
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
mov dword [esp + 0x20], 0
call sym.fastboot.exe_DH_get_rfc7919_2048
mov dword [esp + 0x10], eax
test eax, eax
je 0x4f5829
push 0x14
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
test eax, eax
je 0x4f5808
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], 0x572540
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 0x4f58a4
mov eax, dword [edi + 0x10]
test al, 2
jne 0x4f57f5
push dword [edi]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [edi + 0x10]
test al, 1
jne 0x4f589b
mov dword [edi], 0
jmp 0x4f58a4
push 0x49
push str.external_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x41
push 0
push 3
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
push dword [esp + 0x10]
call sym.fastboot.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 str.FFDH_failed._n
push eax
call fcn.00509eb0
add esp, 8
xor edi, edi
push dword [esp + 0x10]
call sym.fastboot.exe_DH_free
add esp, 4
test esi, esi
je 0x4f5894
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
test al, 2
jne 0x4f5878
mov esi, dword [esp + 0x20]
push dword [esi]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [esi + 0x10]
test al, 1
jne 0x4f5888
mov eax, dword [esp + 0x20]
mov dword [eax], 0
jmp 0x4f5894
push dword [esp + 0x20]
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, edi
jmp 0x4f43d5
push edi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [eax + 0xc], ebx
pxor xmm0, xmm0
movdqa xmmword [esp + 0x4e0], 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
test esi, esi
je 0x4f5831
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
mov ebx, dword [edi + 4]
xor edx, edx
test ebx, ebx
cmovs edx, ebx
mov eax, ebx
test eax, eax
jle 0x4f596c
mov ecx, dword [edi]
mov ecx, dword [ecx + eax*4 - 4]
add eax, 0xffffffff
test ecx, ecx
je 0x4f5959
jmp 0x4f597f
test ebx, ebx
jns 0x4f5831
mov eax, dword [edi]
mov ecx, dword [eax + edx*4 - 4]
add edx, 0xffffffff
mov eax, edx
shl eax, 5
mov ebx, ecx
shr ebx, 0x10
xor edx, edx
cmp ecx, 0x10000
setae dl
cmovb ebx, ecx
shl edx, 4
mov dword [esp + 4], edx
mov edi, ebx
shr edi, 8
xor edx, edx
cmp ebx, 0x100
cmovb edi, ebx
setae dl
mov dword [esp + 0xc], 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 + 4]
cmp edi, 2
mov ecx, dword [esp + 0xc]
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 0x4f5831
push dword [esp + 0x10]
push dword [esp + 0x24]
lea eax, [esp + 0x3f8]
push eax
call fcn.004d0a10
add esp, 0xc
cmp eax, 0x100
jne 0x4f5831
lea edx, [esp + 0x3f0]
mov ecx, 0x572428
push str.FFC_DH
push 0x100
call fcn.004f37e0
add esp, 8
mov edi, 1
test eax, eax
jne 0x4f584c
jmp 0x4f5831
pxor xmm0, 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
mov dword [esp + 0x474], 0
mov dword [esp + 0x470], 0
mov eax, dword [esp + 8]
add eax, 4
mov esi, dword [esp + 4]
mov ecx, dword [esi]
lea edx, [esp + 0x434]
push edx
lea edx, [esp + 0x3f4]
push edx
push eax
push esi
call dword [ecx + 0xc]
add esp, 0x10
test eax, eax
je 0x4f565e
push 0x41
lea eax, [esp + 0x194]
push eax
push 4
lea eax, [esp + 0x3fc]
push eax
push dword [esp + 0x14]
call fcn.004df980
add esp, 0x14
test eax, eax
je 0x4f565e
lea edx, [esp + 0x190]
mov ecx, 0x572236
push str.Z_Computation_Result
push 0x41
call fcn.004f37e0
add esp, 8
test eax, eax
je 0x4f565e
push dword [esp + 0x10]
call sym.fastboot.exe_EC_KEY_free
add esp, 4
mov esi, 1
jmp 0x4f568c