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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x268]
cmp eax, dword [ecx + 8]
jbe 0x4f9f66
sub esp, 0x2e8
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f4]
mov dword [esp + 8], edx
call fcn.0046cc00
lea edi, [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x304]
mov ebx, dword [esp + 0x2fc]
cmp edx, ebx
jne 0x4f6ecc
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
lea esi, [esp + 0x308]
call fcn.0044d664
call fcn.004f9f70
movzx eax, byte [esp + 0x24]
test al, al
je 0x4f6e7b
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x304]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x688a15]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x12
lea eax, [0x6e60e0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.004075a0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
jmp 0x4f6e58
mov dword [esp + 0x13c], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0xdc], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
cmp dword [esp + 4], 0x14
je 0x4f9f29
xor eax, eax
lea ecx, [esp + 0xc]
mov dword [esp + 0x138], ecx
test al, al
je 0x4f7867
mov eax, dword [esp + 0x2f8]
mov dword [esp], eax
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x300]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x304]
mov dword [esp + 0xc], ebx
call fcn.004f62c0
mov eax, dword [esp + 0x14]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], edx
mov byte [esp + 0xd8], cl
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xcc]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0xd4]
test esi, esi
jne 0x4f784b
mov dword [esp + 0xc0], edx
mov dword [esp + 0xa4], edi
nop
lea edx, [edi + eax]
cmp edx, eax
jge 0x4f7829
mov dword [esp + 0xc4], eax
mov eax, 1
mov byte [esp + 0x41], al
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x134], ebp
movzx ebp, byte [esp + 0x41]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4f77b6
mov dword [esp + 0xbc], edx
test cl, cl
je 0x4f7102
mov eax, dword [esp + 0x134]
xor ecx, ecx
xor ebx, ebx
test esi, esi
jne 0x4f70e6
mov dword [esp + 0x134], eax
mov dword [esp + 0xb8], esi
test ebx, ebx
je 0x4f7097
nop
nop
movzx ebp, byte [0x895000]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f7034
mov dword [0x895004], ebx
mov ebp, dword [0x8a6100]
test ebp, ebp
jne 0x4f70d0
mov dword [0x895008], ecx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ecx
nop
mov ebx, dword [esp + 0x148]
test ebx, ebx
je 0x4f70c8
nop
nop
movzx ebp, byte [ebx + 0xf]
mov edi, ebp
and ebp, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x4f7066
or ebp, 0x80
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
call fcn.0046c490
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
xor ebp, ebp
xor ecx, ecx
xor ebx, ebx
jmp 0x4f7066
lea edi, [0x895008]
mov ebp, eax
mov eax, ecx
call fcn.0044d090
mov eax, ebp
jmp 0x4f7034
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], esi
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
test ebx, ebx
jne 0x4f6fe2
test edx, edx
jl 0x4f9f5f
cmp eax, edx
ja 0x4f9f5f
mov ebx, dword [esp + 0x300]
cmp edx, ebx
ja 0x4f9f5f
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, ebp
mov ebp, dword [esp + 0x2f8]
mov ecx, edx
lea edx, [ebp + ebx]
mov dword [esp + 0x110], edx
mov edx, dword [esp + 0xc0]
cmp edx, 0xc
jg 0x4f7536
mov dword [esp + 0xc0], eax
cmp edx, 3
jg 0x4f73a2
cmp edx, 2
je 0x4f7344
cmp edx, 3
jne 0x4f7332
nop
test edi, edi
je 0x4f72d6
movzx edx, byte [ebp + ebx]
movzx ebx, dl
cmp ebx, 7
jle 0x4f7258
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x68f79a]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x22
lea eax, [0x6e60e0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x108], eax
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x1a4], ebp
lea edx, [0x663820]
mov dword [esp], edx
lea edx, [esp + 0x198]
mov dword [esp + 4], edx
call fcn.00407290
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x108]
mov ebx, dword [esp + 0xa0]
mov esi, ebx
mov ebx, eax
mov eax, edx
mov edx, dword [esp + 0xbc]
jmp 0x4f6fed
cmp edi, 1
jne 0x4f72d2
test ebx, ebx
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4f7196
cmp dl, 0x20
sbb ebp, ebp
mov esi, dword [esp + 0x110]
movzx esi, byte [edi + esi - 1]
mov ecx, edx
mov eax, 1
shl eax, cl
and eax, ebp
dec eax
xchg esi, ebx
test al, bl
xchg esi, ebx
jne 0x4f7196
lea ebp, [edi - 1]
mov edx, ebp
shl ebp, 3
sub ebp, ebx
mov edi, dword [esp + 0xc0]
lea esi, [edi - 1]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
mov eax, edi
mov edi, dword [esp + 0x110]
lea ebx, [edi + esi]
xor ecx, ecx
mov esi, eax
xor eax, eax
jmp 0x4f71ed
xor ebp, ebp
jmp 0x4f7266
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x68a7c7]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x16
lea eax, [0x6e60e0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.004075a0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4f71ed
mov edx, dword [esp + 0x134]
mov ebx, esi
xor ecx, ecx
xor eax, eax
jmp 0x4f7246
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.004f4b30
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.004073c0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x640320]
jmp 0x4f7246
cmp edx, 4
je 0x4f74fb
cmp edx, 6
je 0x4f7495
cmp edx, 0xc
jne 0x4f7332
nop
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.00451a80
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f744e
mov dword [esp], 0
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], eax
call fcn.0043c2a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x9c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407430
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x9c]
lea eax, [0x640d20]
jmp 0x4f7246
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x1a
mov eax, dword [0x8a6100]
test eax, eax
jne 0x4f7488
lea eax, [0x68c04d]
mov dword [edi], eax
mov edx, edi
xor ecx, ecx
xor eax, eax
lea ebx, [0x6e5880]
jmp 0x4f7417
lea eax, [0x68c04d]
call fcn.0044d090
jmp 0x4f747a
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.004f5500
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.004074b0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x6512e0]
jmp 0x4f7246
mov dword [esp + 0xb8], esi
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.004074b0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x633980]
jmp 0x4f7246
cmp edx, 0x14
jg 0x4f7659
cmp edx, 0x12
je 0x4f75fb
cmp edx, 0x13
je 0x4f759d
cmp edx, 0x14
jne 0x4f7332
nop
mov dword [esp], 0
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.0043c2a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407430
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
lea eax, [0x640d20]
jmp 0x4f7246
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.004f6000
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00407430
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x640d20]
jmp 0x4f7246
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.004f5f10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x134], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb8], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407430
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x640d20]
jmp 0x4f7246
cmp edx, 0x16
je 0x4f7758
cmp edx, 0x17
je 0x4f76e4
cmp edx, 0x18
jne 0x4f7332
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.004f5cb0
lea edi, [esp + 0x1bc]
mov esi, dword [esp + 0x138]
call fcn.0044d66e
mov eax, dword [esp + 0x20]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x134], ecx
lea edx, [0x6810e0]
mov dword [esp], edx
lea edx, [esp + 0x1bc]
mov dword [esp + 4], edx
call fcn.00407290
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
jmp 0x4f7246
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.004f5930
lea edi, [esp + 0x1d0]
mov esi, dword [esp + 0x138]
call fcn.0044d66e
mov eax, dword [esp + 0x20]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x134], ecx
lea edx, [0x6810e0]
mov dword [esp], edx
lea edx, [esp + 0x1d0]
mov dword [esp + 4], edx
call fcn.00407290
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
jmp 0x4f7246
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call fcn.004f61e0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xb8], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00407430
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0xb8]
lea eax, [0x640d20]
jmp 0x4f7246
mov dword [esp + 0x58], eax
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x687109]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0xe
lea eax, [0x6e60e0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov edi, dword [esp + 0x2fc]
cmp edx, edi
xchg edi, ebx
setg bl
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0x41], al
xchg edi, eax
mov edi, dword [esp + 0xa4]
jmp 0x4f6fbd
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], esi
mov dword [esp + 0x328], ebp
add esp, 0x2e8
ret
mov eax, dword [esp + 0x2f8]
mov dword [esp], eax
mov ecx, dword [esp + 0x2fc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x300]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x304]
mov dword [esp + 0xc], ebx
call fcn.004f62c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
movzx ebx, byte [esp + 0x1c]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
mov byte [esp + 0xd8], bl
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0xd0]
test ebp, ebp
jne 0x4f9f0d
mov dword [esp + 0xc0], eax
movzx eax, byte [esp + 0x309]
test al, al
je 0x4f9eee
movzx eax, byte [esp + 0x30a]
test al, al
je 0x4f9ee4
mov eax, 1
mov dword [esp + 0x134], edx
mov dword [esp + 0xb8], ebp
mov edx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x2fc]
cmp edx, ebp
je 0x4f9e72
cmp eax, ecx
jne 0x4f9da8
mov eax, dword [esp + 0x310]
cmp dword [eax], edi
jne 0x4f9da8
test esi, esi
sete al
or eax, ebx
test al, al
je 0x4f9da8
mov eax, dword [esp + 0x50]
cmp dword [0x894910], eax
je 0x4f9d15
test esi, esi
jg 0x4f7a7a
cmp dword [0x8948f8], eax
je 0x4f79f5
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea eax, [0x692ff2]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], 0x2d
lea eax, [0x6e60c0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [0x8948fc]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f7983
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0046c570
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov eax, dword [esp + 0x2f8]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x300]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.004f62c0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ecx
mov byte [esp + 0xd8], al
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0xcc]
test ebp, ebp
jne 0x4f9cf9
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], edi
mov byte [esp + 0x42], al
mov dword [esp + 0x48], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x134], esi
mov ebp, dword [esp + 0x50]
mov dword [esp], ebp
mov esi, dword [esp + 0xdc]
mov dword [esp + 4], esi
call fcn.004fa760
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x4f9c25
cmp ecx, 0x13
jne 0x4f9c16
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x4f9bfe
mov ebp, dword [esp + 0x44]
cmp ebp, 0x12
jg 0x4f9be1
cmp ebp, 0xc
jne 0x4f9bcd
mov ecx, ebp
cmp ebp, 0x17
jne 0x4f7b86
cmp ecx, 0x18
jne 0x4f7b86
test ebx, ebx
jne 0x4f7b86
mov ebp, 0x18
mov esi, edx
movzx edx, byte [esp + 0x31c]
test dl, dl
je 0x4f9bc6
mov edx, 0x11
mov dword [esp + 0x70], edx
movzx ebp, byte [esp + 0x309]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f9b88
mov edi, eax
mov eax, 0
mov dword [esp + 0x74], eax
mov eax, edi
je 0x4f9b3e
mov ebp, dword [esp + 0x74]
je 0x4f9b03
mov dword [esp + 0xc0], edx
test al, al
je 0x4f9ae6
xchg edi, eax
test al, al
xchg edi, eax
je 0x4f9ad1
xor eax, eax
test al, al
je 0x4f7e68
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x13c]
lea esi, [esp + 0x308]
call fcn.0044d664
call fcn.004f9f70
movzx eax, byte [esp + 0x24]
test al, al
je 0x4f7c65
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], edx
add esp, 0x2e8
ret
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xd4], eax
movzx eax, byte [esp + 0x42]
mov byte [esp + 0xd8], al
lea edi, [esp + 0x1f8]
lea esi, [esp + 0x308]
call fcn.0044d664
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
call fcn.00407360
mov eax, dword [esp + 4]
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0x134]
mov dword [esp], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
call fcn.00407430
mov eax, dword [esp + 8]
mov dword [esp + 0x12c], eax
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call fcn.00407360
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
lea edi, [esp + 0x258]
xor eax, eax
call fcn.0044d186
lea eax, [0x640260]
mov dword [esp + 0x258], eax
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x25c], ecx
lea ecx, [0x660540]
mov dword [esp], ecx
lea ecx, [esp + 0xcc]
mov dword [esp + 4], ecx
call fcn.00407530
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], ecx
lea eax, [0x66fd00]
mov dword [esp], eax
lea eax, [esp + 0x1f8]
mov dword [esp + 4], eax
call fcn.00407290
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x268], eax
mov dword [esp + 0x26c], ecx
lea eax, [0x640d20]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x274], eax
lea eax, [0x640260]
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x27c], eax
lea eax, [0x6911a3]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x258]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.0049f310
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
lea eax, [0x6e60c0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.004075a0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
jmp 0x4f7c49
nop
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x54]
lea ebp, [edx + eax]
cmp ebp, edx
jge 0x4f9abc
mov esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4f9a4d
test ebp, ebp
jl 0x4f9f58
cmp edx, ebp
ja 0x4f9f58
mov esi, dword [esp + 0x300]
cmp ebp, esi
ja 0x4f9f58
mov dword [esp + 0xc0], ebp
sub esi, edx
mov dword [esp + 0xa8], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edx, esi
mov dword [esp + 0xbc], edx
mov esi, dword [esp + 0x2f8]
lea edi, [esi + edx]
mov dword [esp + 0x114], edi
mov edi, dword [esp + 0x50]
cmp dword [0x894910], edi
je 0x4f9839
cmp dword [0x894900], edi
je 0x4f9607
cmp dword [0x8948e8], edi
je 0x4f9338
cmp dword [0x894918], edi
je 0x4f90da
cmp dword [0x8948f0], edi
je 0x4f8ff9
cmp dword [0x8948f8], edi
je 0x4f8f56
cmp dword [0x8948e0], edi
je 0x4f8de1
nop
nop
mov ecx, dword [esp + 0x2f4]
mov ebx, ecx
and ecx, 0x1f
cmp ecx, 6
ja 0x4f82e4
cmp ecx, 1
jne 0x4f80ac
nop
cmp eax, 1
jne 0x4f8048
movzx eax, byte [esi + edx]
test al, al
jne 0x4f7fd4
xor eax, eax
xor ecx, ecx
xor edx, edx
test ecx, ecx
je 0x4f7f8d
mov dword [esp + 0x320], ebp
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov byte [esp + 0xc], dl
call fcn.0046c570
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x8c]
mov ebp, dword [esp + 0xc0]
jmp 0x4f7f71
cmp al, 0xff
jne 0x4f7fe4
xor eax, eax
xor ecx, ecx
mov edx, 1
jmp 0x4f7f6d
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x6876aa]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0xf
lea eax, [0x6e60e0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0xc0]
xor edx, edx
jmp 0x4f7f6d
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x6876aa]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0xf
lea eax, [0x6e60e0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x2f4]
mov ebp, dword [esp + 0xc0]
xor edx, edx
jmp 0x4f7f6d
cmp ecx, 2
jne 0x4f8209
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0046cc00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x7c]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 4
jne 0x4f818d
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004f4e00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x4f8143
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp + 0x98], eax
mov dword [esp + 0x100], ecx
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
sar edx, 0x1f
mov dword [esp + 0x10], edx
call fcn.0046c740
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x100]
jmp 0x4f8120
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004f4b30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4f81c6
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x4f8120
mov dword [esp + 0xfc], eax
mov dword [esp + 0x84], ecx
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
call fcn.0046c740
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x84]
jmp 0x4f81bb
add ecx, 0xfffffffb
cmp ecx, 1
jbe 0x4f80b5
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0046cc00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp], 0
lea edx, [0x686dab]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043c120
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
lea eax, [0x6e60c0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
cmp ecx, 0x17
je 0x4f8b69
cmp ecx, 0x18
jne 0x4f861a
mov ecx, dword [esp + 0x70]
cmp ecx, 0x13
jg 0x4f8564
cmp ecx, 0xc
je 0x4f84ae
cmp ecx, 0x12
je 0x4f847b
cmp ecx, 0x13
je 0x4f8448
mov dword [esp], ecx
call fcn.00407360
mov eax, dword [esp + 4]
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
lea ecx, [0x640260]
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], eax
lea eax, [0x690bec]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x180]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0049f310
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], ecx
lea eax, [0x6e60e0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
test eax, eax
je 0x4f83fd
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp + 0x134], ecx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0046c840
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x134]
jmp 0x4f83da
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004f6000
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4f83d6
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004f5f10
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4f83d6
nop
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
call fcn.00451a80
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f851d
mov dword [esp], 0
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.0043c2a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor edx, edx
xor ebx, ebx
mov ebp, edx
mov edx, ecx
mov ecx, ebp
mov esi, eax
mov eax, ebx
mov ebx, esi
jmp 0x4f83d6
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x1a
mov eax, dword [0x8a6100]
test eax, eax
jne 0x4f8557
lea eax, [0x68c04d]
mov dword [edi], eax
xor ecx, ecx
mov edx, edi
lea ebx, [0x6e5880]
xor eax, eax
jmp 0x4f850c
lea eax, [0x68c04d]
call fcn.0044d090
jmp 0x4f8549
cmp ecx, 0x14
je 0x4f85e2
cmp ecx, 0x16
je 0x4f85af
cmp ecx, 0x1b
jne 0x4f831e
nop
mov dword [esp], 0
mov ecx, dword [esp + 0x114]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.0043c2a0
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
jmp 0x4f83d6
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004f61e0
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4f83d6
nop
mov dword [esp], 0
mov ecx, dword [esp + 0x114]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xc], eax
call fcn.0043c2a0
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
jmp 0x4f83d6
cmp ecx, 0x19
jne 0x4f8215
lea ecx, [esp + 8]
mov dword [esp + 0x124], ecx
xor edx, edx
jmp 0x4f863d
mov eax, dword [esp + 0x68]
lea edx, [eax + 1]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x68], edx
mov eax, dword [edi + 0x64]
mov ecx, dword [esp + 0xdc]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x68]
cmp dword [esp + 4], eax
jle 0x4f8705
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x2b4]
mov esi, dword [esp + 0x124]
call fcn.0044d61e
mov eax, dword [esp + 0x2c0]
test eax, eax
je 0x4f8632
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea eax, [0x68f2de]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], 0x21
lea eax, [0x6e60c0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x4f8afe
xor eax, eax
test al, al
je 0x4f8867
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0xc0]
cmp eax, ecx
ja 0x4f9f4a
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0046b480
mov eax, dword [esp + 0x300]
mov ecx, dword [esp + 0x304]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x2f8]
add eax, ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x130], ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xb4], ebp
mov esi, dword [esp + 0x10]
mov dword [esp + 0x120], esi
mov dword [esp], eax
mov eax, dword [esp + 0xc0]
sub eax, ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004074b0
nop
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0x895000]
test cl, cl
je 0x4f8af3
lea ecx, [0x641620]
mov dword [0x895004], ecx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x4f8ae3
mov dword [0x895008], eax
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
nop
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x4f8ad8
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f8836
or edx, 0x80
mov ebx, dword [esp + 0x120]
mov dword [esp], ebx
mov ebx, dword [esp + 0x130]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0046c490
lea eax, [esp + 8]
mov dword [esp + 0x11c], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x118], ecx
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x134]
xor ebp, ebp
xor esi, esi
jmp 0x4f8898
lea ebp, [eax + 1]
mov esi, ebx
mov ebx, ecx
mov dword [esp + 0xb8], edx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edi, dword [esp + 0xdc]
mov dword [esp], edi
call ecx
mov eax, dword [esp + 0x6c]
cmp dword [esp + 4], eax
jle 0x4f8aa7
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0xdc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x280]
mov esi, dword [esp + 0x124]
call fcn.0044d61e
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x4f8aa0
mov ecx, dword [esp + 0x294]
mov edx, dword [esp + 0x290]
cmp dword [0x894908], edx
je 0x4f8a7c
xor ecx, ecx
test cl, cl
je 0x4f893c
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x64]
jmp 0x4f8891
mov ecx, dword [esp + 0x2ec]
mov dword [esp], ecx
mov edx, dword [esp + 0x2f0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0046b480
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x130], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x120], edx
mov ebx, dword [esp + 0x298]
mov ebp, dword [esp + 0x29c]
nop
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x684390]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.00465d40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004fa200
lea edi, [esp + 0x1f8]
mov esi, dword [esp + 0x11c]
call fcn.0044d664
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x118]
lea esi, [esp + 0x1f8]
call fcn.0044d664
call fcn.004f6db0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
test ecx, ecx
jne 0x4f8a59
mov ebx, eax
mov eax, dword [esp + 0x6c]
mov ebp, ecx
mov ecx, edx
mov edx, ebp
jmp 0x4f8891
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], edx
add esp, 0x2e8
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0x89490c]
mov dword [esp + 8], eax
call fcn.00402f30
movzx ecx, byte [esp + 0xc]
mov eax, dword [esp + 0x6c]
jmp 0x4f8921
xor ecx, ecx
jmp 0x4f8921
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f8836
lea edi, [0x895008]
call fcn.0044d090
jmp 0x4f8802
lea ecx, [0x641620]
jmp 0x4f8802
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
mov dword [esp + 4], 0
call ecx
lea edi, [esp + 0x2b4]
mov esi, dword [esp + 0x124]
call fcn.0044d61e
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2c4]
cmp dword [0x894908], ecx
je 0x4f8b49
xor eax, eax
jmp 0x4f8726
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0x89490c]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
jmp 0x4f8726
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0xdc]
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 0x4f8cff
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0046d1b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2f0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2f4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0046c490
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004074b0
mov eax, dword [esp + 0xc]
nop
nop
movzx ecx, byte [0x895000]
test cl, cl
je 0x4f8cf4
lea ecx, [0x633980]
mov dword [0x895004], ecx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x4f8ce4
mov dword [0x895008], eax
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], eax
nop
mov ecx, dword [esp + 0x140]
test ecx, ecx
je 0x4f8cdc
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f8c7a
or edx, 0x80
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0046ce90
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
xor ecx, ecx
xor edx, edx
xor eax, eax
jmp 0x4f8c7a
lea edi, [0x895008]
call fcn.0044d090
jmp 0x4f8c4a
lea ecx, [0x633980]
jmp 0x4f8c4a
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.004f68d0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
test ebx, ebx
je 0x4f8d92
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ebx
mov dword [esp + 0x328], ebp
add esp, 0x2e8
ret
mov dword [esp + 0x80], ebx
mov dword [esp + 0xe4], ebp
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.0046c490
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0xe4]
jmp 0x4f8d6f
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x8948e4]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f8e29
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x4f7f35
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004f4fe0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x4f8e7e
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
nop
nop
movzx ebx, byte [0x895000]
test bl, bl
je 0x4f8f4b
lea ebx, [0x683140]
mov dword [0x895004], ebx
mov ebp, dword [0x8a6100]
test ebp, ebp
jne 0x4f8f35
mov dword [0x895008], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0xf4], ecx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], edx
nop
mov ebx, dword [esp + 0x160]
test ebx, ebx
je 0x4f8f2d
nop
nop
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x4f8eec
or ebp, 0x80
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebp
call fcn.0046c490
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0xf4]
jmp 0x4f8e5b
xor ebp, ebp
xor edx, edx
xor ebx, ebx
jmp 0x4f8eec
lea edi, [0x895008]
mov ebp, eax
mov eax, edx
call fcn.0044d090
mov eax, ebp
jmp 0x4f8eaf
lea ebx, [0x683140]
jmp 0x4f8eaf
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x8948fc]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f8f9e
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x4f7f29
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0046c570
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x8948f4]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f9041
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x4f7f1d
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004f4e00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
je 0x4f9096
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], edx
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x2ec]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 8], ecx
sar eax, 0x1f
mov dword [esp + 0x10], eax
call fcn.0046c740
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x7c]
jmp 0x4f9073
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x89491c]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f9316
lea edi, [esp + 0x1a8]
xor eax, eax
call fcn.0044d18b
mov ecx, dword [esp + 0x70]
cmp ecx, 0x17
jne 0x4f92b5
lea edi, [esp + 0x1e4]
call fcn.0044d18b
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.004f5930
lea edi, [esp + 0x1e4]
mov esi, dword [esp + 0x138]
call fcn.0044d66e
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x1a8]
mov esi, dword [esp + 0x138]
call fcn.0044d66e
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4f91b0
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x320], ecx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], edx
add esp, 0x2e8
ret
mov dword [esp + 0xec], edx
mov dword [esp + 0x88], eax
lea edi, [esp + 0x1e4]
lea esi, [esp + 0x1a8]
call fcn.0044d66e
lea eax, [0x6810e0]
mov dword [esp], eax
lea eax, [esp + 0x1e4]
mov dword [esp + 4], eax
call fcn.00407290
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
nop
test ecx, ecx
je 0x4f92ad
nop
movzx edx, byte [0x895000]
test dl, dl
je 0x4f9221
mov dword [0x895004], ecx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x4f929d
mov dword [0x895008], eax
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
nop
mov ecx, dword [esp + 0x158]
test ecx, ecx
je 0x4f9295
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f9251
or edx, 0x80
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0046c490
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0xec]
jmp 0x4f918d
xor eax, eax
xor edx, edx
xor ecx, ecx
jmp 0x4f9251
lea edi, [0x895008]
call fcn.0044d090
jmp 0x4f9221
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f9251
lea edi, [esp + 0x1e4]
call fcn.0044d18b
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
call fcn.004f5cb0
lea edi, [esp + 0x1e4]
mov esi, dword [esp + 0x138]
call fcn.0044d66e
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x1a8]
mov esi, dword [esp + 0x138]
call fcn.0044d66e
jmp 0x4f9189
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x4f7f11
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x8948ec]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f95e5
nop
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4f9589
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x2f8]
movzx ecx, byte [ebx + edx]
movzx edx, cl
cmp edx, 7
jle 0x4f9519
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x68f79a]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x22
lea eax, [0x6e60e0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
test ecx, ecx
je 0x4f940b
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov dword [esp + 0x104], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x19c], esi
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebp
lea eax, [0x663820]
mov dword [esp], eax
lea eax, [esp + 0x198]
mov dword [esp + 4], eax
call fcn.00407290
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
nop
test ecx, ecx
je 0x4f9511
nop
movzx edx, byte [0x895000]
test dl, dl
je 0x4f9485
mov dword [0x895004], ecx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x4f9501
mov dword [0x895008], eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
nop
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x4f94f9
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f94b5
or edx, 0x80
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0046c490
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x90]
jmp 0x4f93e8
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4f94b5
lea edi, [0x895008]
call fcn.0044d090
jmp 0x4f9485
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f94b5
cmp eax, 1
jne 0x4f9585
test edx, edx
setg bl
test bl, bl
jne 0x4f938d
cmp cl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x114]
movzx esi, byte [eax + ebp - 1]
mov edi, 1
shl edi, cl
and edi, ebx
lea ebx, [edi - 1]
xchg esi, eax
test bl, al
xchg esi, eax
jne 0x4f938d
lea esi, [eax - 1]
mov edi, esi
shl esi, 3
sub esi, edx
mov eax, edi
mov edi, dword [esp + 0xa8]
lea ebx, [edi - 1]
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
lea edx, [ebp + ebx]
mov ebx, edi
mov ebp, esi
mov esi, eax
xor ecx, ecx
xor eax, eax
jmp 0x4f93e4
xor ebx, ebx
jmp 0x4f9523
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x68a7c7]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x16
lea eax, [0x6e60e0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4f93e4
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x4f7f05
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x894904]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f964f
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x4f7ef9
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call fcn.004f5500
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0xe0], ebp
mov esi, dword [esp + 0x2ec]
mov dword [esp], esi
mov edi, dword [esp + 0x2f0]
mov dword [esp + 4], edi
mov edx, dword [esp + 0x2f4]
mov dword [esp + 8], edx
call fcn.0046cc00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0046d1b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebp, dword [esp + 0x2f0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x2f4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0046c490
mov eax, dword [esp + 0x94]
test eax, eax
je 0x4f9759
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x320], ecx
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.004074b0
mov eax, dword [esp + 0xc]
nop
nop
movzx ecx, byte [0x895000]
test cl, cl
je 0x4f982e
lea ecx, [0x6512e0]
mov dword [0x895004], ecx
mov edx, dword [0x8a6100]
test edx, edx
jne 0x4f981e
mov dword [0x895008], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
nop
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x4f9816
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f97d9
or edx, 0x80
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0046ce90
mov eax, dword [esp + 0x94]
jmp 0x4f972f
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f97d9
lea edi, [0x895008]
call fcn.0044d090
jmp 0x4f97a9
lea ecx, [0x6512e0]
jmp 0x4f97a9
mov dword [esp], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov ecx, dword [0x894914]
mov dword [esp + 8], ecx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f9a2b
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0xc0]
cmp eax, ecx
ja 0x4f9f51
lea edi, [esp + 0x210]
lea esi, [0x6e8c60]
call fcn.0044d646
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x210], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x214], ecx
movzx ecx, byte [esp + 0x42]
mov byte [esp + 0x218], cl
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x224], ecx
mov ecx, dword [esp + 0x300]
sub ecx, eax
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x2f8]
add ecx, ebx
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0xc0]
sub ecx, eax
mov dword [esp + 0x22c], ecx
mov dword [esp + 0x230], edx
lea edi, [esp + 0x234]
lea esi, [esp + 0x210]
call fcn.0044d646
lea eax, [0x664620]
mov dword [esp], eax
lea eax, [esp + 0x234]
mov dword [esp + 4], eax
call fcn.00407290
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
nop
test eax, eax
je 0x4f9a20
nop
movzx edx, byte [0x895000]
test dl, dl
je 0x4f9970
mov dword [0x895004], eax
mov edx, dword [0x8a6100]
test edx, edx
jne 0x4f9a0a
mov dword [0x895008], ecx
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
nop
mov eax, dword [esp + 0x170]
test eax, eax
je 0x4f9a02
nop
nop
movzx edx, byte [eax + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f99a0
or edx, 0x80
mov ebx, dword [esp + 0x2ec]
mov dword [esp], ebx
mov ebx, dword [esp + 0x2f0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2f4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0046c490
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x320], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4f99a0
lea edi, [0x895008]
mov edx, eax
mov eax, ecx
call fcn.0044d090
mov eax, edx
jmp 0x4f9970
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4f99a0
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x2f8]
mov edi, dword [esp + 0x50]
jmp 0x4f7eed
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea eax, [0x687109]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0xe
lea eax, [0x6e60e0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], eax
add esp, 0x2e8
ret
mov edi, dword [esp + 0x2fc]
cmp ebp, edi
xchg esi, ebx
setg bl
xchg esi, ebx
jmp 0x4f7e81
movzx ebp, byte [esp + 0x42]
xchg ebp, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg ebp, eax
setne al
jmp 0x4f7beb
cmp ebp, ebx
je 0x4f9afc
mov eax, 1
test al, al
jne 0x4f7bf3
jmp 0x4f7bdf
cmp edx, ecx
setne al
jmp 0x4f9aef
movzx ecx, byte [esp + 0x30b]
test cl, cl
je 0x4f9b35
mov ecx, dword [esp + 0x310]
test ecx, ecx
je 0x4f9b2c
mov edx, dword [ecx]
mov ecx, dword [esp + 0x44]
xor eax, eax
mov ebp, 3
jmp 0x4f7bd0
mov ecx, dword [esp + 0x44]
jmp 0x4f7bd0
mov ecx, dword [esp + 0x44]
jmp 0x4f7bd0
movzx ecx, byte [esp + 0x30a]
test cl, cl
je 0x4f9b7b
mov ecx, dword [esp + 0x310]
test ecx, ecx
je 0x4f9b6e
mov edx, dword [ecx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, dword [esp + 0x44]
mov eax, 0
mov ebp, 1
jmp 0x4f7bca
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, dword [esp + 0x44]
jmp 0x4f7bc6
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, dword [esp + 0x44]
jmp 0x4f7bc6
mov edi, ecx
mov ecx, dword [esp + 0x310]
test ecx, ecx
je 0x4f9bbb
mov ecx, dword [ecx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov edi, eax
mov eax, 0
mov eax, 2
mov dword [esp + 0x74], eax
mov edx, ecx
mov ecx, dword [esp + 0x44]
mov eax, 0
jmp 0x4f7bc0
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, edi
jmp 0x4f7bb3
mov edx, ebp
jmp 0x4f7b9d
cmp ebp, 0x12
je 0x4f7b71
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4f7b73
cmp ebp, 0x14
je 0x4f7b71
cmp ebp, 0x16
je 0x4f7b71
cmp ebp, 0x1b
je 0x4f7b71
jmp 0x4f9bd6
mov ebp, dword [esp + 0x314]
test ebp, ebp
je 0x4f9c12
mov ecx, dword [esp + 0x44]
jmp 0x4f7b73
mov ebp, ecx
jmp 0x4f9c09
mov ebx, dword [esp + 0x4c]
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4f7b73
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4f9c30
mov eax, dword [eax + 4]
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x184], eax
lea eax, [0x689381]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x180]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0049f310
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
lea eax, [0x6e60c0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov dword [esp + 0x320], ecx
mov dword [esp + 0x324], ebp
mov dword [esp + 0x328], esi
add esp, 0x2e8
ret
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb0], esi
mov byte [esp + 0x43], bl
mov dword [esp + 0xac], edi
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov edx, dword [0x894914]
mov dword [esp + 8], edx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f9d88
mov ebp, dword [esp + 0xb8]
movzx eax, byte [esp + 0x43]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0x134]
mov edi, dword [esp + 0xbc]
jmp 0x4f7af2
mov ecx, dword [esp + 0xb0]
test ecx, ecx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x2fc]
jmp 0x4f7975
mov eax, dword [esp + 0x2ec]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x13c]
lea esi, [esp + 0x308]
call fcn.0044d664
call fcn.004f9f70
movzx eax, byte [esp + 0x24]
test al, al
je 0x4f9e1a
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ecx
mov dword [esp + 0x328], edx
add esp, 0x2e8
ret
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea eax, [0x690762]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], 0x25
lea eax, [0x6e60c0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.004075a0
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc0]
jmp 0x4f9dfe
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
lea eax, [0x68ba11]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], 0x19
lea eax, [0x6e60c0]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x320], edx
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], ecx
add esp, 0x2e8
ret
mov eax, 2
jmp 0x4f7919
mov eax, ebx
mov ebx, edi
mov edi, ecx
mov ecx, dword [esp + 0xc0]
mov ecx, edx
mov edx, esi
mov esi, ecx
mov ecx, dword [esp + 0xc0]
jmp 0x4f7af2
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], ebp
mov dword [esp + 0x328], edx
add esp, 0x2e8
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
sete al
jmp 0x4f6ef3
call fcn.00427250
ud2
call fcn.00427250
ud2
call fcn.00427250
ud2
call fcn.00427250
ud2
call fcn.0044b940
jmp fcn.004f6db0