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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x434]
cmp eax, dword [ecx + 8]
jbe 0x5c9a74
sub esp, 0x4b4
mov eax, dword [esp + 0x4cc]
test eax, eax
je 0x5c73b4
test eax, 0x200
jne 0x5c73b4
lea ecx, [0x675c20]
mov edx, dword [esp + 0x4c4]
jmp 0x5c73de
mov ecx, dword [esp + 0x4c4]
mov dword [esp], ecx
mov edx, dword [esp + 0x4c8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004c53d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, eax
mov dword [esp + 0x108], edx
mov dword [esp + 0x5c], ecx
mov eax, dword [ecx + 0x4c]
mov dword [esp], edx
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, 0x18
je 0x5c7518
cmp eax, 0x14
je 0x5c7518
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x4c]
mov ecx, dword [esp + 0x108]
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]
mov dword [esp + 0xdc], eax
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
mov ecx, dword [esp + 0x4bc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x4c0]
mov dword [esp + 4], ecx
call fcn.004096f0
mov eax, dword [esp + 8]
lea ecx, [0x5f0d80]
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.004095e0
mov eax, dword [esp + 4]
lea ecx, [0x5f3380]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
lea eax, [0x62c788]
mov dword [esp], eax
mov dword [esp + 4], 0x30
lea eax, [esp + 0x1c8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4dc], eax
mov dword [esp + 0x4e0], ecx
add esp, 0x4b4
ret
lea edi, [esp + 0x210]
xor eax, eax
call fcn.00463a89
lea edi, [esp + 0x448]
call fcn.00463a75
lea ecx, [esp + 0x448]
mov dword [esp + 0x21c], ecx
call fcn.0044f0a0
mov ecx, dword [esp]
mov dword [esp + 0x218], ecx
lea edi, [esp + 0x1f4]
xor eax, eax
call fcn.00463a89
lea edi, [esp + 0x3fc]
call fcn.00463a7d
lea ecx, [esp + 0x3fc]
mov dword [esp + 0x200], ecx
call fcn.0044f0a0
mov ecx, dword [esp]
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x4c4]
mov dword [esp], ecx
mov edx, dword [esp + 0x4c8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x4cc]
mov dword [esp + 8], ebx
call fcn.004c3aa0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xd8], edx
xor eax, eax
jmp 0x5c76bd
mov dword [esp + 0xd4], eax
mov dword [esp + 0x188], ecx
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx + 8]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], edx
mov dword [esp + 0x1c4], ebx
lea eax, [0x5f2060]
mov dword [esp], eax
lea edx, [esp + 0x210]
mov dword [esp + 4], edx
lea ebx, [esp + 0x1bc]
mov dword [esp + 8], ebx
call fcn.0040d1b0
mov eax, dword [esp + 0xc]
test byte [eax], al
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 0
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004c2fb0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], ecx
lea eax, [0x5f1ce0]
mov dword [esp], eax
lea ecx, [esp + 0x1f4]
mov dword [esp + 4], ecx
lea edx, [esp + 0x1ac]
mov dword [esp + 8], edx
call fcn.0040d1b0
mov eax, dword [esp + 0xc]
test byte [eax], al
mov eax, dword [esp + 0x188]
lea ecx, [eax + 0xc]
mov eax, dword [esp + 0xd4]
inc eax
mov edx, dword [esp + 0xd8]
cmp eax, edx
jl 0x5c75c1
lea edi, [esp + 0x1d8]
xor eax, eax
call fcn.00463a89
lea edi, [esp + 0x3b0]
call fcn.00463a7d
lea ecx, [esp + 0x3b0]
mov dword [esp + 0x1e4], ecx
call fcn.0044f0a0
mov ecx, dword [esp]
mov dword [esp + 0x1e0], ecx
lea ecx, [0x5f0d80]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.0044a1a0
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x188], ecx
lea edi, [esp + 0x2f4]
xor eax, eax
call fcn.00463a81
mov ecx, dword [esp + 0x4d8]
mov dword [esp + 0x2fc], ecx
mov ecx, dword [esp + 0x4d0]
mov dword [esp + 0x2f4], ecx
mov ecx, dword [esp + 0x4d4]
mov dword [esp + 0x2f8], ecx
mov ecx, dword [esp + 0x188]
lea edx, [esp + 0x2f4]
mov ebx, 1
mov ebp, 5
xor esi, esi
lea edi, [esp + 0x3c]
xor eax, eax
mov dword [esp + 0xa0], eax
xor eax, eax
mov dword [esp + 0x118], eax
xor eax, eax
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0xa8], eax
xor eax, eax
jmp 0x5c77e5
mov ecx, dword [esp + 0x158]
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x138]
mov esi, dword [esp + 0x9c]
xor eax, eax
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x9c], esi
test ebx, ebx
je 0x5c78c6
mov dword [esp + 0x138], edi
mov dword [esp + 0x140], ecx
mov dword [esp + 0x78], ebx
mov eax, dword [edx + 8]
mov dword [esp + 0xd0], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x188], ecx
mov esi, dword [edx]
mov dword [esp + 0x184], esi
dec ebp
mov dword [esp + 0x7c], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 0xc
add edx, ebp
mov dword [esp + 0x114], edx
test eax, eax
je 0x5c7858
test eax, 0x200
jne 0x5c7858
mov ebp, esi
lea ebp, [0x675c20]
mov dword [esp + 0x58], ebp
mov ebp, esi
jmp 0x5c789b
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53d0
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x184]
mov edi, dword [esp + 0x138]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x104], esi
dec ebx
mov dword [esp + 0xe0], eax
xor eax, eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x158], eax
jmp 0x5c92bb
xor edx, edx
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0xa8]
jmp 0x5c78fb
mov eax, dword [esp + 0x188]
lea edi, [eax + 0x40]
mov eax, dword [esp + 0xd8]
inc eax
mov ebx, esi
mov ecx, ebp
mov esi, dword [esp + 0x9c]
mov ebp, edx
mov edx, eax
xor eax, eax
mov dword [esp + 0x140], ecx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa8], ebp
cmp edx, esi
jge 0x5c7fef
mov dword [esp + 0xd8], edx
mov dword [esp + 0x188], edi
mov esi, edi
lea edi, [esp + 0x330]
call fcn.00463f00
lea edi, [esp + 0x2c0]
lea esi, [esp + 0x330]
call fcn.00463f1e
mov eax, dword [esp + 0x4b8]
mov ecx, dword [eax]
mov edx, dword [esp + 0x36c]
mov dword [esp + 0xd0], edx
mov ebx, dword [esp + 0x364]
mov dword [esp + 0x184], ebx
mov ebp, dword [esp + 0x368]
mov dword [esp + 0x180], ebp
mov ebp, dword [esp + 0x2c0]
mov dword [esp + 0x13c], ebp
mov ebx, dword [esp + 0x2c4]
mov dword [esp + 0xa4], ebx
mov eax, dword [esp + 0x2d8]
mov edx, dword [esp + 0x2dc]
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.004bcbf0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x61b995]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.004a86a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jbe 0x5c9265
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jne 0x5c7a1b
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x13c]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x13c], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004096f0
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x7bc410]
test cl, cl
je 0x5c7a70
lea ecx, [0x5f0d80]
mov dword [0x7bc414], ecx
mov edx, dword [0x7e2780]
test edx, edx
jne 0x5c7a63
mov dword [0x7bc418], eax
jmp 0x5c7a76
lea edi, [0x7bc418]
call fcn.00463860
jmp 0x5c7a76
lea ecx, [0x5f0d80]
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], eax
mov edx, dword [esp + 0x19c]
test edx, edx
je 0x5c7aa8
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5c7aae
or ebx, 0x80
jmp 0x5c7aae
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0xec], eax
mov dword [esp + 0xe8], edx
mov ecx, dword [esp + 0x4c4]
mov dword [esp], ecx
mov ebp, dword [esp + 0x4c8]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x4cc]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call fcn.004c3840
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test edx, edx
je 0x5c7b18
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
jmp 0x5c7bf0
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x178], eax
lea edi, [esp + 0x25c]
xor eax, eax
call fcn.00463a84
lea ecx, [0x5f2060]
mov dword [esp], ecx
lea edx, [esp + 0x210]
mov dword [esp + 4], edx
lea ebx, [esp + 0x25c]
mov dword [esp + 8], ebx
call fcn.0040da30
jmp 0x5c9192
mov eax, dword [esp + 0x4c4]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x4cc]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x154]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x150]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x14], esi
call fcn.004c3840
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x154]
mov esi, dword [esp + 0x150]
jmp 0x5c7be8
xor edx, edx
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
test edx, edx
je 0x5c7f79
mov edi, edx
mov edx, dword [esp + 0xd0]
test edx, edx
je 0x5c924d
and edx, 0x160
cmp edx, 0x100
je 0x5c7c29
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xac]
mov ebp, dword [esp + 0x140]
jmp 0x5c78d8
mov dword [esp + 0xb4], edi
mov dword [esp + 0x124], ecx
mov dword [esp + 0x120], eax
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 1
call fcn.004c2fb0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
lea eax, [0x5f1ce0]
mov dword [esp], eax
lea ecx, [esp + 0x1f4]
mov dword [esp + 4], ecx
lea edx, [esp + 0x1a4]
mov dword [esp + 8], edx
call fcn.0040d690
mov eax, dword [esp + 0x4c0]
test eax, eax
jne 0x5c7ccc
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x13c]
jmp 0x5c7d17
mov dword [esp], 0
mov ecx, dword [esp + 0x4bc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea edx, [0x672d84]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x18], ebx
call fcn.0044dde0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x13c], eax
mov edx, dword [esp + 0x120]
mov dword [esp], edx
mov edx, dword [esp + 0x124]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004c2fb0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], ecx
mov edx, dword [esp + 0x4b8]
mov dword [esp], edx
mov ebx, dword [esp + 0x13c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x184]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x1c], eax
call fcn.005be3d0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
test eax, eax
jne 0x5c7de5
mov esi, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x140]
jmp 0x5c78d8
test ecx, ecx
je 0x5c7ed3
lea ecx, [0x674548]
cmp ebx, ecx
jne 0x5c7ed3
mov eax, dword [edx + 4]
mov ebx, dword [esp + 0xa8]
lea ebp, [eax + ebx]
mov edx, dword [edx]
mov esi, dword [esp + 0xac]
cmp esi, ebp
jb 0x5c7e1e
mov edi, dword [esp + 0x140]
jmp 0x5c7e76
mov dword [esp + 0x158], edx
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x140]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x5f0d80]
mov dword [esp + 0x10], ecx
call fcn.0044a320
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x158]
mov esi, ebx
mov edi, ecx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x50], ebp
mov dword [esp + 0xfc], edi
lea ecx, [0x5f0d80]
mov dword [esp], ecx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl ebx, 3
sar esi, 0x1f
and esi, ebx
lea ebx, [edi + esi]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa8]
sub ebp, ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.004109e0
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0xfc]
jmp 0x5c78d8
mov eax, dword [eax + 0x10]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xa8]
inc edx
mov ebx, dword [esp + 0xac]
cmp ebx, edx
jb 0x5c7eff
mov ebp, dword [esp + 0x140]
jmp 0x5c7f52
mov dword [esp + 0x168], eax
mov dword [esp + 0xd4], ecx
mov eax, dword [esp + 0x140]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f0d80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x168]
mov ebp, ecx
mov ecx, dword [esp + 0xd4]
mov esi, ebx
lea ebx, [ebp + edx*8 - 4]
mov dword [ebx], ecx
lea edi, [ebp + edx*8 - 8]
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5c7f6f
mov dword [edi], eax
jmp 0x5c78d8
call fcn.00463860
jmp 0x5c78d8
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
call fcn.004096f0
mov eax, dword [esp + 8]
lea ecx, [0x5f0d80]
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], eax
lea eax, [0x5f1ce0]
mov dword [esp], eax
lea edx, [esp + 0x1d8]
mov dword [esp + 4], edx
lea ebx, [esp + 0x1b4]
mov dword [esp + 8], ebx
call fcn.0040d1b0
mov eax, dword [esp + 0xc]
test byte [eax], al
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xac]
mov ebp, dword [esp + 0x140]
jmp 0x5c78d8
mov edx, dword [esp + 0x118]
test edx, edx
je 0x5c8054
mov esi, dword [esp + 0x1f4]
test esi, esi
jg 0x5c800e
lea edx, [esp + 0x1f4]
jmp 0x5c805b
call fcn.0040c890
mov eax, dword [esp]
mov dword [esp + 0x11c], eax
lea edi, [esp + 0x22c]
xor eax, eax
call fcn.00463a84
lea ecx, [0x5f1ce0]
mov dword [esp], ecx
lea edx, [esp + 0x1f4]
mov dword [esp + 4], edx
lea edx, [esp + 0x22c]
mov dword [esp + 8], edx
call fcn.0040da30
jmp 0x5c8dfc
lea edx, [esp + 0x1f4]
mov dword [esp + 0x144], edx
mov esi, dword [esp + 0x4b8]
mov edi, esi
mov esi, dword [esi]
movzx esi, byte [esi + 8]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5c811f
test edx, edx
je 0x5c8083
mov esi, dword [edx]
jmp 0x5c8085
xor esi, esi
test esi, esi
jle 0x5c811f
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xc8], ebp
mov dword [esp + 0x174], ecx
test edx, edx
je 0x5c80aa
mov esi, dword [edx]
jmp 0x5c80ac
xor esi, esi
mov dword [esp + 0x8c], esi
lea eax, [0x5f0d80]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], esi
call fcn.0044a1a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x188], eax
lea edi, [esp + 0x22c]
xor eax, eax
call fcn.00463a84
lea ecx, [0x5f1ce0]
mov dword [esp], ecx
mov edx, dword [esp + 0x144]
mov dword [esp + 4], edx
lea ebx, [esp + 0x22c]
mov dword [esp + 8], ebx
call fcn.0040da30
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x8c]
xor edx, edx
jmp 0x5c8a25
mov esi, dword [edi]
movzx esi, byte [esi + 9]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5c81c6
mov esi, dword [esp + 0x1d8]
test esi, esi
jle 0x5c81c6
mov dword [esp + 0x88], esi
mov dword [esp + 0x170], ecx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc0], ebp
lea eax, [0x5f0d80]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], esi
call fcn.0044a1a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x188], eax
lea edi, [esp + 0x22c]
xor eax, eax
call fcn.00463a84
lea ecx, [0x5f1ce0]
mov dword [esp], ecx
lea edx, [esp + 0x1d8]
mov dword [esp + 4], edx
lea ebx, [esp + 0x22c]
mov dword [esp + 8], ebx
call fcn.0040da30
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x88]
xor edx, edx
jmp 0x5c8629
test ebp, ebp
jne 0x5c8213
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x5c828a
lea edi, [esp + 0x22c]
call fcn.00463a84
lea ecx, [0x5f1ce0]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea edx, [esp + 0x22c]
mov dword [esp + 8], edx
call fcn.0040da30
mov ecx, dword [esp + 0x4b8]
mov edx, dword [esp + 0x4c0]
jmp 0x5c82cd
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x140], ecx
lea eax, [0x5f78e0]
mov dword [esp], eax
call fcn.0040bdb0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0xa8]
mov dword [edi + 4], eax
mov eax, dword [esp + 0xac]
mov dword [edi + 8], eax
mov eax, dword [0x7e2780]
test eax, eax
jne 0x5c8263
mov eax, dword [esp + 0x140]
mov dword [edi], eax
jmp 0x5c826f
mov eax, dword [esp + 0x140]
call fcn.00463860
lea eax, [0x674548]
mov dword [esp + 0x4dc], eax
mov dword [esp + 0x4e0], edi
add esp, 0x4b4
ret
mov dword [esp + 0x4dc], 0
mov dword [esp + 0x4e0], 0
add esp, 0x4b4
ret
lea eax, [esp + 0x22c]
mov dword [esp], eax
call fcn.0040dc60
mov eax, dword [esp + 0x4b8]
mov ecx, dword [esp + 0x4c0]
mov ecx, eax
mov edx, dword [esp + 0x4c0]
mov ebx, dword [esp + 0x22c]
test ebx, ebx
je 0x5c8417
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [0x5f0d80]
cmp ebp, esi
jne 0x5c85df
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
test edx, edx
je 0x5c8349
mov dword [esp], 0
mov eax, dword [esp + 0x4bc]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ecx, [0x672d84]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
call fcn.0044dde0
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x4b8]
mov edx, dword [esp + 0x4c0]
lea esi, [0x5f0d80]
mov dword [esp + 0x134], ebp
mov eax, ecx
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
mov edi, edx
mov edx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x10]
inc ebp
cmp esi, ebp
jae 0x5c83df
mov dword [esp + 0x94], ebx
mov dword [esp + 0x16c], ecx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5f0d80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x16c]
mov dword [ebx + 0x14], edx
mov edx, dword [0x7e2780]
test edx, edx
jne 0x5c83bc
mov dword [ebx + 0xc], eax
jmp 0x5c83c4
lea edi, [ebx + 0xc]
call fcn.00463860
mov edi, dword [esp + 0x4c0]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x4b8]
mov ecx, ebx
mov ebx, dword [esp + 0x94]
mov dword [ecx + 0x10], ebp
lea ecx, [edx + ebp*8 - 4]
mov dword [ecx], ebx
lea ecx, [edx + ebp*8 - 8]
mov edx, dword [0x7e2780]
test edx, edx
jne 0x5c8404
mov edx, dword [esp + 0x134]
mov dword [ecx], edx
jmp 0x5c82a7
mov edi, ecx
mov eax, dword [esp + 0x134]
call fcn.00463860
jmp 0x5c82a7
lea edi, [esp + 0x22c]
xor eax, eax
call fcn.00463a84
lea ecx, [0x5f1ce0]
mov dword [esp], ecx
lea ecx, [esp + 0x1d8]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x22c]
mov dword [esp + 8], ecx
call fcn.0040da30
mov ecx, dword [esp + 0x4b8]
mov edx, dword [esp + 0x4c0]
jmp 0x5c847f
lea eax, [esp + 0x22c]
mov dword [esp], eax
call fcn.0040dc60
mov eax, dword [esp + 0x4b8]
mov ecx, dword [esp + 0x4c0]
mov ecx, eax
mov edx, dword [esp + 0x4c0]
mov ebx, dword [esp + 0x22c]
test ebx, ebx
je 0x5c828a
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [0x5f0d80]
cmp ebp, esi
jne 0x5c85c9
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
test edx, edx
je 0x5c84fb
mov dword [esp], 0
mov eax, dword [esp + 0x4bc]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ecx, [0x672d84]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
call fcn.0044dde0
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x4b8]
mov edx, dword [esp + 0x4c0]
lea esi, [0x5f0d80]
mov dword [esp + 0x130], ebp
mov eax, ecx
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
mov edi, edx
mov edx, dword [ecx + 0x18]
mov esi, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x1c]
inc ebp
cmp esi, ebp
jae 0x5c8591
mov dword [esp + 0x90], ebx
mov dword [esp + 0x16c], ecx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5f0d80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x16c]
mov dword [ebx + 0x20], edx
mov edx, dword [0x7e2780]
test edx, edx
jne 0x5c856e
mov dword [ebx + 0x18], eax
jmp 0x5c8576
lea edi, [ebx + 0x18]
call fcn.00463860
mov edi, dword [esp + 0x4c0]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x4b8]
mov ecx, ebx
mov ebx, dword [esp + 0x90]
mov dword [ecx + 0x1c], ebp
lea ecx, [edx + ebp*8 - 4]
mov dword [ecx], ebx
lea ecx, [edx + ebp*8 - 8]
mov edx, dword [0x7e2780]
test edx, edx
jne 0x5c85b6
mov edx, dword [esp + 0x130]
mov dword [ecx], edx
jmp 0x5c8459
mov edi, ecx
mov eax, dword [esp + 0x130]
call fcn.00463860
jmp 0x5c8459
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5f06c0]
mov dword [esp + 8], eax
call fcn.00409340
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5f06c0]
mov dword [esp + 8], eax
call fcn.00409340
lea eax, [esp + 0x22c]
mov dword [esp], eax
call fcn.0040dc60
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x88]
mov ecx, edx
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x22c]
test ebx, ebx
je 0x5c86db
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [0x5f0d80]
cmp ebp, esi
jne 0x5c89db
inc edx
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp ecx, edx
jae 0x5c869f
mov dword [esp + 0xd8], ebx
mov dword [esp + 0x168], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], esi
call fcn.0044a320
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x168]
lea esi, [0x5f0d80]
mov dword [esp + 0x128], eax
mov dword [esp + 0x80], edx
mov dword [esp + 0x88], ecx
lea esi, [eax + edx*8 - 4]
mov dword [esi], ebx
lea edi, [eax + edx*8 - 8]
mov ebx, dword [0x7e2780]
test ebx, ebx
jne 0x5c86cf
mov dword [edi], ebp
jmp 0x5c85f5
mov eax, ebp
call fcn.00463860
jmp 0x5c85f5
mov dword [esp + 0x164], eax
mov dword [esp + 0x80], edx
mov dword [esp + 0xbc], ecx
nop
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x674e20]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00490220
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
lea eax, [0x61b9bf]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004a88d0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x168], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
mov edx, dword [esp + 0x4bc]
mov dword [esp], edx
mov ebx, dword [esp + 0x4c0]
mov dword [esp + 4], ebx
call fcn.004096f0
mov eax, dword [esp + 8]
lea ecx, [0x5f0d80]
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
call fcn.004096f0
mov eax, dword [esp + 8]
lea ecx, [0x5f0d80]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
lea eax, [0x624057]
mov dword [esp], eax
mov dword [esp + 4], 0x19
lea eax, [esp + 0x1c8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test eax, eax
je 0x5c8926
lea eax, [0x674548]
cmp edx, eax
jne 0x5c8926
mov edx, dword [ecx + 4]
mov ebx, dword [esp + 0xc0]
lea ebp, [edx + ebx]
mov ecx, dword [ecx]
mov esi, dword [esp + 0xc4]
cmp esi, ebp
jb 0x5c8872
mov edi, dword [esp + 0x170]
jmp 0x5c88ca
mov dword [esp + 0x174], ecx
mov dword [esp + 0xd8], edx
mov eax, dword [esp + 0x170]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x5f0d80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0xd8]
mov esi, ebx
mov edi, ecx
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xf0], edi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x60], esi
lea eax, [0x5f0d80]
mov dword [esp], eax
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl ebx, 3
sar esi, 0x1f
and ebx, esi
add ebx, edi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xc0]
sub ebp, ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.004109e0
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0xf0]
jmp 0x5c89c2
mov eax, dword [ebx + 0x10]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc0]
inc edx
mov ebx, dword [esp + 0xc4]
cmp ebx, edx
jb 0x5c8952
mov ebp, dword [esp + 0x170]
jmp 0x5c89a5
mov dword [esp + 0x168], eax
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0x170]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f0d80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x168]
mov ebp, ecx
mov ecx, dword [esp + 0xd8]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], ecx
lea edi, [ebp + edx*8 - 8]
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5c89bd
mov dword [edi], eax
jmp 0x5c89c2
call fcn.00463860
xor eax, eax
mov edi, dword [esp + 0x4b8]
mov ecx, ebp
mov ebp, edx
mov edx, dword [esp + 0x144]
jmp 0x5c81c6
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5f06c0]
mov dword [esp + 8], eax
call fcn.00409340
lea eax, [esp + 0x22c]
mov dword [esp], eax
call fcn.0040dc60
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x8c]
mov ecx, edx
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x22c]
test ebx, ebx
je 0x5c8ad7
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [0x5f0d80]
cmp ebp, esi
jne 0x5c8dd7
inc edx
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp ecx, edx
jae 0x5c8a9b
mov dword [esp + 0x168], ebp
mov dword [esp + 0xd8], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], esi
call fcn.0044a320
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0x168]
lea esi, [0x5f0d80]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x8c], ecx
lea esi, [eax + edx*8 - 4]
mov dword [esi], ebx
lea edi, [eax + edx*8 - 8]
mov ebx, dword [0x7e2780]
test ebx, ebx
jne 0x5c8acb
mov dword [edi], ebp
jmp 0x5c89f1
mov eax, ebp
call fcn.00463860
jmp 0x5c89f1
mov dword [esp + 0x160], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0xb8], ecx
nop
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00409770
mov eax, dword [esp + 0xc]
lea ecx, [0x674e20]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00490220
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
lea eax, [0x61b9bf]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004a88d0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x168], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
mov edx, dword [esp + 0x4bc]
mov dword [esp], edx
mov ebx, dword [esp + 0x4c0]
mov dword [esp + 4], ebx
call fcn.004096f0
mov eax, dword [esp + 8]
lea ecx, [0x5f0d80]
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
call fcn.004096f0
mov eax, dword [esp + 8]
lea ecx, [0x5f0d80]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
lea eax, [0x62403e]
mov dword [esp], eax
mov dword [esp + 4], 0x19
lea eax, [esp + 0x1c8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test eax, eax
je 0x5c8d22
lea eax, [0x674548]
cmp edx, eax
jne 0x5c8d22
mov edx, dword [ecx + 4]
mov ebx, dword [esp + 0xc8]
lea ebp, [edx + ebx]
mov ecx, dword [ecx]
mov esi, dword [esp + 0xcc]
cmp esi, ebp
jb 0x5c8c6e
mov edi, dword [esp + 0x174]
jmp 0x5c8cc6
mov dword [esp + 0xd8], edx
mov dword [esp + 0x160], ecx
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x5f0d80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0xd8]
mov esi, ebx
mov edi, ecx
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0xc8]
mov dword [esp + 0x48], ebp
mov dword [esp + 0xf4], edi
mov dword [esp + 0x64], esi
lea eax, [0x5f0d80]
mov dword [esp], eax
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl ebx, 3
sar esi, 0x1f
and ebx, esi
add ebx, edi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xc8]
sub ebp, ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.004109e0
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0xf4]
jmp 0x5c8dbe
mov eax, dword [ebx + 0x10]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc8]
inc edx
mov ebx, dword [esp + 0xcc]
cmp ebx, edx
jb 0x5c8d4e
mov ebp, dword [esp + 0x174]
jmp 0x5c8da1
mov dword [esp + 0x168], eax
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f0d80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x168]
mov ebp, ecx
mov ecx, dword [esp + 0xd8]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], ecx
lea edi, [ebp + edx*8 - 8]
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5c8db9
mov dword [edi], eax
jmp 0x5c8dbe
call fcn.00463860
xor eax, eax
mov edi, dword [esp + 0x4b8]
mov ecx, ebp
mov ebp, edx
mov edx, dword [esp + 0x144]
jmp 0x5c811f
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5f06c0]
mov dword [esp + 8], eax
call fcn.00409340
lea eax, [esp + 0x22c]
mov dword [esp], eax
call fcn.0040dc60
mov ecx, dword [esp + 0x22c]
test ecx, ecx
je 0x5c8f63
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], eax
test edx, edx
je 0x5c8e89
nop
movzx ecx, byte [0x7bc410]
test cl, cl
je 0x5c8e51
mov dword [0x7bc414], edx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5c8e46
mov dword [0x7bc418], eax
jmp 0x5c8e51
lea edi, [0x7bc418]
call fcn.00463860
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], eax
mov ecx, dword [esp + 0x194]
test ecx, ecx
je 0x5c8e81
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5c8e8f
or edx, 0x80
jmp 0x5c8e8f
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x5c8e8f
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x4c4]
mov dword [esp], ebx
mov ebp, dword [esp + 0x4c8]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x4cc]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004c3840
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004c2fb0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x168], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], eax
lea edx, [0x5f1ca0]
mov dword [esp], edx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 4], ebx
lea ebp, [esp + 0x18c]
mov dword [esp + 8], ebp
call fcn.0040d1b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x15c]
mov dword [eax], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5c8f4f
mov ecx, dword [esp + 0x168]
mov dword [eax + 4], ecx
jmp 0x5c8ded
lea edi, [eax + 4]
mov eax, dword [esp + 0x168]
call fcn.00463860
jmp 0x5c8ded
mov eax, dword [esp + 0x118]
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x34]
mov ebx, dword [esp + 0x4b8]
mov dword [esp], ebx
mov ebp, dword [esp + 0x4bc]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x4c0]
mov dword [esp + 8], esi
lea edi, [0x5f1ca0]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x11c]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005c2830
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
test eax, eax
je 0x5c9161
test ecx, ecx
je 0x5c90c3
lea ecx, [0x674548]
cmp ebx, ecx
jne 0x5c90c3
mov eax, dword [edx + 4]
mov ebx, dword [esp + 0xa8]
lea ebp, [eax + ebx]
mov edx, dword [edx]
mov esi, dword [esp + 0xac]
cmp esi, ebp
jb 0x5c900e
mov edi, dword [esp + 0x140]
jmp 0x5c9066
mov dword [esp + 0xd8], eax
mov dword [esp + 0x158], edx
mov ecx, dword [esp + 0x140]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x5f0d80]
mov dword [esp + 0x10], ecx
call fcn.0044a320
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0x158]
mov esi, ebx
mov edi, ecx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x68], esi
mov dword [esp + 0x4c], ebp
mov dword [esp + 0xf8], edi
lea ecx, [0x5f0d80]
mov dword [esp], ecx
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl ebx, 3
sar esi, 0x1f
and esi, ebx
lea ebx, [edi + esi]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa8]
sub ebp, ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.004109e0
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0xf8]
jmp 0x5c9176
mov eax, dword [eax + 0x10]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xa8]
inc edx
mov ebx, dword [esp + 0xac]
cmp ebx, edx
jb 0x5c90ef
mov ebp, dword [esp + 0x140]
jmp 0x5c9142
mov dword [esp + 0x168], eax
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0x140]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f0d80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x168]
mov ebp, ecx
mov ecx, dword [esp + 0xd8]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], ecx
lea edi, [ebp + edx*8 - 8]
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5c915a
mov dword [edi], eax
jmp 0x5c9176
call fcn.00463860
jmp 0x5c9176
mov ebx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x140]
xor eax, eax
mov ecx, ebp
mov ebp, edx
xor edx, edx
jmp 0x5c805b
lea eax, [esp + 0x25c]
mov dword [esp], eax
call fcn.0040dc60
mov ecx, dword [esp + 0x25c]
test ecx, ecx
je 0x5c7bc6
mov eax, dword [ecx]
mov dword [esp + 0x154], eax
mov edx, dword [ecx + 4]
mov dword [esp + 0x150], edx
mov ecx, dword [ecx + 8]
mov dword [esp + 0xb4], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.004c2fb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], edx
lea edx, [0x5f0d80]
cmp ecx, edx
jne 0x5c91fe
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x5c9208
mov eax, 0
mov ecx, 0
jne 0x5c9183
mov ebx, dword [esp + 0x4b8]
mov ebp, dword [ebx]
mov edx, dword [ebp + 0x28]
mov ebp, dword [edx]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc], ecx
call ebp
movzx eax, byte [esp + 0x10]
test al, al
je 0x5c9183
jmp 0x5c7b5d
lea eax, [0x5f0d80]
mov dword [esp], eax
lea eax, [0x673df4]
mov dword [esp + 4], eax
call fcn.00435790
xor eax, eax
mov ecx, eax
call fcn.004638e0
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x98]
inc eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x7c], ebx
mov ebx, ecx
mov dword [esp + 0xa0], edi
mov edi, dword [esp + 0x138]
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x158], esi
mov esi, dword [esp + 0x104]
mov edx, dword [esp + 0x114]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x114], edx
mov dword [esp + 0x138], edi
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x64]
mov dword [esp], esi
call ecx
mov eax, dword [esp + 0x98]
cmp dword [esp + 4], eax
jle 0x5c77a3
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0x104]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x28c]
lea esi, [esp + 8]
call fcn.00463f1e
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov ecx, dword [esp + 0x188]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xc], ebx
call fcn.004c2d10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, edx
and edx, 0x1f
cmp edx, 0x16
jne 0x5c93d2
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x180], ecx
mov dword [esp + 0x154], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004c2b60
mov eax, dword [esp + 0x14]
and eax, 0x1f
cmp eax, 0x19
je 0x5c939f
mov ebx, dword [esp + 0xb4]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x180]
jmp 0x5c93d2
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
call fcn.004c2b60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, edx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x10c], eax
mov edx, dword [esp + 0x4b8]
mov ebp, dword [edx]
movzx esi, byte [ebp + 0xc]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5c940c
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x19
jne 0x5c940e
movzx ebx, byte [esp + 0x2bc]
jmp 0x5c9410
mov esi, ebx
xor ebx, ebx
mov byte [esp + 0x3f], bl
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2a8]
mov edx, dword [ebp + 0x1c]
mov ebp, dword [ebp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
call fcn.004bcbf0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x61b995]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004a86a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
cmp eax, 1
jb 0x5c9a67
dec ecx
neg ecx
sar ecx, 0x1f
and ecx, 8
add ecx, edx
lea edx, [eax - 1]
xor eax, eax
jmp 0x5c9a1d
mov eax, 1
xor ecx, ecx
jmp 0x5c94b8
movzx eax, byte [esp + 0x3f]
mov ecx, 1
jmp 0x5c94b8
movzx eax, byte [esp + 0x3f]
xor ecx, ecx
test al, al
je 0x5c980c
nop
mov ecx, dword [esp + 0x74]
mov edx, ecx
and ecx, 0x1f
cmp ecx, 0x19
jne 0x5c958f
mov ecx, dword [esp + 0x78]
inc ecx
mov ebx, dword [esp + 0x7c]
cmp ebx, ecx
jb 0x5c94e9
mov eax, dword [esp + 0x114]
jmp 0x5c9526
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x61b320]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, eax
mov eax, edx
mov edx, dword [esp + 0x74]
lea ebp, [ecx + ecx*2]
mov dword [eax + ebp*4 - 4], edx
mov edx, dword [0x7e2780]
lea edi, [eax + ebp*4 - 0xc]
lea esi, [eax + ebp*4 - 8]
test edx, edx
jne 0x5c9557
mov edx, dword [esp + 0x10c]
mov dword [eax + ebp*4 - 0xc], edx
mov edx, dword [esp + 0x110]
mov dword [eax + ebp*4 - 8], edx
jmp 0x5c9575
mov edx, eax
mov eax, dword [esp + 0x10c]
call fcn.00463860
mov edi, esi
mov eax, dword [esp + 0x110]
call fcn.00463860
mov eax, edx
mov edx, dword [esp + 0xac]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x158]
jmp 0x5c9800
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x290]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004096f0
mov eax, dword [esp + 8]
lea ecx, [0x5f0d80]
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
call fcn.004095e0
mov eax, dword [esp + 4]
lea ecx, [0x5f3380]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
lea eax, [0x628ce9]
mov dword [esp], eax
mov dword [esp + 4], 0x23
lea edx, [esp + 0x1c8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cb530
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test eax, eax
je 0x5c974d
lea eax, [0x674548]
cmp edx, eax
jne 0x5c974d
mov edx, dword [ecx + 4]
mov ebx, dword [esp + 0xa8]
lea ebp, [edx + ebx]
mov ecx, dword [ecx]
mov esi, dword [esp + 0xac]
cmp esi, ebp
jb 0x5c9699
mov edi, dword [esp + 0x158]
jmp 0x5c96f1
mov dword [esp + 0xd8], edx
mov dword [esp + 0x14c], ecx
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x5f0d80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xa8]
mov esi, ecx
mov edi, eax
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x100], edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x54], ebp
lea eax, [0x5f0d80]
mov dword [esp], eax
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
shl ebx, 3
sar esi, 0x1f
and ebx, esi
add ebx, edi
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa8]
sub ebp, ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.004109e0
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x100]
jmp 0x5c97eb
mov eax, dword [ebx + 0x10]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xa8]
inc edx
mov ebx, dword [esp + 0xac]
cmp ebx, edx
jb 0x5c9779
mov ebp, dword [esp + 0x158]
jmp 0x5c97ce
mov dword [esp + 0x168], eax
mov dword [esp + 0xd8], ecx
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f0d80]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, eax
mov ebx, ecx
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0xd8]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], ecx
lea edi, [ebp + edx*8 - 8]
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5c97e6
mov dword [edi], eax
jmp 0x5c97eb
call fcn.00463860
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x114]
mov esi, ebp
mov ebp, edx
mov edx, ebx
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xa0]
jmp 0x5c926e
test cl, cl
jne 0x5c9926
lea edi, [esp + 0x370]
xor eax, eax
call fcn.00463a80
lea edi, [esp + 0x370]
lea esi, [esp + 0x28c]
call fcn.00463f1e
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x3ac], ecx
mov ecx, dword [esp + 0x9c]
inc ecx
mov edx, dword [esp + 0xa0]
cmp edx, ecx
jb 0x5c987a
mov edi, dword [esp + 0x138]
mov eax, edx
jmp 0x5c98af
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5fb5c0]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x9c], ecx
mov edx, dword [0x7e2780]
lea ebx, [ecx - 1]
shl ebx, 6
add ebx, edi
test edx, edx
jne 0x5c98da
lea esi, [esp + 0x370]
mov edx, edi
mov edi, ebx
call fcn.00463f00
jmp 0x5c9913
mov dword [esp + 0x148], edi
mov dword [esp + 0xb0], eax
lea eax, [0x5fb5c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea eax, [esp + 0x370]
mov dword [esp + 8], eax
call fcn.004108d0
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x148]
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x118]
jmp 0x5c99dc
lea eax, [0x5fb5c0]
mov dword [esp], eax
call fcn.0040bdb0
mov edi, dword [esp + 4]
mov dword [esp + 0x118], edi
mov eax, dword [0x7e2780]
test eax, eax
jne 0x5c9957
lea esi, [esp + 0x28c]
call fcn.00463f1e
jmp 0x5c9974
lea eax, [0x60ce40]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x28c]
mov dword [esp + 8], eax
call fcn.004108d0
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x118]
mov dword [edx + 0x3c], ecx
mov ecx, dword [0x7e2780]
test ecx, ecx
jne 0x5c99a2
mov eax, dword [esp + 0x10c]
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0x110]
mov dword [edx + 0x38], eax
jmp 0x5c99c0
lea edi, [edx + 0x34]
mov eax, dword [esp + 0x10c]
call fcn.00463860
lea edi, [edx + 0x38]
mov eax, dword [esp + 0x110]
call fcn.00463860
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x138]
mov ebx, dword [esp + 0x118]
mov edi, eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x138], edx
mov dword [esp + 0x118], ebx
mov edx, dword [esp + 0xac]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x114]
jmp 0x5c926e
inc eax
cmp eax, edx
jge 0x5c94b1
lea ebx, [ecx + eax*8]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp ebx, 6
jne 0x5c9a1c
cmp dword [ebp], 0x61757173
jne 0x5c9a4c
cmp word [ebp + 4], 0x6873
je 0x5c949c
cmp ebx, 6
jmp 0x5c9a4f
cmp ebx, 6
jne 0x5c9a1c
cmp dword [ebp], 0x616d6572
jne 0x5c9a1c
cmp word [ebp + 4], 0x6e69
jne 0x5c9a1c
jmp 0x5c94a5
mov eax, 1
xor ecx, ecx
call fcn.00463940
nop
call fcn.00462450
jmp fcn.005c7370