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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x4ea31a
sub esp, 0x98
mov edx, dword [esp + 0xac]
lea ebx, [edx - 2]
cmp ebx, 0x3c
ja 0x4ea301
mov ebx, dword [esp + 0xa0]
test ebx, ebx
je 0x4ea250
mov ebp, dword [esp + 0x9c]
mov esi, dword [ebp + ebx*4 - 4]
nop
cmp esi, 0x10000
jb 0x4ea249
shr esi, 0x10
mov eax, 0x10
cmp esi, 0x100
jb 0x4ea242
shr esi, 8
lea edi, [eax + 8]
cmp esi, 0x100
jae 0x4ea2f5
mov dword [esp + 0x54], edi
mov dword [esp + 0x74], edx
fild dword [esp + 0x74]
lea eax, [0x5eca20]
movzx eax, byte [esi + eax]
mov dword [esp + 0x70], eax
fld st(0)
fstp qword [esp]
fstp st(0)
call fcn.00471090
mov eax, dword [esp + 0xa0]
lea ecx, [eax - 1]
shl ecx, 5
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x54]
add edx, ebx
add ecx, edx
mov dword [esp + 0x74], ecx
fild dword [esp + 0x74]
fld qword [esp + 8]
fld st(0)
fdivp st(2)
fld st(1)
fnstcw word [esp + 0x78]
lea ecx, [0x5e7088]
fldcw word [ecx]
fistp dword [esp + 0x74]
mov ecx, dword [esp + 0x74]
fldcw word [esp + 0x78]
lea edx, [ecx + 1]
movzx ebx, byte [esp + 0xa8]
test bl, bl
fstp st(0)
fstp st(0)
je 0x4ea23b
add ecx, 2
mov dword [esp + 0x40], ecx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00444130
mov eax, dword [esp + 0xc]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0xac]
mov edx, ecx
neg ecx
and ecx, edx
cmp edx, ecx
jne 0x4ea098
mov ebx, edx
neg edx
and ebx, edx
imul edx, ebx, 0x77cb531
shr edx, 0x1b
lea ebx, [0x5e88a0]
movzx ecx, byte [edx + ebx]
mov dword [esp + 0x70], ecx
cmp ecx, 0x20
sbb edx, edx
mov dword [esp + 0x6c], edx
nop
mov ebx, 1
shl ebx, cl
and ebx, edx
dec ebx
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0x9c]
mov esi, dword [ebp]
nop
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x84], eax
mov eax, 1
mov dword [esp + 0x5c], eax
mov eax, 0x20
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x84]
jmp 0x4e9f3b
xchg esi, ebx
mov byte [edi + eax - 1], bl
xchg esi, ebx
mov esi, dword [esp + 0x34]
shr esi, cl
and esi, edx
mov edi, dword [esp + 0x50]
sub edi, ecx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x50], edi
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0xa0]
mov ebp, dword [esp + 0x50]
cmp ebp, ecx
jb 0x4e9f04
mov dword [esp + 0x34], esi
and esi, ebx
cmp esi, 0x3e
jae 0x4ea2e9
mov edi, dword [esp + 0x60]
lea ebx, [edi - 1]
lea ebp, [0x68b509]
movzx esi, byte [ebp + esi]
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
ja 0x4e9ea1
jmp 0x4ea2e0
test ebp, ebp
jne 0x4e9f48
mov ebp, dword [esp + 0x5c]
cmp ebp, edi
jae 0x4ea2d7
mov esi, dword [esp + 0x9c]
mov esi, dword [esi + ebp*4]
mov dword [esp + 0x7c], eax
mov eax, 0x20
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x7c]
inc ebp
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x9c]
mov ebp, dword [esp + 0x5c]
cmp ebp, edi
jl 0x4e9ece
jmp 0x4e9ff4
mov edx, dword [esp + 0x5c]
cmp edx, edi
jae 0x4ea2ce
cmp ebp, 0x20
sbb edi, edi
mov ebx, dword [esp + 0x9c]
mov edx, dword [ebx + edx*4]
mov ecx, ebp
shl edx, cl
and edx, edi
or esi, edx
mov edx, dword [esp + 0x58]
and esi, edx
cmp esi, 0x3e
jae 0x4ea2c2
mov edi, dword [esp + 0x60]
lea edx, [edi - 1]
lea ebx, [0x68b509]
movzx esi, byte [ebx + esi]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jbe 0x4ea2b9
xchg esi, ebx
mov byte [edi + eax - 1], bl
xchg esi, ebx
mov esi, dword [esp + 0x70]
sub esi, ecx
cmp esi, 0x20
sbb ecx, ecx
mov dword [esp + 0x68], ecx
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + ebp*4]
mov ecx, esi
shr eax, cl
mov ebx, dword [esp + 0x68]
and eax, ebx
add ecx, 0xffffffe0
neg ecx
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x50], ecx
mov esi, eax
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
jmp 0x4e9f2f
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x60]
jmp 0x4ea01a
xchg esi, ebx
mov byte [edi + eax - 1], bl
xchg esi, ebx
mov esi, dword [esp + 0x34]
shr esi, cl
mov edi, dword [esp + 0x6c]
and esi, edi
mov edx, edi
mov edi, ebx
mov ebx, dword [esp + 0x58]
test esi, esi
je 0x4ea043
mov dword [esp + 0x34], esi
and esi, ebx
cmp esi, 0x3e
jae 0x4ea2ad
lea ebx, [edi - 1]
lea edx, [0x68b509]
movzx esi, byte [edx + esi]
cmp ebp, ebx
ja 0x4e9ffe
jmp 0x4ea2a4
movzx edx, byte [esp + 0xa8]
test dl, dl
je 0x4ea094
lea edx, [edi - 1]
cmp ebp, edx
jbe 0x4ea292
mov byte [edi + eax - 1], 0x2d
cmp ebp, edx
jb 0x4ea289
sub ebp, edx
mov ecx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add eax, edx
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], ecx
add esp, 0x98
ret
mov edx, edi
jmp 0x4ea05f
mov dword [esp], edx
call fcn.004e9510
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov ebx, dword [esp + 0xac]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
call fcn.004eab30
mov eax, dword [esp + 0x10]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x3c], edx
nop
mov ebx, dword [esp + 0xa0]
cmp ebx, 1
jne 0x4ea20a
lea eax, [0x643140]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00444130
mov eax, dword [esp + 0xc]
mov ecx, 1
mov edx, 1
mov ebx, dword [esp + 0xa0]
cmp ecx, ebx
jle 0x4ea203
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x90], eax
mov ebp, dword [esp + 0x9c]
cmp eax, ebp
je 0x4ea162
mov dword [esp], eax
mov dword [esp + 4], ebp
shl ebx, 2
mov dword [esp + 8], ebx
call fcn.0045d2c0
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x2c], edx
call fcn.004ea330
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
xor edx, edx
jmp 0x4ea1de
inc edx
cmp eax, edx
jbe 0x4ea29b
lea ebx, [edx + ecx]
cmp byte [ebx], 0x30
je 0x4ea1dd
movzx ebx, byte [esp + 0xa8]
test bl, bl
mov ebp, eax
mov edi, edx
mov eax, ecx
jmp 0x4ea04d
mov ebx, ecx
jmp 0x4ea135
lea eax, [0x643140]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea eax, [ebx + 4]
mov dword [esp + 0x30], eax
mov dword [esp + 8], eax
call fcn.00444130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x30]
jmp 0x4ea126
mov ecx, edx
jmp 0x4e9df3
mov edi, eax
jmp 0x4e9d64
xor eax, eax
jmp 0x4e9d52
lea eax, [0x63e940]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov byte [eax], 0x30
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 1
mov dword [esp + 0xb8], 1
add esp, 0x98
ret
mov eax, edx
mov ecx, ebp
call fcn.0045ca00
mov eax, edx
mov ecx, ebp
call fcn.0045c9a0
mov ecx, eax
mov eax, edx
call fcn.0045c9a0
mov eax, ebx
mov ecx, ebp
call fcn.0045c9a0
mov eax, esi
mov ecx, 0x3e
call fcn.0045c9b0
mov eax, edx
mov ecx, ebx
call fcn.0045c9a0
mov eax, esi
mov ecx, 0x3e
call fcn.0045c9b0
mov eax, edx
mov ecx, edi
call fcn.0045c9a0
mov eax, ebp
mov ecx, edi
call fcn.0045c9a0
mov eax, ebx
mov ecx, ebp
call fcn.0045c9a0
mov eax, esi
mov ecx, 0x3e
call fcn.0045c9b0
mov eax, esi
mov ecx, 0x100
call fcn.0045c9b0
lea eax, [0x643700]
mov dword [esp], eax
lea eax, [0x6c7dd8]
mov dword [esp + 4], eax
call fcn.00431bb0
nop
call fcn.0045b380
jmp fcn.004e9cf0