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

Disassembly:
mov eax, 0x54
call fcn.005fffa0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x64]
mov eax, dword [esi + 8]
push edi
xor edi, edi
xor ebp, ebp
push eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edi
mov dword [esp + 0x60], edi
call fcn.004c1660
mov ebx, dword [esp + 0x78]
add esp, 4
test eax, eax
jne 0x4e48e2
mov ecx, dword [esi + 0xc]
push ecx
call fcn.004c1660
add esp, 4
test eax, eax
jne 0x4e48e2
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0x70]
cmp edx, ecx
je 0x4e48a9
cmp edx, edi
je 0x4e48ad
cmp ebx, edi
jne 0x4e48a9
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
push eax
push edi
push edx
push ecx
push esi
call fcn.004e41e0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
cmp edx, edi
jne 0x4e48ee
cmp ebx, 1
jne 0x4e48e6
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
cmp eax, ecx
je 0x4e48e6
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
push ecx
mov ecx, dword [edx]
mov edx, dword [esp + 0x70]
push ecx
push eax
push edx
push esi
call fcn.004e41e0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
mov edx, dword [esp + 0x70]
cmp edx, edi
je 0x4e49a1
push esi
call fcn.004a7dd0
add esp, 4
mov dword [esp + 0x58], eax
cmp eax, edi
jne 0x4e4910
push 0x1cf
push str.cryptoecec_mult.c
push 0x71
jmp 0x4e5162
mov ebp, dword [esi + 0x64]
mov dword [esp + 0x3c], ebp
cmp ebp, edi
je 0x4e498e
cmp dword [ebp + 8], edi
je 0x4e498e
mov ecx, dword [esp + 0x80]
mov edx, dword [ebp + 0x10]
push ecx
mov ecx, dword [edx]
push ecx
push eax
push esi
call fcn.004a87f0
add esp, 0x10
test eax, eax
jne 0x4e498e
mov edx, dword [esp + 0x70]
mov esi, dword [ebp + 4]
push edx
mov dword [esp + 0x48], esi
call fcn.004c1870
xor edx, edx
div esi
add esp, 4
mov ecx, eax
mov eax, dword [ebp + 8]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, eax
jbe 0x4e4966
mov dword [esp + 0x24], eax
mov ecx, dword [ebp + 0xc]
dec ecx
mov edx, 1
shl edx, cl
imul eax, edx
mov dword [esp + 0x54], edx
cmp dword [ebp + 0x14], eax
je 0x4e49a1
push 0x1eb
push str.cryptoecec_mult.c
push 0x44
jmp 0x4e5162
mov eax, 1
xor ebp, ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
add eax, ebx
push 0x1f9
lea esi, [eax*4]
push str.cryptoecec_mult.c
push esi
mov dword [esp + 0x28], eax
call fcn.0048e660
push 0x1fa
mov edi, eax
push str.cryptoecec_mult.c
push esi
mov dword [esp + 0x4c], edi
call fcn.0048e660
push 0x1fc
lea ecx, [esi + 4]
push str.cryptoecec_mult.c
push ecx
mov dword [esp + 0x44], eax
call fcn.0048e660
push 0x1fd
push str.cryptoecec_mult.c
push esi
mov dword [esp + 0x40], eax
call fcn.0048e660
add esp, 0x30
cmp dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
je 0x4e4a1b
mov edx, dword [esp + 0x10]
mov dword [edx], 0
xor ecx, ecx
cmp edi, ecx
je 0x4e5156
cmp dword [esp + 0x20], ecx
je 0x4e5156
cmp dword [esp + 0x10], ecx
je 0x4e5156
cmp dword [esp + 0x14], ecx
je 0x4e5156
mov eax, dword [esp + 0x38]
add eax, ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], eax
cmp eax, ecx
jbe 0x4e4b4f
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x10]
sub eax, edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
sub ebp, edi
sub eax, edi
mov esi, edi
mov dword [esp + 0x60], eax
lea esp, [esp]
mov edi, dword [esp + 0x18]
cmp edi, ebx
jae 0x4e4a92
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + esi]
push edx
jmp 0x4e4a97
mov eax, dword [esp + 0x70]
push eax
call fcn.004c1870
add esp, 4
cmp eax, 0x7d0
jb 0x4e4aad
mov eax, 6
jmp 0x4e4add
cmp eax, 0x320
jb 0x4e4abb
mov eax, 5
jmp 0x4e4add
cmp eax, 0x12c
jb 0x4e4ac9
mov eax, 4
jmp 0x4e4add
cmp eax, 0x46
jb 0x4e4ad5
mov eax, 3
jmp 0x4e4add
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 + 0x30], edx
cmp edi, ebx
jae 0x4e4b02
mov eax, dword [esp + 0x40]
mov eax, dword [eax + esi]
jmp 0x4e4b06
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x60]
mov edx, dword [esi]
lea edi, [ecx + esi]
push edi
push edx
push eax
call fcn.004d5740
add esp, 0xc
mov dword [esi + ebp], eax
test eax, eax
je 0x4e5171
mov edi, dword [edi]
cmp edi, dword [esp + 0x28]
jbe 0x4e4b31
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x18]
inc eax
add esi, 4
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x2c]
jb 0x4e4a80
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x3c]
cmp dword [esp + 0x24], 0
je 0x4e4d2e
test ebp, ebp
jne 0x4e4b7a
cmp dword [esp + 0x38], 1
je 0x4e4d2e
push 0x222
push str.cryptoecec_mult.c
push 0x44
jmp 0x4e5162
cmp dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
je 0x4e4b9a
push 0x22b
push str.cryptoecec_mult.c
push 0x44
jmp 0x4e5162
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x70]
lea ecx, [esp + 0x40]
push ecx
push eax
push edx
mov dword [edi + ebx*4], eax
call fcn.004d5740
mov esi, eax
add esp, 0xc
mov dword [esp + 0x38], esi
test esi, esi
je 0x4e5171
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x28]
ja 0x4e4bf7
mov edx, dword [esp + 0x20]
lea eax, [ebx + 1]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [eax + ebx*4], esi
mov dword [eax + ebx*4 + 4], 0
mov dword [edx + ebx*4], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ecx + ebx*4], eax
jmp 0x4e4d2e
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x44]
imul eax, edi
cmp ecx, eax
jae 0x4e4c49
xor edx, edx
lea eax, [ecx + edi - 1]
div edi
cmp eax, dword [ebp + 8]
jbe 0x4e4c43
push 0x256
push str.cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.0047de20
push 0x257
push str.cryptoecec_mult.c
push esi
call fcn.0048e710
add esp, 0x20
jmp 0x4e5171
add eax, ebx
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x3c]
mov edi, dword [edx + 0x10]
mov dword [esp + 0x24], esi
cmp ebx, dword [esp + 0x1c]
jae 0x4e4d1b
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov edx, ebx
lea esi, [eax + edx*4]
mov edx, dword [esp + 0x14]
sub ebp, eax
sub edx, eax
mov dword [esp + 0x60], edx
jmp 0x4e4c84
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x1c]
dec eax
cmp ebx, eax
jae 0x4e4ca3
mov eax, dword [esp + 0x44]
mov dword [esi], eax
cmp ecx, eax
jb 0x4e4d62
sub ecx, eax
mov dword [esp + 0x40], ecx
jmp 0x4e4ca5
mov dword [esi], ecx
push 0x272
mov dword [esi + ebp + 4], 0
mov eax, dword [esi]
push str.cryptoecec_mult.c
push eax
call fcn.0048e660
add esp, 0xc
mov dword [esi + ebp], eax
test eax, eax
je 0x4e4d96
mov ecx, dword [esi]
mov edx, dword [esp + 0x24]
push ecx
push edx
push eax
call sub.MSVCR90.dll_memcpy
mov eax, dword [esi]
add esp, 0xc
cmp eax, dword [esp + 0x28]
jbe 0x4e4cea
mov dword [esp + 0x28], eax
cmp dword [edi], 0
je 0x4e4dca
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
add dword [esp + 0x24], edx
mov dword [eax + esi], edi
inc ebx
add esi, 4
lea edi, [edi + ecx*4]
cmp ebx, dword [esp + 0x1c]
jb 0x4e4c80
mov esi, dword [esp + 0x38]
push 0x285
push str.cryptoecec_mult.c
push esi
call fcn.0048e710
add esp, 0xc
mov eax, dword [esp + 0x30]
push 0x28f
lea ecx, [eax*4 + 4]
push str.cryptoecec_mult.c
push ecx
call fcn.0048e660
add esp, 0xc
mov dword [esp + 0x50], eax
test eax, eax
jne 0x4e4dfe
push 0x291
jmp 0x4e515b
push 0x265
push str.cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.0047de20
mov eax, dword [esp + 0x4c]
push 0x266
push str.cryptoecec_mult.c
push eax
call fcn.0048e710
add esp, 0x20
jmp 0x4e5171
push 0x274
push str.cryptoecec_mult.c
push 0x41
push 0xbb
push 0x10
call fcn.0047de20
mov ecx, dword [esp + 0x4c]
push 0x275
push str.cryptoecec_mult.c
push ecx
call fcn.0048e710
add esp, 0x20
jmp 0x4e5171
push 0x27d
push str.cryptoecec_mult.c
push 0x44
push 0xbb
push 0x10
call fcn.0047de20
mov edx, dword [esp + 0x4c]
push 0x27e
push str.cryptoecec_mult.c
push edx
call fcn.0048e710
add esp, 0x20
jmp 0x4e5171
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x30]
lea eax, [edi + edx*4]
xor ebp, ebp
mov dword [esp + 0x54], eax
mov dword [eax], 0
cmp dword [esp + 0x2c], ebp
jbe 0x4e4e7e
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
sub eax, esi
mov dword [esp + 0x60], eax
lea esp, [esp]
mov dword [eax + esi], edi
mov ecx, dword [esi]
dec ecx
mov edx, 1
shl edx, cl
xor ebx, ebx
test edx, edx
jbe 0x4e4e70
mov eax, dword [esp + 0x68]
push eax
call fcn.004a81c0
add esp, 4
mov dword [edi], eax
test eax, eax
je 0x4e5171
mov ecx, dword [esi]
dec ecx
mov edx, 1
shl edx, cl
inc ebx
add edi, 4
cmp ebx, edx
jb 0x4e4e43
mov eax, dword [esp + 0x60]
inc ebp
add esi, 4
cmp ebp, dword [esp + 0x2c]
jb 0x4e4e30
mov eax, dword [esp + 0x54]
cmp edi, eax
je 0x4e4e93
push 0x2a2
push str.cryptoecec_mult.c
push 0x44
jmp 0x4e5162
mov eax, dword [esp + 0x68]
push eax
call fcn.004a81c0
add esp, 4
mov dword [esp + 0x4c], eax
test eax, eax
je 0x4e5171
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
jbe 0x4e4f83
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x34]
sub edi, esi
mov dword [esp + 0x60], edi
sub ebx, esi
lea esp, [esp]
mov edx, dword [esi]
mov eax, dword [edx]
cmp ebp, dword [esp + 0x74]
jae 0x4e4edf
mov ecx, dword [edi + esi]
jmp 0x4e4ee3
mov ecx, dword [esp + 0x58]
push ecx
push eax
call fcn.004a82f0
add esp, 8
test eax, eax
je 0x4e5171
cmp dword [ebx + esi], 1
jbe 0x4e4f75
mov edx, dword [esi]
mov ecx, dword [esp + 0x80]
mov eax, dword [edx]
mov edx, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x50]
push eax
push ecx
push edx
call fcn.004a85e0
add esp, 0x10
test eax, eax
je 0x4e5171
mov ecx, dword [ebx + esi]
mov edi, 1
dec ecx
mov eax, edi
shl eax, cl
cmp eax, edi
jbe 0x4e4f71
mov ecx, dword [esi]
mov edx, dword [esp + 0x80]
lea eax, [ecx + edi*4]
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [eax - 4]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x70]
push edx
push eax
push ecx
call fcn.004a8530
add esp, 0x14
test eax, eax
je 0x4e5171
mov ecx, dword [ebx + esi]
dec ecx
mov edx, 1
shl edx, cl
inc edi
cmp edi, edx
jb 0x4e4f33
mov edi, dword [esp + 0x60]
inc ebp
add esi, 4
cmp ebp, dword [esp + 0x2c]
jb 0x4e4ed0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x6c]
push ecx
push edx
push eax
call fcn.004a8910
add esp, 0x10
test eax, eax
je 0x4e5171
mov ebp, dword [esp + 0x28]
add ebp, 0xffffffff
mov ebx, dword [esp + 0x6c]
mov esi, 1
mov dword [esp + 0x44], esi
js 0x4e510a
test esi, esi
jne 0x4e4fe7
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
push ecx
push ebx
push ebx
push edx
call fcn.004a85e0
add esp, 0x10
test eax, eax
je 0x4e5171
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
jbe 0x4e50fd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
sub ecx, eax
sub eax, edi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x60], eax
jmp 0x4e501c
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
add eax, edi
cmp dword [eax + ecx], ebp
jbe 0x4e50e3
mov eax, dword [eax]
movsx esi, byte [eax + ebp]
test esi, esi
je 0x4e50e3
xor eax, eax
test esi, esi
setl al
test eax, eax
je 0x4e5042
neg esi
cmp eax, dword [esp + 0x48]
je 0x4e507a
cmp dword [esp + 0x44], 0
jne 0x4e506d
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
push ecx
push ebx
push edx
call fcn.004a8680
add esp, 0xc
test eax, eax
je 0x4e5171
xor eax, eax
cmp dword [esp + 0x48], eax
sete al
mov dword [esp + 0x48], eax
sar esi, 1
cmp dword [esp + 0x44], 0
je 0x4e50be
mov ecx, dword [edi]
mov edx, dword [ecx + esi*4]
push edx
push ebx
call fcn.004a82f0
add esp, 8
test eax, eax
je 0x4e5171
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x68]
push eax
push ebx
push ecx
call fcn.004a8d40
add esp, 0xc
test eax, eax
je 0x4e511a
mov dword [esp + 0x44], 0
jmp 0x4e50e3
mov edx, dword [esp + 0x80]
mov eax, dword [edi]
mov ecx, dword [eax + esi*4]
push edx
mov edx, dword [esp + 0x6c]
push ecx
push ebx
push ebx
push edx
call fcn.004a8530
add esp, 0x14
test eax, eax
je 0x4e5171
mov eax, dword [esp + 0x18]
inc eax
add edi, 4
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jb 0x4e5014
mov esi, dword [esp + 0x44]
sub ebp, 1
jns 0x4e4fc4
test esi, esi
je 0x4e512b
mov eax, dword [esp + 0x68]
push ebx
push eax
call fcn.004a83d0
add esp, 8
jmp 0x4e5148
push 0x2f1
push str.cryptoecec_mult.c
push 0xa3
jmp 0x4e5162
cmp dword [esp + 0x48], 0
je 0x4e514c
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
push ecx
push ebx
push edx
call fcn.004a8680
add esp, 0xc
test eax, eax
je 0x4e5171
mov dword [esp + 0x5c], 1
jmp 0x4e5171
push 0x204
push str.cryptoecec_mult.c
push 0x41
push 0xbb
push 0x10
call fcn.0047de20
add esp, 0x14
mov eax, dword [esp + 0x4c]
push eax
call fcn.004a8280
mov ecx, dword [esp + 0x38]
push 0x30d
push str.cryptoecec_mult.c
push ecx
call fcn.0048e710
mov edx, dword [esp + 0x30]
push 0x30e
push str.cryptoecec_mult.c
push edx
call fcn.0048e710
mov edi, dword [esp + 0x2c]
add esp, 0x1c
test edi, edi
je 0x4e51f0
mov eax, dword [edi]
mov esi, edi
test eax, eax
je 0x4e51dd
jmp 0x4e51c0
push 0x313
push str.cryptoecec_mult.c
push eax
call fcn.0048e710
mov eax, dword [esi + 4]
add esi, 4
add esp, 0xc
test eax, eax
jne 0x4e51c0
push 0x315
push str.cryptoecec_mult.c
push edi
call fcn.0048e710
add esp, 0xc
mov edi, dword [esp + 0x50]
test edi, edi
je 0x4e5226
mov eax, dword [edi]
mov esi, edi
test eax, eax
je 0x4e5213
push eax
call fcn.004a82b0
mov eax, dword [esi + 4]
add esi, 4
add esp, 4
test eax, eax
jne 0x4e5200
push 0x31b
push str.cryptoecec_mult.c
push edi
call fcn.0048e710
add esp, 0xc
mov eax, dword [esp + 0x14]
push 0x31d
push str.cryptoecec_mult.c
push eax
call fcn.0048e710
mov eax, dword [esp + 0x68]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret