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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4e1aa2
sub esp, 0x58
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4e1876
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x4e1979
xor eax, eax
xor ecx, ecx
xor edx, edx
test eax, eax
jne 0x4e193b
mov eax, dword [0x825918]
mov ecx, dword [0x82591c]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x28], ecx
lea edx, [0x61a9a0]
mov dword [esp], edx
call fcn.0040b380
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x28]
mov dword [edi + 4], eax
mov eax, dword [0x84c5a0]
test eax, eax
jne 0x4e18d3
mov ecx, dword [esp + 0x40]
mov dword [edi], ecx
jmp 0x4e18dc
mov eax, dword [esp + 0x40]
call fcn.0045e940
mov ecx, dword [esp + 0x74]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x84c5a0]
test ecx, ecx
jne 0x4e18f6
mov eax, dword [esp + 0x70]
mov dword [edi + 8], eax
jmp 0x4e1908
lea ecx, [edi + 8]
mov eax, dword [esp + 0x70]
mov edx, edi
mov edi, ecx
call fcn.0045e940
mov edi, edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x6a4d48]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edi
add esp, 0x58
ret
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
add esp, 0x58
ret
mov esi, dword [esp + 0x3c]
add esi, 0x14
mov dword [esp + 0x2c], eax
mov eax, ecx
mov ecx, esi
mov esi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], esi
lea edi, [esp + 0x44]
mov esi, ecx
call fcn.0045f09e
test edx, edx
jne 0x4e19a3
mov ecx, 1
jmp 0x4e19ca
mov eax, dword [edx]
lea edi, [esp]
lea esi, [esp + 0x44]
call fcn.0045f09e
call eax
movzx eax, byte [esp + 0x14]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
mov ecx, eax
mov eax, dword [esp + 0x64]
test cl, cl
jne 0x4e19db
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
jmp 0x4e1a90
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
lea edi, [esp]
lea esi, [esp + 0x44]
call fcn.0045f09e
call eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
lea ebp, [ebx + 1]
mov edx, eax
mov eax, dword [esp + 0x24]
cmp eax, ebp
jb 0x4e1a0e
mov edi, dword [esp + 0x34]
jmp 0x4e1a55
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], edx
lea ecx, [0x6164c0]
mov dword [esp], ecx
mov edx, dword [esp + 0x34]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call fcn.00447e40
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
mov eax, esi
mov esi, ebp
lea ebp, [edi + ebx*8]
mov dword [ebp], ecx
mov ecx, dword [0x84c5a0]
lea ebx, [edi + ebx*8 + 4]
test ecx, ecx
jne 0x4e1a6f
mov dword [ebx], edx
jmp 0x4e1a80
mov ecx, edi
mov edi, ebx
mov ebp, eax
mov eax, edx
call fcn.0045e940
mov eax, ebp
mov edi, ecx
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x28]
mov ecx, eax
mov ebp, esi
mov eax, dword [esp + 0x64]
inc ebx
cmp eax, ebx
jg 0x4e1964
mov eax, ebp
mov edx, edi
jmp 0x4e187c
call fcn.0045d530
jmp fcn.004e1840