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

Disassembly:
mov ecx, dword [0x8cbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x260]
cmp eax, dword [ecx + 8]
jbe 0x5fd9d5
sub esp, 0x2e0
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], 0
mov ecx, dword [esp + 0x2e4]
mov edx, dword [ecx]
test edx, edx
jne 0x5fb7c7
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0x48]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x2e4]
mov dword [ecx], eax
mov edx, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x18]
mov esi, dword [esp + 0x2e8]
test esi, esi
je 0x5fb7de
mov esi, dword [esi + 4]
test esi, esi
je 0x5fb84a
mov dword [esp + 0x204], esi
mov esi, dword [esp + 0x2ec]
mov dword [esp + 0x208], esi
mov eax, dword [esp + 0x204]
test eax, eax
je 0x5fb839
movzx edi, byte [eax + 0xf]
xchg edi, eax
mov byte [esp + 0x47], al
xchg edi, eax
nop
and edi, 0x1f
movzx esi, byte [esp + 0x47]
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x5fb822
or edi, 0x80
mov esi, dword [esp + 0x208]
mov dword [esp + 0x16c], esi
mov esi, dword [esp + 0x2ec]
jmp 0x5fb865
xor edi, edi
xor eax, eax
xor eax, eax
mov dword [esp + 0x16c], eax
xor eax, eax
jmp 0x5fb865
mov esi, dword [esp + 0x2ec]
xor edi, edi
xor eax, eax
xor esi, esi
mov dword [esp + 0x16c], esi
mov esi, dword [esp + 0x2ec]
mov dword [ecx + 0x20], edi
mov edi, dword [0x8cc0e0]
test edi, edi
je 0x5fb89d
mov dword [esp + 0x90], ebx
call fcn.0046bee0
mov dword [edi], eax
mov esi, dword [ecx + 0x18]
mov dword [edi + 4], esi
mov esi, dword [esp + 0x16c]
mov dword [edi + 8], esi
mov ebx, dword [ecx + 0x1c]
mov dword [edi + 0xc], ebx
mov ebx, dword [esp + 0x90]
mov dword [ecx + 0x18], eax
mov esi, dword [esp + 0x16c]
mov dword [ecx + 0x1c], esi
inc dword [ecx + 4]
lea edi, [esp + 0x23c]
xor eax, eax
call fcn.0046c0bb
lea ecx, [0x5fdbc0]
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 0x240], ecx
mov dword [esp + 0x244], ebp
mov dword [esp + 0x248], edx
mov dword [esp + 0x24c], ebx
lea edx, [esp + 0x23c]
mov dword [esp + 0x154], edx
lea edx, [esp + 0x148]
mov dword [esp], edx
call fcn.0043b310
test eax, eax
jne 0x5fbfff
mov byte [esp + 0x46], 0
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0
mov dword [esp + 0x228], 0
lea eax, [0x5fdb80]
mov dword [esp + 0x21c], eax
lea eax, [esp + 0x46]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 0x224], eax
mov ecx, dword [esp + 0x2f4]
mov dword [esp + 0x228], ecx
lea edx, [esp + 0x21c]
mov dword [esp + 0x130], edx
lea edx, [esp + 0x124]
mov dword [esp], edx
call fcn.0043b310
test eax, eax
jne 0x5fbff3
mov eax, dword [esp + 0x2e4]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
inc edx
mov ebx, dword [eax + 0x2c]
cmp ecx, edx
jae 0x5fba05
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x642340]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x2e4]
mov dword [ebx + 0x34], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fb9fe
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx + 0x2c]
mov dword [edi + 4], eax
mov dword [ebx + 0x2c], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 0x30], edx
lea ecx, [edx - 1]
shl ecx, 4
mov edx, dword [esp + 0x2e8]
mov dword [ebx + ecx], edx
mov edx, dword [esp + 0x2f0]
mov dword [ebx + ecx + 8], edx
mov ebp, dword [0x8cc0e0]
test ebp, ebp
jne 0x5fba3d
mov ebp, dword [esp + 0x2ec]
mov esi, dword [esp + 0x2f4]
jmp 0x5fba63
call fcn.0046bee0
mov ebp, dword [esp + 0x2ec]
mov dword [edi], ebp
mov esi, dword [ebx + ecx + 4]
mov dword [edi + 4], esi
mov esi, dword [esp + 0x2f4]
mov dword [edi + 8], esi
mov edx, dword [ebx + ecx + 0xc]
mov dword [edi + 0xc], edx
mov dword [ebx + ecx + 4], ebp
mov dword [ebx + ecx + 0xc], esi
mov dword [esp], eax
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.005fdc10
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67d1b0]
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
call fcn.005fe630
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5fbb54
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x184], ecx
mov edx, dword [esp + 0x2f0]
mov ebx, dword [edx + 0xf8]
mov ebp, dword [esp + 0x2f4]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call ebx
mov eax, dword [esp + 0x2e4]
mov ecx, dword [eax + 0x38]
lea edx, [0x6343e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x184]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xc], ecx
call fcn.004147e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2f0]
mov dword [eax], ecx
mov ecx, dword [0x8cc0e0]
test ecx, ecx
jne 0x5fbb3d
mov ecx, dword [esp + 0x2f4]
jmp 0x5fbb51
call fcn.0046bec0
mov ecx, dword [esp + 0x2f4]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x2e4]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x67e7d7]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0xa
call fcn.004a19d0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5fbc0c
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004a2110
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5fbc0c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x190], ecx
lea edx, [0x63a100]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0040d7d0
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x190]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5fbfd1
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0xbc]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x2e4]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x67d1b4]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 4
call fcn.004a19d0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5fbcfa
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004a2110
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x22c], 0
mov dword [esp + 0x230], 0
mov dword [esp + 0x234], 0
mov dword [esp + 0x238], 0
lea ecx, [0x654300]
cmp eax, ecx
jne 0x5fd9be
lea edi, [esp + 0x22c]
call fcn.0046c5a8
lea edi, [esp]
lea esi, [esp + 0x22c]
call fcn.0046c5a8
call fcn.006004f0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5fbfaf
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5fbcfa
mov ecx, dword [esp + 0x2f0]
mov edx, dword [ecx + 0xe4]
mov ebx, dword [esp + 0x2f4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67d97c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
call fcn.005fe560
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x2e4]
mov dword [esp], edx
lea ebx, [0x67d983]
mov dword [esp + 4], ebx
mov dword [esp + 8], 7
call fcn.005fe560
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0xf0]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 8], ebx
call ecx
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5fbf8d
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x6810d5]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x10
call fcn.005fe3e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x5fbf11
mov dword [esp + 0x78], eax
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x7c], edx
call fcn.005ab400
mov eax, dword [esp + 4]
test eax, eax
jne 0x5fbf6b
mov eax, dword [esp]
mov dword [esp + 0x1e0], eax
nop
lea ecx, [0x645fa0]
mov dword [esp], ecx
call fcn.0040fcf0
mov eax, dword [esp + 4]
lea ecx, [0x5fdad0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x8cc0e0]
test ecx, ecx
jne 0x5fbe2a
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0x2e4]
mov ebx, dword [esp + 0x1e0]
jmp 0x5fbe4c
call fcn.0046bed0
mov ecx, dword [esp + 0x1dc]
mov dword [edi], ecx
mov edx, dword [esp + 0x2e4]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x1e0]
mov dword [edi + 8], ebx
mov dword [eax + 4], ecx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ebx
mov ecx, dword [edx + 0x48]
mov ebp, dword [edx + 0x44]
inc ebp
mov esi, dword [edx + 0x40]
cmp ecx, ebp
jae 0x5fbed5
mov dword [esp + 0x200], eax
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x623b40]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x2e4]
mov dword [ebx + 0x48], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fbeb9
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx + 0x40]
mov dword [edi + 4], eax
mov dword [ebx + 0x40], ecx
mov eax, dword [esp + 0x200]
mov ebx, dword [esp + 0x1e0]
mov ebp, edx
mov esi, ecx
mov edx, dword [esp + 0x2e4]
mov dword [edx + 0x44], ebp
mov ecx, dword [0x8cc0e0]
test ecx, ecx
je 0x5fbef0
call fcn.0046bec0
mov dword [edi], eax
mov ecx, dword [esi + ebp*4 - 4]
mov dword [edi + 4], ecx
mov dword [esi + ebp*4 - 4], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0xd0]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x68097f]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xf
call fcn.005fe1c0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5fc0e8
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
xor ebx, ebx
jmp 0x5fc00c
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
call fcn.0043b8a0
add esp, 0x2e0
ret
call fcn.0043b8a0
add esp, 0x2e0
ret
inc ebx
cmp ebx, edx
jge 0x5fc051
lea ebp, [ecx + ebx*8]
mov ebp, dword [ebp]
lea esi, [ecx + ebx*8]
test ebp, ebp
jne 0x5fc00b
lea eax, [ecx + ebx*8 + 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fc037
mov eax, dword [esp + 0x1b0]
jmp 0x5fc04a
call fcn.0046bec0
mov eax, dword [esp + 0x1b0]
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], eax
jmp 0x5fc0e8
mov ebx, dword [eax + 8]
inc edx
cmp ebx, edx
jae 0x5fc0b2
mov dword [esp + 0x1d4], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6414a0]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1d4]
mov dword [ebx + 8], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fc0ae
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov dword [eax + 4], edx
lea eax, [ecx + edx*8 - 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
lea ecx, [ecx + edx*8 - 8]
test eax, eax
jne 0x5fc0d3
mov eax, dword [esp + 0x1b0]
jmp 0x5fc0e6
call fcn.0046bec0
mov eax, dword [esp + 0x1b0]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67e1f4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 9
call fcn.005fe330
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5fc21f
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0x80]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
xor ebx, ebx
jmp 0x5fc143
inc ebx
cmp ebx, edx
jge 0x5fc188
lea ebp, [ecx + ebx*8]
mov ebp, dword [ebp]
lea esi, [ecx + ebx*8]
test ebp, ebp
jne 0x5fc142
lea eax, [ecx + ebx*8 + 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fc16e
mov eax, dword [esp + 0x1ac]
jmp 0x5fc181
call fcn.0046bec0
mov eax, dword [esp + 0x1ac]
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], eax
jmp 0x5fc21f
mov ebx, dword [eax + 8]
inc edx
cmp ebx, edx
jae 0x5fc1e9
mov dword [esp + 0x1d0], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x641680]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1d0]
mov dword [ebx + 8], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fc1e5
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov dword [eax + 4], edx
lea eax, [ecx + edx*8 - 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
lea ecx, [ecx + edx*8 - 8]
test eax, eax
jne 0x5fc20a
mov eax, dword [esp + 0x1ac]
jmp 0x5fc21d
call fcn.0046bec0
mov eax, dword [esp + 0x1ac]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67e7e1]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
call fcn.005fe330
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5fc356
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0x84]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
xor ebx, ebx
jmp 0x5fc27a
inc ebx
cmp ebx, edx
jge 0x5fc2bf
lea ebp, [ecx + ebx*8]
mov ebp, dword [ebp]
lea esi, [ecx + ebx*8]
test ebp, ebp
jne 0x5fc279
lea eax, [ecx + ebx*8 + 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fc2a5
mov eax, dword [esp + 0x1a8]
jmp 0x5fc2b8
call fcn.0046bec0
mov eax, dword [esp + 0x1a8]
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], eax
jmp 0x5fc356
mov ebx, dword [eax + 8]
inc edx
cmp ebx, edx
jae 0x5fc320
mov dword [esp + 0x1cc], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x641680]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1cc]
mov dword [ebx + 8], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fc31c
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov dword [eax + 4], edx
lea eax, [ecx + edx*8 - 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
lea ecx, [ecx + edx*8 - 8]
test eax, eax
jne 0x5fc341
mov eax, dword [esp + 0x1a8]
jmp 0x5fc354
call fcn.0046bec0
mov eax, dword [esp + 0x1a8]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67d98a]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
call fcn.005fe330
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5fc48d
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0x88]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
xor ebx, ebx
jmp 0x5fc3b1
inc ebx
cmp ebx, edx
jge 0x5fc3f6
lea ebp, [ecx + ebx*8]
mov ebp, dword [ebp]
lea esi, [ecx + ebx*8]
test ebp, ebp
jne 0x5fc3b0
lea eax, [ecx + ebx*8 + 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fc3dc
mov eax, dword [esp + 0x1a4]
jmp 0x5fc3ef
call fcn.0046bec0
mov eax, dword [esp + 0x1a4]
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], eax
jmp 0x5fc48d
mov ebx, dword [eax + 8]
inc edx
cmp ebx, edx
jae 0x5fc457
mov dword [esp + 0x1c8], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x641680]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c8]
mov dword [ebx + 8], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fc453
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov dword [eax + 4], edx
lea eax, [ecx + edx*8 - 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
lea ecx, [ecx + edx*8 - 8]
test eax, eax
jne 0x5fc478
mov eax, dword [esp + 0x1a4]
jmp 0x5fc48b
call fcn.0046bec0
mov eax, dword [esp + 0x1a4]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67ee3a]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xb
call fcn.005fe4b0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5fc5c4
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0x9c]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
xor ebx, ebx
jmp 0x5fc4e8
inc ebx
cmp ebx, edx
jge 0x5fc52d
lea ebp, [ecx + ebx*8]
mov ebp, dword [ebp]
lea esi, [ecx + ebx*8]
test ebp, ebp
jne 0x5fc4e7
lea eax, [ecx + ebx*8 + 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fc513
mov eax, dword [esp + 0x1a0]
jmp 0x5fc526
call fcn.0046bec0
mov eax, dword [esp + 0x1a0]
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], eax
jmp 0x5fc5c4
mov ebx, dword [eax + 8]
inc edx
cmp ebx, edx
jae 0x5fc58e
mov dword [esp + 0x1c4], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6416e0]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c4]
mov dword [ebx + 8], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fc58a
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov dword [eax + 4], edx
lea eax, [ecx + edx*8 - 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
lea ecx, [ecx + edx*8 - 8]
test eax, eax
jne 0x5fc5af
mov eax, dword [esp + 0x1a0]
jmp 0x5fc5c2
call fcn.0046bec0
mov eax, dword [esp + 0x1a0]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67ee45]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xb
call fcn.005fe4b0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5fc6fb
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0xa0]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
xor ebx, ebx
jmp 0x5fc61f
inc ebx
cmp ebx, edx
jge 0x5fc664
lea ebp, [ecx + ebx*8]
mov ebp, dword [ebp]
lea esi, [ecx + ebx*8]
test ebp, ebp
jne 0x5fc61e
lea eax, [ecx + ebx*8 + 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fc64a
mov eax, dword [esp + 0x19c]
jmp 0x5fc65d
call fcn.0046bec0
mov eax, dword [esp + 0x19c]
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], eax
jmp 0x5fc6fb
mov ebx, dword [eax + 8]
inc edx
cmp ebx, edx
jae 0x5fc6c5
mov dword [esp + 0x1c0], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6416e0]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c0]
mov dword [ebx + 8], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fc6c1
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov dword [eax + 4], edx
lea eax, [ecx + edx*8 - 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
lea ecx, [ecx + edx*8 - 8]
test eax, eax
jne 0x5fc6e6
mov eax, dword [esp + 0x19c]
jmp 0x5fc6f9
call fcn.0046bec0
mov eax, dword [esp + 0x19c]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67e1fd]
mov dword [esp + 4], ecx
mov dword [esp + 8], 9
call fcn.005fe4b0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5fc832
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0xa4]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
xor ebx, ebx
jmp 0x5fc756
inc ebx
cmp ebx, edx
jge 0x5fc79b
lea ebp, [ecx + ebx*8]
mov ebp, dword [ebp]
lea esi, [ecx + ebx*8]
test ebp, ebp
jne 0x5fc755
lea eax, [ecx + ebx*8 + 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fc781
mov eax, dword [esp + 0x198]
jmp 0x5fc794
call fcn.0046bec0
mov eax, dword [esp + 0x198]
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], eax
jmp 0x5fc832
mov ebx, dword [eax + 8]
inc edx
cmp ebx, edx
jae 0x5fc7fc
mov dword [esp + 0x1bc], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6416e0]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1bc]
mov dword [ebx + 8], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fc7f8
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov dword [eax + 4], edx
lea eax, [ecx + edx*8 - 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
lea ecx, [ecx + edx*8 - 8]
test eax, eax
jne 0x5fc81d
mov eax, dword [esp + 0x198]
jmp 0x5fc830
call fcn.0046bec0
mov eax, dword [esp + 0x198]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67fb6d]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xd
call fcn.005fe1c0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5fc88b
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0x12c]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
xor ebx, ebx
jmp 0x5fd8dd
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x68098e]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xf
call fcn.005fe110
movzx eax, byte [esp + 0xc]
test al, al
je 0x5fc8d3
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0xd8]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
mov byte [esp + 4], 1
call ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x681ff5]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x12
call fcn.005fe110
movzx eax, byte [esp + 0xc]
test al, al
je 0x5fc91b
mov eax, dword [esp + 0x2f0]
mov ecx, dword [eax + 0xfc]
mov edx, dword [esp + 0x2f4]
mov dword [esp], edx
mov byte [esp + 4], 1
call ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67d020]
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.005fe270
mov eax, dword [esp + 0xc]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x2e4]
mov dword [esp], ecx
lea edx, [0x67d991]
mov dword [esp + 4], edx
mov dword [esp + 8], 7
call fcn.005fe270
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x2e4]
mov dword [esp], ecx
lea edx, [0x67d632]
mov dword [esp + 4], edx
mov dword [esp + 8], 6
call fcn.005fe270
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x2e4]
mov dword [esp], ecx
lea edx, [0x67e7eb]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xa
call fcn.005fe270
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
lea ecx, [0x666100]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2f0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2f4]
mov dword [esp + 8], edx
call fcn.0040d750
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x5fca05
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x5c]
jmp 0x5fce81
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x170], eax
mov ecx, dword [esp + 0x2e4]
mov dword [esp], ecx
call fcn.005fe050
mov eax, dword [esp + 4]
test eax, eax
je 0x5fca54
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0xdc]
mov edx, dword [esp + 0x170]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 8]
test eax, eax
jne 0x5fcb4d
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x682007]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x12
call fcn.005fe110
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0xe0]
movzx edx, byte [esp + 0xc]
mov ebx, dword [esp + 0x170]
mov dword [esp], ebx
mov byte [esp + 4], dl
call ecx
mov eax, dword [esp + 8]
test eax, eax
jne 0x5fcb2b
mov eax, dword [esp + 0x2e4]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x68099d]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0xf
call fcn.004a19d0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5fcb6f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004a2110
mov eax, dword [esp + 0x10]
lea ecx, [0x6206a0]
cmp eax, ecx
jne 0x5fd8c6
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x1f8], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], eax
xor edx, edx
jmp 0x5fd8bd
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0xc8]
mov ecx, dword [esp + 0x170]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x5fcba1
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x5c]
jmp 0x5fce81
mov dword [esp + 0x64], eax
mov dword [esp + 0x17c], ecx
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
lea ecx, [0x67fb7a]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xd
call fcn.005fe270
mov eax, dword [esp + 0xc]
test eax, eax
jg 0x5fcbda
mov eax, 1
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx + 0x98]
mov edx, dword [esp + 0x17c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
test eax, eax
jne 0x5fcc14
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x5c]
jmp 0x5fce81
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x18c], edx
mov eax, dword [esp + 4]
mov dword [esp + 0x1f0], eax
lea ecx, [0x63a2e0]
mov dword [esp], ecx
call fcn.0040d750
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5fce20
mov eax, dword [esp + 0x1f0]
lea ecx, [0x7025cc]
cmp eax, ecx
jne 0x5fce13
mov eax, dword [esp + 0x84]
test eax, eax
jge 0x5fcc75
mov ecx, dword [esp + 0x18c]
mov edx, 0xffffffff
jmp 0x5fcc8e
mov ecx, dword [esp + 0x18c]
cmp dword [ecx + 0x50], eax
jg 0x5fcc88
mov edx, 1
jmp 0x5fcc8e
mov edx, dword [ecx + 0x4c]
mov edx, dword [edx + eax*4]
mov ebx, dword [esp + 0x58]
cmp ebx, edx
jg 0x5fcc98
mov ebx, edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.005a31f0
mov eax, dword [esp + 0x60]
test eax, eax
jge 0x5fccbe
mov ecx, dword [esp + 0x18c]
mov edx, 0xffffffff
jmp 0x5fccd7
mov ecx, dword [esp + 0x18c]
cmp dword [ecx + 0x44], eax
jg 0x5fccd1
mov edx, 1
jmp 0x5fccd7
mov edx, dword [ecx + 0x40]
mov edx, dword [edx + eax*4]
mov ebx, dword [esp + 0x58]
cmp edx, ebx
jl 0x5fcce1
mov ebx, edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.005a30b0
mov eax, dword [esp + 0x5c]
test eax, eax
jg 0x5fccfe
mov eax, 1
mov ecx, dword [esp + 0x80]
test ecx, ecx
jg 0x5fcd0e
mov ecx, 1
mov edx, dword [esp + 0x2e4]
mov ebx, dword [edx + 8]
test ebx, ebx
jle 0x5fcd60
mov ebp, dword [esp + 0x84]
test ebp, ebp
jne 0x5fcd58
mov esi, dword [esp + 0x60]
test esi, esi
jne 0x5fcd50
mov ebp, dword [edx + 0x10]
add ebp, eax
cmp ebx, ebp
jge 0x5fcd42
inc dword [edx + 0x14]
mov dword [edx + 0x10], 0
mov ebx, dword [edx + 0x10]
lea ebp, [eax + ebx]
mov esi, dword [edx + 0x14]
mov dword [edx + 0x10], ebp
jmp 0x5fcd6b
mov esi, ebp
mov ebx, dword [esp + 0x60]
jmp 0x5fcd6b
mov esi, ebp
mov ebx, dword [esp + 0x60]
jmp 0x5fcd6b
mov esi, dword [esp + 0x84]
mov ebx, dword [esp + 0x60]
mov ebp, dword [edx + 0xc]
test ebp, ebp
jle 0x5fcd99
test ebx, ebx
jne 0x5fcd99
test esi, esi
jne 0x5fcd99
mov ebx, dword [edx + 0x14]
add ebx, ecx
cmp ebp, ebx
jge 0x5fcd8d
inc dword [edx + 0x10]
mov dword [edx + 0x14], 0
mov esi, dword [edx + 0x14]
lea ebp, [ecx + esi]
mov ebx, dword [edx + 0x10]
mov dword [edx + 0x14], ebp
mov dword [esp + 0x80], ecx
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x18c]
mov dword [esp], edx
mov edx, dword [esp + 0x1fc]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x170]
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.005a3410
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5fcdf1
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x5c]
jmp 0x5fce81
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x5c]
jmp 0x5fce81
lea eax, [0x63a2e0]
mov dword [esp], eax
mov eax, dword [esp + 0x1f0]
mov dword [esp + 4], eax
call fcn.0040d6a0
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x1f4]
mov dword [esp], ecx
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x170]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5fd32d
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x2e4]
mov ebx, dword [edx + 0x28]
mov dword [esp + 0x180], ebx
mov ebp, dword [edx + 0x24]
mov dword [esp + 0x68], ebp
lea esi, [0x665a80]
mov dword [esp], esi
mov edi, dword [esp + 0x2f0]
mov dword [esp + 4], edi
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
call fcn.0040d750
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5fcedf
xor ecx, ecx
jmp 0x5fd578
mov dword [esp + 0x1fc], edx
mov dword [esp + 0x178], ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x2e4]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x67d638]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 6
call fcn.004a19d0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5fcf31
xor eax, eax
xor ecx, ecx
jmp 0x5fcf74
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004a2110
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [0x63a1c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0040d870
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x70], eax
test eax, eax
je 0x5fcfb9
mov edx, dword [eax + 0x10]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5fd30b
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x104]
mov edx, dword [esp + 0x178]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5fd2e9
lea eax, [0x63a280]
mov dword [esp], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x178]
mov dword [esp + 8], ecx
call fcn.0040d750
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5fd025
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x2e4]
mov dword [ecx + 0x24], eax
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fd009
mov eax, dword [esp + 0x178]
jmp 0x5fd01d
call fcn.0046bec0
mov eax, dword [esp + 0x178]
mov dword [edi], eax
mov edx, dword [ecx + 0x28]
mov dword [edi + 4], edx
mov dword [ecx + 0x28], eax
jmp 0x5fd0ab
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
test eax, eax
je 0x5fd070
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x2e4]
mov dword [edx + 0x24], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fd062
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [edx + 0x28]
mov dword [edi + 4], eax
mov dword [edx + 0x28], ecx
mov eax, dword [esp + 0x178]
mov ecx, edx
jmp 0x5fd0ab
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x2e4]
mov dword [ecx + 0x24], eax
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fd094
mov eax, dword [esp + 0x178]
jmp 0x5fd0a8
call fcn.0046bec0
mov eax, dword [esp + 0x178]
mov dword [edi], eax
mov edx, dword [ecx + 0x28]
mov dword [edi + 4], edx
mov dword [ecx + 0x28], eax
mov dword [esp + 0x20c], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x218], 0
lea eax, [0x5fda90]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], ecx
mov eax, dword [esp + 0x68]
mov dword [esp + 0x214], eax
mov edx, dword [esp + 0x180]
mov dword [esp + 0x218], edx
lea ebx, [esp + 0x20c]
mov dword [esp + 0x10c], ebx
lea ebx, [esp + 0x100]
mov dword [esp], ebx
call fcn.0043b310
test eax, eax
jne 0x5fd2dd
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x5fd252
lea edx, [0x701a24]
cmp ecx, edx
jne 0x5fd154
lea edi, [esp + 0xdc]
mov esi, dword [esp + 0x188]
call fcn.0046c576
jmp 0x5fd162
lea edi, [esp + 0xdc]
xor eax, eax
call fcn.0046c0b7
lea edi, [esp + 0x94]
lea esi, [esp + 0xdc]
call fcn.0046c576
mov ecx, dword [esp + 0x70]
cmp ecx, edx
je 0x5fd189
mov ecx, dword [esp + 0x2e4]
jmp 0x5fd259
mov ecx, dword [esp + 0x2e4]
mov edx, dword [ecx + 0x10]
mov ebx, dword [ecx + 0x14]
mov ebp, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
lea edi, [esp + 0x250]
xor eax, eax
call fcn.0046c0b8
lea ecx, [0x5fda50]
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x2e4]
mov dword [esp + 0x254], ecx
mov dword [esp + 0x258], ebp
mov dword [esp + 0x25c], esi
mov dword [esp + 0x260], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x264], edx
mov dword [esp + 0x268], ebx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x26c], edx
lea edx, [esp + 0x250]
mov dword [esp + 0xc4], edx
lea edx, [esp + 0xb8]
mov dword [esp], edx
call fcn.0043b310
test eax, eax
jne 0x5fd246
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x2e4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x98]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
jmp 0x5fd259
call fcn.0043b8a0
add esp, 0x2e0
ret
mov ecx, dword [esp + 0x2e4]
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
lea eax, [0x67dd9b]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 8
call fcn.004a19d0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5fd3b7
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004a2110
mov eax, dword [esp + 0x10]
lea ecx, [0x61fd80]
cmp eax, ecx
jne 0x5fd843
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x1ec], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], eax
xor edx, edx
jmp 0x5fd367
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov ebx, dword [esp + 0x88]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x1ec]
cmp edx, eax
jge 0x5fd3b7
mov dword [esp + 0x88], edx
lea eax, [ecx + edx*8]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [ebx + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 4], eax
call ebx
mov eax, dword [esp + 8]
test eax, eax
je 0x5fd34f
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp + 0x2e4]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x67e7f5]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0xa
call fcn.004a19d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004a2110
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1fc], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0x2a8]
xor eax, eax
call fcn.0046c0b2
mov eax, dword [esp + 0x1fc]
lea ecx, [0x658fc0]
cmp eax, ecx
jne 0x5fd82d
lea edi, [esp + 0x2a8]
call fcn.0046c544
lea edi, [esp + 0x270]
lea esi, [esp + 0x2a8]
call fcn.0046c544
mov eax, dword [esp + 0x270]
test eax, eax
jne 0x5fd475
mov eax, dword [esp + 0x280]
test eax, eax
je 0x5fd576
lea edi, [esp]
lea esi, [esp + 0x2a8]
call fcn.0046c544
call fcn.00600010
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x5fd554
mov eax, dword [esp + 0x2e4]
mov ecx, dword [eax + 0x3c]
mov edx, dword [esp + 0x290]
mov ebx, dword [esp + 0x294]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x1d8], ebp
lea esi, [0x634420]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004147e0
mov eax, dword [esp + 0x10]
test byte [eax], al
mov ecx, dword [0x8cc0e0]
test ecx, ecx
jne 0x5fd4eb
mov ecx, dword [esp + 0x1d8]
jmp 0x5fd4fe
call fcn.0046bec0
mov ecx, dword [esp + 0x1d8]
mov dword [edi], ecx
mov ebx, dword [eax]
mov dword [edi + 4], ebx
mov dword [eax], ecx
mov eax, dword [ecx + 0x34]
test eax, eax
je 0x5fd578
mov edx, dword [ecx + 0x38]
lea ebx, [0x639740]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0040d750
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5fd54b
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x178]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call ecx
mov ecx, dword [esp + 0x1d8]
jmp 0x5fd578
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
xor ecx, ecx
mov dword [esp + 0x1d8], ecx
mov edx, dword [esp + 0x2f8]
test edx, edx
je 0x5fd5a0
mov eax, dword [edx]
call eax
mov eax, dword [esp]
test eax, eax
jne 0x5fd791
mov ecx, dword [esp + 0x1d8]
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x2e4]
mov dword [ebx + 0x24], eax
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fd5c1
mov eax, dword [esp + 0x180]
jmp 0x5fd5d5
call fcn.0046bec0
mov eax, dword [esp + 0x180]
mov dword [edi], eax
mov ebp, dword [ebx + 0x28]
mov dword [edi + 4], ebp
mov dword [ebx + 0x28], eax
cmp dword [ebx + 4], 1
jne 0x5fd600
mov dword [esp], ebx
call fcn.005fe700
mov eax, dword [esp + 4]
test eax, eax
jne 0x5fd76f
mov ecx, dword [esp + 0x1d8]
mov ebx, dword [esp + 0x2e4]
test ecx, ecx
je 0x5fd74e
lea eax, [0x665a80]
mov dword [esp], eax
mov eax, dword [esp + 0x2f0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2f4]
mov dword [esp + 8], eax
call fcn.0040d750
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5fd640
mov ecx, dword [esp + 0x2e4]
jmp 0x5fd74c
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1fc], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x174], ecx
lea edx, [0x640740]
mov dword [esp], edx
call fcn.0040fcf0
mov eax, dword [esp + 4]
lea ecx, [0x5fd9e0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1fc]
mov dword [eax + 4], ecx
mov ecx, dword [0x8cc0e0]
test ecx, ecx
jne 0x5fd694
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0x1d8]
jmp 0x5fd6ac
call fcn.0046bec0
mov ecx, dword [esp + 0x174]
mov dword [edi], ecx
mov ebx, dword [esp + 0x1d8]
mov dword [edi + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov ecx, dword [esp + 0x2e4]
mov ebx, dword [ecx + 0x48]
mov ebp, dword [ecx + 0x44]
inc ebp
mov esi, dword [ecx + 0x40]
cmp ebx, ebp
jae 0x5fd72d
mov dword [esp + 0x1e8], eax
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x623b40]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x2e4]
mov dword [ebx + 0x48], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fd71d
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx + 0x40]
mov dword [edi + 4], eax
mov dword [ebx + 0x40], ecx
mov eax, dword [esp + 0x1e8]
mov ebp, edx
mov esi, ecx
mov ecx, ebx
mov dword [ecx + 0x44], ebp
mov ebx, dword [0x8cc0e0]
test ebx, ebx
je 0x5fd748
call fcn.0046bec0
mov dword [edi], eax
mov ebx, dword [esi + ebp*4 - 4]
mov dword [edi + 4], ebx
mov dword [esi + ebp*4 - 4], eax
mov ebx, ecx
cmp dword [ebx + 4], 1
jne 0x5fd7b2
mov eax, dword [ebx + 0x40]
mov dword [esp + 0x1e4], eax
mov ecx, dword [ebx + 0x44]
mov dword [esp + 0x8c], ecx
xor edx, edx
jmp 0x5fd7f1
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov byte [esp + 0x46], 1
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], 0
call fcn.0043b8a0
add esp, 0x2e0
ret
mov ebx, dword [esp + 0x88]
lea edx, [ebx + 1]
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x8c]
cmp edx, ecx
jge 0x5fd7b2
mov dword [esp + 0x88], edx
mov ecx, dword [eax + edx*4]
mov ebx, dword [ecx]
mov edx, ecx
call ebx
mov eax, dword [esp]
test eax, eax
je 0x5fd7d9
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], ecx
call fcn.0043b8a0
add esp, 0x2e0
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x630fc0]
mov dword [esp + 8], eax
call fcn.0040d1d0
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x630fc0]
mov dword [esp + 8], eax
call fcn.0040d1d0
mov dword [esp + 0x88], edx
lea eax, [ecx + edx*8]
mov ebx, dword [eax]
mov dword [esp + 0x74], ebx
mov eax, dword [eax + 4]
mov dword [esp + 0x1b4], eax
mov ebp, dword [esp + 0x50]
mov esi, dword [ebp + 0x7c]
mov edi, dword [esp + 0x170]
mov dword [esp], edi
call esi
mov eax, dword [esp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1b4]
mov dword [esp + 8], eax
call fcn.005a2240
mov eax, dword [esp + 0x88]
lea edx, [eax + 1]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x1f8]
cmp edx, eax
jl 0x5fd859
jmp 0x5fcb6f
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x630fc0]
mov dword [esp + 8], eax
call fcn.0040d1d0
inc ebx
cmp ebx, edx
jge 0x5fd922
lea ebp, [ecx + ebx*8]
mov ebp, dword [ebp]
lea esi, [ecx + ebx*8]
test ebp, ebp
jne 0x5fd8dc
lea eax, [ecx + ebx*8 + 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
test eax, eax
jne 0x5fd908
mov eax, dword [esp + 0x194]
jmp 0x5fd91b
call fcn.0046bec0
mov eax, dword [esp + 0x194]
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], eax
jmp 0x5fc88b
mov ebx, dword [eax + 8]
inc edx
cmp ebx, edx
jae 0x5fd983
mov dword [esp + 0x1b8], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6414a0]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1b8]
mov dword [ebx + 8], eax
mov eax, dword [0x8cc0e0]
test eax, eax
je 0x5fd97f
call fcn.0046bec0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov dword [eax + 4], edx
lea eax, [ecx + edx*8 - 4]
mov byte [eax], 0
mov eax, dword [0x8cc0e0]
lea ecx, [ecx + edx*8 - 8]
test eax, eax
jne 0x5fd9a4
mov eax, dword [esp + 0x194]
jmp 0x5fd9b7
call fcn.0046bec0
mov eax, dword [esp + 0x194]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
jmp 0x5fc88b
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x630fc0]
mov dword [esp + 8], eax
call fcn.0040d1d0
nop
call fcn.0046aab0
jmp fcn.005fb760