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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov ebp, dword [esp + 0x70]
mov esi, dword [ebp + 4]
test esi, esi
jle 0x44ee2c
mov edi, dword [ebp]
mov ebx, dword [edi]
test bl, 1
jne 0x44ee46
push 0x3ca
push str.external_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
push 0x68
push 0
push 3
call sym.adb.exe_ERR_put_error
add esp, 0x14
jmp 0x44ee76
mov eax, dword [esp + 0x68]
cmp dword [eax + 0xc], 0
jne 0x44ee5e
push ebp
push eax
call sym.adb.exe_BN_ucmp
add esp, 8
test eax, eax
js 0x44ee82
push 0x3ce
push str.external_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
push 0x6b
push 0
push 3
call sym.adb.exe_ERR_put_error
add esp, 0x14
xor ebx, ebx
mov eax, ebx
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 4]
test edx, edx
je 0x44efdb
mov ebx, dword [esp + 0x78]
xor eax, eax
test ebx, ebx
jne 0x44eeb6
push dword [esp + 0x74]
push ebp
mov esi, edx
call sym.adb.exe_BN_MONT_CTX_new_consttime
mov edx, esi
add esp, 8
test eax, eax
mov ebx, eax
je 0x44f0a2
mov esi, dword [ebx + 0x18]
mov ecx, 6
cmp edx, 0x1d
mov dword [esp], eax
jg 0x44eee5
mov ecx, 5
cmp edx, 9
jg 0x44eee5
mov ecx, 4
cmp edx, 2
jg 0x44eee5
xor eax, eax
test edx, edx
setg al
lea ecx, [eax + eax + 1]
mov dword [esp + 0x4c], edx
mov edx, 1
mov eax, esi
lea ebp, [esi + esi]
mov dword [esp + 0x18], ecx
shl edx, cl
shl eax, cl
cmp ebp, edx
mov dword [esp + 0x14], edx
cmovl ebp, edx
add ebp, eax
lea eax, [ebp*4 + 0x40]
shl ebp, 2
push eax
call sym.adb.exe_OPENSSL_malloc
add esp, 4
mov edi, eax
test eax, eax
je 0x44f08e
mov eax, edi
mov edx, 0x40
and eax, 0x3f
sub edx, eax
mov dword [esp + 0x20], eax
add edx, edi
test ebp, ebp
mov dword [esp + 0xc], edx
je 0x44ef4d
push ebp
push 0
push edx
call sub.msvcrt.dll_memset
mov edx, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea eax, [esi*4]
mov dword [esp + 0x10], esi
shl eax, cl
add eax, edx
mov dword [esp + 0x24], eax
lea eax, [eax + esi*4]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 2
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 2
mov eax, dword [ebx + 0x18]
test eax, eax
jle 0x44efb8
mov ecx, dword [ebx + 0x14]
cmp dword [ecx + eax*4 - 4], 0
js 0x44f0b7
mov esi, ebx
mov ebx, dword [esp + 0x74]
lea eax, [esp + 0x24]
push ebx
push esi
push esi
push eax
call sym.adb.exe_BN_from_montgomery
add esp, 0x10
test eax, eax
jne 0x44f110
jmp 0x44f2ee
cmp dword [ebp + 0xc], 0
jne 0x44f057
xor ebx, 1
cmp esi, 2
jl 0x44f04f
lea ecx, [esi - 1]
mov eax, 1
cmp ecx, 8
jb 0x44f042
mov edx, ecx
movd xmm1, ebx
lea ebx, [edi + 0x14]
pxor xmm0, xmm0
and edx, 0xfffffff8
lea eax, [edx + 1]
mov ebp, edx
movdqu xmm2, xmmword [ebx - 0x10]
movdqu xmm3, xmmword [ebx]
add ebx, 0x20
add ebp, 0xfffffff8
por xmm1, xmm2
por xmm0, xmm3
jne 0x44f00b
por xmm0, xmm1
cmp ecx, edx
pshufd xmm1, xmm0, 0x4e
por xmm1, xmm0
pshufd xmm0, xmm1, 0xe5
por xmm0, xmm1
movd ebx, xmm0
je 0x44f04f
sub esi, eax
lea eax, [edi + eax*4]
or ebx, dword [eax]
add eax, 4
dec esi
jne 0x44f047
test ebx, ebx
je 0x44f2f6
push 1
mov esi, dword [esp + 0x68]
push esi
call fcn.00447880
add esp, 8
test eax, eax
je 0x44ee76
mov dword [esi + 0xc], 0
mov ebx, 1
mov eax, dword [esi]
mov dword [eax], 1
mov dword [esi + 4], 1
jmp 0x44ee78
mov eax, dword [esp]
xor ebx, ebx
xor edi, edi
mov dword [esp + 0xc], 0
jmp 0x44f3e6
xor ebx, ebx
xor eax, eax
xor edi, edi
xor ebp, ebp
mov dword [esp + 0xc], 0
jmp 0x44f3e6
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.00447880
add esp, 8
test eax, eax
je 0x44f2ee
mov eax, dword [ebx + 0x14]
xor ecx, ecx
mov edx, dword [esp + 0x24]
sub ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [ebx + 0x18]
cmp ecx, 2
jl 0x44f0fe
mov eax, 1
mov ecx, dword [ebx + 0x14]
mov edx, dword [esp + 0x24]
mov ecx, dword [ecx + eax*4]
not ecx
mov dword [edx + eax*4], ecx
inc eax
mov ecx, dword [ebx + 0x18]
cmp eax, ecx
jl 0x44f0e7
mov esi, ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x1c], esi
lea eax, [esp + 0x38]
push ebx
push esi
push esi
push dword [esp + 0x74]
push eax
call sym.adb.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x44f2ee
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], edi
cmp eax, ecx
cmovg eax, ecx
test eax, eax
jle 0x44f166
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
xor edx, edx
lea ecx, [ecx*4]
mov edi, dword [esp + 0x24]
mov edi, dword [edi + edx*4]
inc edx
mov dword [esi], edi
add esi, ecx
cmp edx, eax
jl 0x44f156
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
mov dword [esp + 8], ebp
cmp eax, ecx
cmovg eax, ecx
test eax, eax
jle 0x44f1a5
mov ecx, 0x44
mov edx, dword [esp + 0x14]
xor esi, esi
sub ecx, dword [esp + 0x20]
lea edx, [edx*4]
add ecx, dword [esp + 4]
mov edi, dword [esp + 0x38]
mov edi, dword [edi + esi*4]
inc esi
mov dword [ecx], edi
add ecx, edx
cmp esi, eax
jl 0x44f195
cmp dword [esp + 0x18], 2
mov edi, dword [esp + 4]
jb 0x44f29e
lea ecx, [esp + 0x24]
push dword [esp + 0x74]
push dword [esp + 0x20]
lea eax, [esp + 0x40]
push eax
push eax
push ecx
call sym.adb.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x44f3d0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
cmp eax, ecx
cmovg eax, ecx
test eax, eax
jle 0x44f212
mov ecx, 0x48
mov edx, dword [esp + 0x14]
xor esi, esi
sub ecx, dword [esp + 0x20]
lea edx, [edx*4]
add ecx, dword [esp + 4]
mov edi, dword [esp + 0x24]
mov edi, dword [edi + esi*4]
inc esi
mov dword [ecx], edi
add ecx, edx
cmp esi, eax
jl 0x44f202
cmp dword [esp + 0x14], 4
mov edi, dword [esp + 4]
jl 0x44f29e
mov eax, 0x4c
mov ebx, edi
mov esi, 3
sub eax, dword [esp + 0x20]
add ebx, eax
mov eax, dword [esp + 0x14]
lea ebp, [eax*4]
push dword [esp + 0x74]
push dword [esp + 0x20]
lea eax, [esp + 0x2c]
mov ecx, eax
push eax
lea eax, [esp + 0x44]
push eax
push ecx
call sym.adb.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x44f3d0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
cmp eax, ecx
cmovg eax, ecx
test eax, eax
jle 0x44f290
xor ecx, ecx
mov edx, ebx
nop dword [eax + eax]
mov edi, dword [esp + 0x24]
mov edi, dword [edi + ecx*4]
inc ecx
mov dword [edx], edi
add edx, ebp
cmp ecx, eax
jl 0x44f280
inc esi
add ebx, 4
mov edi, dword [esp + 4]
cmp esi, dword [esp + 0x14]
jl 0x44f23e
mov ebx, dword [esp + 0x4c]
shl ebx, 5
dec ebx
mov eax, ebx
cdq
idiv dword [esp + 0x18]
test edx, edx
js 0x44f312
inc edx
xor eax, eax
mov esi, eax
add esi, eax
test ebx, ebx
mov eax, 0
js 0x44f2e4
mov eax, dword [esp + 0x6c]
mov ecx, ebx
shr ecx, 5
cmp ecx, dword [eax + 4]
mov eax, 0
jae 0x44f2e4
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
mov ecx, ebx
shr eax, cl
and eax, 1
dec edx
or eax, esi
dec ebx
test edx, edx
jg 0x44f2b4
jmp 0x44f314
mov eax, dword [esp]
jmp 0x44f3e4
mov eax, dword [esp + 0x64]
mov ebx, 1
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
jmp 0x44ee78
xor eax, eax
mov edx, dword [esp + 0x10]
lea esi, [esp + 0x24]
mov ecx, esi
push dword [esp + 0x18]
push eax
push dword [esp + 0x14]
call fcn.0044f4d0
add esp, 0xc
test eax, eax
je 0x44f3d0
test ebx, ebx
mov eax, ebx
js 0x44f413
xor edi, edi
xor ebp, ebp
push dword [esp + 0x74]
push dword [esp + 0x20]
push esi
push esi
push esi
call sym.adb.exe_BN_mod_mul_montgomery
add esp, 0x14
test eax, eax
je 0x44f3d9
mov eax, ebp
add eax, ebp
xor ebp, ebp
test ebx, ebx
js 0x44f384
mov edx, dword [esp + 0x6c]
mov ecx, ebx
shr ebx, 5
cmp ebx, dword [edx + 4]
jae 0x44f386
mov edx, dword [esp + 0x6c]
mov edx, dword [edx]
mov ebp, dword [edx + ebx*4]
shr ebp, cl
and ebp, 1
jmp 0x44f386
mov ecx, ebx
inc edi
dec ecx
or ebp, eax
cmp edi, dword [esp + 0x18]
mov ebx, ecx
jb 0x44f345
mov edx, dword [esp + 0x10]
lea edi, [esp + 0x38]
mov ecx, edi
push dword [esp + 0x18]
push ebp
push dword [esp + 0x14]
call fcn.0044f4d0
add esp, 0xc
test eax, eax
je 0x44f3d9
push dword [esp + 0x74]
push dword [esp + 0x20]
push edi
push esi
push esi
call sym.adb.exe_BN_mod_mul_montgomery
add esp, 0x14
mov edi, dword [esp + 4]
test eax, eax
jne 0x44f337
mov eax, dword [esp]
mov ebp, dword [esp + 8]
jmp 0x44f3e4
mov eax, dword [esp]
mov ebp, dword [esp + 8]
mov edi, dword [esp + 4]
xor ebx, ebx
push eax
call sym.adb.exe_BN_MONT_CTX_free
add esp, 4
mov eax, dword [esp + 0xc]
test edi, edi
jne 0x44f405
test eax, eax
je 0x44f405
push ebp
push eax
call sym.adb.exe_OPENSSL_cleanse
add esp, 8
push edi
call sym.adb.exe_OPENSSL_free
add esp, 4
jmp 0x44ee78
push dword [esp + 0x74]
push dword [esp + 0x20]
push esi
push dword [esp + 0x70]
call sym.adb.exe_BN_from_montgomery
add esp, 0x10
xor ebx, ebx
test eax, eax
mov eax, dword [esp]
mov ebp, dword [esp + 8]
setne bl
jmp 0x44f3e6