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

Disassembly:
mov eax, 0x4c
call fcn.100657e0
push ebx
mov ebx, dword [esp + 0x54]
xor eax, eax
push ebp
push esi
xor esi, esi
mov dword [esp + 0x4c], 0
push edi
push dword [ebx + 8]
mov dword [esp + 0x48], 0
xor ebp, ebp
mov dword [esp + 0x30], 0
mov dword [esp + 0x18], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x58], eax
call fcn.100e0fd0
mov edi, dword [esp + 0x6c]
add esp, 4
test eax, eax
jne 0x101577fb
push dword [ebx + 0xc]
call fcn.100e0fd0
add esp, 4
test eax, eax
jne 0x101577fb
mov eax, dword [ebx + 8]
cmp edi, eax
je 0x101577c6
test edi, edi
je 0x101577ca
cmp dword [esp + 0x6c], esi
jne 0x10157803
push dword [esp + 0x78]
push ebp
push edi
push dword [esp + 0x70]
push ebx
call fcn.101570e0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
test edi, edi
jne 0x10157803
cmp dword [esp + 0x6c], 1
jne 0x101577fb
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
cmp ecx, eax
je 0x101577fb
push dword [esp + 0x78]
mov eax, dword [esp + 0x74]
push dword [eax]
push ecx
push dword [esp + 0x70]
push ebx
call fcn.101570e0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
test edi, edi
je 0x101578ce
push ebx
call fcn.1002f150
mov ecx, eax
add esp, 4
mov dword [esp + 0x50], ecx
test ecx, ecx
jne 0x10157836
push 0x1cf
push str.....cryptoecec_mult.c
push 0x71
push 0xbb
push 0x10
call fcn.100edac0
add esp, 0x14
jmp 0x10157b89
mov ebp, dword [ebx + 0x64]
mov dword [esp + 0x30], ebp
test ebp, ebp
je 0x101578bb
cmp dword [ebp + 8], esi
je 0x101578bb
mov eax, dword [ebp + 0x10]
push dword [esp + 0x78]
push dword [eax]
push ecx
push ebx
call fcn.1010e890
add esp, 0x10
test eax, eax
jne 0x101578bb
mov esi, dword [ebp + 4]
push edi
mov dword [esp + 0x30], esi
call fcn.100e1090
xor edx, edx
mov ecx, dword [ebp + 0xc]
div esi
mov esi, dword [ebp + 8]
dec ecx
add esp, 4
lea edx, [eax + 1]
mov eax, 1
shl eax, cl
mov dword [esp + 0x48], eax
mov eax, esi
imul eax, dword [esp + 0x48]
cmp dword [ebp + 0x14], eax
je 0x101578b4
push 0x1eb
push str.....cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.100edac0
add esp, 0x14
xor ebp, ebp
jmp 0x10157b89
cmp edx, esi
cmovbe esi, edx
jmp 0x101578ca
xor eax, eax
mov esi, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x6c]
add eax, esi
push 0x1f9
push str.....cryptoecec_mult.c
mov dword [esp + 0x28], eax
lea esi, [eax*4]
push esi
call fcn.100dd300
push 0x1fa
push str.....cryptoecec_mult.c
push esi
mov dword [esp + 0x30], eax
call fcn.100dd300
push 0x1fc
lea ecx, [esi + 4]
mov dword [esp + 0x40], eax
push str.....cryptoecec_mult.c
push ecx
call fcn.100dd300
push 0x1fd
mov ebp, eax
push str.....cryptoecec_mult.c
push esi
mov dword [esp + 0x58], ebp
call fcn.100dd300
add esp, 0x30
mov dword [esp + 0x10], eax
test ebp, ebp
je 0x10157942
mov dword [ebp], 0
cmp dword [esp + 0x18], 0
je 0x1015819e
mov esi, dword [esp + 0x24]
test esi, esi
je 0x1015819e
test ebp, ebp
je 0x1015819e
test eax, eax
je 0x1015819e
mov eax, dword [esp + 0x34]
xor ebp, ebp
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x3c], 0
lea ecx, [eax + edx]
mov dword [esp + 0x38], ecx
test ecx, ecx
je 0x10157a85
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x74]
sub ecx, edi
mov dword [esp + 0x4c], ecx
sub eax, edi
mov ecx, esi
mov dword [esp + 0x74], eax
sub ecx, edi
mov dword [esp + 0x58], ecx
nop word [eax + eax]
mov esi, dword [esp + 0x68]
cmp ebp, edx
jae 0x101579bd
mov eax, dword [eax + edi]
jmp 0x101579bf
mov eax, esi
push eax
call fcn.100e1090
add esp, 4
cmp eax, 0x7d0
jb 0x101579d6
mov ecx, 6
jmp 0x10157a06
cmp eax, 0x320
jb 0x101579e4
mov ecx, 5
jmp 0x10157a06
cmp eax, 0x12c
jb 0x101579f2
mov ecx, 4
jmp 0x10157a06
cmp eax, 0x46
jb 0x101579fe
mov ecx, 3
jmp 0x10157a06
cmp eax, 0x14
sbb ecx, ecx
add ecx, 2
mov dword [edi], ecx
mov eax, 1
dec ecx
shl eax, cl
add dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4c]
mov dword [eax + edi + 4], 0
cmp ebp, dword [esp + 0x6c]
jae 0x10157a2f
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + edi]
jmp 0x10157a31
mov eax, esi
mov esi, dword [esp + 0x58]
add esi, edi
push esi
push dword [edi]
push eax
call fcn.101405c0
mov ecx, dword [esp + 0x58]
add esp, 0xc
mov dword [ecx + edi], eax
test eax, eax
je 0x10157b85
mov eax, dword [esi]
cmp eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x6c]
cmovbe eax, dword [esp + 0x1c]
inc ebp
mov ecx, eax
add edi, 4
mov eax, dword [esp + 0x74]
mov dword [esp + 0x1c], ecx
cmp ebp, dword [esp + 0x38]
jb 0x101579b0
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x14], 0
je 0x10157d82
mov esi, dword [esp + 0x30]
test esi, esi
jne 0x10157ac1
cmp eax, 1
je 0x10157d82
push 0x222
push str.....cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.100edac0
add esp, 0x14
jmp 0x10157b85
mov dword [esp + 0x30], 0
test eax, eax
je 0x10157ad4
push 0x22b
jmp 0x10157aa6
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0xc]
mov dword [ecx + edx*4], eax
lea ecx, [esp + 0x30]
push ecx
push eax
push edi
call fcn.101405c0
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x34], ebp
test ebp, ebp
je 0x10157b85
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x1c]
ja 0x10157b35
mov edx, dword [esp + 0x6c]
lea eax, [edx + 1]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
mov dword [eax + edx*4], ebp
mov dword [eax + edx*4 + 4], 0
mov eax, dword [esp + 0x24]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x10]
mov dword [ecx + edx*4], eax
jmp 0x10157d82
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
imul eax, edi
cmp ecx, eax
jae 0x10157c61
lea eax, [edi - 1]
xor edx, edx
add eax, ecx
div edi
cmp eax, dword [esi + 8]
jbe 0x10157c55
push 0x256
push str.....cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.100edac0
push 0x257
push str.....cryptoecec_mult.c
push ebp
call fcn.100dd330
add esp, 0x20
mov ebp, dword [esp + 0x10]
xor edi, edi
push dword [esp + 0x44]
call fcn.1010ea30
push 0x30d
push str.....cryptoecec_mult.c
push dword [esp + 0x24]
call fcn.100dd330
push 0x30e
push str.....cryptoecec_mult.c
push dword [esp + 0x3c]
call fcn.100dd330
mov ebx, dword [esp + 0x44]
add esp, 0x1c
test ebx, ebx
je 0x10157c00
mov eax, dword [ebx]
mov esi, ebx
test eax, eax
je 0x10157bed
nop dword [eax]
push 0x313
push str.....cryptoecec_mult.c
push eax
call fcn.100dd330
mov eax, dword [esi + 4]
lea esi, [esi + 4]
add esp, 0xc
test eax, eax
jne 0x10157bd0
push 0x315
push str.....cryptoecec_mult.c
push ebx
call fcn.100dd330
add esp, 0xc
test edi, edi
je 0x10157c36
mov eax, dword [edi]
mov esi, edi
test eax, eax
je 0x10157c23
nop dword [eax]
push eax
call fcn.1010e850
mov eax, dword [esi + 4]
lea esi, [esi + 4]
add esp, 4
test eax, eax
jne 0x10157c10
push 0x31b
push str.....cryptoecec_mult.c
push edi
call fcn.100dd330
add esp, 0xc
push 0x31d
push str.....cryptoecec_mult.c
push ebp
call fcn.100dd330
mov eax, dword [esp + 0x60]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov edx, dword [esp + 0x6c]
add eax, edx
mov dword [esp + 0x20], eax
jmp 0x10157c69
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], ebp
mov edi, edx
mov ebp, dword [esi + 0x10]
cmp edx, eax
jae 0x10157d6c
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
lea esi, [ebx + edx*4]
mov edx, dword [esp + 0x28]
sub edx, ebx
sub eax, ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x60]
dec eax
cmp edi, eax
jae 0x10157cb8
mov eax, dword [esp + 0x2c]
mov dword [esi], eax
cmp ecx, eax
jb 0x10157d3d
sub ecx, eax
mov dword [esp + 0x30], ecx
jmp 0x10157cba
mov dword [esi], ecx
push 0x272
mov dword [edx + esi + 4], 0
push str.....cryptoecec_mult.c
push dword [esi]
call fcn.100dd300
mov ecx, dword [esp + 0x58]
add esp, 0xc
mov dword [ecx + esi], eax
test eax, eax
je 0x10157df9
push dword [esi]
push dword [esp + 0x18]
push eax
call fcn.1007caa0
mov eax, dword [esi]
add esp, 0xc
cmp eax, dword [esp + 0x1c]
cmovbe eax, dword [esp + 0x1c]
cmp dword [ebp], 0
mov ecx, eax
mov dword [esp + 0x1c], ecx
je 0x10157dce
mov eax, dword [esp + 0x58]
inc edi
mov dword [eax + esi], ebp
add esi, 4
mov eax, dword [esp + 0x48]
lea ebp, [ebp + eax*4]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x14], eax
cmp edi, dword [esp + 0x20]
jae 0x10157d68
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
jmp 0x10157c95
push 0x265
push str.....cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.100edac0
push 0x266
push str.....cryptoecec_mult.c
push dword [esp + 0x50]
jmp 0x10157b7d
mov dword [esp + 0x1c], ecx
push 0x285
push str.....cryptoecec_mult.c
push dword [esp + 0x3c]
call fcn.100dd330
add esp, 0xc
mov ebp, dword [esp + 0x3c]
push 0x28f
push str.....cryptoecec_mult.c
lea eax, [ebp*4 + 4]
push eax
call fcn.100dd300
mov edi, eax
add esp, 0xc
mov dword [esp + 0x14], edi
test edi, edi
jne 0x10157e24
push 0x291
push str.....cryptoecec_mult.c
push 0x41
push 0xbb
push 0x10
call fcn.100edac0
add esp, 0x14
mov ebp, dword [esp + 0x10]
jmp 0x10157b8b
push 0x27d
push str.....cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.100edac0
push 0x27e
push str.....cryptoecec_mult.c
push dword [esp + 0x50]
jmp 0x10157b7d
push 0x274
push str.....cryptoecec_mult.c
push 0x41
push 0xbb
push 0x10
call fcn.100edac0
push 0x275
push str.....cryptoecec_mult.c
push dword [esp + 0x50]
jmp 0x10157b7d
lea eax, [edi + ebp*4]
mov esi, edi
xor edx, edx
mov dword [eax], 0
mov edi, dword [esp + 0x38]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
test edi, edi
je 0x10157ea6
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
sub eax, ebp
mov dword [esp + 0x58], eax
nop
mov dword [eax + ebp], esi
xor edi, edi
mov ecx, dword [ebp]
mov eax, 1
dec ecx
shl eax, cl
test eax, eax
je 0x10157e8e
push ebx
call fcn.1010ed80
add esp, 4
mov dword [esi], eax
test eax, eax
je 0x101581be
mov ecx, dword [ebp]
mov eax, 1
dec ecx
inc edi
shl eax, cl
add esi, 4
cmp edi, eax
jb 0x10157e64
mov edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x38]
inc edx
mov eax, dword [esp + 0x58]
add ebp, 4
mov dword [esp + 0x4c], edx
cmp edx, edi
jb 0x10157e50
mov eax, dword [esp + 0x48]
cmp esi, eax
je 0x10157ed2
push 0x2a2
push str.....cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.100edac0
add esp, 0x14
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x10157b8b
push ebx
call fcn.1010ed80
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
je 0x101581be
xor ebp, ebp
test edi, edi
je 0x10157fd2
mov ecx, dword [esp + 0x10]
mov edi, ecx
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x18]
sub eax, ecx
sub esi, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x34], esi
nop dword [eax + eax]
cmp ebp, dword [esp + 0x6c]
jae 0x10157f36
push dword [eax + edi]
mov eax, dword [edi]
push dword [eax]
call fcn.1010e920
add esp, 8
test eax, eax
jne 0x10157f4e
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
jmp 0x10157b8b
mov eax, dword [edi]
push dword [esp + 0x50]
push dword [eax]
call fcn.1010e920
add esp, 8
test eax, eax
je 0x10157ec5
cmp dword [esi + edi], 1
jbe 0x10157fc0
mov eax, dword [edi]
push dword [esp + 0x78]
push dword [eax]
push dword [esp + 0x4c]
push ebx
call fcn.1010e9a0
add esp, 0x10
test eax, eax
je 0x10157ec5
mov ecx, dword [esp + 0x34]
mov esi, 1
mov eax, esi
mov ecx, dword [ecx + edi]
dec ecx
shl eax, cl
cmp eax, esi
jbe 0x10157fbc
push dword [esp + 0x78]
mov eax, dword [edi]
push dword [esp + 0x48]
push dword [eax + esi*4 - 4]
push dword [eax + esi*4]
push ebx
call fcn.1010e7a0
add esp, 0x14
test eax, eax
je 0x10157ec5
mov eax, dword [esp + 0x34]
inc esi
mov ecx, dword [eax + edi]
mov eax, 1
dec ecx
shl eax, cl
cmp esi, eax
jb 0x10157f86
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x58]
inc ebp
add edi, 4
cmp ebp, dword [esp + 0x38]
jb 0x10157f10
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x14]
push esi
push edi
push dword [esp + 0x44]
push ebx
call fcn.1010f030
add esp, 0x10
test eax, eax
je 0x10157dc5
mov ecx, dword [esp + 0x1c]
mov ebp, 1
mov edi, dword [esp + 0x64]
sub ecx, ebp
mov dword [esp + 0x3c], ecx
js 0x10158177
nop word [eax + eax]
test ebp, ebp
jne 0x1015802c
push esi
push edi
push edi
push ebx
call fcn.1010e9a0
add esp, 0x10
test eax, eax
je 0x10157ec5
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x20], 0
mov dword [esp + 0x4c], 0
jbe 0x1015813f
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub edx, eax
mov ebx, dword [esp + 0x10]
sub eax, ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], eax
nop word [eax + eax]
add eax, ebx
cmp dword [eax + edx], ecx
jbe 0x10158121
mov eax, dword [eax]
movsx esi, byte [eax + ecx]
test esi, esi
je 0x1015811d
mov eax, esi
shr eax, 0x1f
test eax, eax
je 0x10158084
neg esi
mov ecx, dword [esp + 0x40]
cmp eax, ecx
je 0x101580b8
test ebp, ebp
jne 0x101580ad
push dword [esp + 0x78]
push edi
push dword [esp + 0x68]
call fcn.1010eb60
add esp, 0xc
test eax, eax
je 0x10157ec5
mov ecx, dword [esp + 0x40]
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0x40], eax
mov eax, dword [ebx]
sar esi, 1
mov eax, dword [eax + esi*4]
test ebp, ebp
je 0x101580f7
push eax
push edi
call fcn.1010e920
add esp, 8
test eax, eax
je 0x10157ec5
mov esi, dword [esp + 0x78]
push esi
push edi
push dword [esp + 0x68]
call fcn.1010f300
add esp, 0xc
test eax, eax
je 0x10158163
mov ecx, dword [esp + 0x3c]
xor ebp, ebp
mov edx, dword [esp + 0x50]
jmp 0x10158121
mov esi, dword [esp + 0x78]
push esi
push eax
push edi
push edi
push dword [esp + 0x70]
call fcn.1010e7a0
add esp, 0x14
test eax, eax
je 0x10157ec5
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x50]
jmp 0x10158121
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x4c]
add ebx, 4
inc eax
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
jb 0x10158060
mov ebx, dword [esp + 0x60]
sub ecx, 1
mov dword [esp + 0x3c], ecx
jns 0x10158010
test ebp, ebp
jne 0x10158177
cmp dword [esp + 0x40], ebp
je 0x10158189
push esi
push edi
push ebx
call fcn.1010eb60
add esp, 0xc
jmp 0x10158181
push 0x2f1
push str.....cryptoecec_mult.c
push 0xa3
jmp 0x10157eb6
push edi
push ebx
call fcn.1010efd0
add esp, 8
test eax, eax
je 0x10157ec5
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x54], 1
jmp 0x10157b8b
push 0x204
push str.....cryptoecec_mult.c
push 0x41
push 0xbb
push 0x10
call fcn.100edac0
add esp, 0x14
jmp 0x10157b85
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
jmp 0x10157b8b