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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x84]
cmp eax, dword [ecx + 8]
jbe 0x4f6354
sub esp, 0x104
mov eax, dword [esp + 0x110]
test eax, eax
jne 0x4f3ea6
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408e80
mov eax, dword [esp + 0xc]
lea ecx, [0x601320]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4f3df4
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x640086]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4f3e89
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f3e81
mov dword [edx + 0x40], eax
jmp 0x4f3e89
lea edi, [edx + 0x40]
call fcn.0045e950
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov eax, dword [esp + 0x10c]
cmp byte [eax], 0x6e
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.004f0d60
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
test ebx, ebx
jne 0x4f62c0
test esi, esi
je 0x4f43ad
mov eax, dword [esp + 0x10c]
movzx ecx, byte [eax]
cmp cl, 0x22
je 0x4f420a
movzx edx, byte [esp + 0x124]
test dl, dl
jne 0x4f40a6
cmp cl, 0x66
je 0x4f3f4d
cmp cl, 0x6e
jne 0x4f3f48
lea eax, [0x62e16c]
mov ecx, 4
jmp 0x4f3f65
cmp cl, 0x74
jne 0x4f3f5a
lea eax, [0x62e0dc]
mov ecx, 4
jmp 0x4f3f65
lea eax, [0x62e6bd]
mov ecx, 6
mov dword [esp + 0x34], ecx
mov dword [esp + 0xa4], eax
mov edx, dword [esp + 0x118]
mov dword [esp], edx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [0x7e77b0]
test eax, eax
jne 0x4f3fea
mov ecx, dword [esp + 0xa4]
mov dword [edi], ecx
jmp 0x4f3ff6
mov eax, dword [esp + 0xa4]
call fcn.0045e950
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f4016
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4f402b
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045e950
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4f4089
mov dword [esp], eax
lea ecx, [0x68b820]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f4081
mov dword [edx + 0x40], eax
jmp 0x4f4089
lea edi, [edx + 0x40]
call fcn.0045e950
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408e80
mov eax, dword [esp + 0xc]
lea ecx, [0x601320]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4f4158
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x640086]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4f41ed
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f41e5
mov dword [edx + 0x40], eax
jmp 0x4f41ed
lea edi, [edx + 0x40]
call fcn.0045e950
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov dword [esp + 0xa8], edi
mov dword [esp + 0x38], esi
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.004f6b10
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x4f4371
movzx eax, byte [esp + 0x124]
test al, al
je 0x4f633b
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408e80
mov eax, dword [esp + 0xc]
lea ecx, [0x601320]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4f430e
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x640086]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0xa8]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0x60], ecx
mov ebx, dword [esp + 0x10c]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
ja 0x4f4c96
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x4f43eb
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
je 0x4f4e8a
jmp 0x4f547b
mov dword [esp], ebx
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x114]
mov dword [esp + 8], ecx
call fcn.004f6b10
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test cl, cl
je 0x4f4b74
mov dword [esp + 0x5c], edx
mov dword [esp + 0xb0], eax
nop
nop
mov ecx, dword [esp + 0x60]
mov ebp, ecx
and ecx, 0x1f
cmp ecx, 0x14
je 0x4f4966
cmp ecx, 0x17
je 0x4f46d4
cmp ecx, 0x18
jne 0x4f45d1
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [0x7bfe0c]
mov edx, dword [esp + 0x10]
cmp dword [0x7bfe08], eax
je 0x4f448b
xor eax, eax
jmp 0x4f44e6
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004033d0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f44a8
xor eax, eax
jmp 0x4f44e6
lea eax, [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ecx
call fcn.0044aee0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004f9af0
movzx eax, byte [esp + 8]
xor eax, 1
test al, al
jne 0x4f4530
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.0044aee0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004baa50
jmp 0x4f62a3
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.00408e80
mov eax, dword [esp + 0xc]
lea ecx, [0x601320]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
lea eax, [0x63fde7]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x62e723]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f4657
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4f466a
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e950
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4f62a3
mov dword [esp], ecx
lea edx, [0x68b820]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f46c7
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x4f485f
mov eax, dword [0x7bee4c]
cmp dword [eax + 0x140], 0xffffffff
jne 0x4f4749
mov eax, dword [esp + 0x5c]
lea ecx, [eax + eax*2]
mov edx, ecx
shl ecx, 1
sar ecx, 0x1f
shr ecx, 0x1d
lea ecx, [ecx + edx*2]
sar ecx, 3
jmp 0x4f4753
mov eax, dword [esp + 0x5c]
shr eax, 2
lea ecx, [eax + eax*2]
mov dword [esp + 0x30], ecx
lea eax, [0x607140]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004475c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov ecx, dword [0x7bee4c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
call fcn.004ef900
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x4f4819
nop
mov ecx, dword [esp + 0x108]
mov ebx, dword [ecx + 0x3c]
test ebx, ebx
jne 0x4f62a3
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f480c
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov edx, dword [esp + 0x30]
cmp edx, ecx
jb 0x4f6336
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004ba070
jmp 0x4f62a3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x62e723]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f48e9
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4f48fc
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e950
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4f62a3
mov dword [esp], ecx
lea edx, [0x68b820]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f4959
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004b9bb0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4f4a6d
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.0044aee0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408e00
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x7c0510]
test cl, cl
je 0x4f49fe
lea ecx, [0x606f80]
mov dword [0x7c0514], ecx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x4f49f1
mov dword [0x7c0518], eax
jmp 0x4f4a04
lea edi, [0x7c0518]
call fcn.0045e950
jmp 0x4f4a04
lea ecx, [0x606f80]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xdc]
test ecx, ecx
je 0x4f4a34
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f4a3a
or edx, 0x80
jmp 0x4f4a3a
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004b9ea0
jmp 0x4f62a3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x62e723]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f4af7
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4f4b0a
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e950
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4f62a3
mov dword [esp], ecx
lea edx, [0x68b820]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f4b67
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
movzx eax, byte [esp + 0x124]
test al, al
je 0x4f631e
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408e80
mov eax, dword [esp + 0xc]
lea ecx, [0x601320]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4f4c33
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x640086]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
xchg ebp, eax
cmp al, 0x6e
xchg ebp, eax
jne 0x4f4e7f
movzx ebp, byte [esp + 0x124]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f4e09
mov ebp, dword [esp + 0x110]
cmp ebp, 4
jne 0x4f4ccb
cmp dword [ebx], 0x6c6c756e
je 0x4f4e09
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408e80
mov eax, dword [esp + 0xc]
lea ecx, [0x601320]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4f4d68
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x640086]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4f62a3
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f4dfc
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
nop
mov ebx, ecx
and ecx, 0x1f
add ecx, 0xffffffec
nop
cmp ecx, 3
ja 0x4f62a3
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004bb9a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004b9ea0
jmp 0x4f62a3
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
jne 0x4f547b
movzx esi, byte [esp + 0x124]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4f5009
mov edi, dword [esp + 0x110]
cmp edi, 4
jne 0x4f4eb4
cmp dword [ebx], 0x65757274
je 0x4f5010
cmp edi, 5
jne 0x4f4ecb
cmp dword [ebx], 0x736c6166
jne 0x4f4ecb
cmp byte [ebx + 4], 0x65
je 0x4f5010
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408e80
mov eax, dword [esp + 0xc]
lea ecx, [0x601320]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4f4f68
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x640086]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4f62a3
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f4ffc
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov edi, dword [esp + 0x110]
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
nop
nop
and ecx, 0x1f
cmp ecx, 1
je 0x4f545c
cmp ecx, 0x14
je 0x4f5278
xchg esi, eax
test al, al
xchg esi, eax
je 0x4f517f
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408e80
mov eax, dword [esp + 0xc]
lea ecx, [0x601320]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4f50de
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x640086]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4f62a3
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f5172
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x62e0dc]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f51fb
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4f520e
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e950
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4f62a3
mov dword [esp], ecx
lea edx, [0x68b820]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f526b
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
call fcn.004b9bb0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4f5355
movzx ecx, byte [esp + 0x2f]
movzx ecx, cl
lea edx, [0x79c1c0]
lea eax, [edx + ecx*8]
nop
movzx ecx, byte [0x7c0510]
test cl, cl
je 0x4f52e6
lea ecx, [0x605b00]
mov dword [0x7c0514], ecx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x4f52d9
mov dword [0x7c0518], eax
jmp 0x4f52ec
lea edi, [0x7c0518]
call fcn.0045e950
jmp 0x4f52ec
lea ecx, [0x605b00]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x4f531c
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f5322
or edx, 0x80
jmp 0x4f5322
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004b9ea0
jmp 0x4f62a3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x62e0dc]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f53df
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4f53f2
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e950
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4f62a3
mov dword [esp], ecx
lea edx, [0x68b820]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f544f
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.004b9fb0
jmp 0x4f62a3
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
je 0x4f55a6
add ebp, 0xffffffd0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x4f55a6
movzx ebp, byte [esp + 0x124]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f6306
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408e80
mov eax, dword [esp + 0xc]
lea ecx, [0x601320]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4f5543
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x640086]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov dword [esp], 0
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x110]
mov dword [esp + 8], eax
call fcn.0044aee0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
nop
mov edx, dword [esp + 0x60]
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x4f5b22
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x4f5869
cmp edx, 7
jb 0x4f5b34
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004a5bc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x4f56e3
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
lea ebp, [ebx - 0x20]
mov dword [esp + 0x7c], ebp
cmp ebp, 0x20
sbb esi, esi
mov dword [esp + 0x78], esi
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x74], ebp
cmp ebp, 0x20
sbb edx, edx
mov dword [esp + 0x70], edx
cmp ebx, 0x20
sbb edx, edx
mov ecx, edi
mov ebp, dword [esp + 0x48]
shl ebp, cl
and ebp, esi
mov ecx, ebx
shl eax, cl
and eax, edx
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x48]
shr esi, cl
mov edi, dword [esp + 0x70]
and esi, edi
or eax, esi
or eax, ebp
mov ebp, ecx
mov ecx, ebx
mov esi, dword [esp + 0x48]
shl esi, cl
and esi, edx
shr esi, cl
and esi, edx
mov ecx, ebp
mov ebp, eax
shl eax, cl
and eax, edi
or esi, eax
mov ecx, dword [esp + 0x7c]
mov eax, ebp
shr ebp, cl
mov edi, dword [esp + 0x78]
and ebp, edi
or esi, ebp
mov ebp, dword [esp + 0x48]
cmp ebp, esi
xchg esi, ebx
setne bl
xchg esi, ebx
mov ecx, ebx
shr eax, cl
and eax, edx
mov edx, dword [esp + 0x54]
cmp edx, eax
setne al
or eax, esi
test al, al
je 0x4f583a
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x62eaad]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.0044ac30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f5796
mov dword [edi], eax
jmp 0x4f579b
call fcn.0045e950
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f57bb
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4f57d0
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045e950
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4f62a3
mov dword [esp], eax
lea ecx, [0x68b820]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f582d
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ebp
call fcn.004ba950
jmp 0x4f62a3
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004a63a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test edx, edx
jne 0x4f5998
mov dword [esp + 0x58], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebx
mov edx, dword [esp + 0xc0]
mov ebp, dword [edx]
shl ebp, 3
add ebp, 0xffffffc0
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x6c], ebp
lea esi, [ebp - 0x20]
mov dword [esp + 0x7c], esi
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x78], edi
cmp ebp, 0x20
sbb eax, eax
mov dword [esp + 0x74], eax
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x70], edx
shr ebp, 5
cmp ebp, 1
sbb ebp, ebp
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x6c]
cmp ebp, 0x20
sbb edx, edx
mov dword [esp + 0x6c], edx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x4c]
shl edx, cl
and edx, edi
mov ecx, ebp
shl ebx, cl
and ebx, eax
mov ecx, esi
mov edi, dword [esp + 0x4c]
shr edi, cl
mov esi, dword [esp + 0x70]
and edi, esi
or ebx, edi
or ebx, edx
mov edx, ecx
mov ecx, ebp
mov edi, dword [esp + 0x4c]
shl edi, cl
and edi, eax
mov eax, dword [esp + 0x78]
not eax
mov ebp, dword [esp + 0x7c]
or eax, ebp
mov ebp, ecx
mov ecx, eax
mov eax, ebx
sar ebx, cl
mov ecx, ebp
mov ebp, dword [esp + 0x68]
xor ebp, 0xffffffff
and ebp, ebx
mov ebx, ecx
mov ecx, edx
mov edx, eax
shl eax, cl
and eax, esi
mov ecx, ebx
shr edi, cl
mov esi, dword [esp + 0x74]
and edi, esi
or edi, eax
or ebp, edi
mov eax, dword [esp + 0x4c]
cmp eax, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [esp + 0x6c]
xchg esi, ebx
not ebx
xchg esi, ebx
or ecx, esi
sar edx, cl
mov ebx, dword [esp + 0x50]
cmp ebx, edx
setne dl
or edx, ebp
test dl, dl
je 0x4f5aef
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x62eaad]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.0044ac30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f5a4b
mov dword [edi], eax
jmp 0x4f5a50
call fcn.0045e950
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f5a70
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4f5a85
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045e950
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4f62a3
mov dword [esp], eax
lea ecx, [0x68b820]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f5ae2
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call fcn.004ba370
jmp 0x4f62a3
cmp edx, 0xe
jbe 0x4f608e
cmp edx, 0x14
je 0x4f5def
cmp edx, 0x18
je 0x4f5b3d
xor edx, edx
jmp 0x4f5b9b
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [0x7bfe0c]
mov edx, dword [esp + 0x10]
cmp dword [0x7bfe08], eax
je 0x4f5b75
xor eax, eax
jmp 0x4f5b8a
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004033d0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x60]
mov edx, eax
mov eax, dword [esp + 0xac]
test dl, dl
jne 0x4f5dc4
movzx eax, byte [esp + 0x124]
test al, al
je 0x4f5cc1
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00408e80
mov eax, dword [esp + 0xc]
lea ecx, [0x601320]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4f5c5e
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x100], eax
lea eax, [0x640086]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x62e6bd]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f5d47
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4f5d5a
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e950
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4f62a3
mov dword [esp], ecx
lea edx, [0x68b820]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f5db7
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004baa50
jmp 0x4f62a3
mov edx, dword [esp + 0x108]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f3b40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
test edx, edx
je 0x4f5e76
nop
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4f62a3
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f5e69
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xb4], esi
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call fcn.004b9bb0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4f5f87
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4f5f4e
nop
movzx ecx, byte [0x7c0510]
test cl, cl
je 0x4f5f08
mov ecx, dword [esp + 0xcc]
mov dword [0x7c0514], ecx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x4f5ef4
mov eax, dword [esp + 0xb4]
mov dword [0x7c0518], eax
jmp 0x4f5f16
lea edi, [0x7c0518]
mov eax, dword [esp + 0xb4]
call fcn.0045e950
jmp 0x4f5f16
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x4f5f46
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f5f54
or edx, 0x80
jmp 0x4f5f54
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4f5f54
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004b9ea0
jmp 0x4f62a3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x62e6bd]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f6011
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0xc], ecx
jmp 0x4f6024
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045e950
mov eax, ecx
mov ecx, dword [esp + 0x80]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x3c]
test edx, edx
jne 0x4f62a3
mov dword [esp], ecx
lea edx, [0x68b820]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f6081
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004a54f0
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4f6134
mov eax, dword [esp + 0x64]
cmp eax, 0xd
jne 0x4f6281
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x4f6110
movsd xmm1, qword [0x68b1a8]
pxor xmm0, xmm1
movsd xmm1, qword [0x68b190]
ucomisd xmm0, xmm1
jbe 0x4f6281
movsd xmm1, qword [0x68b198]
ucomisd xmm1, xmm0
jb 0x4f6281
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x80], ebx
lea ebp, [0x61acc0]
mov dword [esp], ebp
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x62eaad]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
call fcn.0044ac30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f61e7
mov dword [edi], eax
jmp 0x4f61ec
call fcn.0045e950
mov ecx, dword [esp + 0xc8]
mov dword [edi + 8], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f620c
mov eax, dword [esp + 0xcc]
mov dword [edi + 0xc], eax
jmp 0x4f6221
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, ecx
call fcn.0045e950
mov edi, edx
mov eax, dword [esp + 0x80]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x4f62a3
mov dword [esp], eax
lea ecx, [0x68b820]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004f0680
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x4f6277
mov dword [edx + 0x40], eax
jmp 0x4f62a3
lea edi, [edx + 0x40]
call fcn.0045e950
jmp 0x4f62a3
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004ba2b0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x104
ret
mov eax, dword [ebx + 0x10]
mov dword [esp], ebp
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x114]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0x104
ret
lea eax, [0x606f80]
mov dword [esp], eax
lea eax, [0x68b240]
mov dword [esp + 4], eax
call fcn.004337b0
lea eax, [0x606f80]
mov dword [esp], eax
lea eax, [0x68b240]
mov dword [esp + 4], eax
call fcn.004337b0
call fcn.0045ea10
lea eax, [0x606f80]
mov dword [esp], eax
lea eax, [0x68b240]
mov dword [esp + 4], eax
call fcn.004337b0
nop
call fcn.0045d540
jmp fcn.004f3d10