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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x4eff86
sub esp, 0xf8
mov eax, dword [esp + 0xfc]
mov dword [eax + 0x34], 0
mov dword [eax + 0x3c], 0
mov byte [eax + 0x40], 0
xor ecx, ecx
xor edx, edx
jmp 0x4ef0b8
mov eax, dword [esp + 0xfc]
mov ecx, ebp
mov edx, ebx
mov byte [esp + 0x22], dl
mov byte [esp + 0x23], cl
mov dword [esp], eax
call fcn.004eee70
movzx eax, byte [esp + 5]
test al, al
je 0x4ef78f
movzx ebx, byte [esp + 4]
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
cmp al, 0x5d
xchg ebp, eax
jne 0x4ef0fc
movzx ebp, byte [esp + 0x22]
xchg ebp, eax
cmp al, 0x5d
xchg ebp, eax
jne 0x4ef101
cmp bl, 0x3e
jne 0x4ef101
jmp 0x4ef569
movzx ebp, byte [esp + 0x22]
cmp bl, 0x3c
jne 0x4ef119
movzx esi, byte [esp + 0x104]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4ef121
jmp 0x4ef600
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
test edi, edi
jl 0x4ef136
xchg edi, eax
cmp al, bl
xchg edi, eax
je 0x4ef6b9
cmp bl, 0x26
jne 0x4ef4eb
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4ef4eb
mov eax, dword [esp + 0xfc]
lea ecx, [eax + 0x30]
mov dword [esp + 0xec], ecx
mov edx, dword [eax + 0x34]
nop
sub edx, dword [eax + 0x3c]
mov dword [esp + 0xbc], edx
mov dword [esp], ecx
mov byte [esp + 4], 0x26
call fcn.004d4610
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.004eef80
movzx eax, byte [esp + 5]
test al, al
je 0x4ef767
movzx eax, byte [esp + 4]
cmp al, 0x23
je 0x4ef448
nop
cmp al, 0xa
jne 0x4ef1b1
mov ecx, dword [esp + 0xfc]
dec dword [ecx + 0x7c]
jmp 0x4ef1b8
mov ecx, dword [esp + 0xfc]
movzx eax, al
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x88]
mov edx, dword [ecx + 0x8c]
add eax, 0xffffffff
mov dword [ecx + 0x88], eax
adc edx, 0xffffffff
mov dword [ecx + 0x8c], edx
mov dword [esp], ecx
call fcn.004f0270
movzx eax, byte [esp + 4]
test al, al
je 0x4ef1f6
mov eax, dword [esp + 0xfc]
jmp 0x4ef208
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x74]
test ecx, ecx
jne 0x4ef6ef
mov dword [esp], eax
call fcn.004eef80
movzx eax, byte [esp + 5]
test al, al
je 0x4ef6c7
movzx ebx, byte [esp + 4]
cmp bl, 0x3b
je 0x4ef26e
cmp bl, 0xa
jne 0x4ef238
mov ebp, dword [esp + 0xfc]
dec dword [ebp + 0x7c]
jmp 0x4ef23f
mov ebp, dword [esp + 0xfc]
movzx ebx, bl
mov dword [ebp + 0x6c], ebx
mov ebx, dword [ebp + 0x88]
mov esi, dword [ebp + 0x8c]
add ebx, 0xffffffff
mov dword [ebp + 0x88], ebx
adc esi, 0xffffffff
mov dword [ebp + 0x8c], esi
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4ef434
mov edx, dword [esp + 0xfc]
mov ecx, dword [edx + 0x34]
mov eax, dword [edx + 0x3c]
cmp ecx, eax
jb 0x4eff80
mov ebx, dword [esp + 0xbc]
lea ebp, [ebx + 1]
mov esi, dword [edx + 0x30]
mov edi, dword [edx + 0x38]
sub ecx, eax
sub edi, eax
mov dword [esp + 0x94], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
add esi, eax
cmp ecx, ebp
jb 0x4eff79
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xd0], esi
mov dword [esp + 0xc8], ebp
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov byte [esp + 4], 0x3b
call fcn.004d4610
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xbc]
sub eax, ecx
mov edx, dword [esp + 0x8c]
sub edx, ecx
dec edx
mov dword [esp + 0xb4], edx
dec eax
mov ebx, eax
neg eax
sar eax, 0x1f
mov ebp, dword [esp + 0xc8]
and ebp, eax
mov eax, dword [esp + 0xd0]
add eax, ebp
mov dword [esp + 0xe0], eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004f03e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4ef349
mov ebx, dword [esp + 0xfc]
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4ef432
lea eax, [esp + 0x48]
mov dword [esp], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
call fcn.00454610
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
mov edx, dword [0x96ee44]
lea ebx, [0x695480]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004119f0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x4ef3ff
mov ebx, dword [esp + 0xfc]
mov ebp, dword [ebx + 0x10]
test ebp, ebp
jne 0x4ef3c0
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4ef432
lea eax, [0x694cc0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xc], ecx
call fcn.004119f0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
movzx edx, byte [esp + 0x14]
mov ebx, dword [esp + 0xfc]
jmp 0x4ef432
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
lea edx, [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00454b30
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xfc]
mov edx, 1
mov ebp, ebx
mov edi, dword [esp + 0xec]
mov ebx, eax
mov eax, edx
mov edx, ecx
mov ecx, ebx
jmp 0x4efd0f
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov byte [esp + 4], 0x23
call fcn.004d4610
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.004eef80
movzx eax, byte [esp + 5]
test al, al
je 0x4ef73f
movzx ebx, byte [esp + 4]
cmp bl, 0x78
je 0x4ef489
mov eax, 0xa
jmp 0x4ef4c3
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov byte [esp + 4], 0x78
call fcn.004d4610
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.004eef80
movzx eax, byte [esp + 5]
test al, al
je 0x4ef717
movzx ebx, byte [esp + 4]
mov eax, 0x10
mov dword [esp + 0xa0], eax
mov ebp, dword [esp + 0xfc]
mov esi, dword [ebp + 0x34]
nop
sub esi, dword [ebp + 0x3c]
mov dword [esp + 0x9c], esi
mov edi, dword [esp + 0xec]
jmp 0x4efb61
mov byte [esp + 0x21], bl
cmp bl, 0xd
je 0x4ef534
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
jne 0x4ef504
cmp bl, 0xa
je 0x4ef0ad
mov eax, dword [esp + 0xfc]
lea ecx, [eax + 0x30]
mov dword [esp], ecx
call fcn.004d4610
movzx ebx, byte [esp + 0x21]
movzx ebp, byte [esp + 0x22]
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
jmp 0x4ef0ad
mov eax, dword [esp + 0xfc]
lea ecx, [eax + 0x30]
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.004d4610
movzx ebx, byte [esp + 0x21]
movzx ebp, byte [esp + 0x22]
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
jmp 0x4ef0ad
movzx ebx, byte [esp + 0x104]
test bl, bl
je 0x4ef586
mov ebx, dword [esp + 0xfc]
mov eax, 2
jmp 0x4ef7a4
nop
lea eax, [0x6a4980]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x22
lea ecx, [0x6dd5ae]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x749798]
mov dword [ecx + 0x74], edx
mov edx, dword [0x9aef70]
test edx, edx
je 0x4ef5d5
call fcn.0046c8a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ebx, dword [esp + 0x100]
test ebx, ebx
jge 0x4ef63f
nop
mov ebx, dword [esp + 0xfc]
mov dword [ebx + 0x6c], 0x3c
mov ebp, dword [ebx + 0x88]
mov esi, dword [ebx + 0x8c]
add ebp, 0xffffffff
mov dword [ebx + 0x88], ebp
adc esi, 0xffffffff
mov dword [ebx + 0x8c], esi
xor eax, eax
jmp 0x4ef7a4
nop
lea eax, [0x6a4980]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x6dc44f]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x749798]
mov dword [ecx + 0x74], edx
mov edx, dword [0x9aef70]
test edx, edx
je 0x4ef68e
call fcn.0046c8a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ebx, dword [esp + 0xfc]
xor eax, eax
jmp 0x4ef7a4
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
movzx ebx, byte [esp + 0x104]
test bl, bl
jne 0x4ef7f3
mov ebx, dword [esp + 0xfc]
xor eax, eax
mov ecx, dword [ebx + 0x34]
mov ebp, dword [ebx + 0x3c]
nop
cmp ebp, ecx
ja 0x4efb39
mov esi, dword [ebx + 0x30]
mov edx, dword [ebx + 0x38]
sub edx, ebp
sub ecx, ebp
sub ecx, eax
mov eax, edx
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [esi + ebp]
cmp edx, ecx
jb 0x4efb34
mov dword [esp + 0x90], edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xb8], ecx
mov ebp, ecx
mov esi, edx
mov edi, eax
jmp 0x4ef8c3
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x74]
cmp dword [0x9646f0], ecx
jne 0x4ef879
mov edx, dword [eax + 0x78]
mov ebx, dword [0x9646f4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00404cd0
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ef879
nop
lea eax, [0x6a4980]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1f
lea ecx, [0x6dbe56]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x749798]
mov dword [ecx + 0x74], edx
mov edx, dword [0x9aef70]
test edx, edx
je 0x4ef876
call fcn.0046c8a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ebx, dword [esp + 0xfc]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0xcc]
mov eax, ecx
mov ecx, edx
mov edx, ebp
mov ebp, dword [esp + 0xb8]
test ecx, ecx
je 0x4efb0f
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xd4], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0047aa80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, 0xfffd
jne 0x4ef904
cmp ecx, 1
je 0x4ef980
mov edx, dword [esp + 0xa4]
cmp edx, ecx
jb 0x4efb2b
mov ebx, dword [esp + 0xa8]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
sub edx, ecx
mov ecx, dword [esp + 0xd4]
add ecx, ebx
cmp eax, 9
je 0x4ef8a1
cmp eax, 0xa
je 0x4ef8a1
cmp eax, 0xd
je 0x4ef8a1
lea ebx, [eax - 0x20]
cmp ebx, 0xd7df
jbe 0x4ef8a1
lea ebx, [eax - 0xe000]
cmp ebx, 0x1ffd
jbe 0x4ef8a1
lea ebx, [eax - 0x10000]
cmp ebx, 0xfffff
jbe 0x4ef8a1
jmp 0x4ef9fa
nop
lea eax, [0x6a4980]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xd
lea ecx, [0x6d287c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x749798]
mov dword [ecx + 0x74], edx
mov edx, dword [0x9aef70]
test edx, edx
je 0x4ef9cf
call fcn.0046c8a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp], eax
call fcn.0040aa30
mov eax, dword [esp + 4]
lea ecx, [0x692b00]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
lea eax, [0x6d89ab]
mov dword [esp], eax
mov dword [esp + 4], 0x19
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c7a30
mov eax, dword [esp + 0x18]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xd8], ecx
nop
lea edx, [0x6a4980]
mov dword [esp], edx
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
mov ecx, dword [0x9aef70]
test ecx, ecx
jne 0x4efaa7
mov ecx, dword [esp + 0xd8]
jmp 0x4efab5
call fcn.0046c890
mov ecx, dword [esp + 0xd8]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x749798]
mov dword [ecx + 0x74], edx
mov edx, dword [0x9aef70]
test edx, edx
je 0x4efae4
call fcn.0046c8a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], edi
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x110], esi
add esp, 0xf8
ret
mov eax, ecx
mov ecx, edx
call fcn.0046c970
call fcn.0046c950
mov eax, ebp
call fcn.0046c970
movzx ebx, byte [esp + 4]
mov edi, dword [esp + 0xec]
mov eax, dword [esp + 0xa0]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x9c]
lea ecx, [ebx - 0x30]
cmp cl, 9
jbe 0x4efb83
cmp eax, 0x10
jne 0x4efbac
lea ecx, [ebx - 0x61]
cmp cl, 5
jbe 0x4efb83
cmp eax, 0x10
jne 0x4efbac
lea ecx, [ebx - 0x41]
cmp cl, 5
ja 0x4efbac
mov dword [esp], edi
mov byte [esp + 4], bl
call fcn.004d4610
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.004eef80
movzx eax, byte [esp + 5]
test al, al
jne 0x4efb40
jmp 0x4eff13
cmp bl, 0x3b
je 0x4efbe8
cmp bl, 0xa
jne 0x4efbb9
dec dword [ebp + 0x7c]
movzx ebx, bl
mov dword [ebp + 0x6c], ebx
mov ebx, dword [ebp + 0x88]
mov esi, dword [ebp + 0x8c]
add ebx, 0xffffffff
mov dword [ebp + 0x88], ebx
adc esi, 0xffffffff
mov dword [ebp + 0x8c], esi
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4efd0f
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x3c]
cmp ecx, edx
jb 0x4eff72
mov ebx, dword [ebp + 0x30]
mov ebp, dword [ebp + 0x38]
sub ecx, edx
sub ebp, edx
mov dword [esp + 0x98], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
cmp esi, ecx
ja 0x4eff6b
sub ecx, esi
mov eax, dword [esp + 0x98]
sub eax, esi
neg eax
sar eax, 0x1f
and eax, esi
add eax, edx
lea edx, [esp + 0x6c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00454610
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov byte [esp + 4], 0x3b
call fcn.004d4610
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x40
call fcn.0047e590
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4efcab
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4efd01
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ebx, 0x10ffff
xchg esi, ebx
setbe bl
xchg esi, ebx
and ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4efcd9
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4efd01
mov eax, ebx
sar ebx, 0x1f
lea ecx, [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00454b30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov eax, 1
mov ebp, dword [esp + 0xfc]
mov edi, dword [esp + 0xec]
test al, al
jne 0x4efeac
movzx edx, byte [ebp]
test dl, dl
jne 0x4efd37
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
xor ebp, ebp
xor ebx, ebx
jmp 0x4ef0ad
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0x3c]
cmp ecx, eax
jb 0x4eff66
mov edx, dword [ebp + 0x30]
mov ebx, dword [ebp + 0x38]
sub ecx, eax
sub ebx, eax
mov esi, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
add edx, eax
mov eax, dword [esp + 0xbc]
cmp eax, ecx
ja 0x4eff61
sub ecx, eax
sub esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
lea eax, [edx + esi]
lea edx, [esp + 0x24]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00454610
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 1]
cmp ecx, eax
jbe 0x4eff5c
mov eax, dword [esp + 0xc]
lea edx, [ecx + eax - 1]
cmp byte [edx], 0x3b
je 0x4efdd9
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x6d355f]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0xf
call fcn.00454370
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], 0
lea edx, [0x6d8992]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x19
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00454370
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xdc], ecx
lea edx, [0x6a4980]
mov dword [esp], edx
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
mov ecx, dword [0x9aef70]
test ecx, ecx
jne 0x4efe44
mov ecx, dword [esp + 0xdc]
jmp 0x4efe52
call fcn.0046c890
mov ecx, dword [esp + 0xdc]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x749798]
mov dword [ecx + 0x74], edx
mov edx, dword [0x9aef70]
test edx, edx
je 0x4efe81
call fcn.0046c8a0
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x4efecc
nop
mov dword [ebp + 0x34], 0
mov dword [ebp + 0x3c], 0
mov byte [ebp + 0x40], 0
jmp 0x4efeeb
mov byte [ebp + 0x40], 0
jl 0x4eff44
mov ebx, dword [ebp + 0x34]
mov esi, dword [ebp + 0x3c]
sub ebx, esi
nop
cmp eax, ebx
jg 0x4eff44
add eax, esi
mov ebx, dword [ebp + 0x38]
cmp ebx, eax
jb 0x4eff3b
mov dword [ebp + 0x34], eax
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004d4120
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
xor ebp, ebp
xor ebx, ebx
jmp 0x4ef0ad
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ecx, eax
mov edx, ebx
call fcn.0046c950
lea eax, [0x6929c0]
mov dword [esp], eax
lea eax, [0x7486d0]
mov dword [esp + 4], eax
call fcn.00439660
call fcn.0046c910
call fcn.0046c970
call fcn.0046c970
mov eax, esi
call fcn.0046c970
mov eax, edx
call fcn.0046c970
mov eax, ebp
call fcn.0046c970
call fcn.0046c970
nop
call fcn.0046b490
jmp fcn.004ef070