Function at 0x5313a0
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 edi, dword [ebp + 0x14]
mov eax, dword [0x7a8498]
xor eax, ebp
mov dword [esp + 0x78], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x60], xmm0
mov dword [esp + 0x70], 0xffffffff
movdqa xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0xffffffff
mov esi, dword [edi + 4]
test esi, esi
jle 0x5313ed
mov eax, dword [edi]
mov ebx, dword [eax]
test bl, 1
jne 0x5313fb
push 0x392
push str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
push 0x68
jmp 0x531445
cmp dword [edi + 0xc], 0
je 0x53140f
push 0x396
push str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
push 0x6d
jmp 0x531445
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0xc], 0
jne 0x531439
mov ecx, dword [ecx]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
push esi
push dword [esp + 8]
call fcn.0052cb40
mov ecx, dword [esp + 0xc]
add esp, 8
test eax, eax
js 0x531468
push 0x39a
push str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
push 0x6b
push 0
push 3
call fcn.00590370
add esp, 0x14
xor ebx, ebx
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.006c9121
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x53183c
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
test eax, eax
jne 0x531499
push dword [ebp + 0x18]
push edi
call fcn.00530730
add esp, 8
mov ecx, eax
test eax, eax
je 0x5318a3
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov edx, dword [eax + 0x18]
mov ecx, 6
mov eax, dword [esp + 0x1c]
cmp eax, 0x1d
jg 0x5314d6
mov ecx, 5
cmp eax, 9
jg 0x5314d6
mov ecx, 4
cmp eax, 2
jg 0x5314d6
xor eax, eax
cmp dword [esp + 0x1c], 0
setg al
lea ecx, [eax + eax]
add ecx, 1
mov edi, 1
shl edi, cl
mov ebx, edx
mov dword [esp + 0x18], ecx
shl ebx, cl
mov dword [esp + 0x10], edx
lea ecx, [edx + edx]
cmp ecx, edi
mov esi, edi
mov dword [esp + 0x14], ecx
cmovg esi, ecx
add esi, ebx
lea eax, [esi*4 + 0x40]
shl esi, 2
push eax
call fcn.004c9bb0
add esp, 4
test eax, eax
je 0x53188e
mov dword [esp + 0x24], eax
and eax, 0xffffffc0
add eax, 0x40
test esi, esi
mov dword [esp], eax
je 0x531535
push esi
push 0
push eax
call fcn.006ccfc0
mov eax, dword [esp + 0xc]
add esp, 0xc
mov dword [esp + 0xc], esi
lea eax, [eax + ebx*4]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x10]
lea eax, [eax + ecx*4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x50], 2
mov dword [esp + 0x70], 2
lea eax, [esp + 0x60]
mov esi, dword [ebp + 0x18]
push esi
mov esi, dword [esp + 8]
push esi
push eax
call fcn.00531ba0
add esp, 0xc
xor ebx, ebx
test eax, eax
je 0x531b59
lea eax, [esp + 0x40]
push dword [ebp + 0x18]
push esi
push esi
push dword [ebp + 0xc]
push eax
call fcn.00530960
add esp, 0x14
test eax, eax
je 0x531b59
lea eax, [esp + 0x60]
push eax
mov esi, dword [esp + 0x14]
push esi
push dword [esp + 8]
call fcn.0052c150
add esp, 0xc
mov eax, dword [esp]
lea eax, [eax + esi*4]
lea ecx, [esp + 0x40]
push ecx
push esi
push eax
call fcn.0052c150
add esp, 0xc
cmp dword [esp + 0x18], 2
jb 0x5318b8
push dword [ebp + 0x18]
push dword [esp + 8]
lea eax, [esp + 0x48]
push eax
push eax
lea esi, [esp + 0x70]
push esi
call fcn.00530960
add esp, 0x14
test eax, eax
je 0x531b59
mov eax, dword [esp]
mov ecx, dword [esp + 0x14]
lea eax, [eax + ecx*4]
push esi
mov esi, dword [esp + 0x14]
push esi
push eax
call fcn.0052c150
add esp, 0xc
lea eax, [esi*4]
cmp edi, 5
mov ecx, 4
cmovae ecx, edi
mov dword [esp + 0x20], ecx
lea ecx, [esi + 0x1c]
mov dword [esp + 0x2c], ecx
mov esi, 3
mov dword [esp + 0x3c], eax
jmp 0x531682
push 0x135
push str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x6d
push 0
push 3
call fcn.00590370
add esp, 0x14
mov esi, dword [esp + 0x14]
add esi, 1
cmp esi, dword [esp + 0x20]
je 0x5318b8
push dword [ebp + 0x18]
push dword [esp + 8]
lea ecx, [esp + 0x68]
push ecx
lea eax, [esp + 0x4c]
push eax
push ecx
call fcn.00530960
add esp, 0x14
test eax, eax
je 0x531b59
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x14], esi
jne 0x531659
mov edi, dword [esp + 0x64]
mov edx, edi
mov ecx, dword [esp + 0x10]
sub edx, ecx
jbe 0x5317ff
mov eax, dword [esp + 0x60]
mov dword [esp + 0x28], eax
xor eax, eax
cmp edx, 8
jb 0x5317d6
mov dword [esp + 0x38], edx
mov ecx, edx
and ecx, 0xfffffff8
lea edx, [ecx - 8]
mov eax, edx
shr eax, 3
add eax, 1
mov esi, eax
and esi, 3
mov dword [esp + 0x34], esi
cmp edx, 0x18
mov dword [esp + 0x30], edi
jae 0x531706
pxor xmm0, xmm0
xor edx, edx
pxor xmm1, xmm1
jmp 0x531775
and eax, 0xfffffffc
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
lea esi, [esi + edx*4]
pxor xmm0, xmm0
xor edx, edx
pxor xmm1, xmm1
movdqu xmm2, xmmword [esi + edx*4 - 0x70]
por xmm2, xmm0
movdqu xmm0, xmmword [esi + edx*4 - 0x60]
por xmm0, xmm1
movdqu xmm1, xmmword [esi + edx*4 - 0x50]
movdqu xmm3, xmmword [esi + edx*4 - 0x40]
movdqu xmm4, xmmword [esi + edx*4 - 0x30]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [esi + edx*4 - 0x20]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [esi + edx*4 - 0x10]
por xmm0, xmm4
movdqu xmm1, xmmword [esi + edx*4]
por xmm1, xmm2
add edx, 0x20
add eax, 0xfffffffc
jne 0x53171e
mov edi, dword [esp + 0x34]
test edi, edi
mov esi, dword [esp + 0x14]
je 0x5317ae
add edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
lea eax, [eax + edx*4]
add eax, 0x10
shl edi, 5
xor edx, edx
movdqu xmm2, xmmword [eax + edx - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [eax + edx]
por xmm1, xmm2
add edx, 0x20
cmp edi, edx
jne 0x531794
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
por xmm0, xmm1
movd eax, xmm0
cmp dword [esp + 0x38], ecx
je 0x5317e4
add ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
or eax, dword [edx + ecx*4]
add ecx, 1
cmp edi, ecx
jne 0x5317da
mov ecx, dword [esp + 0x10]
mov edi, ecx
test eax, eax
je 0x5317ff
push 0x13c
push str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c
push 0x66
jmp 0x531665
mov eax, esi
imul eax, ecx
mov ecx, dword [esp]
lea esi, [ecx + eax*4]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x53181e
push eax
push 0
push esi
call fcn.006ccfc0
add esp, 0xc
shl edi, 2
test edi, edi
je 0x531671
push edi
push dword [esp + 0x64]
push esi
call fcn.006cca40
add esp, 0xc
jmp 0x531671
xor ebx, 1
cmp esi, 2
jb 0x5319f7
lea edx, [esi - 1]
mov eax, 1
cmp edx, 8
jb 0x5319ed
mov dword [esp + 0x18], edx
mov eax, edx
and eax, 0xfffffff8
movd xmm0, ebx
lea ebx, [eax - 8]
mov edi, ebx
shr edi, 3
add edi, 1
mov edx, edi
and edx, 3
cmp ebx, 0x18
jae 0x531938
pxor xmm1, xmm1
xor ebx, ebx
mov ecx, dword [esp + 4]
jmp 0x53199d
xor ebx, ebx
mov dword [esp + 0x24], 0
xor edi, edi
mov eax, dword [esp + 8]
jmp 0x531b64
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x24], 0
xor esi, esi
xor edi, edi
jmp 0x531b64
mov ecx, dword [esp + 0x1c]
shl ecx, 5
lea eax, [ecx - 1]
mov edi, eax
cdq
idiv dword [esp + 0x18]
xor ebx, ebx
test edx, edx
js 0x531a4c
add ecx, 0xfffffffe
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
lea esi, [edx + 1]
xor eax, eax
mov ecx, edi
jmp 0x5318f3
or eax, edi
add ecx, 0xffffffff
add esi, 0xffffffff
test esi, esi
jle 0x531929
mov edi, eax
add edi, eax
mov eax, 0
test ecx, ecx
js 0x5318e7
mov edx, ecx
shr edx, 5
mov eax, 0
mov dword [esp + 0x14], edi
mov edi, dword [ebp + 0x10]
cmp edx, dword [edi + 4]
mov edi, dword [esp + 0x14]
jae 0x5318e7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + edx*4]
shr eax, cl
and eax, 1
jmp 0x5318e7
mov ecx, dword [esp + 0x1c]
sub ecx, dword [esp + 0x20]
mov edi, ecx
jmp 0x531a4e
and edi, 0xfffffffc
pxor xmm1, xmm1
xor ebx, ebx
mov ecx, dword [esp + 4]
movdqu xmm2, xmmword [ecx + ebx*4 + 4]
por xmm2, xmm0
movdqu xmm0, xmmword [ecx + ebx*4 + 0x14]
por xmm0, xmm1
movdqu xmm1, xmmword [ecx + ebx*4 + 0x24]
movdqu xmm3, xmmword [ecx + ebx*4 + 0x34]
movdqu xmm4, xmmword [ecx + ebx*4 + 0x44]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [ecx + ebx*4 + 0x54]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [ecx + ebx*4 + 0x64]
por xmm0, xmm4
movdqu xmm1, xmmword [ecx + ebx*4 + 0x74]
por xmm1, xmm2
add ebx, 0x20
add edi, 0xfffffffc
jne 0x531945
test edx, edx
je 0x5319c6
lea edi, [ebx*4]
or edi, 4
movdqu xmm2, xmmword [ecx + edi]
por xmm0, xmm2
movdqu xmm2, xmmword [ecx + edi + 0x10]
por xmm1, xmm2
add ebx, 8
add edx, 0xffffffff
jne 0x5319a1
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
pshufd xmm0, xmm1, 0x55
por xmm0, xmm1
movd ebx, xmm0
cmp dword [esp + 0x18], eax
je 0x5319f7
or eax, 1
mov ecx, dword [esp + 4]
or ebx, dword [ecx + eax*4]
add eax, 1
cmp esi, eax
jne 0x5319ed
test ebx, ebx
je 0x531a31
push 1
mov esi, dword [ebp + 8]
push esi
call fcn.0052b1b0
add esp, 8
test eax, eax
je 0x531451
mov dword [esi + 0xc], 0
mov eax, dword [esi]
mov dword [eax], 1
mov dword [esi + 4], 1
mov ebx, 1
jmp 0x531453
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov ebx, 1
jmp 0x531453
xor eax, eax
lea ecx, [esp + 0x60]
mov edx, dword [esp + 0x10]
push dword [esp + 0x18]
push eax
push dword [esp + 8]
call fcn.00531c30
add esp, 0xc
test eax, eax
mov esi, dword [esp + 0xc]
je 0x531b35
test edi, edi
mov eax, dword [esp + 0x18]
js 0x531b3b
mov dword [esp + 0x1c], edi
sub edi, eax
mov dword [esp + 0x20], edi
xor ebx, ebx
xor edi, edi
xor esi, esi
jmp 0x531a9e
or esi, eax
add edi, 0xffffffff
mov eax, dword [esp + 0x18]
add eax, edi
je 0x531af5
push dword [ebp + 0x18]
push dword [esp + 8]
lea eax, [esp + 0x68]
push eax
push eax
push eax
call fcn.00530960
add esp, 0x14
test eax, eax
je 0x531b59
mov eax, dword [esp + 0x1c]
lea ecx, [eax + edi]
mov eax, esi
add eax, esi
xor esi, esi
test ecx, ecx
js 0x531a91
mov edx, ecx
shr edx, 5
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x10]
cmp edx, dword [eax + 4]
mov eax, dword [esp + 0x14]
jae 0x531a91
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
mov eax, dword [esp + 0x14]
mov esi, dword [esi + edx*4]
shr esi, cl
and esi, 1
jmp 0x531a91
lea edi, [esp + 0x40]
mov ecx, edi
mov edx, dword [esp + 0x10]
push dword [esp + 0x18]
push esi
push dword [esp + 8]
call fcn.00531c30
add esp, 0xc
xor ebx, ebx
test eax, eax
je 0x531b59
push dword [ebp + 0x18]
push dword [esp + 8]
push edi
lea eax, [esp + 0x6c]
push eax
push eax
call fcn.00530960
add esp, 0x14
mov edi, dword [esp + 0x20]
jmp 0x531a67
mov eax, dword [esp + 8]
jmp 0x531b61
push dword [ebp + 0x18]
push dword [esp + 8]
lea eax, [esp + 0x68]
push eax
push dword [ebp + 8]
call fcn.00530b20
add esp, 0x10
xor ebx, ebx
test eax, eax
setne bl
mov eax, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edi, dword [esp]
push eax
call fcn.00530c20
add esp, 4
test edi, edi
mov eax, dword [esp + 0x24]
je 0x531b87
test eax, eax
jne 0x531b87
push esi
push edi
call fcn.004c9c70
mov eax, dword [esp + 0x2c]
add esp, 8
push eax
call fcn.004c9be0
add esp, 4
jmp 0x531453