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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov esi, dword [ebp + 0x14]
pxor xmm0, xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x60], 0
movdqa xmmword [esp + 0x30], xmm0
movdqa xmmword [esp + 0x50], xmm0
mov edi, dword [esi + 4]
test edi, edi
jle 0x4b3e62
mov ecx, dword [esi]
mov ebx, dword [ecx]
test bl, 1
jne 0x4b3e70
push 0x392
push str.external_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
push 0x68
jmp 0x4b3eab
cmp dword [esi + 0xc], 0
je 0x4b3e84
push 0x396
push str.external_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
push 0x6d
jmp 0x4b3eab
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0xc], 0
jne 0x4b3e9f
push esi
push eax
mov dword [esp + 0x24], ecx
call sym.fastboot.exe_BN_ucmp
add esp, 8
test eax, eax
js 0x4b3ec3
push 0x39a
push str.external_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
push 0x6b
push 0
push 3
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
xor ebx, ebx
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
test edx, edx
je 0x4b41fe
mov edi, dword [ebp + 0x1c]
xor eax, eax
test edi, edi
jne 0x4b3ef4
push dword [ebp + 0x18]
push esi
mov esi, edx
call sym.fastboot.exe_BN_MONT_CTX_new_consttime
mov edx, esi
add esp, 8
mov edi, eax
test eax, eax
je 0x4b42df
mov ebx, dword [edi + 0x18]
mov ecx, 6
cmp edx, 0x1d
mov dword [esp + 0x10], eax
jg 0x4b3f24
mov ecx, 5
cmp edx, 9
jg 0x4b3f24
mov ecx, 4
cmp edx, 2
jg 0x4b3f24
xor eax, eax
test edx, edx
setg al
lea ecx, [eax + eax + 1]
mov eax, 1
mov esi, ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edx
shl eax, cl
shl esi, cl
lea ecx, [ebx + ebx]
cmp ecx, eax
mov ebx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
cmovge ebx, ecx
add ebx, esi
lea eax, [ebx*4 + 0x40]
shl ebx, 2
push eax
call sym.fastboot.exe_OPENSSL_malloc
add esp, 4
test eax, eax
mov dword [esp + 0x4c], ebx
je 0x4b4218
mov dword [esp + 0x24], edi
mov edi, eax
mov dword [esp + 0x18], eax
and edi, 0xffffffc0
add edi, 0x40
test ebx, ebx
je 0x4b3f8e
push ebx
push 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov ecx, dword [esp + 0x14]
lea eax, [edi + esi*4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
lea eax, [eax + ecx*4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 2
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 2
lea ecx, [esp + 0x30]
push eax
mov esi, dword [esp + 0x28]
push esi
push ecx
call fcn.004b4490
add esp, 0xc
xor ebx, ebx
test eax, eax
mov dword [esp + 0xc], edi
je 0x4b4458
mov edi, dword [ebp + 0x18]
lea eax, [esp + 0x50]
push edi
push esi
push esi
push dword [ebp + 0xc]
push eax
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x4b4458
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x18]
mov esi, dword [esp + 0x14]
push esi
call fcn.004add60
add esp, 0xc
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x50]
lea eax, [esi + edx*4]
push ecx
push edx
push eax
call fcn.004add60
add esp, 0xc
cmp dword [esp + 0x2c], 2
jb 0x4b42f4
push edi
push dword [esp + 0x28]
lea eax, [esp + 0x58]
push eax
push eax
lea esi, [esp + 0x40]
push esi
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x4b4458
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
lea eax, [eax + ecx*4]
push esi
mov esi, dword [esp + 0x18]
push esi
push eax
call fcn.004add60
add esp, 0xc
mov edx, dword [esp + 0x28]
mov ecx, 4
lea eax, [esi*4]
mov dword [esp + 0x78], eax
cmp edx, 4
cmova ecx, edx
lea edx, [esi + 4]
mov esi, 3
mov dword [esp + 0x28], ecx
mov dword [esp + 0x70], edx
jmp 0x4b40dd
push 0x13c
push str.external_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x6d
push 0
push 3
call sym.fastboot.exe_ERR_put_error
add esp, 0x14
inc esi
mov edi, dword [ebp + 0x18]
cmp esi, dword [esp + 0x28]
je 0x4b42f4
push edi
push dword [esp + 0x28]
lea ecx, [esp + 0x38]
push ecx
lea eax, [esp + 0x5c]
push eax
push ecx
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x4b4458
cmp dword [esp + 0x3c], 0
jne 0x4b40b7
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov edx, edi
sub edx, eax
jbe 0x4b41b6
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
xor ecx, ecx
cmp edx, 8
jb 0x4b418c
mov eax, dword [esp + 0x14]
mov ecx, edx
pxor xmm0, xmm0
pxor xmm1, xmm1
and ecx, 0xfffffff8
mov dword [esp + 0x48], ecx
add eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x48]
movdqu xmm2, xmmword [ecx - 0x10]
movdqu xmm3, xmmword [ecx]
add ecx, 0x20
add eax, 0xfffffff8
por xmm0, xmm2
por xmm1, xmm3
jne 0x4b414f
por xmm1, xmm0
cmp edx, dword [esp + 0x48]
mov eax, dword [esp + 0x74]
pshufd xmm0, xmm1, 0x4e
por xmm0, xmm1
pshufd xmm1, xmm0, 0xe5
por xmm1, xmm0
movd ecx, xmm1
je 0x4b419d
mov edx, dword [esp + 0x20]
sub edi, eax
lea eax, [edx + eax*4]
or ecx, dword [eax]
add eax, 4
dec edi
jne 0x4b4195
mov edi, dword [esp + 0x14]
test ecx, ecx
je 0x4b41b6
push 0x143
push str.external_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x66
jmp 0x4b40c3
mov eax, esi
mov ecx, dword [esp + 0xc]
imul eax, dword [esp + 0x14]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4b41e0
push eax
push 0
push ecx
mov dword [esp + 0x2c], ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov ecx, dword [esp + 0x2c]
add esp, 0xc
shl edi, 2
test edi, edi
je 0x4b40cf
push edi
push dword [esp + 0x34]
push ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
jmp 0x4b40cf
xor ebx, 1
cmp edi, 2
jl 0x4b4227
lea ecx, [edi - 1]
mov eax, 1
cmp ecx, 8
jae 0x4b422c
mov esi, dword [ebp + 8]
jmp 0x4b427f
mov eax, dword [esp + 0x10]
xor ebx, ebx
xor edi, edi
xor esi, esi
jmp 0x4b4464
mov esi, dword [ebp + 8]
jmp 0x4b4290
mov esi, dword [esp + 0x1c]
mov edx, ecx
movd xmm1, ebx
pxor xmm0, xmm0
and edx, 0xfffffff8
lea eax, [edx + 1]
mov ebx, edx
add esi, 0x14
movdqu xmm2, xmmword [esi - 0x10]
movdqu xmm3, xmmword [esi]
add esi, 0x20
add ebx, 0xfffffff8
por xmm1, xmm2
por xmm0, xmm3
jne 0x4b4245
por xmm0, xmm1
mov esi, dword [ebp + 8]
cmp ecx, edx
pshufd xmm1, xmm0, 0x4e
por xmm1, xmm0
pshufd xmm0, xmm1, 0xe5
por xmm0, xmm1
movd ebx, xmm0
je 0x4b4290
mov ecx, dword [esp + 0x1c]
sub edi, eax
lea eax, [ecx + eax*4]
or ebx, dword [eax]
add eax, 4
dec edi
jne 0x4b4288
test ebx, ebx
je 0x4b42c7
push 1
push esi
call fcn.004acc80
add esp, 8
test eax, eax
je 0x4b3eb7
mov dword [esi + 0xc], 0
mov ebx, 1
mov eax, dword [esi]
mov dword [eax], 1
mov dword [esi + 4], 1
jmp 0x4b3eb9
mov dword [esi + 0xc], 0
mov dword [esi + 4], 0
mov ebx, 1
jmp 0x4b3eb9
xor ebx, ebx
xor eax, eax
xor edi, edi
mov dword [esp + 0x4c], 0
xor esi, esi
jmp 0x4b4464
mov edi, dword [esp + 0x1c]
xor ebx, ebx
shl edi, 5
dec edi
mov eax, edi
cdq
idiv dword [esp + 0x2c]
test edx, edx
js 0x4b4346
inc edx
xor eax, eax
jmp 0x4b4316
dec edx
or eax, esi
dec edi
test edx, edx
jle 0x4b4348
mov esi, eax
add esi, eax
test edi, edi
mov eax, 0
js 0x4b430e
mov eax, dword [ebp + 0x10]
mov ecx, edi
shr ecx, 5
cmp ecx, dword [eax + 4]
mov eax, 0
jae 0x4b430e
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
mov ecx, edi
shr eax, cl
and eax, 1
jmp 0x4b430e
xor eax, eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], edi
lea ecx, [esp + 0x30]
push dword [esp + 0x2c]
push eax
mov esi, dword [esp + 0x14]
push esi
call fcn.004b4520
add esp, 0xc
test eax, eax
je 0x4b4430
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
test ecx, ecx
js 0x4b443a
mov edx, ecx
xor ebx, ebx
xor esi, esi
sub edx, eax
mov dword [esp + 0x28], edx
jmp 0x4b4398
mov ecx, edi
or esi, eax
mov eax, dword [esp + 0x1c]
dec ecx
dec eax
je 0x4b43e2
mov edi, ecx
mov dword [esp + 0x1c], eax
push dword [ebp + 0x18]
push dword [esp + 0x28]
lea eax, [esp + 0x38]
push eax
push eax
push eax
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x4b4458
mov eax, esi
add eax, esi
xor esi, esi
test edi, edi
js 0x4b438c
mov edx, dword [ebp + 0x10]
mov ecx, edi
shr edi, 5
cmp edi, dword [edx + 4]
jae 0x4b438e
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov esi, dword [edx + edi*4]
shr esi, cl
and esi, 1
jmp 0x4b438e
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x50]
mov ecx, edi
push dword [esp + 0x2c]
push esi
mov esi, dword [esp + 0x14]
push esi
call fcn.004b4520
add esp, 0xc
xor ebx, ebx
test eax, eax
je 0x4b4430
push dword [ebp + 0x18]
push dword [esp + 0x28]
push edi
lea eax, [esp + 0x3c]
push eax
push eax
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
test eax, eax
jne 0x4b4372
mov eax, dword [esp + 0x10]
jmp 0x4b4464
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
jmp 0x4b4464
push dword [ebp + 0x18]
push dword [esp + 0x28]
lea eax, [esp + 0x38]
push eax
push dword [ebp + 8]
call sym.fastboot.exe_BN_from_montgomery
add esp, 0x10
xor ebx, ebx
test eax, eax
setne bl
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
push eax
call sym.fastboot.exe_BN_MONT_CTX_free
add esp, 4
test edi, edi
jne 0x4b4482
test esi, esi
je 0x4b4482
push dword [esp + 0x4c]
push esi
call sym.fastboot.exe_OPENSSL_cleanse
add esp, 8
push edi
call sym.fastboot.exe_OPENSSL_free
add esp, 4
jmp 0x4b3eb9