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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x28
test ax, ax
push ebx
push esi
push edi
mov edi, ecx
je 0x4e1725
and eax, 0xffff
lea ecx, [esp + 0x3c]
lea esi, [eax + eax*2]
lea eax, [esp + 0xc]
shl esi, 2
push eax
push ecx
push 0x2c
lea ecx, [esi + 0x56bdb0]
call fcn.004d4f10
mov esi, dword [esi + 0x56bdb8]
cmp byte [esi], 0x21
jne 0x4e16ce
mov ecx, dword [0x5c99ec]
inc esi
push esi
call fcn.004b2650
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x38]
push esi
push eax
push ebx
mov ecx, edi
mov dword [esp + 0x48], eax
call fcn.004e1640
test eax, eax
je 0x4e16b7
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x28
ret 0xc
mov edx, dword [esp + 0xc]
push esi
push edx
push ebx
mov ecx, edi
call fcn.004e1640
pop edi
pop esi
pop ebx
add esp, 0x28
ret 0xc
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
push 0
mov eax, dword [ecx]
push ebx
push edx
call dword [eax + 0x40]
test eax, eax
jne 0x4e16f0
pop edi
pop esi
pop ebx
add esp, 0x28
ret 0xc
mov ecx, eax
call fcn.004c7b80
mov esi, eax
test esi, esi
je 0x4e1758
mov eax, dword [esp + 0xc]
push ebx
push eax
push esi
mov ecx, edi
call fcn.004e1640
test eax, eax
jne 0x4e16a9
mov ecx, esi
call fcn.004a8c30
mov esi, eax
test esi, esi
jne 0x4e16fd
pop edi
pop esi
pop ebx
add esp, 0x28
ret 0xc
push 0
lea ecx, [esp + 0x14]
call fcn.004c57f0
mov esi, dword [esp + 0x40]
mov cx, word [edi + 0x78]
push 0
push esi
lea edx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x44]
push edx
call fcn.004a7530
cmp eax, 1
jne 0x4e1763
lea ecx, [esp + 0x10]
call fcn.004c58c0
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x28
ret 0xc
mov ecx, dword [edi + 0x7a]
test ecx, ecx
je 0x4e17a3
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x4e17a3
movsx edx, word [esi + 0xa]
mov edi, dword [0x5c9fb8]
push esi
shl edx, 4
push eax
mov edx, dword [edx + edi]
push edx
mov edx, dword [esp + 0x1c]
call fcn.0042ea30
lea ecx, [esp + 0x10]
mov esi, eax
call fcn.004c58c0
mov eax, esi
pop edi
pop esi
pop ebx
add esp, 0x28
ret 0xc
mov esi, dword [edi + 0x60]
xor eax, eax
mov al, byte [edi + 0x7e]
mov edi, eax
mov eax, dword [esp + 0x16]
cmp eax, 1
jne 0x4e1878
lea ecx, [edi - 1]
cmp ecx, 0xe
ja case.0x4e17ce.8
xor edx, edx
mov dl, byte [ecx + 0x4e1a7c]
jmp dword [edx*4 + 0x4e1a5c]
mov edx, dword [esi + 0x1d]
mov ecx, dword [esp + 0x10]
add edx, 4
call fcn.004c8440
neg eax
sbb eax, eax
inc eax
jmp case.0x4e17ce.8
mov edx, dword [esi + 0x1d]
mov ecx, dword [esp + 0x10]
add edx, 4
call fcn.004c85f0
jmp case.0x4e17ce.8
mov ecx, dword [esi + 0x1d]
mov edx, dword [esp + 0x10]
add ecx, 4
call fcn.004c84d0
neg eax
sbb eax, eax
inc eax
jmp case.0x4e17ce.8
mov edx, dword [esi + 0x1d]
mov ecx, dword [esp + 0x10]
add edx, 4
call fcn.004c8560
jmp case.0x4e17ce.8
mov edx, dword [esi + 0x1d]
mov ecx, dword [esp + 0x10]
add edx, 4
call fcn.004c8440
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
jmp case.0x4e17ce.8
mov edx, dword [esi + 0x1d]
mov ecx, dword [esp + 0x10]
add edx, 4
call fcn.004c8440
xor edx, edx
test eax, eax
setl dl
mov eax, edx
jmp case.0x4e17ce.8
mov ecx, dword [esp + 0x10]
call dword [0x562e08]
jmp case.0x4e17ce.8
cmp eax, 2
je 0x4e1a3a
cmp eax, 3
je 0x4e1a3a
cmp eax, 4
jne 0x4e1924
mov eax, edi
sub eax, 0xd
je 0x4e18df
dec eax
jne 0x4e1a3a
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov esi, edx
or esi, eax
jne 0x4e18bb
mov esi, dword [ecx + 0x18]
mov edi, dword [ecx + 0x1c]
or esi, edi
je 0x4e191d
test eax, eax
jg 0x4e18cc
jl 0x4e18c5
test edx, edx
jae 0x4e18cc
mov eax, 1
jmp 0x4e18ce
xor eax, eax
mov ecx, dword [ecx + 0xc]
xor ecx, eax
jne 0x4e191d
mov eax, 1
jmp case.0x4e17ce.8
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 8]
mov esi, edx
or esi, eax
jne 0x4e18f9
mov esi, dword [ecx + 0x18]
mov edi, dword [ecx + 0x1c]
or esi, edi
je 0x4e191d
test eax, eax
jg 0x4e190a
jl 0x4e1903
test edx, edx
jae 0x4e190a
mov eax, 1
jmp 0x4e190c
xor eax, eax
mov edx, dword [ecx + 0xc]
xor edx, eax
je 0x4e191d
mov eax, 1
jmp case.0x4e17ce.8
xor eax, eax
jmp case.0x4e17ce.8
cmp eax, 5
je 0x4e1a3a
cmp eax, 6
je 0x4e1a3a
cmp eax, 7
je 0x4e1a3a
cmp eax, 8
jne 0x4e1a06
push eax
lea ecx, [esp + 0x2c]
mov ebx, 1
call fcn.004c57f0
push 0
lea ecx, [esp + 0x20]
call fcn.004c57f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x16]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004c59b0
mov edx, dword [esi + 0x1d]
lea ecx, [esp + 0x28]
add edx, 4
push edx
push 8
call fcn.004c5cc0
lea eax, [edi - 1]
cmp eax, 0xe
ja case.0x4e1997.5
xor ecx, ecx
mov cl, byte [eax + 0x4e1aa0]
jmp dword [ecx*4 + 0x4e1a8c]
lea edx, [esp + 0x28]
xor ecx, ecx
push edx
lea edx, [esp + 0x20]
call fcn.004e2450
jmp 0x4e19f0
lea eax, [esp + 0x28]
lea edx, [esp + 0x1c]
push eax
mov ecx, 2
call fcn.004e2450
jmp 0x4e19f0
lea ecx, [esp + 0x28]
lea edx, [esp + 0x1c]
push ecx
mov ecx, 2
call fcn.004e2450
mov ebx, eax
neg ebx
sbb ebx, ebx
inc ebx
jmp case.0x4e1997.5
mov edx, dword [esp + 0x22]
mov ecx, dword [esp + 0x1c]
call dword [edx*4 + 0x562e04]
mov ebx, eax
lea ecx, [esp + 0x1c]
call fcn.004c58c0
lea ecx, [esp + 0x28]
call fcn.004c58c0
jmp 0x4e1a48
cmp eax, 9
jne 0x4e1a19
push esi
mov edx, edi
lea ecx, [esp + 0x14]
call fcn.004e1bd0
jmp case.0x4e17ce.8
cmp edi, 0x11
jne 0x4e1a2c
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax], 2
sete bl
jmp 0x4e1a48
mov ecx, dword [esp + 0x10]
xor ebx, ebx
cmp dword [ecx], 2
setne bl
jmp 0x4e1a48
push esi
mov edx, edi
lea ecx, [esp + 0x14]
call fcn.004e1ab0
mov ebx, eax
lea ecx, [esp + 0x10]
call fcn.004c58c0
pop edi
mov eax, ebx
pop esi
pop ebx
add esp, 0x28
ret 0xc