Function at 0x4de780
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov dword [eax], 0
cmp dword [ecx + 0xc], 0
jne 0x4de7c8
mov eax, dword [esp + 0x84]
mov esi, dword [ecx]
mov ebx, dword [ecx + 4]
mov ebp, dword [eax]
mov edi, dword [eax + 4]
mov ecx, esi
mov edx, ebx
push edi
push ebp
call fcn.004d7620
mov edx, dword [esp + 0x84]
add esp, 8
test eax, eax
js 0x4de7ec
push 0xae
push str.external_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
push 0x6b
push 0
push 3
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
xor ecx, ecx
mov eax, ecx
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], edi
test ebx, ebx
je 0x4de88f
xor eax, eax
mov ecx, 0
cmp ebx, 8
jb 0x4de856
mov eax, ebx
and eax, 0xfffffff8
pxor xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
nop word cs:[eax + eax]
movdqu xmm2, xmmword [esi + ecx*4]
por xmm0, xmm2
movdqu xmm2, xmmword [esi + ecx*4 + 0x10]
por xmm1, xmm2
add ecx, 8
cmp eax, ecx
jne 0x4de820
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movd ecx, xmm1
jmp 0x4de85a
or ecx, dword [esi + eax*4]
inc eax
cmp ebx, eax
jne 0x4de856
test ecx, ecx
je 0x4de88f
test ebx, ebx
jle 0x4de86f
test byte [esi], 1
jne 0x4de944
cmp dword [esp], 0
jle 0x4de87f
test byte [ebp], 1
jne 0x4de944
mov dword [edx], 1
push 0xc7
jmp 0x4de938
mov edi, dword [esp]
test edi, edi
je 0x4de92d
mov eax, dword [esp + 0x84]
cmp dword [eax + 0xc], 0
jne 0x4de92d
mov ecx, dword [ebp]
xor ecx, 1
cmp edi, 2
jl 0x4de929
mov eax, 1
cmp edi, 9
jb 0x4de920
lea edx, [edi - 1]
mov esi, edx
and esi, 0xfffffff8
lea eax, [esi + 1]
movd xmm1, ecx
pxor xmm0, xmm0
xor ecx, ecx
nop word cs:[eax + eax]
movdqu xmm2, xmmword [ebp + ecx*4 + 4]
por xmm1, xmm2
movdqu xmm2, xmmword [ebp + ecx*4 + 0x14]
por xmm0, xmm2
add ecx, 8
cmp esi, ecx
jne 0x4de8e0
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
por xmm0, xmm1
movd ecx, xmm0
cmp edx, esi
mov edx, dword [esp + 0x7c]
je 0x4de929
nop dword [eax]
or ecx, dword [ebp + eax*4]
inc eax
cmp edi, eax
jne 0x4de920
test ecx, ecx
je 0x4de9a1
mov dword [edx], 1
push 0xb7
push str.external_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
push 0x70
jmp 0x4de7d4
mov edi, dword [esp + 0x88]
mov eax, dword [esp]
cmp ebx, eax
cmovae ebx, eax
cmp byte [edi + 0x14], 0
jne 0x4de9ce
mov ecx, dword [edi + 8]
mov ebp, dword [edi + 0x10]
cmp ecx, dword [edi + 0xc]
jne 0x4de9bd
lea eax, [ecx + ecx*2]
shr eax, 1
test ecx, ecx
mov esi, 0x20
cmovne esi, eax
cmp esi, ecx
jbe 0x4de9c8
cmp esi, 0x3fffffff
ja 0x4de9c8
lea eax, [esi*4]
push eax
push dword [edi + 4]
call sym.fastboot.exe_OPENSSL_realloc
add esp, 8
test eax, eax
je 0x4de9c8
mov dword [edi + 4], eax
mov dword [edi + 0xc], esi
mov ecx, dword [edi + 8]
jmp 0x4de9c0
mov eax, dword [esp + 0x78]
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov ecx, 1
jmp 0x4de7e2
mov eax, dword [edi + 4]
mov dword [eax + ecx*4], ebp
inc dword [edi + 8]
jmp 0x4de9ce
mov word [edi + 0x14], 0x101
push edi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0x28], eax
push edi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0x24], eax
push edi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0x30], eax
push edi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0x4c], eax
push edi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov ebp, eax
push edi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0x3c], eax
push edi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov esi, eax
push edi
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0x48], ebp
movd xmm0, ebp
mov ecx, dword [esp + 0x3c]
movd xmm1, ecx
punpckldq xmm0, xmm1
movd xmm1, esi
movd xmm2, eax
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
movd xmm2, ecx
punpckldq xmm2, xmm1
movd xmm1, dword [esp + 0x30]
mov ecx, dword [esp + 0x4c]
movd xmm3, ecx
punpckldq xmm1, xmm3
punpcklqdq xmm2, xmm1
pxor xmm1, xmm1
pcmpeqd xmm2, xmm1
pcmpeqd xmm0, xmm1
packssdw xmm2, xmm0
pmovmskb edx, xmm2
xor ecx, ecx
test edx, edx
je 0x4deaaa
mov edi, dword [esp + 0x88]
cmp byte [edi + 0x14], 0
jne 0x4de7e2
jmp 0x4dec12
mov dword [esp + 0x50], eax
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x80]
mov ebp, dword [esp + 0x28]
cmp ebp, esi
mov edi, dword [esp + 0x88]
je 0x4deb04
push dword [esi + 4]
push ebp
call fcn.004d4f40
add esp, 8
test eax, eax
je 0x4dec06
mov eax, dword [esi + 4]
lea ecx, [eax*4]
test ecx, ecx
je 0x4deafb
push ecx
push dword [esi]
push dword [ebp]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 4]
mov dword [ebp + 4], eax
mov eax, dword [esi + 0xc]
mov dword [ebp + 0xc], eax
push dword [esp + 0x84]
push dword [esp + 0x28]
call sym.fastboot.exe_BN_copy
add esp, 8
test eax, eax
je 0x4dec06
push dword [esp + 0x30]
call sym.fastboot.exe_BN_one
add esp, 4
test eax, eax
je 0x4dec06
push dword [esp + 0x3c]
call sym.fastboot.exe_BN_one
add esp, 4
test eax, eax
je 0x4dec06
mov esi, dword [esp]
push esi
push ebp
call sym.fastboot.exe_bn_resize_words
add esp, 8
test eax, eax
je 0x4dec06
push esi
push dword [esp + 0x28]
call sym.fastboot.exe_bn_resize_words
add esp, 8
test eax, eax
je 0x4dec06
push esi
push dword [esp + 0x34]
call sym.fastboot.exe_bn_resize_words
add esp, 8
test eax, eax
je 0x4dec06
push esi
push dword [esp + 0x4c]
call sym.fastboot.exe_bn_resize_words
add esp, 8
test eax, eax
je 0x4dec06
push ebx
push dword [esp + 0x50]
call sym.fastboot.exe_bn_resize_words
add esp, 8
test eax, eax
je 0x4dec06
push ebx
push dword [esp + 0x40]
call sym.fastboot.exe_bn_resize_words
add esp, 8
test eax, eax
je 0x4dec06
mov esi, dword [esp]
push esi
push dword [esp + 0x10]
call sym.fastboot.exe_bn_resize_words
add esp, 8
test eax, eax
je 0x4dec06
push esi
push dword [esp + 0x54]
call sym.fastboot.exe_bn_resize_words
add esp, 8
test eax, eax
je 0x4df7a6
mov eax, ebx
shl eax, 5
lea ecx, [ebx + esi]
shl ecx, 5
mov dword [esp + 0x58], ecx
cmp ecx, eax
jae 0x4dec2e
push 0xf8
push str.external_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
push 0x66
jmp 0x4df79a
xor ecx, ecx
cmp byte [edi + 0x14], 0
jne 0x4de7e2
mov eax, dword [edi + 4]
mov esi, ecx
mov ecx, dword [edi + 8]
lea edx, [ecx - 1]
mov dword [edi + 8], edx
mov eax, dword [eax + ecx*4 - 4]
mov ecx, esi
mov dword [edi + 0x10], eax
jmp 0x4de7e2
cmp dword [esp + 0x58], 0
mov ebp, dword [esp + 0xc]
je 0x4df758
lea eax, [ebx*4]
mov dword [esp + 0x44], eax
mov ecx, dword [esp]
lea eax, [ecx*4]
mov dword [esp + 0x1c], eax
mov eax, ecx
and eax, 0xfffffff8
mov dword [esp + 0x40], eax
mov eax, ebx
and eax, 0xfffffff8
mov dword [esp + 0x54], eax
xor esi, esi
jmp 0x4dedf5
mov ebp, dword [esp + 0xc]
mov eax, dword [ebp]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov ecx, dword [ecx]
mov edx, dword [ecx]
and edx, 1
dec edx
mov edi, dword [esi]
mov edi, dword [edi]
and edi, 1
dec edi
mov dword [esp + 0x10], edi
mov edi, edx
mov dword [esp + 0x14], edx
push dword [esp]
push eax
call fcn.004e1040
add esp, 8
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
mov eax, dword [ecx]
and eax, 1
neg eax
mov esi, dword [esp + 0x4c]
mov edx, dword [esi]
mov edx, dword [edx]
and edx, 1
neg edx
or edx, eax
and edx, edi
mov edi, edx
push dword [esp]
push dword [ebp]
mov ebp, dword [esp + 0x8c]
push dword [ebp]
call fcn.004e1290
add esp, 0xc
mov dword [esp + 8], eax
mov ebp, esi
mov ecx, dword [esi]
mov edx, edi
push ebx
mov eax, dword [esp + 0x10]
push dword [eax]
mov edi, dword [esp + 0x88]
push dword [edi]
call fcn.004e1290
add esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
mov edx, dword [esp + 8]
mov edi, dword [esp]
push edi
mov eax, dword [esp + 0x10]
push dword [eax]
mov esi, dword [esp + 0x1c]
push esi
call fcn.004e1550
add esp, 0xc
mov ecx, dword [ebp]
mov edx, dword [esp + 4]
push ebx
mov eax, dword [esp + 0x10]
push dword [eax]
push esi
call fcn.004e1550
add esp, 0xc
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov esi, dword [esp + 0x10]
mov edx, esi
push edi
mov ebp, edi
mov eax, dword [esp + 0x10]
push dword [eax]
call fcn.004e1040
add esp, 8
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov eax, dword [ecx]
and eax, 1
neg eax
mov edi, dword [esp + 0x3c]
mov edx, dword [edi]
mov edx, dword [edx]
and edx, 1
neg edx
or edx, eax
and edx, esi
mov esi, edx
push ebp
mov eax, dword [esp + 0x10]
push dword [eax]
mov eax, dword [esp + 0x8c]
push dword [eax]
mov ebp, dword [esp + 0x18]
call fcn.004e1290
add esp, 0xc
mov dword [esp + 0x14], eax
mov ecx, dword [edi]
mov edx, esi
push ebx
push dword [ebp]
mov eax, dword [esp + 0x88]
push dword [eax]
call fcn.004e1290
add esp, 0xc
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov esi, edi
mov edx, dword [esp + 0x14]
push dword [esp]
push dword [ebp]
mov edi, dword [esp + 0x18]
push edi
call fcn.004e1550
add esp, 0xc
mov ecx, dword [esi]
mov edx, dword [esp + 8]
push ebx
push dword [ebp]
push edi
call fcn.004e1550
add esp, 0xc
mov esi, dword [esp + 0x60]
inc esi
cmp esi, dword [esp + 0x58]
je 0x4df758
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 1
neg ecx
mov edx, dword [esp + 0x24]
mov edx, dword [edx]
mov edi, dword [edx]
and edi, 1
neg edi
and edi, ecx
push dword [esp]
push eax
push edx
push dword [ebp]
call fcn.004d59f0
add esp, 0x10
mov ecx, eax
neg ecx
mov dword [esp + 0x2c], ecx
dec eax
mov dword [esp + 0x10], edi
and eax, edi
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx]
mov edi, dword [ebp]
mov edx, eax
not edx
cmp dword [esp], 0
mov dword [esp + 0x60], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], edx
je 0x4def4d
mov dword [esp + 8], eax
mov dword [esp + 4], edx
xor edx, edx
cmp dword [esp], 8
jb 0x4deedc
mov esi, dword [esp + 0x1c]
add esi, edi
cmp ecx, esi
mov eax, dword [esp + 8]
jae 0x4dee7b
mov esi, dword [esp + 0x1c]
add esi, ecx
cmp edi, esi
jb 0x4deedc
movd xmm0, eax
pshufd xmm0, xmm0, 0
movd xmm1, dword [esp + 4]
pshufd xmm1, xmm1, 0
xor edx, edx
mov esi, dword [esp + 0x40]
movdqu xmm2, xmmword [edi + edx*4]
movdqu xmm3, xmmword [edi + edx*4 + 0x10]
movdqu xmm4, xmmword [ecx + edx*4]
movdqu xmm5, xmmword [ecx + edx*4 + 0x10]
pand xmm2, xmm0
pand xmm3, xmm0
pand xmm4, xmm1
por xmm4, xmm2
pand xmm5, xmm1
por xmm5, xmm3
movdqu xmmword [ecx + edx*4], xmm4
movdqu xmmword [ecx + edx*4 + 0x10], xmm5
add edx, 8
cmp esi, edx
jne 0x4dee95
mov edx, esi
cmp dword [esp], esi
je 0x4def40
mov eax, edi
mov edi, edx
or edi, 1
test byte [esp], 1
je 0x4deefe
mov ebp, dword [eax + edx*4]
and ebp, dword [esp + 8]
mov esi, dword [ecx + edx*4]
and esi, dword [esp + 4]
or esi, ebp
mov dword [ecx + edx*4], esi
mov edx, edi
mov esi, dword [esp]
cmp esi, edi
mov ebp, dword [esp + 8]
je 0x4def40
mov edi, eax
mov esi, dword [edi + edx*4]
and esi, ebp
mov ebp, dword [ecx + edx*4]
mov eax, dword [esp + 4]
and ebp, eax
or ebp, esi
mov dword [ecx + edx*4], ebp
mov esi, dword [edi + edx*4 + 4]
and esi, dword [esp + 8]
mov ebp, dword [ecx + edx*4 + 4]
and ebp, eax
or ebp, esi
mov esi, dword [esp]
mov dword [ecx + edx*4 + 4], ebp
mov ebp, dword [esp + 8]
add edx, 2
cmp esi, edx
jne 0x4def0b
mov ebp, dword [esp + 0xc]
mov edi, dword [ebp]
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x28]
mov esi, dword [esp]
push esi
push ecx
push dword [eax]
push edi
call fcn.004d59f0
add esp, 0x10
mov edx, dword [esp + 0x10]
and edx, dword [esp + 0x2c]
mov eax, dword [ebp]
mov dword [esp + 0x20], eax
mov edi, edx
not edi
test esi, esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x10], edx
je 0x4def9b
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov ebp, edx
mov dword [esp + 4], edi
xor edx, edx
cmp esi, 8
jae 0x4defa4
mov eax, dword [esp]
jmp 0x4df022
mov eax, dword [esp + 0x20]
jmp 0x4df091
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
add esi, edi
cmp ecx, esi
mov eax, dword [esp]
jae 0x4defbf
mov esi, dword [esp + 0x1c]
add esi, ecx
cmp edi, esi
jb 0x4df022
movd xmm0, ebp
pshufd xmm0, xmm0, 0
movd xmm1, dword [esp + 4]
pshufd xmm1, xmm1, 0
xor edx, edx
mov esi, dword [esp + 0x40]
movdqu xmm2, xmmword [edi + edx*4]
movdqu xmm3, xmmword [edi + edx*4 + 0x10]
movdqu xmm4, xmmword [ecx + edx*4]
movdqu xmm5, xmmword [ecx + edx*4 + 0x10]
pand xmm2, xmm0
pand xmm3, xmm0
pand xmm4, xmm1
por xmm4, xmm2
pand xmm5, xmm1
por xmm5, xmm3
movdqu xmmword [ecx + edx*4], xmm4
movdqu xmmword [ecx + edx*4 + 0x10], xmm5
add edx, 8
cmp esi, edx
jne 0x4defd9
mov edx, esi
mov eax, dword [esp]
cmp eax, esi
je 0x4df08a
mov edi, edx
or edi, 1
test al, 1
je 0x4df042
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edx*4]
and eax, ebp
mov esi, dword [ecx + edx*4]
and esi, dword [esp + 4]
or esi, eax
mov dword [ecx + edx*4], esi
mov edx, edi
mov eax, dword [esp]
cmp eax, edi
mov esi, dword [esp + 0x20]
je 0x4df08a
mov dword [esp + 8], ebp
mov eax, esi
mov esi, dword [esi + edx*4]
and esi, ebp
mov ebp, dword [ecx + edx*4]
mov edi, dword [esp + 4]
and ebp, edi
or ebp, esi
mov dword [ecx + edx*4], ebp
mov esi, dword [eax + edx*4 + 4]
and esi, dword [esp + 8]
mov ebp, dword [ecx + edx*4 + 4]
and ebp, edi
or ebp, esi
mov esi, eax
mov dword [ecx + edx*4 + 4], ebp
mov ebp, dword [esp + 8]
mov eax, dword [esp]
add edx, 2
cmp eax, edx
jne 0x4df051
mov ebp, dword [esp + 0xc]
mov eax, dword [ebp]
mov esi, dword [esp]
push esi
mov ecx, dword [esp + 0x4c]
push dword [ecx]
mov ecx, dword [esp + 0x38]
push dword [ecx]
push eax
call fcn.004d4fe0
add esp, 0x10
mov edi, eax
push esi
mov eax, dword [esp + 0x88]
push dword [eax]
push dword [ebp]
mov eax, dword [esp + 0x5c]
push dword [eax]
call fcn.004d59f0
mov edx, edi
add esp, 0x10
sub edx, eax
mov edi, dword [ebp]
mov ecx, edx
not ecx
test esi, esi
mov dword [esp + 8], edx
mov dword [esp + 0x20], ecx
je 0x4df414
mov ebp, ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], ebp
xor edx, edx
cmp esi, 8
jb 0x4df172
mov esi, dword [esp + 0x1c]
add esi, eax
cmp edi, esi
mov ecx, dword [esp + 0x34]
jae 0x4df111
mov esi, dword [esp + 0x1c]
add esi, edi
cmp eax, esi
jb 0x4df172
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movd xmm1, dword [esp + 0x18]
pshufd xmm1, xmm1, 0
xor edx, edx
mov esi, dword [esp + 0x40]
movdqu xmm2, xmmword [edi + edx*4]
movdqu xmm3, xmmword [edi + edx*4 + 0x10]
movdqu xmm4, xmmword [eax + edx*4]
movdqu xmm5, xmmword [eax + edx*4 + 0x10]
pand xmm2, xmm0
pand xmm3, xmm0
pand xmm4, xmm1
por xmm4, xmm2
pand xmm5, xmm1
por xmm5, xmm3
movdqu xmmword [edi + edx*4], xmm4
movdqu xmmword [edi + edx*4 + 0x10], xmm5
add edx, 8
cmp esi, edx
jne 0x4df12b
mov edx, esi
cmp dword [esp], esi
je 0x4df1d8
mov ecx, edx
or ecx, 1
test byte [esp], 1
je 0x4df192
mov ebp, dword [edi + edx*4]
and ebp, dword [esp + 0x34]
mov esi, dword [eax + edx*4]
and esi, dword [esp + 0x18]
or esi, ebp
mov dword [edi + edx*4], esi
mov edx, ecx
cmp dword [esp], ecx
mov ecx, dword [esp + 0x34]
je 0x4df1d8
mov dword [esp + 4], eax
mov esi, dword [edi + edx*4]
and esi, ecx
mov ebp, dword [eax + edx*4]
mov eax, ecx
mov ecx, dword [esp + 0x18]
and ebp, ecx
or ebp, esi
mov dword [edi + edx*4], ebp
mov esi, dword [edi + edx*4 + 4]
and esi, eax
mov ebp, dword [esp + 4]
mov ebp, dword [ebp + edx*4 + 4]
and ebp, ecx
mov ecx, eax
mov eax, dword [esp + 4]
or ebp, esi
mov dword [edi + edx*4 + 4], ebp
add edx, 2
cmp dword [esp], edx
jne 0x4df19f
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
xor eax, eax
mov ecx, dword [esp + 0x30]
mov ebp, dword [ecx]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
cmp dword [esp], 8
jae 0x4df1ff
mov ecx, edi
jmp 0x4df282
mov ecx, dword [esp + 0x1c]
lea esi, [edx + ecx]
cmp ebp, esi
mov ecx, edi
jae 0x4df21b
mov edi, ecx
mov ecx, dword [esp + 0x1c]
lea esi, [ecx + ebp]
mov ecx, edi
cmp edx, esi
jb 0x4df282
mov esi, ecx
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movd xmm1, dword [esp + 0x18]
pshufd xmm1, xmm1, 0
xor eax, eax
mov ecx, dword [esp + 0x40]
movdqu xmm2, xmmword [edx + eax*4]
movdqu xmm3, xmmword [edx + eax*4 + 0x10]
movdqu xmm4, xmmword [ebp + eax*4]
movdqu xmm5, xmmword [ebp + eax*4 + 0x10]
pand xmm2, xmm0
pand xmm3, xmm0
pand xmm4, xmm1
por xmm4, xmm2
pand xmm5, xmm1
por xmm5, xmm3
movdqu xmmword [ebp + eax*4], xmm4
movdqu xmmword [ebp + eax*4 + 0x10], xmm5
add eax, 8
cmp ecx, eax
jne 0x4df237
mov eax, ecx
cmp dword [esp], ecx
mov ecx, esi
je 0x4df2e8
mov edi, eax
or edi, 1
test byte [esp], 1
je 0x4df2a8
mov esi, dword [edx + eax*4]
and esi, ecx
mov dword [esp + 0x34], esi
mov esi, dword [ebp + eax*4]
and esi, dword [esp + 0x18]
or esi, dword [esp + 0x34]
mov dword [ebp + eax*4], esi
mov eax, edi
cmp dword [esp], edi
je 0x4df2e8
mov edi, edx
mov dword [esp + 4], ecx
mov esi, dword [edi + eax*4]
and esi, ecx
mov ecx, dword [ebp + eax*4]
mov edx, dword [esp + 0x18]
and ecx, edx
or ecx, esi
mov dword [ebp + eax*4], ecx
mov ecx, dword [edi + eax*4 + 4]
and ecx, dword [esp + 4]
mov esi, dword [ebp + eax*4 + 4]
and esi, edx
or esi, ecx
mov ecx, dword [esp + 4]
mov dword [ebp + eax*4 + 4], esi
add eax, 2
cmp dword [esp], eax
jne 0x4df2b3
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
xor eax, eax
mov ecx, dword [esp + 0x48]
mov edi, dword [ecx]
mov ecx, dword [esp + 0xc]
mov ebp, dword [ecx]
cmp dword [esp], 8
jae 0x4df314
mov ecx, dword [esp]
jmp 0x4df394
mov ecx, dword [esp + 0x1c]
lea esi, [ecx + ebp]
cmp edi, esi
mov ecx, dword [esp]
mov edx, dword [esp + 4]
jae 0x4df330
mov esi, dword [esp + 0x1c]
add esi, edi
cmp ebp, esi
jb 0x4df394
movd xmm0, edx
pshufd xmm0, xmm0, 0
movd xmm1, dword [esp + 0x18]
pshufd xmm1, xmm1, 0
xor eax, eax
mov esi, dword [esp + 0x40]
movdqu xmm2, xmmword [ebp + eax*4]
movdqu xmm3, xmmword [ebp + eax*4 + 0x10]
movdqu xmm4, xmmword [edi + eax*4]
movdqu xmm5, xmmword [edi + eax*4 + 0x10]
pand xmm2, xmm0
pand xmm3, xmm0
pand xmm4, xmm1
por xmm4, xmm2
pand xmm5, xmm1
por xmm5, xmm3
movdqu xmmword [edi + eax*4], xmm4
movdqu xmmword [edi + eax*4 + 0x10], xmm5
add eax, 8
cmp esi, eax
jne 0x4df34a
mov eax, esi
mov ecx, dword [esp]
cmp ecx, esi
je 0x4df40d
mov esi, eax
or esi, 1
test cl, 1
jne 0x4df3a4
mov edx, dword [esp + 4]
jmp 0x4df3cc
mov ecx, dword [ebp + eax*4]
mov edx, dword [esp + 4]
and ecx, edx
mov dword [esp + 0x5c], ecx
mov ecx, edi
mov dword [esp + 0x34], esi
mov esi, dword [edi + eax*4]
and esi, dword [esp + 0x18]
or esi, dword [esp + 0x5c]
mov dword [edi + eax*4], esi
mov esi, dword [esp + 0x34]
mov eax, esi
mov ecx, dword [esp]
cmp ecx, esi
je 0x4df40d
mov esi, dword [ebp + eax*4]
and esi, edx
mov ecx, dword [edi + eax*4]
mov edx, ebp
mov ebp, dword [esp + 0x18]
and ecx, ebp
or ecx, esi
mov dword [edi + eax*4], ecx
mov ecx, dword [edx + eax*4 + 4]
and ecx, dword [esp + 4]
mov esi, dword [edi + eax*4 + 4]
and esi, ebp
mov ebp, edx
or esi, ecx
mov ecx, dword [esp]
mov edx, dword [esp + 4]
mov dword [edi + eax*4 + 4], esi
add eax, 2
cmp ecx, eax
jne 0x4df3d3
mov ebp, dword [esp + 0xc]
mov edi, dword [ebp]
push ebx
mov ecx, dword [esp + 0x40]
push dword [ecx]
mov ecx, dword [esp + 0x54]
push dword [ecx]
push edi
call fcn.004d4fe0
add esp, 0x10
push ebx
mov eax, dword [esp + 0x84]
push dword [eax]
push dword [ebp]
mov edi, dword [esp + 0x5c]
push dword [edi]
call fcn.004d59f0
add esp, 0x10
mov eax, dword [ebp]
test ebx, ebx
mov esi, dword [esp + 0x24]
je 0x4df74f
mov ebp, dword [edi]
mov edx, dword [esp + 8]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], ecx
xor edx, edx
cmp ebx, 8
jb 0x4df4ec
mov ecx, dword [esp + 0x44]
lea esi, [ecx + ebp]
cmp eax, esi
mov edi, dword [esp + 8]
mov ecx, dword [esp + 0x20]
jae 0x4df48a
mov esi, dword [esp + 0x44]
add esi, eax
cmp ebp, esi
jb 0x4df4ec
movd xmm0, edi
pshufd xmm0, xmm0, 0
movd xmm1, ecx
pshufd xmm1, xmm1, 0
xor edx, edx
mov esi, dword [esp + 0x54]
mov ecx, ebp
movdqu xmm2, xmmword [eax + edx*4]
movdqu xmm3, xmmword [eax + edx*4 + 0x10]
movdqu xmm4, xmmword [ecx + edx*4]
movdqu xmm5, xmmword [ecx + edx*4 + 0x10]
pand xmm2, xmm0
pand xmm3, xmm0
pand xmm4, xmm1
por xmm4, xmm2
pand xmm5, xmm1
por xmm5, xmm3
movdqu xmmword [eax + edx*4], xmm4
movdqu xmmword [eax + edx*4 + 0x10], xmm5
add edx, 8
cmp esi, edx
jne 0x4df4a4
mov edx, esi
cmp ebx, esi
mov ebp, ecx
je 0x4df54b
mov edi, ebp
mov esi, edx
or esi, 1
test bl, 1
je 0x4df50d
mov ecx, dword [eax + edx*4]
and ecx, dword [esp + 8]
mov ebp, dword [edi + edx*4]
and ebp, dword [esp + 0x20]
or ebp, ecx
mov dword [eax + edx*4], ebp
mov edx, esi
cmp ebx, esi
mov ecx, dword [esp + 8]
je 0x4df54b
mov esi, dword [eax + edx*4]
and esi, ecx
mov ebp, dword [edi + edx*4]
mov ecx, edi
mov edi, dword [esp + 0x20]
and ebp, edi
or ebp, esi
mov dword [eax + edx*4], ebp
mov esi, dword [eax + edx*4 + 4]
and esi, dword [esp + 8]
mov ebp, dword [ecx + edx*4 + 4]
and ebp, edi
mov edi, ecx
or ebp, esi
mov dword [eax + edx*4 + 4], ebp
mov ecx, dword [esp + 8]
add edx, 2
cmp ebx, edx
jne 0x4df515
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
xor edx, edx
mov eax, dword [esp + 0x4c]
mov edi, dword [eax]
mov ecx, dword [esp + 0xc]
mov ebp, dword [ecx]
cmp ebx, 8
jb 0x4df5ed
mov ecx, dword [esp + 0x44]
lea esi, [ecx + ebp]
cmp edi, esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
jae 0x4df58b
mov esi, dword [esp + 0x44]
add esi, edi
cmp ebp, esi
jb 0x4df5ed
movd xmm0, eax
pshufd xmm0, xmm0, 0
movd xmm1, ecx
pshufd xmm1, xmm1, 0
xor edx, edx
mov esi, dword [esp + 0x54]
mov ecx, ebp
movdqu xmm2, xmmword [ecx + edx*4]
movdqu xmm3, xmmword [ecx + edx*4 + 0x10]
movdqu xmm4, xmmword [edi + edx*4]
movdqu xmm5, xmmword [edi + edx*4 + 0x10]
pand xmm2, xmm0
pand xmm3, xmm0
pand xmm4, xmm1
por xmm4, xmm2
pand xmm5, xmm1
por xmm5, xmm3
movdqu xmmword [edi + edx*4], xmm4
movdqu xmmword [edi + edx*4 + 0x10], xmm5
add edx, 8
cmp esi, edx
jne 0x4df5a5
mov edx, esi
cmp ebx, esi
mov ebp, ecx
je 0x4df64c
mov eax, ebp
mov esi, edx
or esi, 1
test bl, 1
je 0x4df60e
mov ecx, dword [eax + edx*4]
and ecx, dword [esp + 0x10]
mov ebp, dword [edi + edx*4]
and ebp, dword [esp + 0x2c]
or ebp, ecx
mov dword [edi + edx*4], ebp
mov edx, esi
cmp ebx, esi
mov ecx, dword [esp + 0x10]
je 0x4df64c
mov esi, dword [eax + edx*4]
and esi, ecx
mov ebp, dword [edi + edx*4]
mov ecx, eax
mov eax, dword [esp + 0x2c]
and ebp, eax
or ebp, esi
mov dword [edi + edx*4], ebp
mov esi, dword [ecx + edx*4 + 4]
and esi, dword [esp + 0x10]
mov ebp, dword [edi + edx*4 + 4]
and ebp, eax
mov eax, ecx
or ebp, esi
mov dword [edi + edx*4 + 4], ebp
mov ecx, dword [esp + 0x10]
add edx, 2
cmp ebx, edx
jne 0x4df616
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
xor edx, edx
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
cmp ebx, 8
jb 0x4df6e9
mov ecx, dword [esp + 0x44]
lea esi, [eax + ecx]
cmp edi, esi
mov ebp, dword [esp + 0x14]
jae 0x4df685
lea esi, [edi + ecx]
cmp eax, esi
jb 0x4df6e9
movd xmm0, ebp
pshufd xmm0, xmm0, 0
movd xmm1, dword [esp + 0x38]
pshufd xmm1, xmm1, 0
xor edx, edx
mov esi, dword [esp + 0x54]
movdqu xmm2, xmmword [eax + edx*4]
movdqu xmm3, xmmword [eax + edx*4 + 0x10]
movdqu xmm4, xmmword [edi + edx*4]
movdqu xmm5, xmmword [edi + edx*4 + 0x10]
pand xmm2, xmm0
pand xmm3, xmm0
pand xmm4, xmm1
por xmm4, xmm2
pand xmm5, xmm1
por xmm5, xmm3
movdqu xmmword [edi + edx*4], xmm4
movdqu xmmword [edi + edx*4 + 0x10], xmm5
add edx, 8
cmp esi, edx
jne 0x4df69f
mov edx, esi
cmp ebx, esi
je 0x4dec6f
mov esi, edx
or esi, 1
test bl, 1
je 0x4df708
mov ecx, dword [eax + edx*4]
and ecx, dword [esp + 0x14]
mov ebp, dword [edi + edx*4]
and ebp, dword [esp + 0x38]
or ebp, ecx
mov dword [edi + edx*4], ebp
mov edx, esi
cmp ebx, esi
mov ecx, dword [esp + 0x14]
je 0x4dec6f
mov esi, dword [eax + edx*4]
and esi, ecx
mov ebp, dword [edi + edx*4]
mov ecx, eax
mov eax, dword [esp + 0x38]
and ebp, eax
or ebp, esi
mov dword [edi + edx*4], ebp
mov esi, dword [ecx + edx*4 + 4]
and esi, dword [esp + 0x14]
mov ebp, dword [edi + edx*4 + 4]
and ebp, eax
mov eax, ecx
or ebp, esi
mov dword [edi + edx*4 + 4], ebp
mov ecx, dword [esp + 0x14]
add edx, 2
cmp ebx, edx
jne 0x4df714
jmp 0x4dec6f
mov ecx, dword [esp + 0x28]
jmp 0x4dec7e
push dword [esp + 0x28]
call sym.fastboot.exe_BN_is_one
add esp, 4
test eax, eax
je 0x4df784
push dword [esp + 0x30]
push dword [esp + 0x7c]
call sym.fastboot.exe_BN_copy
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp 0x4dea94
mov eax, dword [esp + 0x7c]
mov dword [eax], 1
push 0x13f
push str.external_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
push 0x70
push 0
push 3
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
mov edi, dword [esp + 0x88]
xor ecx, ecx
cmp byte [edi + 0x14], 0
jne 0x4de7e2
jmp 0x4dec12