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

Disassembly:
mov eax, 0x5c
call fcn.005679e0
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 0x61e4f3
push 0x246
push str..cryptoecec_mult.c
push 0x65
push 0xbb
push 0x10
call fcn.0059d640
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 0x61e516
cmp ebp, edi
jne 0x61e516
push ecx
push esi
call fcn.005df640
add esp, 8
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret
cmp dword [esi + 0xc], edi
je 0x61e577
cmp dword [esi + 0x20], edi
je 0x61e577
cmp edx, edi
je 0x61e544
cmp ebp, edi
jne 0x61e577
mov eax, dword [esp + 0x88]
push eax
push edi
push edx
push ecx
push esi
call fcn.0061e0a0
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret
cmp ebp, 1
jne 0x61e577
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.0061e0a0
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret
xor ecx, ecx
cmp ebp, edi
jbe 0x61e597
lea ecx, [ecx]
mov edx, dword [esp + 0x80]
mov edx, dword [edx + ecx*4]
cmp eax, dword [edx]
jne 0x61e5e8
inc ecx
cmp ecx, ebp
jb 0x61e580
mov edx, dword [esp + 0x78]
cmp dword [esp + 0x88], edi
jne 0x61e5bc
call fcn.005de870
mov dword [esp + 0x60], eax
mov dword [esp + 0x88], eax
cmp eax, edi
je 0x61eebf
mov edx, dword [esp + 0x78]
cmp edx, edi
je 0x61e6be
push esi
call fcn.005def20
mov ebx, eax
add esp, 4
mov dword [esp + 0x5c], ebx
cmp ebx, edi
jne 0x61e60d
push 0x27a
push str..cryptoecec_mult.c
push 0x71
jmp 0x61ee03
push 0x26c
push str..cryptoecec_mult.c
push 0x65
push 0xbb
push 0x10
call fcn.0059d640
add esp, 0x14
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x5c
ret
push 0x61de40
push fcn.0061dde0
mov eax, esi
mov ecx, dword [eax + 0x44]
push 0x61ddb0
push ecx
call fcn.005df2c0
mov esi, eax
add esp, 0x10
mov dword [esp + 0x3c], esi
cmp esi, edi
je 0x61e6ad
cmp dword [esi + 8], edi
je 0x61e6ad
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.005dfa80
add esp, 0x10
test eax, eax
jne 0x61e6ad
mov eax, dword [esp + 0x78]
mov ebx, dword [esi + 4]
push eax
mov dword [esp + 0x44], ebx
call fcn.005a5680
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 0x61e685
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 0x61e6be
push 0x299
push str..cryptoecec_mult.c
push 0x44
jmp 0x61ee03
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.005b48d0
push 0x2a8
mov ebx, eax
push str..cryptoecec_mult.c
push esi
mov dword [esp + 0x4c], ebx
call fcn.005b48d0
push 0x2aa
lea ecx, [esi + 4]
push str..cryptoecec_mult.c
push ecx
mov dword [esp + 0x44], eax
call fcn.005b48d0
push 0x2ab
push str..cryptoecec_mult.c
push esi
mov dword [esp + 0x40], eax
call fcn.005b48d0
add esp, 0x30
mov dword [esp + 0x14], eax
cmp dword [esp + 0x10], edi
je 0x61e730
mov edx, dword [esp + 0x10]
mov dword [edx], edi
cmp ebx, edi
je 0x61edf7
cmp dword [esp + 0x20], edi
je 0x61edf7
cmp dword [esp + 0x10], edi
je 0x61edf7
cmp dword [esp + 0x14], edi
je 0x61edf7
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 0x61e870
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 0x61e7a8
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x78]
cmp dword [esp + 0x18], ebp
jae 0x61e7b8
mov ecx, dword [ecx + esi]
push ecx
jmp 0x61e7b9
push ebx
call fcn.005a5680
add esp, 4
cmp eax, 0x7d0
jb 0x61e7cf
mov eax, 6
jmp 0x61e7ff
cmp eax, 0x320
jb 0x61e7dd
mov eax, 5
jmp 0x61e7ff
cmp eax, 0x12c
jb 0x61e7eb
mov eax, 4
jmp 0x61e7ff
cmp eax, 0x46
jb 0x61e7f7
mov eax, 3
jmp 0x61e7ff
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 0x61e826
mov eax, dword [esp + 0x50]
mov eax, dword [eax + esi]
jmp 0x61e828
mov eax, ebx
mov ecx, dword [esp + 0x68]
mov edi, dword [esi]
lea ebx, [ecx + esi]
push ebx
push eax
call fcn.0061deb0
mov edx, dword [esp + 0x5c]
add esp, 8
mov dword [edx + esi], eax
test eax, eax
je 0x61ee12
mov ebx, dword [ebx]
cmp ebx, dword [esp + 0x24]
jbe 0x61e856
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 0x61e7a0
mov ebx, dword [esp + 0x34]
cmp dword [esp + 0x28], 0
je 0x61ea24
mov esi, dword [esp + 0x3c]
test esi, esi
jne 0x61e89f
cmp dword [esp + 0x38], 1
je 0x61ea24
push 0x2d0
push str..cryptoecec_mult.c
push 0x44
jmp 0x61ee03
cmp dword [esp + 0x38], 0
mov dword [esp + 0x18], 0
je 0x61e8bf
push 0x2d9
push str..cryptoecec_mult.c
push 0x44
jmp 0x61ee03
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.0061deb0
mov ecx, eax
add esp, 8
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x61ee12
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x24]
ja 0x61e91b
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 0x61ea24
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
imul edx, edi
cmp eax, edx
jae 0x61e94e
xor edx, edx
lea eax, [eax + edi - 1]
div edi
cmp eax, dword [esi + 8]
jbe 0x61e948
push 0x306
push str..cryptoecec_mult.c
push 0x44
jmp 0x61ee03
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 0x61ea1b
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 0x61e99f
mov eax, dword [esp + 0x40]
mov dword [esi], eax
cmp dword [esp + 0x18], eax
jb 0x61ea54
sub dword [esp + 0x18], eax
jmp 0x61e9a5
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.005b48d0
add esp, 0xc
mov dword [esi + ebp], eax
test eax, eax
je 0x61ea65
mov ecx, dword [esi]
mov edx, dword [esp + 0x38]
push ecx
push edx
push eax
call fcn.0055f610
mov eax, dword [esi]
add esp, 0xc
cmp eax, dword [esp + 0x24]
jbe 0x61e9ea
mov dword [esp + 0x24], eax
cmp dword [edi], 0
je 0x61ea8f
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 0x61e980
mov ecx, dword [esp + 0x50]
push ecx
call fcn.005b4ad0
add esp, 4
mov edx, dword [esp + 0x30]
push 0x33d
lea eax, [edx*4 + 4]
push str..cryptoecec_mult.c
push eax
call fcn.005b48d0
add esp, 0xc
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x61eab9
push 0x33f
jmp 0x61edfc
push 0x314
push str..cryptoecec_mult.c
push 0x44
jmp 0x61ee03
push 0x322
push str..cryptoecec_mult.c
push 0x41
push 0xbb
push 0x10
call fcn.0059d640
mov eax, dword [esp + 0x64]
push eax
call fcn.005b4ad0
add esp, 0x18
jmp 0x61ee12
push 0x32b
push str..cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.0059d640
mov ecx, dword [esp + 0x64]
push ecx
call fcn.005b4ad0
add esp, 0x18
jmp 0x61ee12
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 0x61eb3b
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 0x61eb2d
jmp 0x61eb00
mov eax, dword [esp + 0x70]
push eax
call fcn.005df440
add esp, 4
mov dword [edi], eax
test eax, eax
je 0x61ee12
mov ecx, dword [esi]
dec ecx
mov edx, 1
shl edx, cl
inc ebx
add edi, 4
cmp ebx, edx
jb 0x61eb00
mov eax, dword [esp + 0x68]
inc ebp
add esi, 4
cmp ebp, dword [esp + 0x2c]
jb 0x61eae4
mov eax, dword [esp + 0x58]
cmp edi, eax
je 0x61eb50
push 0x350
push str..cryptoecec_mult.c
push 0x44
jmp 0x61ee03
mov eax, dword [esp + 0x70]
push eax
call fcn.005df440
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x61ee12
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
jbe 0x61ec43
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 0x61eb9f
mov ecx, dword [edi + esi]
jmp 0x61eba3
mov ecx, dword [esp + 0x5c]
push ecx
push eax
call fcn.005df560
add esp, 8
test eax, eax
je 0x61ee12
cmp dword [ebx + esi], 1
jbe 0x61ec35
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.005df8e0
add esp, 0x10
test eax, eax
je 0x61ee12
mov ecx, dword [ebx + esi]
mov edi, 1
dec ecx
mov eax, edi
shl eax, cl
cmp eax, edi
jbe 0x61ec31
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.005df860
add esp, 0x14
test eax, eax
je 0x61ee12
mov ecx, dword [ebx + esi]
dec ecx
mov edx, 1
shl edx, cl
inc edi
cmp edi, edx
jb 0x61ebf3
mov edi, dword [esp + 0x68]
inc ebp
add esi, 4
cmp ebp, dword [esp + 0x2c]
jb 0x61eb90
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.005dfb50
add esp, 0x10
test eax, eax
je 0x61ee12
mov ebx, dword [esp + 0x24]
add ebx, 0xffffffff
mov esi, 1
mov dword [esp + 0x40], esi
js 0x61edb4
test esi, esi
jne 0x61eca7
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.005df8e0
add esp, 0x10
test eax, eax
je 0x61ee12
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
jbe 0x61eda7
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 0x61ecd4
mov eax, dword [esp + 0x68]
add eax, edi
cmp dword [eax + ebp], ebx
jbe 0x61ed8d
mov eax, dword [eax]
movsx esi, byte [eax + ebx]
test esi, esi
je 0x61ed8d
xor eax, eax
test esi, esi
setl al
test eax, eax
je 0x61ecfa
neg esi
cmp eax, dword [esp + 0x44]
je 0x61ed36
cmp dword [esp + 0x40], 0
jne 0x61ed29
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.005df950
add esp, 0xc
test eax, eax
je 0x61ee12
xor ecx, ecx
cmp dword [esp + 0x44], ecx
sete cl
mov dword [esp + 0x44], ecx
sar esi, 1
cmp dword [esp + 0x40], 0
je 0x61ed64
mov edx, dword [edi]
mov eax, dword [edx + esi*4]
mov ecx, dword [esp + 0x74]
push eax
push ecx
call fcn.005df560
add esp, 8
test eax, eax
je 0x61ee12
mov dword [esp + 0x40], 0
jmp 0x61ed8d
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.005df860
add esp, 0x14
test eax, eax
je 0x61ee12
mov eax, dword [esp + 0x18]
inc eax
add edi, 4
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jb 0x61ecd0
mov esi, dword [esp + 0x40]
sub ebx, 1
jns 0x61ec80
test esi, esi
je 0x61edc8
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push eax
push ecx
call fcn.005df640
add esp, 8
jmp 0x61ede9
cmp dword [esp + 0x44], 0
je 0x61eded
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push edx
push eax
push ecx
call fcn.005df950
add esp, 0xc
test eax, eax
je 0x61ee12
mov dword [esp + 0x64], 1
jmp 0x61ee12
push 0x2b2
push str..cryptoecec_mult.c
push 0x41
push 0xbb
push 0x10
call fcn.0059d640
add esp, 0x14
mov eax, dword [esp + 0x60]
test eax, eax
je 0x61ee23
push eax
call fcn.005de8d0
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
je 0x61ee34
push eax
call fcn.005df4f0
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x61ee45
push eax
call fcn.005b4ad0
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x61ee56
push eax
call fcn.005b4ad0
add esp, 4
mov edi, dword [esp + 0x10]
test edi, edi
je 0x61ee82
mov eax, dword [edi]
mov esi, edi
test eax, eax
je 0x61ee79
push eax
call fcn.005b4ad0
mov eax, dword [esi + 4]
add esi, 4
add esp, 4
test eax, eax
jne 0x61ee66
push edi
call fcn.005b4ad0
add esp, 4
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x61eeae
mov eax, dword [edi]
mov esi, edi
test eax, eax
je 0x61eea5
push eax
call fcn.005df520
mov eax, dword [esi + 4]
add esi, 4
add esp, 4
test eax, eax
jne 0x61ee92
push edi
call fcn.005b4ad0
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x61eebf
push eax
call fcn.005b4ad0
add esp, 4
mov eax, dword [esp + 0x64]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret