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

Disassembly:
mov eax, 0x64
call fcn.1001d6a0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x7c]
push edi
mov eax, dword [esi + 4]
test eax, eax
jle 0x100582f5
mov ecx, dword [esi]
mov edx, dword [ecx + eax*4 - 4]
test edx, edx
jne 0x100582f5
push 0xc3
push str..crypto_bn_bn_div.c
push 0x6b
push 0x6b
push 3
call fcn.1001e430
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
test byte [esi + 0x10], 4
mov eax, dword [esp + 0x84]
jne 0x10058722
test byte [eax + 0x10], 4
jne 0x10058722
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x10058339
push 0xd5
push str..crypto_bn_bn_div.c
push 0x67
push 0x6b
push 3
call fcn.1001e430
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
push eax
push esi
call fcn.1002a590
add esp, 8
test eax, eax
jge 0x10058381
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x10058361
push esi
push eax
call fcn.1002a1d0
add esp, 8
test eax, eax
je 0x10058b3d
mov eax, dword [esp + 0x78]
test eax, eax
je 0x10058374
push 0
push eax
call fcn.1002a2d0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x64
ret
mov edi, dword [esp + 0x88]
push edi
call fcn.1002e300
push edi
call fcn.1002e450
push edi
mov dword [esp + 0x28], eax
call fcn.1002e450
mov esi, eax
push edi
mov dword [esp + 0x38], esi
call fcn.1002e450
mov ebx, dword [esp + 0x88]
add esp, 0x10
mov ebp, eax
test ebx, ebx
mov dword [esp + 0x10], ebp
jne 0x100583c9
push edi
call fcn.1002e450
add esp, 4
mov ebx, eax
test ebp, ebp
je 0x10058708
test ebx, ebx
je 0x10058708
mov edx, dword [esp + 0x84]
push edx
call fcn.10029e50
and eax, 0x8000001f
jns 0x100583f2
dec eax
or eax, 0xffffffe0
inc eax
mov edi, 0x20
sub edi, eax
mov eax, dword [esp + 0x88]
push edi
push eax
push ebp
call fcn.10036460
add esp, 0x10
test eax, eax
je 0x10058708
mov ecx, dword [esp + 0x80]
add edi, 0x20
push edi
push ecx
push esi
mov dword [ebp + 0xc], 0
mov dword [esp + 0x38], edi
call fcn.10036460
add esp, 0xc
test eax, eax
je 0x10058708
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 4]
xor ecx, ecx
mov ebp, eax
mov dword [esi + 0xc], ecx
mov edi, dword [edx + 4]
sub ebp, edi
mov dword [esp + 0x58], ecx
mov edx, dword [esi]
mov dword [esp + 0x50], edi
lea ecx, [ebp*4]
mov dword [esp + 0x24], edi
add edx, ecx
mov dword [esp + 0x4c], edx
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0x10]
sub ecx, ebp
mov dword [esp + 0x54], ecx
cmp edi, 1
mov ecx, dword [edx]
mov edx, dword [ecx + edi*4 - 4]
mov dword [esp + 0x14], edx
jne 0x1005848f
mov dword [esp + 0x18], 0
jmp 0x10058497
mov ecx, dword [ecx + edi*4 - 8]
mov dword [esp + 0x18], ecx
mov edx, dword [esi]
mov ecx, dword [esp + 0x84]
lea eax, [edx + eax*4 - 4]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0xc]
lea eax, [ebp + 1]
xor edx, ecx
mov ecx, dword [ebx + 8]
cmp eax, ecx
mov dword [ebx + 0xc], edx
jg 0x100584c8
mov eax, ebx
jmp 0x100584d2
push eax
push ebx
call fcn.1002a0d0
add esp, 8
test eax, eax
je 0x10058708
mov ecx, dword [ebx]
mov dword [ebx + 4], ebp
lea eax, [edi + 1]
lea edx, [ecx + ebp*4 - 4]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x84], edx
cmp eax, dword [ecx + 8]
jg 0x100584fa
mov eax, ecx
jmp 0x10058508
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.1002a0d0
add esp, 8
test eax, eax
je 0x10058708
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x4c]
push ecx
push edx
call fcn.1002a590
add esp, 8
test eax, eax
jl 0x1005854b
mov eax, dword [esp + 0x10]
push edi
mov ecx, dword [eax]
mov eax, dword [esp + 0x50]
push ecx
push eax
push eax
call fcn.10053d90
mov edx, dword [esp + 0x94]
add esp, 0x10
mov dword [edx], 1
jmp 0x1005854e
dec dword [ebx + 4]
mov eax, dword [ebx + 4]
test eax, eax
jne 0x1005855e
mov dword [ebx + 0xc], 0
jmp 0x10058566
sub dword [esp + 0x84], 4
dec ebp
test ebp, ebp
jle 0x1005869d
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x20], ebp
mov eax, dword [ecx]
mov esi, dword [ecx - 4]
cmp eax, dword [esp + 0x14]
jne 0x1005858a
or ebp, 0xffffffff
jmp 0x1005860f
mov edi, dword [esp + 0x14]
xor edx, edx
xor ecx, ecx
or eax, edx
push edx
or ecx, esi
push edi
push eax
push ecx
call fcn.1006b4c0
mov ecx, dword [esp + 0x18]
mov ebp, eax
imul eax, edi
xor ebx, ebx
sub esi, eax
push ebx
push ecx
push ebx
push ebp
call fcn.1001d660
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x78]
xor edi, edi
mov ecx, esi
mov eax, dword [eax - 8]
mov dword [esp + 0x34], eax
or edi, eax
xor eax, eax
or ecx, eax
cmp edx, ecx
jb 0x1005860f
ja 0x100585da
cmp dword [esp + 0x3c], edi
jbe 0x1005860f
mov eax, dword [esp + 0x14]
dec ebp
add esi, eax
cmp esi, eax
jb 0x1005860f
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
sub edi, ecx
mov dword [esp + 0x3c], edi
mov ecx, esi
sbb edx, ebx
xor edi, edi
or edi, eax
xor eax, eax
or ecx, eax
cmp edx, ecx
ja 0x100585da
jb 0x1005860f
cmp dword [esp + 0x3c], edi
ja 0x100585da
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
push ebp
mov edx, dword [ebx]
mov eax, dword [edi]
push esi
push edx
push eax
call fcn.10053a30
mov ecx, dword [edi]
mov dword [ecx + esi*4], eax
mov eax, dword [esp + 0x5c]
sub eax, 4
lea ecx, [esi + 1]
mov dword [esp + 0x5c], eax
mov edx, dword [edi]
push ecx
push edx
push eax
push eax
call fcn.10053d90
add esp, 0x20
test eax, eax
je 0x1005866c
mov eax, dword [ebx]
push esi
push eax
mov eax, dword [esp + 0x54]
push eax
push eax
dec ebp
call fcn.10053c80
add esp, 0x10
test eax, eax
je 0x1005866c
mov ecx, dword [esp + 0x78]
inc dword [ecx]
jmp 0x10058670
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x84]
add ecx, 0xfffffffc
mov dword [esp + 0x78], ecx
mov dword [eax], ebp
sub eax, 4
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x20], eax
jne 0x10058577
mov esi, dword [esp + 0x28]
mov eax, dword [esi + 4]
test eax, eax
jle 0x100586c0
mov ecx, dword [esi]
lea eax, [ecx + eax*4 - 4]
mov edx, dword [eax]
sub eax, 4
test edx, edx
jne 0x100586c0
mov edx, dword [esi + 4]
dec edx
mov ecx, edx
mov dword [esi + 4], edx
test ecx, ecx
jg 0x100586aa
mov edi, dword [esp + 0x7c]
test edi, edi
je 0x100586eb
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x80]
push ecx
push esi
mov ebx, dword [eax + 0xc]
push edi
call fcn.100365a0
mov eax, dword [edi + 4]
add esp, 0xc
test eax, eax
je 0x100586eb
mov dword [edi + 0xc], ebx
mov edx, dword [esp + 0x88]
push edx
call fcn.1002e3e0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov eax, dword [esp + 0x88]
push eax
call fcn.1002e3e0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x1005874e
push 0x1b6
push str..crypto_bn_bn_div.c
push 0x67
push 0x8a
push 3
call fcn.1001e430
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov edi, dword [esp + 0x88]
push edi
call fcn.1002e300
push edi
call fcn.1002e450
push edi
mov dword [esp + 0x20], eax
call fcn.1002e450
mov esi, eax
push edi
mov dword [esp + 0x44], esi
call fcn.1002e450
mov ebp, eax
mov eax, dword [esp + 0x88]
add esp, 0x10
mov dword [esp + 0x20], ebp
test eax, eax
jne 0x10058794
push edi
call fcn.1002e450
add esp, 4
test ebp, ebp
mov dword [esp + 0x78], eax
je 0x10058b2d
test eax, eax
je 0x10058b2d
mov ebx, dword [esp + 0x84]
push ebx
call fcn.10029e50
and eax, 0x8000001f
jns 0x100587c1
dec eax
or eax, 0xffffffe0
inc eax
mov edi, 0x20
sub edi, eax
push edi
push ebx
push ebp
call fcn.10036460
add esp, 0x10
test eax, eax
je 0x10058b2d
mov ecx, dword [esp + 0x80]
add edi, 0x20
push edi
xor ebx, ebx
push ecx
push esi
mov dword [ebp + 0xc], ebx
mov dword [esp + 0x48], edi
call fcn.10036460
add esp, 0xc
test eax, eax
je 0x10058b2d
mov ecx, dword [esi + 4]
mov dword [esi + 0xc], ebx
mov eax, dword [ebp + 4]
lea edx, [eax + 1]
cmp ecx, edx
jg 0x1005885a
mov ecx, dword [esi + 8]
add eax, 2
cmp eax, ecx
jg 0x1005881f
mov eax, esi
jmp 0x10058829
push eax
push esi
call fcn.1002a0d0
add esp, 8
cmp eax, ebx
je 0x10058b2d
mov ecx, dword [ebp + 4]
mov eax, dword [esi + 4]
add ecx, 2
cmp eax, ecx
jge 0x1005884f
mov edx, dword [esi]
inc eax
mov dword [edx + eax*4 - 4], ebx
mov ecx, dword [ebp + 4]
add ecx, 2
cmp eax, ecx
jl 0x1005883e
mov edx, dword [ebp + 4]
add edx, 2
mov dword [esi + 4], edx
jmp 0x10058889
lea eax, [ecx + 1]
mov ecx, dword [esi + 8]
cmp eax, ecx
jg 0x10058868
mov eax, esi
jmp 0x10058872
push eax
push esi
call fcn.1002a0d0
add esp, 8
cmp eax, ebx
je 0x10058b2d
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ecx + eax*4], ebx
mov eax, dword [esi + 4]
inc eax
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov ebx, dword [ebp + 4]
mov ecx, dword [esi]
mov ebp, dword [ebp]
mov edi, eax
mov dword [esp + 0x28], ebx
sub edi, ebx
cmp ebx, 1
lea edx, [ecx + edi*4]
mov dword [esp + 0x60], edx
mov edx, dword [ebp + ebx*4 - 4]
mov dword [esp + 0x1c], edx
jne 0x100588ba
mov dword [esp + 0x18], 0
jmp 0x100588c2
mov edx, dword [ebp + ebx*4 - 8]
mov dword [esp + 0x18], edx
lea ebp, [ecx + eax*4 - 4]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], ebp
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0xc]
lea eax, [edi + 1]
xor edx, ecx
mov ecx, dword [esp + 0x78]
mov dword [ecx + 0xc], edx
mov edx, dword [ecx + 8]
cmp eax, edx
jg 0x100588f5
mov eax, ecx
jmp 0x10058903
mov ecx, dword [esp + 0x78]
push eax
push ecx
call fcn.1002a0d0
add esp, 8
test eax, eax
je 0x10058b2d
mov eax, dword [esp + 0x78]
lea ecx, [edi - 1]
inc ebx
mov dword [esp + 0x2c], ecx
mov edx, dword [eax]
mov dword [eax + 4], ecx
lea eax, [edx + edi*4 - 4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x14]
cmp ebx, dword [eax + 8]
jle 0x10058940
mov ecx, eax
push ebx
push ecx
call fcn.1002a0d0
mov ecx, dword [esp + 0x34]
add esp, 8
test eax, eax
je 0x10058b2d
mov eax, dword [esp + 0x78]
mov edx, dword [eax + 4]
test edx, edx
jne 0x1005895c
mov dword [eax + 0xc], 0
jmp 0x10058964
sub dword [esp + 0x84], 4
test ecx, ecx
jle 0x10058a9b
mov dword [esp + 0x24], ecx
mov eax, dword [ebp]
mov ecx, dword [esp + 0x1c]
mov esi, dword [ebp - 4]
cmp eax, ecx
jne 0x10058986
or ebp, 0xffffffff
jmp 0x10058a0d
mov edi, dword [esp + 0x1c]
xor ecx, ecx
xor edx, edx
or eax, ecx
push ecx
or edx, esi
push edi
push eax
push edx
call fcn.1006b4c0
mov ebp, eax
mov eax, dword [esp + 0x18]
mov edx, ebp
xor ebx, ebx
imul edx, edi
push ebx
push eax
push ebx
push ebp
sub esi, edx
call fcn.1001d660
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
xor edi, edi
mov eax, dword [ecx - 8]
mov ecx, esi
mov dword [esp + 0x44], eax
or edi, eax
xor eax, eax
or ecx, eax
cmp edx, ecx
jb 0x10058a0d
ja 0x100589d8
cmp dword [esp + 0x2c], edi
jbe 0x10058a0d
mov eax, dword [esp + 0x1c]
dec ebp
add esi, eax
cmp esi, eax
jb 0x10058a0d
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
sub edi, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], edi
mov ecx, esi
sbb edx, ebx
xor edi, edi
or edi, eax
xor eax, eax
or ecx, eax
cmp edx, ecx
ja 0x100589d8
jb 0x10058a0d
cmp dword [esp + 0x2c], edi
ja 0x100589d8
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
push ebp
mov edx, dword [ecx]
mov eax, dword [ebx]
push edi
push edx
push eax
call fcn.10053a30
mov ecx, dword [ebx]
mov esi, dword [esp + 0x70]
sub esi, 4
mov dword [ecx + edi*4], eax
mov edx, dword [ebx]
lea eax, [edi + 1]
mov dword [esp + 0x70], esi
push eax
push edx
push esi
push esi
call fcn.10053d90
add esp, 0x20
test eax, eax
je 0x10058a6a
mov eax, dword [esp + 0x20]
push edi
dec ebp
mov ecx, dword [eax]
push ecx
push esi
push esi
call fcn.10053c80
add esp, 0x10
test eax, eax
je 0x10058a6a
mov ecx, dword [esp + 0x10]
inc dword [ecx]
jmp 0x10058a6e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x84]
mov dword [eax], ebp
sub eax, 4
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x24]
lea ebp, [ecx - 4]
dec eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x24], eax
jne 0x10058970
mov esi, dword [esp + 0x34]
mov eax, dword [esi + 4]
test eax, eax
jle 0x10058abe
mov edx, dword [esi]
lea eax, [edx + eax*4 - 4]
mov ecx, dword [eax]
sub eax, 4
test ecx, ecx
jne 0x10058abe
mov edx, dword [esi + 4]
dec edx
mov ecx, edx
mov dword [esi + 4], edx
test ecx, ecx
jg 0x10058aa8
mov edi, dword [esp + 0x7c]
test edi, edi
je 0x10058ae9
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x80]
push eax
push esi
mov ebx, dword [edx + 0xc]
push edi
call fcn.100365a0
mov eax, dword [edi + 4]
add esp, 0xc
test eax, eax
je 0x10058ae9
mov dword [edi + 0xc], ebx
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x10058b10
mov edx, dword [eax]
lea ecx, [edx + ecx*4 - 4]
mov edx, dword [ecx]
sub ecx, 4
test edx, edx
jne 0x10058b10
mov esi, dword [eax + 4]
dec esi
mov edx, esi
mov dword [eax + 4], esi
test edx, edx
jg 0x10058afa
mov eax, dword [esp + 0x88]
push eax
call fcn.1002e3e0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov ecx, dword [esp + 0x88]
push ecx
call fcn.1002e3e0
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret