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

Disassembly:
sub esp, 0x60
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
push ebx
mov ebx, dword [esp + 0x68]
mov eax, dword [ebx]
push ebp
mov ebp, dword [esp + 0x7c]
push esi
xor esi, esi
push edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x68], esi
cmp eax, dword [ecx]
je 0x100541a5
push 0x176
mov eax, 0x65
push str...cryptoecec_mult.c
push 0x10
lea ecx, [eax + 0x56]
call fcn.1002c650
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp dword [esp + 0x7c], esi
jne 0x100541c0
cmp edx, esi
jne 0x100541c0
mov esi, ecx
mov edx, ebx
call fcn.100330d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
xor ecx, ecx
cmp edx, esi
jbe 0x100541d3
mov edi, dword [ebp + ecx*4]
cmp eax, dword [edi]
jne 0x10054218
inc ecx
cmp ecx, edx
jb 0x100541c6
mov edx, dword [esp + 0x8c]
cmp edx, esi
jne 0x100541f8
call fcn.10033d30
mov edx, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x8c], edx
cmp eax, esi
je 0x10054c11
cmp dword [esp + 0x7c], esi
je 0x10054262
mov edi, dword [ebx + 4]
mov dword [esp + 0x60], edi
cmp edi, esi
jne 0x10054222
push 0x194
mov eax, 0x71
jmp 0x10054a45
push 0x183
jmp 0x10054184
mov eax, dword [ebx + 0x44]
cmp eax, esi
je 0x10054251
mov ebp, 0x10053b80
mov ebx, fcn.10053bf0
mov ecx, 0x10053d30
cmp dword [eax + 8], ebp
jne 0x1005424b
cmp dword [eax + 0xc], ebx
jne 0x1005424b
cmp dword [eax + 0x10], ecx
je 0x10054331
mov eax, dword [eax]
cmp eax, esi
jne 0x10054238
mov eax, 1
mov dword [esp + 0x48], esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x80]
lea eax, [ecx + edx]
lea ebp, [eax*4]
mov edi, 0x1bc
mov ebx, str...cryptoecec_mult.c
mov esi, ebp
mov dword [esp + 0x1c], eax
call fcn.1002aa90
mov edi, 0x1bd
mov dword [esp + 0x20], eax
call fcn.1002aa90
lea esi, [ebp + 4]
mov edi, 0x1be
mov dword [esp + 0x2c], eax
call fcn.1002aa90
mov edi, 0x1bf
mov esi, ebp
mov dword [esp + 0x30], eax
call fcn.1002aa90
cmp dword [esp + 0x20], 0
mov dword [esp + 0x18], eax
je 0x10054a3b
mov ecx, dword [esp + 0x2c]
xor esi, esi
cmp ecx, esi
je 0x10054a3b
mov eax, dword [esp + 0x30]
cmp eax, esi
je 0x10054a3b
cmp dword [esp + 0x18], esi
je 0x10054a3b
mov ebx, dword [esp + 0x80]
mov edx, dword [esp + 0x38]
add edx, ebx
mov dword [eax], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], edx
cmp edx, esi
jbe 0x10054488
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x88]
mov ebp, eax
sub edi, esi
sub ebp, esi
sub ecx, esi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ecx
jmp 0x100543b5
mov ebp, dword [eax + 4]
mov dword [esp + 0x48], ebp
cmp ebp, esi
je 0x10054251
cmp dword [ebp + 8], esi
je 0x10054251
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax]
push edx
mov edx, dword [esp + 0x78]
call fcn.10033540
add esp, 4
test eax, eax
jne 0x10054251
mov esi, dword [ebp + 4]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x3c], esi
call fcn.100240f0
xor edx, edx
div esi
mov edx, dword [ebp + 8]
inc eax
mov dword [esp + 0x24], eax
cmp eax, edx
jbe 0x10054387
mov dword [esp + 0x24], edx
mov ecx, dword [ebp + 0xc]
dec ecx
mov eax, 1
shl eax, cl
imul edx, eax
mov dword [esp + 0x54], eax
cmp dword [ebp + 0x14], edx
je 0x10054262
push 0x1ad
mov eax, 0x44
jmp 0x10054a45
mov edi, dword [esp + 0x5c]
cmp dword [esp + 0x14], ebx
jae 0x100543d9
mov edx, dword [edi + esi]
mov eax, dword [edx + 4]
lea ecx, [eax - 1]
test eax, eax
je 0x100543e2
mov eax, dword [edx]
mov eax, dword [eax + ecx*4]
call fcn.100240a0
shl ecx, 5
add eax, ecx
jmp 0x100543e2
mov edx, dword [esp + 0x7c]
call fcn.100240f0
cmp eax, 0x7d0
jb 0x100543f0
mov eax, 6
jmp 0x10054420
cmp eax, 0x320
jb 0x100543fe
mov eax, 5
jmp 0x10054420
cmp eax, 0x12c
jb 0x1005440c
mov eax, 4
jmp 0x10054420
cmp eax, 0x46
jb 0x10054418
mov eax, 3
jmp 0x10054420
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 [esi + ebp + 4], 0
add dword [esp + 0x40], edx
cmp dword [esp + 0x14], ebx
jae 0x10054443
mov eax, dword [edi + esi]
jmp 0x10054447
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esi]
lea edi, [ecx + esi]
push edi
push edx
push eax
call fcn.10053eb0
add esp, 0xc
mov dword [esi + ebp], eax
test eax, eax
je 0x10054a59
mov edi, dword [edi]
cmp edi, dword [esp + 0x28]
jbe 0x10054472
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x14]
inc eax
add esi, 4
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x34]
jb 0x100543b1
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x1005465b
mov edi, dword [esp + 0x48]
test edi, edi
jne 0x100544b4
cmp dword [esp + 0x38], 1
je 0x1005465b
push 0x1e3
lea eax, [edi + 0x44]
jmp 0x10054a45
cmp dword [esp + 0x38], 0
mov dword [esp + 0x24], 0
je 0x100544d2
push 0x1ef
mov eax, 0x44
jmp 0x10054a45
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x24]
push edx
push eax
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x84]
push eax
call fcn.10053eb0
mov esi, eax
add esp, 0xc
mov dword [esp + 0x48], esi
test esi, esi
je 0x10054a59
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
ja 0x10054536
mov edx, dword [esp + 0x2c]
lea ecx, [ebx + 1]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x30]
mov dword [ecx + ebx*4], esi
mov dword [ecx + ebx*4 + 4], 0
mov ecx, dword [esp + 0x18]
mov dword [edx + ebx*4], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + ebx*4], eax
jmp 0x1005465b
mov ecx, dword [esp + 0x3c]
imul ebp, ecx
cmp eax, ebp
jae 0x10054563
xor edx, edx
lea eax, [eax + ecx - 1]
div ecx
cmp eax, dword [edi + 8]
jbe 0x1005455d
push 0x217
mov eax, 0x44
jmp 0x10054a45
add eax, ebx
mov dword [esp + 0x1c], eax
mov edx, dword [edi + 0x10]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], edx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esp + 0x1c]
jae 0x10054656
mov eax, dword [esp + 0x2c]
mov ecx, ebx
lea ebp, [eax + ecx*4]
mov ecx, dword [esp + 0x30]
sub ecx, eax
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x18]
sub ecx, eax
mov dword [esp + 0x6c], ecx
lea esp, [esp]
mov eax, dword [esp + 0x1c]
dec eax
cmp dword [esp + 0x14], eax
jae 0x100545c2
mov eax, dword [esp + 0x3c]
mov dword [ebp], eax
cmp dword [esp + 0x24], eax
jb 0x10054687
sub dword [esp + 0x24], eax
jmp 0x100545c9
mov edx, dword [esp + 0x24]
mov dword [ebp], edx
mov eax, dword [esp + 0x38]
mov dword [eax + ebp + 4], 0
mov esi, dword [ebp]
mov edi, 0x233
mov ebx, str...cryptoecec_mult.c
call fcn.1002aa90
mov ecx, dword [esp + 0x38]
mov dword [ecx + ebp], eax
test eax, eax
je 0x10054696
mov edx, dword [ebp]
mov esi, dword [esp + 0x5c]
push edx
push esi
push eax
call fcn.100b3140
mov eax, dword [ebp]
add esp, 0xc
cmp eax, dword [esp + 0x28]
jbe 0x10054615
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
cmp dword [eax], 0
je 0x100546c2
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
add esi, dword [esp + 0x3c]
mov dword [ecx + ebp], eax
lea eax, [eax + edx*4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x14]
inc eax
add ebp, 4
mov dword [esp + 0x5c], esi
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x1c]
jb 0x100545a0
mov esi, dword [esp + 0x48]
call fcn.1002ac20
mov ebp, dword [esp + 0x40]
lea esi, [ebp*4 + 4]
mov edi, 0x250
mov ebx, str...cryptoecec_mult.c
call fcn.1002aa90
mov dword [esp + 0x50], eax
test eax, eax
jne 0x100546ce
push 0x253
jmp 0x10054a40
push 0x228
mov eax, 0x44
jmp 0x10054a45
push 0x236
mov eax, 0x41
push str...cryptoecec_mult.c
push 0x10
mov ecx, 0xbb
call fcn.1002c650
mov esi, dword [esp + 0x54]
add esp, 0xc
call fcn.1002ac20
jmp 0x10054a59
push 0x240
mov eax, 0x44
jmp 0x100546a0
cmp dword [esp + 0x34], 0
mov ebx, dword [esp + 0x74]
lea ecx, [eax + ebp*4]
mov dword [esp + 0x5c], ecx
mov dword [ecx], 0
mov edi, eax
mov dword [esp + 0x14], 0
jbe 0x1005474a
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
sub eax, esi
mov dword [esp + 0x6c], eax
mov edi, edi
mov ecx, dword [esp + 0x6c]
mov dword [ecx + esi], edi
mov ecx, dword [esi]
dec ecx
mov edx, 1
shl edx, cl
xor ebp, ebp
test edx, edx
jbe 0x10054738
call fcn.10032e90
mov dword [edi], eax
test eax, eax
je 0x10054a59
mov ecx, dword [esi]
dec ecx
mov eax, 1
shl eax, cl
inc ebp
add edi, 4
cmp ebp, eax
jb 0x10054717
mov eax, dword [esp + 0x14]
inc eax
add esi, 4
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x34]
jb 0x10054700
cmp edi, dword [esp + 0x5c]
je 0x1005475f
push 0x266
mov eax, 0x44
jmp 0x10054a45
call fcn.10032e90
mov dword [esp + 0x44], eax
test eax, eax
je 0x10054a59
cmp dword [esp + 0x34], 0
mov dword [esp + 0x14], 0
jbe 0x10054884
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x20]
sub eax, ebp
sub ecx, ebp
mov dword [esp + 0x6c], eax
mov dword [esp + 0x3c], ecx
jmp 0x100547a4
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x80]
cmp dword [esp + 0x14], ecx
jae 0x100547bb
mov edx, dword [ebp]
mov esi, dword [eax + ebp]
mov edx, dword [edx]
jmp 0x100547c4
mov eax, dword [ebp]
mov esi, dword [esp + 0x60]
mov edx, dword [eax]
call fcn.10033070
test eax, eax
je 0x10054a59
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + ebp], 1
jbe 0x1005486e
mov edx, dword [esp + 0x8c]
mov eax, dword [ebp]
mov ebx, dword [eax]
mov edi, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x78]
call fcn.100333c0
add esp, 4
test eax, eax
je 0x10054a59
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + ebp]
dec ecx
mov edx, 1
shl edx, cl
mov dword [esp + 0x48], 1
cmp edx, 1
jbe 0x1005486e
mov eax, dword [ebp]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x8c]
mov edi, dword [eax + ecx*4 - 4]
mov ebx, dword [eax + ecx*4]
mov esi, dword [esp + 0x74]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x44]
push edx
push ecx
call fcn.10033360
add esp, 8
test eax, eax
je 0x10054a59
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + ebp]
mov eax, dword [esp + 0x48]
dec ecx
mov edx, 1
shl edx, cl
inc eax
mov dword [esp + 0x48], eax
cmp eax, edx
jb 0x10054820
mov eax, dword [esp + 0x14]
inc eax
add ebp, 4
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x34]
jb 0x100547a0
mov eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x74]
push eax
call fcn.10033600
add esp, 4
test eax, eax
je 0x10054a59
mov eax, dword [esp + 0x28]
mov edi, 1
add eax, 0xffffffff
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], eax
js 0x10054a07
cmp dword [esp + 0x34], 0
jne 0x100548eb
mov ecx, dword [esp + 0x8c]
mov edi, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
push ecx
mov ebx, edi
call fcn.100333c0
add esp, 4
test eax, eax
je 0x10054a59
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
jbe 0x100549f1
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x18]
sub ecx, eax
sub eax, ebp
mov dword [esp + 0x60], ecx
mov dword [esp + 0x6c], eax
jmp 0x10054928
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
add eax, ebp
cmp dword [eax + ecx], edx
jbe 0x100549db
mov eax, dword [eax]
movsx edi, byte [eax + edx]
test edi, edi
je 0x100549db
xor eax, eax
test edi, edi
setl al
test eax, eax
je 0x10054952
neg edi
mov ebx, dword [esp + 0x4c]
cmp eax, ebx
je 0x10054988
cmp dword [esp + 0x34], 0
jne 0x1005497d
mov esi, dword [esp + 0x8c]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
call fcn.10033420
test eax, eax
je 0x10054a59
xor ecx, ecx
test ebx, ebx
sete cl
mov dword [esp + 0x4c], ecx
sar edi, 1
cmp dword [esp + 0x34], 0
je 0x100549b2
mov edx, dword [ebp]
mov esi, dword [edx + edi*4]
mov edx, dword [esp + 0x78]
call fcn.10033070
test eax, eax
je 0x10054a59
mov dword [esp + 0x34], 0
jmp 0x100549db
mov ecx, dword [ebp]
mov eax, dword [esp + 0x8c]
mov edx, dword [ecx + edi*4]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
push eax
push edx
mov ebx, edi
call fcn.10033360
add esp, 8
test eax, eax
je 0x10054a59
mov eax, dword [esp + 0x14]
inc eax
add ebp, 4
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x1c]
jb 0x10054920
mov edi, 1
sub dword [esp + 0x48], edi
jns 0x100548c2
cmp dword [esp + 0x34], 0
je 0x10054a16
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
call fcn.100330d0
jmp 0x10054a31
cmp dword [esp + 0x4c], 0
je 0x10054a35
mov esi, dword [esp + 0x8c]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
call fcn.10033420
test eax, eax
je 0x10054a59
mov dword [esp + 0x68], edi
jmp 0x10054a59
push 0x1c3
mov eax, 0x41
push str...cryptoecec_mult.c
push 0x10
mov ecx, 0xbb
call fcn.1002c650
add esp, 0xc
mov eax, dword [esp + 0x64]
test eax, eax
je 0x10054a66
call fcn.10033de0
mov esi, dword [esp + 0x44]
test esi, esi
je 0x10054aaa
mov eax, dword [esi]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x10054a7d
push esi
call eax
add esp, 4
mov eax, dword [0x10114e28]
test eax, eax
je 0x10054a8e
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x1010f130]
mov eax, dword [0x10114e28]
add esp, 4
test eax, eax
je 0x10054aaf
push 1
push 0
call eax
add esp, 8
mov eax, dword [0x10114e28]
mov esi, dword [esp + 0x20]
test esi, esi
je 0x10054ae4
test eax, eax
je 0x10054ac3
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x1010f130]
mov eax, dword [0x10114e28]
add esp, 4
test eax, eax
je 0x10054ae4
push 1
push 0
call eax
mov eax, dword [0x10114e28]
add esp, 8
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x10054b19
test eax, eax
je 0x10054af8
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x1010f130]
mov eax, dword [0x10114e28]
add esp, 4
test eax, eax
je 0x10054b19
push 1
push 0
call eax
mov eax, dword [0x10114e28]
add esp, 8
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x10054b8c
cmp dword [ebx], 0
mov edi, ebx
je 0x10054b5f
mov esi, dword [edi]
test eax, eax
je 0x10054b36
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x1010f130]
mov eax, dword [0x10114e28]
add esp, 4
test eax, eax
je 0x10054b57
push 1
push 0
call eax
mov eax, dword [0x10114e28]
add esp, 8
add edi, 4
cmp dword [edi], 0
jne 0x10054b28
test eax, eax
je 0x10054b6b
push 0
push ebx
call eax
add esp, 8
push ebx
call dword [0x1010f130]
mov eax, dword [0x10114e28]
add esp, 4
test eax, eax
je 0x10054b8c
push 1
push 0
call eax
mov eax, dword [0x10114e28]
add esp, 8
mov ebx, dword [esp + 0x50]
test ebx, ebx
je 0x10054be1
mov esi, dword [ebx]
mov edi, ebx
test esi, esi
je 0x10054bb4
lea esp, [esp]
call fcn.10032fe0
mov esi, dword [edi + 4]
add edi, 4
test esi, esi
jne 0x10054ba0
mov eax, dword [0x10114e28]
test eax, eax
je 0x10054bc0
push 0
push ebx
call eax
add esp, 8
push ebx
call dword [0x1010f130]
mov eax, dword [0x10114e28]
add esp, 4
test eax, eax
je 0x10054be1
push 1
push 0
call eax
mov eax, dword [0x10114e28]
add esp, 8
mov esi, dword [esp + 0x18]
test esi, esi
je 0x10054c11
test eax, eax
je 0x10054bf5
push 0
push esi
call eax
add esp, 8
push esi
call dword [0x1010f130]
mov eax, dword [0x10114e28]
add esp, 4
test eax, eax
je 0x10054c11
push 1
push 0
call eax
add esp, 8
mov eax, dword [esp + 0x68]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret