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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x154]
cmp eax, dword [ecx + 8]
jbe 0x601e69
sub esp, 0x1d4
mov eax, 0
lea edi, [esp + 0xa4]
call fcn.0044c96a
mov eax, dword [esp + 0x1e0]
test eax, eax
jne 0x5ffc4c
mov ecx, dword [esp + 0x1dc]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x5ffb61
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
lea eax, [0x759560]
mov dword [esp], eax
lea eax, [esp + 0x138]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1d0], eax
lea eax, [0x7ebd34]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x1c4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bb7b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1d8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.005fc4b0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0
add esp, 0x1d4
ret
mov eax, dword [esp + 0x1dc]
movzx ecx, byte [eax]
mov edx, dword [esp + 0x1e8]
mov dword [esp], edx
mov ebx, dword [esp + 0x1ec]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x1f0]
mov dword [esp + 8], ebp
cmp cl, 0x6e
sete cl
mov byte [esp + 0xc], cl
call fcn.005fcac0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
test ebx, ebx
jne 0x601e01
test ecx, ecx
je 0x60012c
mov edx, dword [esp + 0x1dc]
movzx ebx, byte [edx]
cmp bl, 0x22
je 0x5fff4c
movzx eax, byte [esp + 0x1f4]
test al, al
jne 0x5ffe1b
cmp bl, 0x66
jne 0x5ffded
mov eax, 4
lea ecx, [0x7d4722]
mov dword [esp + 0x44], eax
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x1e8]
mov dword [esp], edx
mov edx, dword [esp + 0x1ec]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x1f0]
mov dword [esp + 8], edx
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x5ffddf
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x5ffdc6
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0
add esp, 0x1d4
ret
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x5ffd7e
mov eax, dword [esp + 0x7c]
call fcn.0044c870
jmp 0x5ffd63
cmp bl, 0x6e
jne 0x5ffe02
mov eax, 4
lea ecx, [0x7d47d6]
jmp 0x5ffce8
cmp bl, 0x74
je 0x5ffcdd
mov eax, 6
lea ecx, [0x7d4f1b]
jmp 0x5ffce8
mov dword [esp + 0x12c], edx
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x5ffe79
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
lea eax, [0x759560]
mov dword [esp], eax
lea eax, [esp + 0x12c]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c0], eax
lea eax, [0x7ebd34]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x1b4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bb7b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1d8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005fc4b0
jmp 0x5ffda9
mov dword [esp + 0x80], eax
mov dword [esp + 0x48], ecx
mov dword [esp], edx
mov eax, dword [esp + 0x1e0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 8], ecx
call fcn.00602810
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x6000f0
movzx eax, byte [esp + 0x1f4]
test al, al
je 0x6000cf
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x1e8]
mov dword [esp], eax
mov eax, dword [esp + 0x1ec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x600003
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 0
lea eax, [0x759560]
mov dword [esp], eax
lea eax, [esp + 0x120]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1b0], eax
lea eax, [0x7ebd34]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x1a4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bb7b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], eax
add esp, 0x1d4
ret
mov eax, dword [0xac8e44]
mov ecx, dword [0xac8e40]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], eax
add esp, 0x1d4
ret
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], ecx
add esp, 0x1d4
ret
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], edi
mov eax, dword [esp + 0x1dc]
movzx ecx, byte [eax]
cmp cl, 0x66
ja 0x601c33
cmp cl, 0x22
je 0x6014f6
cmp cl, 0x66
jne 0x6006e2
movzx edx, byte [esp + 0x1f4]
test dl, dl
je 0x6006d6
mov ebx, dword [esp + 0x1e0]
cmp ebx, 4
je 0x6006b4
cmp ebx, 5
je 0x6002b9
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], ebx
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x110], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
test eax, eax
je 0x6001ce
mov eax, dword [eax + 4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
lea ecx, [0x759560]
mov dword [esp], ecx
lea ecx, [esp + 0x108]
mov dword [esp + 4], ecx
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x190], eax
lea eax, [0x7ebd34]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x184]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bb7b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1d8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005fc4b0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0
add esp, 0x1d4
ret
mov edx, dword [eax]
cmp edx, 0x736c6166
jne 0x60018c
movzx edx, byte [eax + 4]
cmp dl, 0x65
jne 0x60018c
cmp cl, 0x74
sete cl
mov edx, ebp
and ebp, 0x1f
cmp ebp, 1
je 0x60069b
cmp ebp, 0x14
je 0x6004e3
movzx ecx, byte [esp + 0x1f4]
test cl, cl
je 0x600416
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ebx
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x104], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
test eax, eax
je 0x600343
mov eax, dword [eax + 4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
lea ecx, [0x759560]
mov dword [esp], ecx
lea ecx, [esp + 0xfc]
mov dword [esp + 4], ecx
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x180], eax
lea eax, [0x7ebd34]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x174]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bb7b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1d8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005fc4b0
jmp 0x60029c
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 4
mov eax, dword [0xadb480]
test eax, eax
jne 0x6004d6
lea ecx, [0x7d4722]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x6004bd
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
jmp 0x60029c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x60048d
lea eax, [0x7d4722]
call fcn.0044c870
jmp 0x600472
mov byte [esp + 0x2f], cl
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.004acad0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x6005bc
movzx ecx, byte [esp + 0x2f]
movzx ecx, cl
lea edx, [0xa9c380]
lea eax, [edx + ecx]
movzx ecx, byte [0xac9898]
test cl, cl
je 0x6005b4
lea ecx, [0x76d760]
mov dword [0xac989c], ecx
mov edx, dword [0xadb480]
test edx, edx
jne 0x6005a7
mov dword [0xac98a0], eax
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xa4]
test ecx, ecx
je 0x60059f
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x60056c
or edx, 0x80
mov ebx, dword [esp + 0x94]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004ad7a0
jmp 0x60029c
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x60056c
lea edi, [0xac98a0]
call fcn.0044c870
jmp 0x60053f
lea ecx, [0x76d760]
jmp 0x60053f
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 4
mov eax, dword [0xadb480]
test eax, eax
jne 0x60068e
lea ecx, [0x7d4722]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x600675
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
jmp 0x60029c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x600645
lea eax, [0x7d4722]
call fcn.0044c870
jmp 0x60062a
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov byte [esp + 0xc], cl
call fcn.004ad880
jmp 0x60029c
mov esi, dword [eax]
cmp esi, 0x65757274
je 0x6006ca
mov esi, dword [esp + 0x98]
jmp 0x600183
mov esi, dword [esp + 0x98]
jmp 0x6002d4
mov ebx, dword [esp + 0x1e0]
jmp 0x6002d4
cmp cl, 0x2d
je 0x60083d
add ecx, 0xffffffd0
cmp cl, 9
jbe 0x60083d
movzx ecx, byte [esp + 0x1f4]
test cl, cl
je 0x60081c
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0xec], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x600750
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
lea eax, [0x759560]
mov dword [esp], eax
lea eax, [esp + 0xe4]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x160], eax
lea eax, [0x7ebd34]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x154]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bb7b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], eax
add esp, 0x1d4
ret
mov eax, dword [0xac8e44]
mov ecx, dword [0xac8e40]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], eax
add esp, 0x1d4
ret
mov dword [esp], 0
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x1e4]
mov dword [esp + 0xc], edx
call fcn.0043be30
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x6c]
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x60109b
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x600e51
lea ebp, [edx - 7]
cmp ebp, 5
jbe 0x600c35
cmp edx, 0x18
je 0x600abe
movzx eax, byte [esp + 0x1f4]
test al, al
je 0x6009e3
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x600917
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
lea eax, [0x759560]
mov dword [esp], eax
lea eax, [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x150], eax
lea eax, [0x7ebd34]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x144]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bb7b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], eax
add esp, 0x1d4
ret
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xadb480]
test eax, eax
jne 0x600ab1
lea ecx, [0x7d4f1b]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x600a98
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
jmp 0x60029c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x600a68
lea eax, [0x7d4f1b]
call fcn.0044c870
jmp 0x600a4d
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [0xac8e50]
cmp ecx, edx
je 0x600af7
mov ebx, dword [esp + 0x6c]
jmp 0x6008a9
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0xac8e54]
mov dword [esp + 8], eax
call fcn.00402ea0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x600b1f
mov ebx, dword [esp + 0x6c]
jmp 0x6008a9
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
call fcn.004ae160
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.005fc300
movzx eax, byte [esp + 8]
test al, al
jne 0x60029c
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea eax, [0x759560]
mov dword [esp], eax
lea eax, [esp + 0xd8]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
lea eax, [0x7eb27b]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bb7b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], eax
add esp, 0x1d4
ret
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.0047c3b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x600d7d
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov dword [esp], 0
lea ecx, [0x7d543c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
call fcn.0043bcb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x90]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x600d74
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x600d5b
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
jmp 0x60029c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x600d2b
mov eax, ecx
call fcn.0044c870
jmp 0x600d10
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x94]
mov ebx, dword [eax]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
lea ebp, [ebx - 0x20]
mov esi, ecx
mov ecx, ebp
mov edi, edx
shl edx, cl
neg ecx
mov dword [esp + 0x68], ecx
shr edi, cl
mov ecx, ebx
shl esi, cl
cmp ebp, 0x20
sbb eax, eax
mov dword [esp + 0x64], eax
and edx, eax
mov eax, dword [esp + 0x68]
cmp eax, 0x20
sbb eax, eax
mov dword [esp + 0x60], eax
and edi, eax
cmp ecx, 0x20
sbb eax, eax
and esi, eax
or esi, edi
or esi, edx
mov ecx, ebp
mov edx, esi
shr esi, cl
mov ecx, ebx
mov ebp, dword [esp + 0x38]
mov edi, ebp
shl ebp, cl
and ebp, eax
shr ebp, cl
mov ebx, edx
shr edx, cl
mov ecx, edi
mov edi, dword [esp + 0x64]
and esi, edi
and ebp, eax
mov edi, ecx
mov ecx, dword [esp + 0x68]
shl ebx, cl
mov ecx, edi
mov edi, dword [esp + 0x60]
and ebx, edi
or ebp, ebx
or ebp, esi
and edx, eax
cmp ebp, ecx
setne al
mov ebx, dword [esp + 0x3c]
cmp edx, ebx
setne dl
or edx, eax
test dl, dl
jne 0x600c65
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004adfe0
jmp 0x60029c
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.0047cbe0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x600f97
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov dword [esp], 0
lea ecx, [0x7d543c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
call fcn.0043bcb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x90]
mov dword [edi + 4], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x600f90
mov dword [edi], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x600f77
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
jmp 0x60029c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x600f47
call fcn.0044c870
jmp 0x600f2c
mov dword [esp + 0x34], ecx
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x94]
mov ebx, dword [eax]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
lea ebp, [ebx - 0x20]
cmp ebp, 0x20
sbb esi, esi
mov edi, esi
xchg esi, ebx
not ebx
xchg esi, ebx
or esi, ebp
mov dword [esp + 0x68], esi
cmp ebx, 0x20
sbb eax, eax
not eax
or eax, ebx
mov dword [esp + 0x74], eax
mov ecx, ebx
mov esi, dword [esp + 0x34]
shl esi, cl
mov dword [esp + 0x64], esi
mov ecx, ebp
mov esi, dword [esp + 0x34]
shl esi, cl
neg ecx
mov dword [esp + 0x60], ecx
mov ebp, dword [esp + 0x34]
shr ebp, cl
mov ecx, ebx
shl edx, cl
and esi, edi
mov edi, dword [esp + 0x60]
cmp edi, 0x20
sbb eax, eax
mov dword [esp + 0x60], eax
and ebp, eax
cmp ecx, 0x20
sbb eax, eax
and edx, eax
or edx, ebp
or edx, esi
mov ecx, edi
mov ebp, edx
shl edx, cl
mov ecx, dword [esp + 0x74]
mov esi, ebp
sar ebp, cl
mov ecx, dword [esp + 0x68]
sar esi, cl
mov ecx, ebx
shr ebx, 5
cmp ebx, 1
sbb ebx, ebx
xor ebx, 0xffffffff
and ebx, esi
mov esi, dword [esp + 0x60]
and edx, esi
mov esi, dword [esp + 0x64]
and esi, eax
shr esi, cl
and esi, eax
or esi, edx
or ebx, esi
mov eax, dword [esp + 0x34]
cmp ebx, eax
setne dl
mov ebx, dword [esp + 0x40]
cmp ebp, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x600e81
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call fcn.004adbf0
jmp 0x60029c
lea ebp, [edx - 0xd]
cmp ebp, 1
jbe 0x6012c8
cmp edx, 0x14
jne 0x6008a0
mov edx, dword [esp + 0x1d8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.005ff8e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x6010f7
mov edx, dword [esp + 0x1d8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005fc4b0
jmp 0x60029c
mov dword [esp + 0x30], edx
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
call fcn.004acad0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x6011e9
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x6011e1
movzx edx, byte [0xac9898]
test dl, dl
je 0x6011db
mov dword [0xac989c], ecx
mov edx, dword [0xadb480]
test edx, edx
jne 0x6011ca
mov eax, dword [esp + 0x78]
mov dword [0xac98a0], eax
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0xb4]
test ecx, ecx
je 0x6011c2
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x60118f
or edx, 0x80
mov ebx, dword [esp + 0x94]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004ad7a0
jmp 0x60029c
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x60118f
lea edi, [0xac98a0]
mov eax, dword [esp + 0x78]
call fcn.0044c870
jmp 0x601162
mov eax, dword [esp + 0x78]
jmp 0x601162
xor ecx, ecx
xor edx, edx
xor eax, eax
jmp 0x60118f
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xadb480]
test eax, eax
jne 0x6012bb
lea ecx, [0x7d4f1b]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x6012a2
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
jmp 0x60029c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x601272
lea eax, [0x7d4f1b]
call fcn.0044c870
jmp 0x601257
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004ae810
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 + 0x84]
mov dword [esp], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0047bf90
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x601443
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov dword [esp], 0
lea ecx, [0x7d543c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
call fcn.0043bcb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x90]
mov dword [edi + 4], eax
mov eax, dword [0xadb480]
test eax, eax
jne 0x60143a
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x601421
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
jmp 0x60029c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x6013f1
mov eax, ecx
call fcn.0044c870
jmp 0x6013d6
mov eax, dword [esp + 0x5c]
cmp eax, 0xd
jne 0x6014b1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x601461
movsd xmm1, qword [0x841a88]
pxor xmm0, xmm1
movsd xmm1, qword [0x841a70]
ucomisd xmm0, xmm1
jbe 0x6014ad
movsd xmm1, qword [0x841a78]
ucomisd xmm1, xmm0
setae al
test al, al
jne 0x60132b
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004adb30
jmp 0x60029c
xor eax, eax
jmp 0x60147e
cmp eax, 0xe
je 0x601486
lea eax, [0x790720]
mov dword [esp], eax
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x1b
mov eax, dword [0xadb480]
test eax, eax
jne 0x6014e6
lea eax, [0x7df500]
mov dword [edi], eax
jmp 0x601e47
lea eax, [0x7df500]
call fcn.0044c870
jmp 0x601e47
mov dword [esp], eax
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1e4]
mov dword [esp + 8], edx
call fcn.00602810
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
test cl, cl
je 0x601ad4
mov dword [esp + 0x50], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x6c]
mov ebp, ecx
and ecx, 0x1f
cmp ecx, 0x14
je 0x6018c7
cmp ecx, 0x17
je 0x601686
cmp ecx, 0x18
jne 0x6015ab
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.0043be30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004ae160
jmp 0x60029c
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xadb480]
test eax, eax
jne 0x601679
lea ecx, [0x7d4f93]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x601660
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
jmp 0x60029c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x601630
lea eax, [0x7d4f93]
call fcn.0044c870
jmp 0x601615
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004ae810
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
mov eax, dword [esp + 4]
cmp eax, 8
jne 0x6017e8
mov eax, dword [0xac8770]
mov eax, dword [eax + 0x140]
cmp eax, 0xffffffff
jne 0x6017d9
mov eax, dword [esp + 0x50]
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
lea eax, [0x7718e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438a40
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x8c], edx
mov ebx, dword [0xac8770]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x18], ecx
call fcn.005171f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x6017bd
test eax, eax
jl 0x601e62
mov ecx, dword [esp + 0x58]
cmp eax, ecx
ja 0x601e62
mov edx, dword [esp + 0x94]
mov dword [esp], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.004ad8d0
jmp 0x60029c
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.005fc4b0
jmp 0x60029c
mov eax, dword [esp + 0x50]
shr eax, 2
lea ecx, [eax + eax*2]
jmp 0x6016fd
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xadb480]
test eax, eax
jne 0x6018ba
lea ecx, [0x7d4f93]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x6018a1
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
jmp 0x60029c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x601871
lea eax, [0x7d4f93]
call fcn.0044c870
jmp 0x601856
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004acad0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x6019f5
mov dword [esp], 0
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
call fcn.0043be30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
lea eax, [0x7716e0]
mov dword [esp], eax
lea eax, [esp + 0xc4]
mov dword [esp + 4], eax
call fcn.00407520
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x6019ed
movzx edx, byte [0xac9898]
test dl, dl
je 0x601978
mov dword [0xac989c], ecx
mov edx, dword [0xadb480]
test edx, edx
jne 0x6019e0
mov dword [0xac98a0], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x6019d8
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x6019a5
or edx, 0x80
mov ebx, dword [esp + 0x94]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004ad7a0
jmp 0x60029c
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x6019a5
lea edi, [0xac98a0]
call fcn.0044c870
jmp 0x601978
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x6019a5
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x1d8]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x70], ebx
lea ebp, [0x7a6b20]
mov dword [esp], ebp
call fcn.00409cb0
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xadb480]
test eax, eax
jne 0x601ac7
lea ecx, [0x7d4f93]
mov dword [edi], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov ecx, dword [0xadb480]
test ecx, ecx
jne 0x601aae
mov eax, dword [esp + 0xa0]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x1d8]
mov dword [esp], eax
lea eax, [0x8437b0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.005fc4b0
jmp 0x60029c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0044c870
mov edi, edx
jmp 0x601a7e
lea eax, [0x7d4f93]
call fcn.0044c870
jmp 0x601a63
movzx eax, byte [esp + 0x1f4]
test al, al
je 0x601c12
mov eax, dword [esp + 0x1dc]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x601b46
mov ecx, dword [ecx + 4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
lea eax, [0x759560]
mov dword [esp], eax
lea eax, [esp + 0xf0]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x170], eax
lea eax, [0x7ebd34]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x164]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bb7b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], eax
add esp, 0x1d4
ret
mov eax, dword [0xac8e44]
mov ecx, dword [0xac8e40]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], eax
add esp, 0x1d4
ret
cmp cl, 0x6e
jne 0x601df3
movzx ecx, byte [esp + 0x1f4]
test cl, cl
je 0x601d7f
mov ecx, dword [esp + 0x1e0]
cmp ecx, 4
je 0x601d71
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x11c], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
test eax, eax
je 0x601c9e
mov eax, dword [eax + 4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
lea ecx, [0x759560]
mov dword [esp], ecx
lea ecx, [esp + 0x114]
mov dword [esp + 4], ecx
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1a0], eax
lea eax, [0x7ebd34]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0x194]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bb7b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1d8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005fc4b0
jmp 0x60029c
mov edx, dword [eax]
cmp edx, 0x6c6c756e
jne 0x601c5c
mov eax, ebp
and ebp, 0x1f
lea ecx, [ebp - 0x14]
cmp ecx, 3
ja 0x60029c
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004af6e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x94]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.004ad7a0
jmp 0x60029c
cmp cl, 0x74
je 0x600163
jmp 0x6006e2
mov eax, dword [ebx + 0x10]
mov ecx, dword [esp + 0x1dc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 0xc], ecx
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1fc], eax
add esp, 0x1d4
ret
mov eax, dword [esp + 0x5c]
mov dword [edi + 8], eax
lea eax, [0x77dec0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427310
ud2
call fcn.00426530
ud2
call fcn.0044b110
jmp fcn.005ffac0