Function at 0x5c7710
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 0x5c9e14
sub esp, 0x4b4
mov eax, dword [esp + 0x4cc]
test eax, eax
je 0x5c7754
test eax, 0x200
jne 0x5c7754
lea ecx, [0x676140]
mov edx, dword [esp + 0x4c4]
jmp 0x5c777e
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.004c53c0
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 0x5c78b8
cmp eax, 0x14
je 0x5c78b8
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, [0x5f0dc0]
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, [0x5f33c0]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
lea eax, [0x62c868]
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.004cb520
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.004c3a90
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xd8], edx
xor eax, eax
jmp 0x5c7a5d
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, [0x5f20a0]
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.004c2fa0
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, [0x5f1d20]
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 0x5c7961
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, [0x5f0dc0]
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 0x5c7b85
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 0x5c7c66
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 0x5c7bf8
test eax, 0x200
jne 0x5c7bf8
mov ebp, esi
lea ebp, [0x676140]
mov dword [esp + 0x58], ebp
mov ebp, esi
jmp 0x5c7c3b
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004c53c0
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 0x5c965b
xor edx, edx
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0xa8]
jmp 0x5c7c9b
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 0x5c838f
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.004bcbe0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x61b9f5]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.004a8690
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jbe 0x5c9605
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jne 0x5c7dbb
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 [0x7bd150]
test cl, cl
je 0x5c7e10
lea ecx, [0x5f0dc0]
mov dword [0x7bd154], ecx
mov edx, dword [0x7e34c0]
test edx, edx
jne 0x5c7e03
mov dword [0x7bd158], eax
jmp 0x5c7e16
lea edi, [0x7bd158]
call fcn.00463860
jmp 0x5c7e16
lea ecx, [0x5f0dc0]
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x1a0], eax
mov edx, dword [esp + 0x19c]
test edx, edx
je 0x5c7e48
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5c7e4e
or ebx, 0x80
jmp 0x5c7e4e
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.004c3830
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test edx, edx
je 0x5c7eb8
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0xe8]
mov esi, dword [esp + 0xec]
jmp 0x5c7f90
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x178], eax
lea edi, [esp + 0x25c]
xor eax, eax
call fcn.00463a84
lea ecx, [0x5f20a0]
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 0x5c9532
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.004c3830
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 0x5c7f88
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 0x5c8319
mov edi, edx
mov edx, dword [esp + 0xd0]
test edx, edx
je 0x5c95ed
and edx, 0x160
cmp edx, 0x100
je 0x5c7fc9
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xac]
mov ebp, dword [esp + 0x140]
jmp 0x5c7c78
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.004c2fa0
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, [0x5f1d20]
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 0x5c806c
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x13c]
jmp 0x5c80b7
mov dword [esp], 0
mov ecx, dword [esp + 0x4bc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea edx, [0x6732a0]
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.004c2fa0
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.005be770
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 0x5c8185
mov esi, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x140]
jmp 0x5c7c78
test ecx, ecx
je 0x5c8273
lea ecx, [0x674a68]
cmp ebx, ecx
jne 0x5c8273
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 0x5c81be
mov edi, dword [esp + 0x140]
jmp 0x5c8216
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, [0x5f0dc0]
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, [0x5f0dc0]
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 0x5c7c78
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 0x5c829f
mov ebp, dword [esp + 0x140]
jmp 0x5c82f2
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, [0x5f0dc0]
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 [0x7e34c0]
test ecx, ecx
jne 0x5c830f
mov dword [edi], eax
jmp 0x5c7c78
call fcn.00463860
jmp 0x5c7c78
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, [0x5f0dc0]
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], eax
lea eax, [0x5f1d20]
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 0x5c7c78
mov edx, dword [esp + 0x118]
test edx, edx
je 0x5c83f4
mov esi, dword [esp + 0x1f4]
test esi, esi
jg 0x5c83ae
lea edx, [esp + 0x1f4]
jmp 0x5c83fb
call fcn.0040c890
mov eax, dword [esp]
mov dword [esp + 0x11c], eax
lea edi, [esp + 0x22c]
xor eax, eax
call fcn.00463a84
lea ecx, [0x5f1d20]
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 0x5c919c
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 0x5c84bf
test edx, edx
je 0x5c8423
mov esi, dword [edx]
jmp 0x5c8425
xor esi, esi
test esi, esi
jle 0x5c84bf
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xc8], ebp
mov dword [esp + 0x174], ecx
test edx, edx
je 0x5c844a
mov esi, dword [edx]
jmp 0x5c844c
xor esi, esi
mov dword [esp + 0x8c], esi
lea eax, [0x5f0dc0]
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, [0x5f1d20]
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 0x5c8dc5
mov esi, dword [edi]
movzx esi, byte [esi + 9]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5c8566
mov esi, dword [esp + 0x1d8]
test esi, esi
jle 0x5c8566
mov dword [esp + 0x88], esi
mov dword [esp + 0x170], ecx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc0], ebp
lea eax, [0x5f0dc0]
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, [0x5f1d20]
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 0x5c89c9
test ebp, ebp
jne 0x5c85b3
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x5c862a
lea edi, [esp + 0x22c]
call fcn.00463a84
lea ecx, [0x5f1d20]
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 0x5c866d
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x140], ecx
lea eax, [0x5f7920]
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 [0x7e34c0]
test eax, eax
jne 0x5c8603
mov eax, dword [esp + 0x140]
mov dword [edi], eax
jmp 0x5c860f
mov eax, dword [esp + 0x140]
call fcn.00463860
lea eax, [0x674a68]
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 0x5c87b7
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [0x5f0dc0]
cmp ebp, esi
jne 0x5c897f
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
test edx, edx
je 0x5c86e9
mov dword [esp], 0
mov eax, dword [esp + 0x4bc]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ecx, [0x6732a0]
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, [0x5f0dc0]
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 0x5c877f
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, [0x5f0dc0]
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 [0x7e34c0]
test edx, edx
jne 0x5c875c
mov dword [ebx + 0xc], eax
jmp 0x5c8764
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 [0x7e34c0]
test edx, edx
jne 0x5c87a4
mov edx, dword [esp + 0x134]
mov dword [ecx], edx
jmp 0x5c8647
mov edi, ecx
mov eax, dword [esp + 0x134]
call fcn.00463860
jmp 0x5c8647
lea edi, [esp + 0x22c]
xor eax, eax
call fcn.00463a84
lea ecx, [0x5f1d20]
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 0x5c881f
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 0x5c862a
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [0x5f0dc0]
cmp ebp, esi
jne 0x5c8969
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
test edx, edx
je 0x5c889b
mov dword [esp], 0
mov eax, dword [esp + 0x4bc]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea ecx, [0x6732a0]
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, [0x5f0dc0]
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 0x5c8931
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, [0x5f0dc0]
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 [0x7e34c0]
test edx, edx
jne 0x5c890e
mov dword [ebx + 0x18], eax
jmp 0x5c8916
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 [0x7e34c0]
test edx, edx
jne 0x5c8956
mov edx, dword [esp + 0x130]
mov dword [ecx], edx
jmp 0x5c87f9
mov edi, ecx
mov eax, dword [esp + 0x130]
call fcn.00463860
jmp 0x5c87f9
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5f0700]
mov dword [esp + 8], eax
call fcn.00409340
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5f0700]
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 0x5c8a7b
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [0x5f0dc0]
cmp ebp, esi
jne 0x5c8d7b
inc edx
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp ecx, edx
jae 0x5c8a3f
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, [0x5f0dc0]
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 [0x7e34c0]
test ebx, ebx
jne 0x5c8a6f
mov dword [edi], ebp
jmp 0x5c8995
mov eax, ebp
call fcn.00463860
jmp 0x5c8995
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, [0x675340]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00490210
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, [0x61ba1f]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004a88c0
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, [0x5f0dc0]
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, [0x5f0dc0]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
lea eax, [0x624127]
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.004cb520
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 0x5c8cc6
lea eax, [0x674a68]
cmp edx, eax
jne 0x5c8cc6
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 0x5c8c12
mov edi, dword [esp + 0x170]
jmp 0x5c8c6a
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, [0x5f0dc0]
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, [0x5f0dc0]
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 0x5c8d62
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 0x5c8cf2
mov ebp, dword [esp + 0x170]
jmp 0x5c8d45
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, [0x5f0dc0]
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 [0x7e34c0]
test ecx, ecx
jne 0x5c8d5d
mov dword [edi], eax
jmp 0x5c8d62
call fcn.00463860
xor eax, eax
mov edi, dword [esp + 0x4b8]
mov ecx, ebp
mov ebp, edx
mov edx, dword [esp + 0x144]
jmp 0x5c8566
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5f0700]
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 0x5c8e77
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea esi, [0x5f0dc0]
cmp ebp, esi
jne 0x5c9177
inc edx
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp ecx, edx
jae 0x5c8e3b
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, [0x5f0dc0]
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 [0x7e34c0]
test ebx, ebx
jne 0x5c8e6b
mov dword [edi], ebp
jmp 0x5c8d91
mov eax, ebp
call fcn.00463860
jmp 0x5c8d91
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, [0x675340]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00490210
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, [0x61ba1f]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.004a88c0
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, [0x5f0dc0]
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, [0x5f0dc0]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
lea eax, [0x62410e]
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.004cb520
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 0x5c90c2
lea eax, [0x674a68]
cmp edx, eax
jne 0x5c90c2
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 0x5c900e
mov edi, dword [esp + 0x174]
jmp 0x5c9066
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, [0x5f0dc0]
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, [0x5f0dc0]
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 0x5c915e
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 0x5c90ee
mov ebp, dword [esp + 0x174]
jmp 0x5c9141
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, [0x5f0dc0]
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 [0x7e34c0]
test ecx, ecx
jne 0x5c9159
mov dword [edi], eax
jmp 0x5c915e
call fcn.00463860
xor eax, eax
mov edi, dword [esp + 0x4b8]
mov ecx, ebp
mov ebp, edx
mov edx, dword [esp + 0x144]
jmp 0x5c84bf
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x5f0700]
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 0x5c9303
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], eax
test edx, edx
je 0x5c9229
nop
movzx ecx, byte [0x7bd150]
test cl, cl
je 0x5c91f1
mov dword [0x7bd154], edx
mov ecx, dword [0x7e34c0]
test ecx, ecx
jne 0x5c91e6
mov dword [0x7bd158], eax
jmp 0x5c91f1
lea edi, [0x7bd158]
call fcn.00463860
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], eax
mov ecx, dword [esp + 0x194]
test ecx, ecx
je 0x5c9221
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5c922f
or edx, 0x80
jmp 0x5c922f
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x5c922f
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.004c3830
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.004c2fa0
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, [0x5f1ce0]
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 [0x7e34c0]
test ecx, ecx
jne 0x5c92ef
mov ecx, dword [esp + 0x168]
mov dword [eax + 4], ecx
jmp 0x5c918d
lea edi, [eax + 4]
mov eax, dword [esp + 0x168]
call fcn.00463860
jmp 0x5c918d
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, [0x5f1ce0]
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.005c2bd0
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 0x5c9501
test ecx, ecx
je 0x5c9463
lea ecx, [0x674a68]
cmp ebx, ecx
jne 0x5c9463
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 0x5c93ae
mov edi, dword [esp + 0x140]
jmp 0x5c9406
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, [0x5f0dc0]
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, [0x5f0dc0]
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 0x5c9516
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 0x5c948f
mov ebp, dword [esp + 0x140]
jmp 0x5c94e2
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, [0x5f0dc0]
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 [0x7e34c0]
test ecx, ecx
jne 0x5c94fa
mov dword [edi], eax
jmp 0x5c9516
call fcn.00463860
jmp 0x5c9516
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 0x5c83fb
lea eax, [esp + 0x25c]
mov dword [esp], eax
call fcn.0040dc60
mov ecx, dword [esp + 0x25c]
test ecx, ecx
je 0x5c7f66
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.004c2fa0
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, [0x5f0dc0]
cmp ecx, edx
jne 0x5c959e
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x5c95a8
mov eax, 0
mov ecx, 0
jne 0x5c9523
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 0x5c9523
jmp 0x5c7efd
lea eax, [0x5f0dc0]
mov dword [esp], eax
lea eax, [0x674318]
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 0x5c7b43
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.004c2d00
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 0x5c9772
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.004c2b50
mov eax, dword [esp + 0x14]
and eax, 0x1f
cmp eax, 0x19
je 0x5c973f
mov ebx, dword [esp + 0xb4]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x180]
jmp 0x5c9772
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.004c2b50
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 0x5c97ac
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x19
jne 0x5c97ae
movzx ebx, byte [esp + 0x2bc]
jmp 0x5c97b0
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.004bcbe0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x61b9f5]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004a8690
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
cmp eax, 1
jb 0x5c9e07
dec ecx
neg ecx
sar ecx, 0x1f
and ecx, 8
add ecx, edx
lea edx, [eax - 1]
xor eax, eax
jmp 0x5c9dbd
mov eax, 1
xor ecx, ecx
jmp 0x5c9858
movzx eax, byte [esp + 0x3f]
mov ecx, 1
jmp 0x5c9858
movzx eax, byte [esp + 0x3f]
xor ecx, ecx
test al, al
je 0x5c9bac
nop
mov ecx, dword [esp + 0x74]
mov edx, ecx
and ecx, 0x1f
cmp ecx, 0x19
jne 0x5c992f
mov ecx, dword [esp + 0x78]
inc ecx
mov ebx, dword [esp + 0x7c]
cmp ebx, ecx
jb 0x5c9889
mov eax, dword [esp + 0x114]
jmp 0x5c98c6
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, [0x61b380]
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 [0x7e34c0]
lea edi, [eax + ebp*4 - 0xc]
lea esi, [eax + ebp*4 - 8]
test edx, edx
jne 0x5c98f7
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 0x5c9915
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 0x5c9ba0
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, [0x5f0dc0]
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, [0x5f33c0]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], eax
lea eax, [0x628dc1]
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.004cb520
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 0x5c9aed
lea eax, [0x674a68]
cmp edx, eax
jne 0x5c9aed
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 0x5c9a39
mov edi, dword [esp + 0x158]
jmp 0x5c9a91
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, [0x5f0dc0]
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, [0x5f0dc0]
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 0x5c9b8b
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 0x5c9b19
mov ebp, dword [esp + 0x158]
jmp 0x5c9b6e
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, [0x5f0dc0]
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 [0x7e34c0]
test ecx, ecx
jne 0x5c9b86
mov dword [edi], eax
jmp 0x5c9b8b
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 0x5c960e
test cl, cl
jne 0x5c9cc6
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 0x5c9c1a
mov edi, dword [esp + 0x138]
mov eax, edx
jmp 0x5c9c4f
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, [0x5fb600]
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 [0x7e34c0]
lea ebx, [ecx - 1]
shl ebx, 6
add ebx, edi
test edx, edx
jne 0x5c9c7a
lea esi, [esp + 0x370]
mov edx, edi
mov edi, ebx
call fcn.00463f00
jmp 0x5c9cb3
mov dword [esp + 0x148], edi
mov dword [esp + 0xb0], eax
lea eax, [0x5fb600]
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 0x5c9d7c
lea eax, [0x5fb600]
mov dword [esp], eax
call fcn.0040bdb0
mov edi, dword [esp + 4]
mov dword [esp + 0x118], edi
mov eax, dword [0x7e34c0]
test eax, eax
jne 0x5c9cf7
lea esi, [esp + 0x28c]
call fcn.00463f1e
jmp 0x5c9d14
lea eax, [0x60ce80]
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 [0x7e34c0]
test ecx, ecx
jne 0x5c9d42
mov eax, dword [esp + 0x10c]
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0x110]
mov dword [edx + 0x38], eax
jmp 0x5c9d60
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 0x5c960e
inc eax
cmp eax, edx
jge 0x5c9851
lea ebx, [ecx + eax*8]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp ebx, 6
jne 0x5c9dbc
cmp dword [ebp], 0x61757173
jne 0x5c9dec
cmp word [ebp + 4], 0x6873
je 0x5c983c
cmp ebx, 6
jmp 0x5c9def
cmp ebx, 6
jne 0x5c9dbc
cmp dword [ebp], 0x616d6572
jne 0x5c9dbc
cmp word [ebp + 4], 0x6e69
jne 0x5c9dbc
jmp 0x5c9845
mov eax, 1
xor ecx, ecx
call fcn.00463940
nop
call fcn.00462450
jmp fcn.005c7710