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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb4
mov edi, dword [esp + 0xd4]
mov ebp, dword [edi + 4]
test ebp, ebp
jle 0x4d2751
mov esi, dword [edi]
mov ebx, dword [esi]
test bl, 1
jne 0x4d275f
push 0x24e
push str.external_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
push 0x68
jmp 0x4d27cf
cmp dword [edi + 0xc], 0
je 0x4d2773
push 0x252
push str.external_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
push 0x6d
jmp 0x4d27cf
mov eax, dword [esp + 0xcc]
cmp dword [eax + 0xc], 0
jne 0x4d27c3
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push ebp
push esi
mov dword [esp + 8], eax
call fcn.004cdee0
add esp, 8
test eax, eax
js 0x4d27ea
push 0x257
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
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov ecx, eax
sar ecx, 0x1f
and ecx, eax
mov dword [esp + 4], eax
nop dword [eax]
test eax, eax
jle 0x4d2815
mov edx, dword [esp + 0x20]
mov edx, dword [edx]
mov edx, dword [edx + eax*4 - 4]
dec eax
test edx, edx
je 0x4d2800
jmp 0x4d282d
cmp dword [esp + 4], 0
jns 0x4d2981
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov edx, dword [eax + ecx*4 - 4]
dec ecx
mov eax, ecx
shl eax, 5
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 4], ecx
mov ecx, edx
shr ecx, 0x10
cmp edx, 0x10000
cmovb ecx, edx
mov edx, ecx
mov ecx, 0
setae cl
shl ecx, 4
mov dword [esp + 0x14], ecx
mov ecx, edx
shr edx, 8
cmp ecx, 0x100
cmovb edx, ecx
mov ecx, 0
setae cl
mov dword [esp + 0x10], ecx
mov ecx, edx
mov dword [esp + 8], edx
shr edx, 4
cmp ecx, 0x10
mov ecx, 0
setae cl
mov dword [esp + 0xc], ecx
cmovb edx, dword [esp + 8]
mov ecx, edx
shr ecx, 2
cmp edx, 4
cmovb ecx, edx
mov edx, 0
setae dl
mov dword [esp + 8], edx
xor edx, edx
cmp ecx, 2
setae dl
mov ecx, dword [esp + 4]
or ecx, eax
add ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 8]
lea eax, [eax + ecx*2]
add eax, edx
mov dword [esp + 4], eax
je 0x4d2981
pxor xmm0, xmm0
movdqu xmmword [esp + 0xa4], xmm0
movdqu xmmword [esp + 0x98], xmm0
movdqu xmmword [esp + 0x88], xmm0
movdqu xmmword [esp + 0x78], xmm0
movdqu xmmword [esp + 0x68], xmm0
movdqu xmmword [esp + 0x58], xmm0
movdqu xmmword [esp + 0x48], xmm0
movdqu xmmword [esp + 0x38], xmm0
mov ebp, dword [esp + 0x24]
cmp byte [ebp + 0x14], 0
jne 0x4d2a35
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
cmp ecx, dword [ebp + 0xc]
jne 0x4d2a24
lea eax, [ecx + ecx*2]
shr eax, 1
test ecx, ecx
mov ebx, 0x20
cmovne ebx, eax
cmp ebx, ecx
jbe 0x4d2a2f
cmp ebx, 0x3fffffff
ja 0x4d2a2f
lea eax, [ebx*4]
push eax
push dword [ebp + 4]
call sym.fastboot.exe_OPENSSL_realloc
add esp, 8
test eax, eax
je 0x4d2a2f
mov dword [ebp + 4], eax
mov dword [ebp + 0xc], ebx
mov ecx, dword [ebp + 8]
jmp 0x4d2a27
xor ebx, 1
cmp ebp, 2
jl 0x4d2999
mov eax, 1
cmp ebp, 9
jae 0x4d299f
mov ecx, dword [esp + 0x28]
jmp 0x4d29f1
mov ecx, dword [esp + 0x28]
jmp 0x4d29f9
lea ecx, [ebp - 1]
mov edx, ecx
and edx, 0xfffffff8
lea eax, [edx + 1]
movd xmm1, ebx
pxor xmm0, xmm0
xor edi, edi
movdqu xmm2, xmmword [esi + edi*4 + 4]
por xmm1, xmm2
movdqu xmm2, xmmword [esi + edi*4 + 0x14]
por xmm0, xmm2
add edi, 8
cmp edx, edi
jne 0x4d29b4
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
por xmm0, xmm1
movd ebx, xmm0
cmp ecx, edx
mov ecx, dword [esp + 0x28]
je 0x4d29f9
or ebx, dword [esi + eax*4]
inc eax
cmp ebp, eax
jne 0x4d29f1
test ebx, ebx
je 0x4d2a0c
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
jmp sym.fastboot.exe_BN_one
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], 0
mov ebx, 1
jmp 0x4d27dd
mov eax, dword [ebp + 4]
mov dword [eax + ecx*4], esi
inc dword [ebp + 8]
jmp 0x4d2a35
mov word [ebp + 0x14], 0x101
push ebp
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov esi, eax
push ebp
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + 0x34], eax
xor ebx, ebx
mov dword [esp + 0x14], esi
test esi, esi
je 0x4d2e9c
mov ecx, eax
mov esi, 0
test eax, eax
je 0x4d2ec5
xor esi, esi
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4d2a8c
push ebp
push edi
mov esi, ecx
call sym.fastboot.exe_BN_MONT_CTX_new_consttime
mov ecx, esi
add esp, 8
mov esi, eax
test eax, eax
je 0x4d2eb9
mov dword [esp + 0x10], 6
mov edx, dword [esp + 4]
cmp edx, 0x29f
ja 0x4d2ad4
mov dword [esp + 0x10], 5
cmp edx, 0xef
ja 0x4d2ad4
mov dword [esp + 0x10], 4
cmp edx, 0x4f
ja 0x4d2ad4
mov edi, ecx
xor ecx, ecx
cmp edx, 0x18
setae cl
lea ecx, [ecx*2 + 1]
mov dword [esp + 0x10], ecx
mov ecx, edi
push ebp
push eax
mov dword [esp + 0x24], eax
push eax
push dword [esp + 0xc]
mov dword [esp + 0x10], ecx
push ecx
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
xor ebx, ebx
test eax, eax
mov edi, dword [esp + 0x20]
je 0x4d2ec5
mov dword [esp + 8], esi
cmp dword [esp + 0x10], 2
jb 0x4d2b89
push ebp
call sym.fastboot.exe_BN_CTX_get
add esp, 4
test eax, eax
je 0x4d2ec1
mov esi, eax
push ebp
push dword [esp + 0x20]
mov eax, dword [esp + 8]
push eax
push eax
push esi
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x4d2ec1
mov dword [esp], esi
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0xc], eax
mov esi, 2
push ebp
call sym.fastboot.exe_BN_CTX_get
add esp, 4
mov dword [esp + esi*4 + 0x30], eax
test eax, eax
je 0x4d2ec1
push ebp
push dword [esp + 0x20]
push dword [esp + 8]
push dword [esp + esi*4 + 0x38]
push eax
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x4d2ec1
mov eax, esi
mov ecx, dword [esp + 0xc]
shr eax, cl
inc esi
test eax, eax
je 0x4d2b49
mov edx, dword [esp + 4]
dec edx
xor ebx, ebx
add edx, 0xfffffffb
mov dword [esp + 4], edx
add edx, 5
js 0x4d2bb2
mov eax, dword [edi + 4]
mov ecx, edx
shr ecx, 5
cmp ecx, eax
jae 0x4d2bb2
mov esi, dword [edi]
mov ecx, dword [esi + ecx*4]
bt ecx, edx
jb 0x4d2be3
test bl, 1
je 0x4d2bd3
push ebp
push dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push eax
push eax
push eax
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x4d2ebf
mov edx, dword [esp + 4]
cmp edx, 0xfffffffb
je 0x4d2ea0
dec edx
jmp 0x4d2b93
cmp dword [esp + 0x10], 2
jb 0x4d2e2c
cmp dword [esp + 4], 0xfffffffb
je 0x4d2e2c
mov dword [esp + 0x30], ebx
mov dword [esp], 0
test edx, edx
jle 0x4d2c26
mov ecx, dword [esp + 4]
lea ebp, [ecx + 4]
mov edi, ebp
shr edi, 5
cmp edi, eax
jae 0x4d2c26
mov edi, dword [esi + edi*4]
xor ecx, ecx
bt edi, ebp
setb cl
mov dword [esp], ecx
mov ecx, dword [esp]
lea ecx, [ecx*2 + 1]
mov dword [esp + 0xc], ecx
cmp dword [esp + 0x10], 3
jb 0x4d2dc0
cmp edx, 2
jl 0x4d2dc0
mov ecx, dword [esp + 4]
lea ebp, [ecx + 3]
mov ecx, ebp
shr ecx, 5
mov dword [esp + 0x18], 0
cmp ecx, eax
jae 0x4d2c6f
mov edi, dword [esi + ecx*4]
xor ecx, ecx
bt edi, ebp
setb cl
mov dword [esp + 0x18], ecx
mov cl, 2
mov edi, dword [esp]
mov ebx, edi
sub cl, bl
mov ebx, dword [esp + 0xc]
mov ebp, ebx
shl ebp, cl
or ebp, 1
cmp dword [esp + 0x18], 0
cmovne ebx, ebp
mov dword [esp + 0xc], ebx
mov ecx, 2
cmovne edi, ecx
mov dword [esp], edi
cmp dword [esp + 0x10], 4
jb 0x4d2dc0
cmp edx, 3
jl 0x4d2dc0
mov ecx, dword [esp + 4]
lea ebp, [ecx + 2]
mov dword [esp + 0x2c], ebp
shr ebp, 5
mov dword [esp + 0x18], 0
cmp ebp, eax
jae 0x4d2cdb
mov edi, dword [esi + ebp*4]
xor ecx, ecx
mov ebp, dword [esp + 0x2c]
bt edi, ebp
setb cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp]
xor cl, 3
mov edi, dword [esp + 0xc]
mov ebp, edi
shl ebp, cl
or ebp, 1
cmp dword [esp + 0x18], 0
cmovne edi, ebp
mov dword [esp + 0xc], edi
mov ecx, 3
mov ebp, dword [esp]
cmovne ebp, ecx
mov dword [esp], ebp
cmp dword [esp + 0x10], 5
jb 0x4d2dc0
cmp edx, 4
jl 0x4d2dc0
mov ecx, dword [esp + 4]
lea ebp, [ecx + 1]
mov dword [esp + 0x2c], ebp
shr ebp, 5
mov dword [esp + 0x18], 0
cmp ebp, eax
jae 0x4d2d47
mov edi, dword [esi + ebp*4]
xor ecx, ecx
mov ebp, dword [esp + 0x2c]
bt edi, ebp
setb cl
mov dword [esp + 0x18], ecx
mov cl, 4
mov ebx, dword [esp]
sub cl, bl
mov edi, dword [esp + 0xc]
mov ebp, edi
shl ebp, cl
or ebp, 1
cmp dword [esp + 0x18], 0
cmovne edi, ebp
mov dword [esp + 0xc], edi
mov ecx, 4
cmovne ebx, ecx
mov dword [esp], ebx
cmp dword [esp + 0x10], 6
jb 0x4d2dc0
cmp edx, 5
jl 0x4d2dc0
mov ecx, dword [esp + 4]
shr ecx, 5
xor ebp, ebp
cmp ecx, eax
jae 0x4d2d9a
mov eax, dword [esi + ecx*4]
xor edx, edx
mov ecx, dword [esp + 4]
bt eax, ecx
setb dl
mov ebp, edx
mov cl, 5
mov edx, dword [esp]
sub cl, dl
mov esi, dword [esp + 0xc]
mov eax, esi
shl eax, cl
or eax, 1
test ebp, ebp
cmovne esi, eax
mov dword [esp + 0xc], esi
mov eax, 5
cmovne edx, eax
mov dword [esp], edx
test byte [esp + 0x30], 1
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0xc]
jne 0x4d2e3d
and edi, 0xfffffffe
mov esi, dword [esp + edi*2 + 0x34]
cmp esi, dword [esp + 0x14]
je 0x4d2e82
push dword [esi + 4]
push dword [esp + 0x18]
call fcn.004cb800
add esp, 8
test eax, eax
je 0x4d2ef0
mov eax, dword [esi + 4]
lea ecx, [eax*4]
test ecx, ecx
je 0x4d2e19
push ecx
push dword [esi]
mov eax, dword [esp + 0x1c]
push dword [eax]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xc], eax
mov ebp, dword [esp + 0x24]
jmp 0x4d2e82
mov dword [esp], 0
mov edi, 1
test bl, 1
je 0x4d2dcf
mov esi, 0xffffffff
mov eax, dword [esp + 0x1c]
push ebp
push eax
mov eax, dword [esp + 0x1c]
push eax
push eax
push eax
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
xor ebx, ebx
test eax, eax
je 0x4d2ec1
inc esi
cmp dword [esp], esi
mov eax, dword [esp + 0x1c]
jne 0x4d2e46
and edi, 0xfffffffe
push ebp
push eax
push dword [esp + edi*2 + 0x3c]
mov eax, dword [esp + 0x20]
push eax
push eax
call sym.fastboot.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x4d2ec1
mov edx, dword [esp + 4]
sub edx, dword [esp]
cmp edx, 0xfffffffb
mov edi, dword [esp + 0x20]
je 0x4d2ea0
add edx, 4
mov bl, 1
jmp 0x4d2b90
xor esi, esi
jmp 0x4d2ec5
push ebp
push dword [esp + 0x20]
push dword [esp + 0x1c]
push dword [esp + 0x34]
call sym.fastboot.exe_BN_from_montgomery
add esp, 0x10
mov ebx, eax
jmp 0x4d2ec1
xor ebx, ebx
xor esi, esi
jmp 0x4d2ec5
xor ebx, ebx
mov esi, dword [esp + 8]
push esi
call sym.fastboot.exe_BN_MONT_CTX_free
add esp, 4
cmp byte [ebp + 0x14], 0
jne 0x4d27dd
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
lea edx, [ecx - 1]
mov dword [ebp + 8], edx
mov eax, dword [eax + ecx*4 - 4]
mov dword [ebp + 0x10], eax
jmp 0x4d27dd
xor ebx, ebx
mov ebp, dword [esp + 0x24]
jmp 0x4d2ec1