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

Disassembly:
sub esp, 0x54
push esi
mov esi, ecx
cmp byte [esi + 0x18], 0
jne 0x4e1615
xor eax, eax
pop esi
add esp, 0x54
ret 0x14
mov eax, dword [esi + 0x14]
sub eax, 0
push ebx
push ebp
push edi
je 0x4e163a
dec eax
je 0x4e16c7
dec eax
je 0x4e18de
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x54
ret 0x14
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esi + 0x10], 0
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ecx
mov eax, dword [esi + 0x58]
test eax, eax
jne 0x4e1664
cmp dword [esp + 0x70], eax
je 0x4e162e
test eax, eax
je 0x4e18de
cmp dword [esi + 0x4c], 0
je 0x4e18de
lea edx, [esp + 0x10]
push edx
lea ecx, [esi + 0x3c]
call fcn.004e0e90
mov ecx, dword [eax]
test ecx, ecx
je 0x4e1683
mov ecx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 8]
cmp edx, eax
ja 0x4e168f
sub eax, edx
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
cmp eax, dword [esi + 0x34]
jne 0x4e18de
lea ecx, [esi + 0x3c]
call fcn.004e0ed0
mov edx, dword [esi + 0x58]
xor ecx, ecx
add edx, dword [esi + 0x20]
adc ecx, dword [esi + 0x24]
cmp ecx, dword [eax + 0xc]
jb 0x4e18de
ja 0x4e16c7
cmp edx, dword [eax + 8]
jbe 0x4e18de
cmp byte [esp + 0x78], 0
lea ebx, [esi + 0x3c]
je 0x4e172a
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebx
call fcn.004e0e90
mov ecx, dword [eax]
test ecx, ecx
je 0x4e16e5
mov ecx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 8]
cmp edx, eax
ja 0x4e16f1
sub eax, edx
mov edx, dword [ecx + 4]
mov eax, dword [edx + eax*4]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi + 0x20]
cmp eax, dword [esi + 0x24]
jb 0x4e170f
ja 0x4e170b
cmp edi, ecx
jbe 0x4e170f
sub edi, ecx
jmp 0x4e1711
xor edi, edi
mov eax, dword [esi]
mov edx, dword [eax + 0xa4]
mov ebp, dword [esi + 0x54]
mov ecx, esi
call edx
mov edx, dword [eax]
mov edx, dword [edx + 0x8c]
jmp 0x4e1781
lea edx, [esp + 0x28]
push edx
mov ecx, ebx
call fcn.004e0e90
mov ecx, dword [eax]
test ecx, ecx
je 0x4e173e
mov ecx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 8]
cmp edx, eax
ja 0x4e174a
sub eax, edx
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi + 0x20]
cmp eax, dword [esi + 0x24]
jb 0x4e1768
ja 0x4e1764
cmp edi, ecx
jbe 0x4e1768
sub edi, ecx
jmp 0x4e176a
xor edi, edi
mov edx, dword [esi]
mov eax, dword [edx + 0xa4]
mov ebp, dword [esi + 0x54]
mov ecx, esi
call eax
mov edx, dword [eax]
mov edx, dword [edx + 0x88]
mov ecx, dword [esp + 0x74]
push ecx
push 0
push edi
push ebp
push 0x61ed64
mov ecx, eax
call edx
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0x14], ecx
test eax, eax
jne 0x4e1982
add dword [esi + 0x54], edi
sub dword [esi + 0x58], edi
add dword [esi + 0x20], edi
lea edx, [esp + 0x34]
push edx
adc dword [esi + 0x24], eax
add dword [esi + 0x28], edi
mov ecx, ebx
adc dword [esi + 0x2c], eax
call fcn.004e0e90
mov ecx, dword [eax]
test ecx, ecx
je 0x4e17cb
mov ecx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 8]
cmp edx, eax
ja 0x4e17d7
sub eax, edx
mov ecx, dword [ecx + 4]
mov ebp, dword [ecx + eax*4]
lea edx, [esp + 0x40]
push edx
mov ecx, ebx
call fcn.004e0e90
mov ecx, dword [eax]
test ecx, ecx
je 0x4e17f1
mov ecx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 8]
cmp edx, eax
ja 0x4e17fd
sub eax, edx
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 0x10]
add edi, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
adc ecx, dword [ebp + 0xc]
mov ebx, dword [esi + 0x58]
xor eax, eax
mov edx, ebx
add edx, dword [esi + 0x20]
adc eax, dword [esi + 0x24]
cmp eax, ecx
ja 0x4e182d
jb 0x4e1826
cmp edx, edi
jae 0x4e182d
mov eax, ebx
jmp 0x4e18c5
lea edx, [esp + 0x4c]
push edx
lea ecx, [esi + 0x3c]
call fcn.004e0e90
mov ecx, dword [eax]
xor ebx, ebx
cmp ecx, ebx
jne 0x4e1846
xor ecx, ecx
jmp 0x4e1848
mov ecx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 8]
cmp edx, eax
ja 0x4e1854
sub eax, edx
mov ecx, dword [ecx + 4]
mov edi, dword [ecx + eax*4]
lea edx, [esp + 0x58]
push edx
lea ecx, [esi + 0x3c]
call fcn.004e0e90
mov ecx, dword [eax]
cmp ecx, ebx
jne 0x4e1871
xor ecx, ecx
jmp 0x4e1873
mov ecx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 8]
cmp edx, eax
ja 0x4e187f
sub eax, edx
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ecx + 0x10]
add eax, dword [edi + 8]
mov ecx, dword [ecx + 0x14]
adc ecx, dword [edi + 0xc]
mov edx, dword [esi + 0x20]
cmp ecx, dword [esi + 0x24]
jb 0x4e18a3
ja 0x4e189f
cmp eax, edx
jbe 0x4e18a3
sub eax, edx
jmp 0x4e18a5
xor eax, eax
mov ecx, dword [esi + 0x4c]
cmp ecx, ebx
je 0x4e18c5
inc dword [esi + 0x48]
mov edx, dword [esi + 0x48]
cmp dword [esi + 0x44], edx
ja 0x4e18ba
mov dword [esi + 0x48], ebx
dec ecx
mov dword [esi + 0x4c], ecx
cmp ecx, ebx
jne 0x4e18c5
mov dword [esi + 0x48], ebx
add dword [esi + 0x54], eax
sub dword [esi + 0x58], eax
xor ecx, ecx
add dword [esi + 0x20], eax
adc dword [esi + 0x24], ecx
add dword [esi + 0x28], eax
adc dword [esi + 0x2c], ecx
jmp 0x4e164f
cmp byte [esp + 0x78], 0
mov edi, dword [esp + 0x70]
mov ebp, dword [esi + 0x58]
mov ebx, dword [esi + 0x54]
je 0x4e190a
test edi, edi
je 0x4e18f4
dec edi
mov edx, dword [esi]
mov eax, dword [edx + 0xa4]
mov ecx, esi
call eax
mov edx, dword [eax]
mov edx, dword [edx + 0x8c]
jmp 0x4e1923
test edi, edi
je 0x4e190f
dec edi
mov edx, dword [esi]
mov eax, dword [edx + 0xa4]
mov ecx, esi
call eax
mov edx, dword [eax]
mov edx, dword [edx + 0x88]
mov ecx, dword [esp + 0x74]
push ecx
push edi
push ebp
push ebx
push 0x61ed64
mov ecx, eax
call edx
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 2
mov dword [esi + 0x14], ecx
xor ecx, ecx
cmp eax, ecx
mov eax, dword [esi + 0x58]
jne 0x4e19e5
add dword [esi + 0x20], eax
mov dword [esi + 0x58], ecx
adc dword [esi + 0x24], ecx
add dword [esi + 0x28], eax
adc dword [esi + 0x2c], ecx
cmp dword [esp + 0x70], ecx
je 0x4e164f
xor eax, eax
mov ecx, 1
add dword [esi + 0x30], ecx
add dword [esi + 0x34], ecx
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
mov dword [esp + 0x70], eax
jmp 0x4e164f
lea edx, [esp + 0x58]
lea ecx, [esi + 0x3c]
push edx
call fcn.004e0e90
mov ecx, dword [eax]
test ecx, ecx
je 0x4e1997
mov ecx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [ecx + 8]
cmp edx, eax
ja 0x4e19a3
sub eax, edx
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x20]
cmp eax, edx
jb 0x4e19d3
ja 0x4e19bf
cmp ecx, edi
jbe 0x4e19d3
sub ecx, edi
sbb eax, edx
sub ecx, dword [esi + 0x10]
mov dword [esp + 0x14], eax
mov dword [esp + 0x78], ecx
cmp ecx, 1
jmp 0x4e19ef
xor ecx, ecx
mov dword [esp + 0x14], ecx
sub ecx, dword [esi + 0x10]
mov dword [esp + 0x78], ecx
cmp ecx, 1
jmp 0x4e19ef
sub eax, dword [esi + 0x10]
mov dword [esp + 0x78], eax
cmp eax, 1
lea eax, [esp + 0x78]
mov dword [esp + 0x70], 1
ja 0x4e1a01
lea eax, [esp + 0x70]
mov eax, dword [eax]
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x54
ret 0x14