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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4ef924
sub esp, 0x70
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0xc]
lea ebp, [ebx + ecx]
mov dword [esp + 0x40], ebp
mov esi, dword [eax + 8]
mov edi, dword [eax]
mov edx, dword [edx + 8]
cmp ebp, esi
ja 0x4ef8d9
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], edi
lea eax, [edi + ecx]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004516d0
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 8], eax
mov eax, dword [0x8c1150]
test eax, eax
jne 0x4ef8cb
mov edx, dword [esp + 0x44]
mov dword [edi], edx
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x10]
test ebx, 7
je 0x4ef8c4
test ebx, 0x20
je 0x4ef8bd
mov eax, edi
lea edi, [esp + 0x48]
lea esi, [esp + 0x7c]
call fcn.004514ae
nop
nop
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov ebp, ebx
shr ebx, 0x1f
shl ebx, 0x1f
test ebx, ebx
je 0x4ef213
mov ebx, ecx
shr ecx, 0x1f
shl ebp, 1
or ebp, ecx
mov ecx, ebp
shl ebp, 1
shl ebx, 1
shr ebx, 0x1f
or ebx, ebp
mov ebp, ebx
add ebx, 0xd7b17f80
mov dword [esp + 0x50], ebx
shr ecx, 0x1f
add ebp, 0xd7b17f80
adc ecx, 0xd
mov dword [esp + 0x54], ecx
and dword [esp + 0x48], 0x3fffffff
mov dword [esp + 0x4c], 0
mov dword [esp + 0x58], 0
lea edi, [esp + 0x7c]
lea esi, [esp + 0x48]
call fcn.004514ae
mov ebx, dword [edx + 0x10]
test ebx, 1
jne 0x4ef6fd
mov ebx, dword [edx + 0x10]
test ebx, 6
jne 0x4ef478
mov edx, dword [edx + 0x10]
test edx, 0x18
je 0x4ef36c
test edx, 0x10
je 0x4ef465
mov ecx, dword [esp + 0x94]
lea edx, [ecx - 1]
mov ebx, dword [esp + 0x90]
jmp 0x4ef275
dec edx
test edx, edx
jle 0x4ef45c
cmp edx, ecx
jae 0x4ef91c
movzx ebp, byte [ebx + edx]
xchg ebp, eax
cmp al, 0x2f
xchg ebp, eax
jne 0x4ef274
inc edx
sub ecx, edx
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, edx
add ecx, ebx
mov dword [esp + 0x94], ebp
mov edx, dword [eax + 4]
mov dword [esp + 0x40], edx
lea ebx, [ebp + edx]
mov dword [esp + 0x3c], ebx
mov esi, dword [eax + 8]
mov edi, dword [eax]
cmp ebx, esi
ja 0x4ef418
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], esi
lea eax, [edi + edx]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004516d0
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x78]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x38]
mov dword [edi + 8], ecx
mov edx, dword [0x8c1150]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x4ef402
mov edx, dword [esp + 0x44]
mov dword [edi], edx
cmp ebx, ecx
ja 0x4ef3b5
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
mov dword [esp], edi
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xffffffff
call fcn.004eefa0
mov edi, dword [esp + 0x78]
mov eax, dword [edi + 4]
lea ecx, [eax + 2]
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp ecx, edx
ja 0x4ef379
mov ebp, 0x203a
mov word [ebx + eax], bp
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov ecx, dword [0x8c1150]
test ecx, ecx
jne 0x4ef370
mov dword [edi], ebx
add esp, 0x70
ret
mov eax, ebx
call fcn.00450d20
jmp 0x4ef36c
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
lea ebp, [0x659d80]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0043c410
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x78]
jmp 0x4ef351
lea ebp, [0x659d80]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.0043c410
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x8c1150]
test edx, edx
jne 0x4ef3fb
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x4ef319
call fcn.00450d20
jmp 0x4ef3f2
mov edx, eax
mov eax, dword [esp + 0x44]
call fcn.00450d20
mov eax, edx
mov edx, dword [esp + 0x44]
jmp 0x4ef311
mov dword [esp + 0x90], ecx
lea eax, [0x659d80]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043c410
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x94]
jmp 0x4ef2c1
mov ebp, ecx
mov ecx, ebx
jmp 0x4ef29e
mov ebp, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
jmp 0x4ef29e
mov edi, esp
lea esi, [esp + 0x7c]
call fcn.004514ae
call fcn.004a5b00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.004eefa0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4ef6b0
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x3a
mov dword [esp], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004eefa0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4ef663
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x3a
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004eefa0
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x10]
test ecx, 4
jne 0x4ef5af
mov edx, dword [esp + 0x78]
mov ebx, dword [edx + 4]
lea ebp, [ebx + 1]
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4ef55f
lea ebp, [ebx + 1]
mov dword [edx + 4], ebp
mov byte [esi + ebx], 0x20
mov edx, eax
mov eax, dword [esp + 0x78]
jmp 0x4ef246
lea eax, [0x659d80]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.0043c410
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x8c1150]
test edx, edx
jne 0x4ef5a8
mov dword [edi], eax
mov edx, edi
mov ebx, ecx
mov esi, eax
mov eax, dword [esp + 0x74]
jmp 0x4ef54a
call fcn.00450d20
jmp 0x4ef59c
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 4]
lea ebx, [edx + 1]
mov ebp, dword [ecx + 8]
mov esi, ecx
mov ecx, dword [ecx]
cmp ebx, ebp
ja 0x4ef614
lea ebx, [edx + 1]
mov dword [esi + 4], ebx
mov byte [ecx + edx], 0x2e
lea edi, [esp + 0x5c]
mov eax, esi
lea esi, [esp + 0x7c]
call fcn.004514ae
nop
mov ecx, dword [esp + 0x5c]
mov dword [esp], eax
and ecx, 0x3fffffff
mov eax, 0x4189374c
imul ecx
sar ecx, 0x1f
sar edx, 8
sub edx, ecx
mov dword [esp + 4], edx
mov dword [esp + 8], 6
call fcn.004eefa0
mov eax, dword [esp + 0x74]
jmp 0x4ef537
lea eax, [0x659d80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043c410
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x8c1150]
test edx, edx
jne 0x4ef65c
mov dword [edi], eax
mov esi, edi
mov edx, ecx
mov ecx, eax
jmp 0x4ef5c4
call fcn.00450d20
jmp 0x4ef651
lea eax, [0x659d80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043c410
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x8c1150]
test edx, edx
jne 0x4ef6a9
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4ef505
call fcn.00450d20
jmp 0x4ef6a0
lea eax, [0x659d80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043c410
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x8c1150]
test edx, edx
jne 0x4ef6f6
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4ef4cb
call fcn.00450d20
jmp 0x4ef6ed
nop
mov edi, esp
lea esi, [esp + 0x7c]
call fcn.004514ae
mov byte [esp + 0x14], 1
call fcn.004a6c40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.004eefa0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4ef870
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x2f
mov dword [esp], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004eefa0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x4ef823
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x2f
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.004eefa0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4ef7d9
lea ebx, [ecx + 1]
mov dword [eax + 4], ebx
mov byte [ebp + ecx], 0x20
mov edx, dword [esp + 0x74]
jmp 0x4ef237
lea eax, [0x659d80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043c410
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x8c1150]
test edx, edx
jne 0x4ef81c
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4ef7c5
call fcn.00450d20
jmp 0x4ef816
lea eax, [0x659d80]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.0043c410
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x8c1150]
test edx, edx
jne 0x4ef869
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4ef790
call fcn.00450d20
jmp 0x4ef860
lea eax, [0x659d80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043c410
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x78]
mov dword [edi + 8], edx
mov edx, dword [0x8c1150]
test edx, edx
jne 0x4ef8b6
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4ef756
call fcn.00450d20
jmp 0x4ef8ad
mov eax, edi
jmp 0x4ef228
mov eax, edi
jmp 0x4ef246
mov eax, dword [esp + 0x44]
call fcn.00450d20
jmp 0x4ef18f
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ebx
lea eax, [0x659d80]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0043c410
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
jmp 0x4ef14e
mov eax, edx
call fcn.00450da0
nop
call fcn.0044f4e0
jmp fcn.004ef110