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

Disassembly:
mov eax, 0x5c
call fcn.0042ed50
mov ecx, dword [esp + 0x64]
push ebx
push esi
mov esi, dword [esp + 0x68]
mov eax, dword [esi]
push edi
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x60], edi
cmp eax, dword [ecx]
je 0x589093
push 0x246
push str..cryptoecec_mult.c
push 0x65
push 0xbb
push 0x10
call fcn.005235f0
add esp, 0x14
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x5c
ret
mov edx, dword [esp + 0x74]
push ebp
mov ebp, dword [esp + 0x7c]
cmp edx, edi
jne 0x5890b6
cmp ebp, edi
jne 0x5890b6
push ecx
push esi
call fcn.00548cb0
add esp, 8
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret
cmp dword [esi + 0xc], edi
je 0x589117
cmp dword [esi + 0x20], edi
je 0x589117
cmp edx, edi
je 0x5890e4
cmp ebp, edi
jne 0x589117
mov eax, dword [esp + 0x88]
push eax
push edi
push edx
push ecx
push esi
call fcn.00588c40
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret
cmp ebp, 1
jne 0x589117
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x80]
push edx
mov edx, dword [eax]
mov eax, dword [esp + 0x88]
push edx
mov edx, dword [eax]
push edx
push ecx
push esi
call fcn.00588c40
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret
xor ecx, ecx
cmp ebp, edi
jbe 0x589137
lea ecx, [ecx]
mov edx, dword [esp + 0x80]
mov edx, dword [edx + ecx*4]
cmp eax, dword [edx]
jne 0x589188
inc ecx
cmp ecx, ebp
jb 0x589120
mov edx, dword [esp + 0x78]
cmp dword [esp + 0x88], edi
jne 0x58915c
call fcn.0054b960
mov dword [esp + 0x60], eax
mov dword [esp + 0x88], eax
cmp eax, edi
je 0x589a5f
mov edx, dword [esp + 0x78]
cmp edx, edi
je 0x58925e
push esi
call fcn.00545b30
mov ebx, eax
add esp, 4
mov dword [esp + 0x5c], ebx
cmp ebx, edi
jne 0x5891ad
push 0x27a
push str..cryptoecec_mult.c
push 0x71
jmp 0x5899a3
push 0x26c
push str..cryptoecec_mult.c
push 0x65
push 0xbb
push 0x10
call fcn.005235f0
add esp, 0x14
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x5c
ret
push 0x5889e0
push fcn.00588980
mov eax, esi
mov ecx, dword [eax + 0x44]
push 0x588950
push ecx
call fcn.005489a0
mov esi, eax
add esp, 0x10
mov dword [esp + 0x3c], esi
cmp esi, edi
je 0x58924d
cmp dword [esi + 8], edi
je 0x58924d
mov edx, dword [esp + 0x88]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x74]
push ecx
push ebx
push edx
call fcn.00549160
add esp, 0x10
test eax, eax
jne 0x58924d
mov eax, dword [esp + 0x78]
mov ebx, dword [esi + 4]
push eax
mov dword [esp + 0x44], ebx
call fcn.00530580
xor edx, edx
div ebx
add esp, 4
mov ebx, eax
mov eax, dword [esi + 8]
inc ebx
mov dword [esp + 0x28], ebx
cmp ebx, eax
jbe 0x589225
mov ebx, eax
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 0xc]
dec ecx
mov edx, 1
shl edx, cl
imul eax, edx
mov dword [esp + 0x58], edx
cmp dword [esi + 0x14], eax
je 0x58925e
push 0x299
push str..cryptoecec_mult.c
push 0x44
jmp 0x5899a3
mov ebx, 1
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], ebx
lea eax, [ebx + ebp]
push 0x2a7
lea esi, [eax*4]
push str..cryptoecec_mult.c
push esi
mov dword [esp + 0x28], eax
call fcn.005290e0
push 0x2a8
mov ebx, eax
push str..cryptoecec_mult.c
push esi
mov dword [esp + 0x4c], ebx
call fcn.005290e0
push 0x2aa
lea ecx, [esi + 4]
push str..cryptoecec_mult.c
push ecx
mov dword [esp + 0x44], eax
call fcn.005290e0
push 0x2ab
push str..cryptoecec_mult.c
push esi
mov dword [esp + 0x40], eax
call fcn.005290e0
add esp, 0x30
mov dword [esp + 0x14], eax
cmp dword [esp + 0x10], edi
je 0x5892d0
mov edx, dword [esp + 0x10]
mov dword [edx], edi
cmp ebx, edi
je 0x589997
cmp dword [esp + 0x20], edi
je 0x589997
cmp dword [esp + 0x10], edi
je 0x589997
cmp dword [esp + 0x14], edi
je 0x589997
mov eax, dword [esp + 0x38]
add eax, ebp
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x2c], eax
cmp eax, edi
jbe 0x589410
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
sub ecx, ebx
sub edi, ebx
sub eax, ebx
mov esi, ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x68], eax
jmp 0x589348
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x78]
cmp dword [esp + 0x18], ebp
jae 0x589358
mov ecx, dword [ecx + esi]
push ecx
jmp 0x589359
push ebx
call fcn.00530580
add esp, 4
cmp eax, 0x7d0
jb 0x58936f
mov eax, 6
jmp 0x58939f
cmp eax, 0x320
jb 0x58937d
mov eax, 5
jmp 0x58939f
cmp eax, 0x12c
jb 0x58938b
mov eax, 4
jmp 0x58939f
cmp eax, 0x46
jb 0x589397
mov eax, 3
jmp 0x58939f
cmp eax, 0x14
sbb eax, eax
add eax, 2
lea ecx, [eax - 1]
mov edx, 1
shl edx, cl
mov dword [esi], eax
mov dword [edi + esi + 4], 0
add dword [esp + 0x30], edx
cmp dword [esp + 0x18], ebp
jae 0x5893c6
mov eax, dword [esp + 0x50]
mov eax, dword [eax + esi]
jmp 0x5893c8
mov eax, ebx
mov ecx, dword [esp + 0x68]
mov edi, dword [esi]
lea ebx, [ecx + esi]
push ebx
push eax
call fcn.00588a50
mov edx, dword [esp + 0x5c]
add esp, 8
mov dword [edx + esi], eax
test eax, eax
je 0x5899b2
mov ebx, dword [ebx]
cmp ebx, dword [esp + 0x24]
jbe 0x5893f6
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x18]
inc eax
add esi, 4
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x2c]
jb 0x589340
mov ebx, dword [esp + 0x34]
cmp dword [esp + 0x28], 0
je 0x5895c4
mov esi, dword [esp + 0x3c]
test esi, esi
jne 0x58943f
cmp dword [esp + 0x38], 1
je 0x5895c4
push 0x2d0
push str..cryptoecec_mult.c
push 0x44
jmp 0x5899a3
cmp dword [esp + 0x38], 0
mov dword [esp + 0x18], 0
je 0x58945f
push 0x2d9
push str..cryptoecec_mult.c
push 0x44
jmp 0x5899a3
mov ecx, dword [esp + 0x78]
mov edi, dword [esi + 0xc]
lea eax, [esp + 0x18]
push eax
push ecx
mov dword [ebx + ebp*4], edi
call fcn.00588a50
mov ecx, eax
add esp, 8
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x5899b2
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
ja 0x5894bb
lea edx, [ebp + 1]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x10]
mov dword [edx + ebp*4], ecx
mov ecx, dword [esp + 0x20]
mov dword [edx + ebp*4 + 4], 0
mov dword [ecx + ebp*4], eax
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x14]
mov dword [eax + ebp*4], edx
jmp 0x5895c4
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
imul edx, edi
cmp eax, edx
jae 0x5894ee
xor edx, edx
lea eax, [eax + edi - 1]
div edi
cmp eax, dword [esi + 8]
jbe 0x5894e8
push 0x306
push str..cryptoecec_mult.c
push 0x44
jmp 0x5899a3
add eax, ebp
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x3c]
mov edi, dword [edx + 0x10]
mov dword [esp + 0x38], ecx
mov ebx, ebp
cmp ebp, dword [esp + 0x1c]
jae 0x5895bb
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov ecx, ebx
lea esi, [eax + ecx*4]
mov ecx, dword [esp + 0x14]
sub ebp, eax
sub ecx, eax
mov dword [esp + 0x68], ecx
mov edi, edi
mov eax, dword [esp + 0x1c]
dec eax
cmp ebx, eax
jae 0x58953f
mov eax, dword [esp + 0x40]
mov dword [esi], eax
cmp dword [esp + 0x18], eax
jb 0x5895f4
sub dword [esp + 0x18], eax
jmp 0x589545
mov edx, dword [esp + 0x18]
mov dword [esi], edx
push 0x320
mov dword [esi + ebp + 4], 0
mov eax, dword [esi]
push str..cryptoecec_mult.c
push eax
call fcn.005290e0
add esp, 0xc
mov dword [esi + ebp], eax
test eax, eax
je 0x589605
mov ecx, dword [esi]
mov edx, dword [esp + 0x38]
push ecx
push edx
push eax
call fcn.00422ff0
mov eax, dword [esi]
add esp, 0xc
cmp eax, dword [esp + 0x24]
jbe 0x58958a
mov dword [esp + 0x24], eax
cmp dword [edi], 0
je 0x58962f
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
add dword [esp + 0x38], edx
mov dword [eax + esi], edi
inc ebx
add esi, 4
lea edi, [edi + ecx*4]
cmp ebx, dword [esp + 0x1c]
jb 0x589520
mov ecx, dword [esp + 0x50]
push ecx
call fcn.005292e0
add esp, 4
mov edx, dword [esp + 0x30]
push 0x33d
lea eax, [edx*4 + 4]
push str..cryptoecec_mult.c
push eax
call fcn.005290e0
add esp, 0xc
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x589659
push 0x33f
jmp 0x58999c
push 0x314
push str..cryptoecec_mult.c
push 0x44
jmp 0x5899a3
push 0x322
push str..cryptoecec_mult.c
push 0x41
push 0xbb
push 0x10
call fcn.005235f0
mov eax, dword [esp + 0x64]
push eax
call fcn.005292e0
add esp, 0x18
jmp 0x5899b2
push 0x32b
push str..cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.005235f0
mov ecx, dword [esp + 0x64]
push ecx
call fcn.005292e0
add esp, 0x18
jmp 0x5899b2
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
lea eax, [edi + ecx*4]
xor ebp, ebp
mov dword [esp + 0x58], eax
mov dword [eax], 0
cmp dword [esp + 0x2c], ebp
jbe 0x5896db
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
sub eax, esi
mov dword [esp + 0x68], eax
mov dword [eax + esi], edi
mov ecx, dword [esi]
dec ecx
mov edx, 1
shl edx, cl
xor ebx, ebx
test edx, edx
jbe 0x5896cd
jmp 0x5896a0
mov eax, dword [esp + 0x70]
push eax
call fcn.00548ac0
add esp, 4
mov dword [edi], eax
test eax, eax
je 0x5899b2
mov ecx, dword [esi]
dec ecx
mov edx, 1
shl edx, cl
inc ebx
add edi, 4
cmp ebx, edx
jb 0x5896a0
mov eax, dword [esp + 0x68]
inc ebp
add esi, 4
cmp ebp, dword [esp + 0x2c]
jb 0x589684
mov eax, dword [esp + 0x58]
cmp edi, eax
je 0x5896f0
push 0x350
push str..cryptoecec_mult.c
push 0x44
jmp 0x5899a3
mov eax, dword [esp + 0x70]
push eax
call fcn.00548ac0
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x5899b2
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
jbe 0x5897e3
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x34]
sub edi, esi
mov dword [esp + 0x68], edi
sub ebx, esi
lea esp, [esp]
mov edx, dword [esi]
mov eax, dword [edx]
cmp ebp, dword [esp + 0x7c]
jae 0x58973f
mov ecx, dword [edi + esi]
jmp 0x589743
mov ecx, dword [esp + 0x5c]
push ecx
push eax
call fcn.00548be0
add esp, 8
test eax, eax
je 0x5899b2
cmp dword [ebx + esi], 1
jbe 0x5897d5
mov edx, dword [esi]
mov ecx, dword [esp + 0x88]
mov eax, dword [edx]
mov edx, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x4c]
push eax
push ecx
push edx
call fcn.00548fc0
add esp, 0x10
test eax, eax
je 0x5899b2
mov ecx, dword [ebx + esi]
mov edi, 1
dec ecx
mov eax, edi
shl eax, cl
cmp eax, edi
jbe 0x5897d1
mov ecx, dword [esi]
mov edx, dword [esp + 0x88]
lea eax, [ecx + edi*4]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [eax - 4]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x78]
push edx
push eax
push ecx
call fcn.00548f40
add esp, 0x14
test eax, eax
je 0x5899b2
mov ecx, dword [ebx + esi]
dec ecx
mov edx, 1
shl edx, cl
inc edi
cmp edi, edx
jb 0x589793
mov edi, dword [esp + 0x68]
inc ebp
add esi, 4
cmp ebp, dword [esp + 0x2c]
jb 0x589730
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x74]
push ecx
push edx
push eax
call fcn.00549230
add esp, 0x10
test eax, eax
je 0x5899b2
mov ebx, dword [esp + 0x24]
add ebx, 0xffffffff
mov esi, 1
mov dword [esp + 0x40], esi
js 0x589954
test esi, esi
jne 0x589847
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push ecx
push eax
push eax
push edx
call fcn.00548fc0
add esp, 0x10
test eax, eax
je 0x5899b2
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
jbe 0x589947
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
sub ebp, eax
sub eax, edi
mov dword [esp + 0x68], eax
jmp 0x589874
mov eax, dword [esp + 0x68]
add eax, edi
cmp dword [eax + ebp], ebx
jbe 0x58992d
mov eax, dword [eax]
movsx esi, byte [eax + ebx]
test esi, esi
je 0x58992d
xor eax, eax
test esi, esi
setl al
test eax, eax
je 0x58989a
neg esi
cmp eax, dword [esp + 0x44]
je 0x5898d6
cmp dword [esp + 0x40], 0
jne 0x5898c9
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.00549030
add esp, 0xc
test eax, eax
je 0x5899b2
xor ecx, ecx
cmp dword [esp + 0x44], ecx
sete cl
mov dword [esp + 0x44], ecx
sar esi, 1
cmp dword [esp + 0x40], 0
je 0x589904
mov edx, dword [edi]
mov eax, dword [edx + esi*4]
mov ecx, dword [esp + 0x74]
push eax
push ecx
call fcn.00548be0
add esp, 8
test eax, eax
je 0x5899b2
mov dword [esp + 0x40], 0
jmp 0x58992d
mov eax, dword [edi]
mov edx, dword [esp + 0x88]
mov ecx, dword [eax + esi*4]
mov eax, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x74]
push ecx
push eax
push eax
push edx
call fcn.00548f40
add esp, 0x14
test eax, eax
je 0x5899b2
mov eax, dword [esp + 0x18]
inc eax
add edi, 4
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jb 0x589870
mov esi, dword [esp + 0x40]
sub ebx, 1
jns 0x589820
test esi, esi
je 0x589968
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push eax
push ecx
call fcn.00548cb0
add esp, 8
jmp 0x589989
cmp dword [esp + 0x44], 0
je 0x58998d
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push edx
push eax
push ecx
call fcn.00549030
add esp, 0xc
test eax, eax
je 0x5899b2
mov dword [esp + 0x64], 1
jmp 0x5899b2
push 0x2b2
push str..cryptoecec_mult.c
push 0x41
push 0xbb
push 0x10
call fcn.005235f0
add esp, 0x14
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5899c3
push eax
call fcn.0054b9c0
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
je 0x5899d4
push eax
call fcn.00548b70
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x5899e5
push eax
call fcn.005292e0
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x5899f6
push eax
call fcn.005292e0
add esp, 4
mov edi, dword [esp + 0x10]
test edi, edi
je 0x589a22
mov eax, dword [edi]
mov esi, edi
test eax, eax
je 0x589a19
push eax
call fcn.005292e0
mov eax, dword [esi + 4]
add esi, 4
add esp, 4
test eax, eax
jne 0x589a06
push edi
call fcn.005292e0
add esp, 4
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x589a4e
mov eax, dword [edi]
mov esi, edi
test eax, eax
je 0x589a45
push eax
call fcn.00548ba0
mov eax, dword [esi + 4]
add esi, 4
add esp, 4
test eax, eax
jne 0x589a32
push edi
call fcn.005292e0
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x589a5f
push eax
call fcn.005292e0
add esp, 4
mov eax, dword [esp + 0x64]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret