Function at 0x569f28
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffb04
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x14fc], edx
mov dword [ebp - 0x14f8], edx
mov dword [ebp - 0x14f4], edx
mov dword [ebp - 4], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], eax
lea ebx, [ebp - 0x1098]
xor eax, eax
push ebp
push 0x56cf8e
push dword fs:[eax]
mov dword fs:[eax], esp
xor edi, edi
push ebp
push 0x56cf59
push dword fs:[edi]
mov dword fs:[edi], esp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x58b48c]
mov eax, dword [eax]
cmp dword [eax + 0xc], 0
je 0x56cdb4
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [0x58b48c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add eax, 0x21e2
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
mov edx, dword [ebp - 0x74]
movzx edx, byte [edx + 2]
add eax, edx
mov edx, dword [ebp - 0x74]
movzx edx, byte [edx + 3]
add eax, edx
mov edx, dword [ebp - 0x74]
movzx edx, byte [edx + 4]
add eax, edx
mov edx, dword [ebp - 0x74]
movzx edx, byte [edx + 5]
add eax, edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x38], 0x34b
mov eax, ebx
mov ecx, 0xff
mov edx, 0x1000
call fcn.00403e38
lea eax, [ebp - 0x10e0]
mov ecx, 0xff
mov edx, 0x48
call fcn.00403e38
lea eax, [ebp - 0x98]
xor ecx, ecx
mov edx, 0x14
call fcn.00403e38
lea edx, [ebp - 0x14f4]
mov eax, dword [ebp - 0x58]
call fcn.0040cd94
mov eax, dword [ebp - 0x14f4]
lea edx, [ebp - 0x98]
call fcn.00480938
lea eax, [ebp - 0x28]
xor ecx, ecx
mov edx, 8
call fcn.00403e38
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x98]
mov ecx, 8
call fcn.004035b8
mov esi, 0x40
mov ecx, 8
mov eax, esi
xor edx, edx
div ecx
mov esi, eax
mov edx, ebx
mov eax, dword [0x58b4d0]
mov ecx, 0x1000
call fcn.004035b8
lea edx, [ebp - 0x10e0]
mov eax, dword [0x58b218]
mov ecx, 0x48
call fcn.004035b8
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0x12
lea eax, [ebp - 0x10e0]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x2c]
add eax, 3
xor edx, edx
div esi
movzx ecx, byte [ebp + edx - 0x28]
mov eax, dword [ebp - 0x2c]
add eax, 2
xor edx, edx
div esi
movzx eax, byte [ebp + edx - 0x28]
shl eax, 8
add ecx, eax
mov eax, dword [ebp - 0x2c]
inc eax
xor edx, edx
div esi
movzx eax, byte [ebp + edx - 0x28]
shl eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [ebp + eax - 0x28]
shl eax, 0x18
add ecx, eax
mov eax, dword [ebp - 0x84]
xor dword [eax], ecx
mov eax, dword [ebp - 0x2c]
add eax, 4
xor edx, edx
div esi
mov dword [ebp - 0x2c], edx
add dword [ebp - 0x84], 4
dec dword [ebp - 0x10]
jne 0x56a0ad
lea eax, [ebp - 0x34]
xor ecx, ecx
mov edx, 8
call fcn.00403e38
mov dword [ebp - 0x10], 9
lea eax, [ebp - 0x10e0]
mov dword [ebp - 0x84], eax
lea edx, [ebp - 0x34]
mov ecx, edx
mov eax, dword [ecx]
add edx, 4
mov edx, dword [edx]
mov esi, eax
and esi, 0xff
shl esi, 0x18
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, eax
and edi, 0xff0000
shr edi, 8
or esi, edi
and eax, 0xff000000
shr eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
and esi, 0xff
shl esi, 0x18
mov edi, edx
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, edx
and edi, 0xff0000
shr edi, 8
or esi, edi
and edx, 0xff000000
shr edx, 0x18
or esi, edx
mov edx, esi
xor eax, dword [ebp - 0x10e0]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10dc]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10d8]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10d4]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10d0]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10cc]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10c8]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10c4]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10c0]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10bc]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10b8]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10b4]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10b0]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10ac]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10a8]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10a4]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10a0]
xor edx, dword [ebp - 0x109c]
mov esi, eax
and esi, 0xff
shl esi, 0x18
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, eax
and edi, 0xff0000
shr edi, 8
or esi, edi
and eax, 0xff000000
shr eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
and esi, 0xff
shl esi, 0x18
mov edi, edx
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, edx
and edi, 0xff0000
shr edi, 8
or esi, edi
and edx, 0xff000000
shr edx, 0x18
or esi, edx
mov edx, esi
mov dword [ecx], edx
lea edx, [ebp - 0x34]
add edx, 4
mov dword [edx], eax
movzx eax, byte [ebp - 0x31]
movzx edx, byte [ebp - 0x32]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0x33]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0x34]
shl edx, 0x18
add eax, edx
mov edx, dword [ebp - 0x84]
mov dword [edx], eax
movzx eax, byte [ebp - 0x2d]
movzx edx, byte [ebp - 0x2e]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0x2f]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0x30]
shl edx, 0x18
add eax, edx
mov edx, dword [ebp - 0x84]
mov dword [edx + 4], eax
add dword [ebp - 0x84], 8
dec dword [ebp - 0x10]
jne 0x56a132
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x10], 0x80
mov eax, dword [ebp - 0x84]
mov ecx, eax
lea edx, [ebp - 0x34]
mov eax, dword [edx]
add edx, 4
mov edx, dword [edx]
mov esi, eax
and esi, 0xff
shl esi, 0x18
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, eax
and edi, 0xff0000
shr edi, 8
or esi, edi
and eax, 0xff000000
shr eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
and esi, 0xff
shl esi, 0x18
mov edi, edx
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, edx
and edi, 0xff0000
shr edi, 8
or esi, edi
and edx, 0xff000000
shr edx, 0x18
or esi, edx
mov edx, esi
xor eax, dword [ebp - 0x10e0]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10dc]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10d8]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10d4]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10d0]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10cc]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10c8]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10c4]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10c0]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10bc]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10b8]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10b4]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10b0]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10ac]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10a8]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10a4]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10a0]
xor edx, dword [ebp - 0x109c]
mov esi, eax
and esi, 0xff
shl esi, 0x18
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, eax
and edi, 0xff0000
shr edi, 8
or esi, edi
and eax, 0xff000000
shr eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
and esi, 0xff
shl esi, 0x18
mov edi, edx
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, edx
and edi, 0xff0000
shr edi, 8
or esi, edi
and edx, 0xff000000
shr edx, 0x18
or esi, edx
mov edx, esi
lea esi, [ebp - 0x34]
mov dword [esi], edx
lea edx, [ebp - 0x34]
add edx, 4
mov dword [edx], eax
movzx eax, byte [ebp - 0x31]
movzx edx, byte [ebp - 0x32]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0x33]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0x34]
shl edx, 0x18
add eax, edx
mov dword [ecx], eax
movzx eax, byte [ebp - 0x2d]
movzx edx, byte [ebp - 0x2e]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0x2f]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0x30]
shl edx, 0x18
add eax, edx
mov dword [ecx + 4], eax
add ecx, 8
dec dword [ebp - 0x10]
jne 0x56a725
add dword [ebp - 0x84], 0x400
dec dword [ebp - 0x2c]
jne 0x56a716
lea eax, [ebp - 0x142b]
xor ecx, ecx
mov edx, 0x34b
call fcn.00403e38
lea eax, [ebp - 0x142b]
mov dword [ebp - 0x20], eax
mov eax, dword [0x58b48c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x18]
call fcn.00480b2c
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x54]
mov ecx, 0xff
mov edx, 8
call fcn.00403e38
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x38]
test eax, eax
jns 0x56ad55
add eax, 7
sar eax, 3
test eax, eax
jle 0x56b316
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
mov eax, esi
mov ecx, 8
call fcn.004035b8
lea edx, [ebp - 0x4c]
mov eax, esi
mov ecx, 8
call fcn.004035b8
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x44]
add edx, 4
mov edx, dword [edx]
mov esi, eax
shr esi, 0x18
mov edi, eax
shr edi, 8
and edi, 0xff00
or esi, edi
mov edi, eax
shl edi, 8
and edi, 0xff0000
or esi, edi
shl eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
shr esi, 0x18
mov edi, edx
shr edi, 8
and edi, 0xff00
or esi, edi
mov edi, edx
shl edi, 8
and edi, 0xff0000
or esi, edi
shl edx, 0x18
or esi, edx
mov edx, esi
xor eax, dword [ebp - 0x109c]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10a0]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10a4]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10a8]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10ac]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10b0]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10b4]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10b8]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10bc]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10c0]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10c4]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10c8]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10cc]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10d0]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10d4]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, eax
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor edx, esi
xor edx, dword [ebp - 0x10d8]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebx + esi*4]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebx + edi*4 + 0x400]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebx + edi*4 + 0x800]
mov edi, edx
and edi, 0xff
add esi, dword [ebx + edi*4 + 0xc00]
xor eax, esi
xor eax, dword [ebp - 0x10dc]
xor edx, dword [ebp - 0x10e0]
mov esi, eax
shr esi, 0x18
mov edi, eax
shr edi, 8
and edi, 0xff00
or esi, edi
mov edi, eax
shl edi, 8
and edi, 0xff0000
or esi, edi
shl eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
shr esi, 0x18
mov edi, edx
shr edi, 8
and edi, 0xff00
or esi, edi
mov edi, edx
shl edi, 8
and edi, 0xff0000
or esi, edi
shl edx, 0x18
or esi, edx
mov edx, esi
mov dword [ecx], edx
mov edx, dword [ebp - 0x44]
add edx, 4
mov dword [edx], eax
mov eax, 1
lea edx, [ebp - 0x54]
add edx, eax
dec edx
movzx edx, byte [edx]
mov ecx, dword [ebp - 0x44]
add ecx, eax
dec ecx
xor byte [ecx], dl
inc eax
cmp eax, 9
jne 0x56b2d4
lea edx, [ebp - 0x54]
lea eax, [ebp - 0x4c]
mov ecx, 8
call fcn.004035b8
mov eax, dword [ebp - 0x40]
add eax, 8
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 8
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x78]
jne 0x56ad63
mov eax, dword [ebp - 0x38]
and eax, 0x80000007
jns 0x56b325
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
je 0x56b8f8
lea eax, [ebp - 0x54]
mov eax, dword [eax]
lea edx, [ebp - 0x54]
add edx, 4
mov edx, dword [edx]
mov ecx, eax
and ecx, 0xff
shl ecx, 0x18
mov esi, eax
and esi, 0xff00
shl esi, 8
or ecx, esi
mov esi, eax
and esi, 0xff0000
shr esi, 8
or ecx, esi
and eax, 0xff000000
shr eax, 0x18
or ecx, eax
mov eax, ecx
mov ecx, edx
and ecx, 0xff
shl ecx, 0x18
mov esi, edx
and esi, 0xff00
shl esi, 8
or ecx, esi
mov esi, edx
and esi, 0xff0000
shr esi, 8
or ecx, esi
and edx, 0xff000000
shr edx, 0x18
or ecx, edx
mov edx, ecx
xor eax, dword [ebp - 0x10e0]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, eax
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor edx, ecx
xor edx, dword [ebp - 0x10dc]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, edx
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor eax, ecx
xor eax, dword [ebp - 0x10d8]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, eax
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor edx, ecx
xor edx, dword [ebp - 0x10d4]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, edx
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor eax, ecx
xor eax, dword [ebp - 0x10d0]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, eax
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor edx, ecx
xor edx, dword [ebp - 0x10cc]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, edx
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor eax, ecx
xor eax, dword [ebp - 0x10c8]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, eax
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor edx, ecx
xor edx, dword [ebp - 0x10c4]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, edx
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor eax, ecx
xor eax, dword [ebp - 0x10c0]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, eax
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor edx, ecx
xor edx, dword [ebp - 0x10bc]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, edx
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor eax, ecx
xor eax, dword [ebp - 0x10b8]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, eax
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor edx, ecx
xor edx, dword [ebp - 0x10b4]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, edx
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor eax, ecx
xor eax, dword [ebp - 0x10b0]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, eax
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor edx, ecx
xor edx, dword [ebp - 0x10ac]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, edx
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor eax, ecx
xor eax, dword [ebp - 0x10a8]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, eax
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor edx, ecx
xor edx, dword [ebp - 0x10a4]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebx + ecx*4]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0x400]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebx + esi*4 + 0x800]
mov esi, edx
and esi, 0xff
add ecx, dword [ebx + esi*4 + 0xc00]
xor eax, ecx
xor eax, dword [ebp - 0x10a0]
xor edx, dword [ebp - 0x109c]
mov ecx, eax
and ecx, 0xff
shl ecx, 0x18
mov esi, eax
and esi, 0xff00
shl esi, 8
or ecx, esi
mov esi, eax
and esi, 0xff0000
shr esi, 8
or ecx, esi
and eax, 0xff000000
shr eax, 0x18
or ecx, eax
mov eax, ecx
mov ecx, edx
and ecx, 0xff
shl ecx, 0x18
mov esi, edx
and esi, 0xff00
shl esi, 8
or ecx, esi
mov esi, edx
and esi, 0xff0000
shr esi, 8
or ecx, esi
and edx, 0xff000000
shr edx, 0x18
or ecx, edx
mov edx, ecx
lea ecx, [ebp - 0x54]
mov dword [ecx], edx
lea edx, [ebp - 0x54]
add edx, 4
mov dword [edx], eax
mov ecx, dword [ebp - 0x38]
and ecx, 0x80000007
jns 0x56b8b9
dec ecx
or ecx, 0xfffffff8
inc ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
call fcn.004035b8
mov ecx, 8
mov eax, dword [ebp - 0x38]
cdq
idiv ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
test eax, eax
jle 0x56b8f8
mov dword [ebp - 0x78], eax
mov eax, 1
lea edx, [ebp - 0x54]
add edx, eax
dec edx
movzx edx, byte [edx]
mov ecx, dword [ebp - 0x44]
add ecx, eax
dec ecx
xor byte [ecx], dl
inc eax
dec dword [ebp - 0x78]
jne 0x56b8e1
mov eax, dword [0x58a888]
mov eax, dword [eax]
call fcn.004603a0
cmp eax, dword [ebp - 0x1421]
jne 0x56cda7
cmp dword [ebp - 0x13e9], 0
je 0x56cda7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp - 0x143c]
push eax
call sub.kernel32.dll_GetLocalTime
movzx eax, word [ebp - 0x143c]
movzx edx, word [ebp - 0x143a]
add eax, edx
movzx edx, word [ebp - 0x1436]
add eax, edx
movzx edx, word [ebp - 0x1434]
add eax, edx
movzx edx, word [ebp - 0x1432]
add eax, edx
mov dword [ebp - 0x58], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp - 8]
call fcn.004055e4
push 0x56cfa4
mov eax, dword [0x58a888]
mov eax, dword [eax]
call fcn.004603a0
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x14f8]
call fcn.0040ce80
push dword [ebp - 0x14f8]
push 0x56cfb0
lea eax, [ebp - 4]
mov edx, 3
call fcn.00405978
mov eax, dword [ebp - 4]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x56b9d0
mov eax, dword [ebp - 0x7c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 8]
mov edx, dword [ebp - 0x38]
call fcn.00405d04
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [ebp - 0x14fc]
mov eax, dword [ebp - 0x58]
call fcn.0040cd94
mov eax, dword [ebp - 0x14fc]
lea edx, [ebp - 0x98]
call fcn.00480938
lea eax, [ebp - 0x28]
xor ecx, ecx
mov edx, 8
call fcn.00403e38
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x98]
mov ecx, 8
call fcn.004035b8
movzx eax, byte [ebp - 0x28]
movzx edx, byte [ebp - 0x27]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x26]
shl edx, 0x10
or eax, edx
movzx edx, byte [ebp - 0x25]
shl edx, 0x18
or eax, edx
mov dword [ebp - 0x5c], eax
movzx eax, byte [ebp - 0x24]
movzx edx, byte [ebp - 0x23]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x22]
shl edx, 0x10
or eax, edx
movzx edx, byte [ebp - 0x21]
shl edx, 0x18
or eax, edx
mov dword [ebp - 0x60], eax
push 4
push 0xf0f0f0f
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x60]
call fcn.0047f260
push 0xcccc0000
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x5c]
mov ecx, 0xfffffffe
call fcn.0047f22c
push 0xcccc0000
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x60]
mov ecx, 0xfffffffe
call fcn.0047f22c
push 1
push 0x66666666
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x60]
call fcn.0047f260
push 8
push 0xff00ff
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x5c]
call fcn.0047f260
push 1
push 0x66666666
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x60]
call fcn.0047f260
mov eax, dword [ebp - 0x60]
and eax, 0xff
shl eax, 0x10
mov edx, dword [ebp - 0x60]
and edx, 0xff00
or eax, edx
mov edx, dword [ebp - 0x60]
and edx, 0xff0000
shr edx, 0x10
or eax, edx
mov edx, dword [ebp - 0x5c]
and edx, 0xf0000000
shr edx, 4
or eax, edx
mov dword [ebp - 0x60], eax
and dword [ebp - 0x5c], 0xfffffff
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [0x58aa04]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
cmp byte [eax], 0
je 0x56bb6d
mov eax, dword [ebp - 0x5c]
shr eax, 2
mov edx, dword [ebp - 0x5c]
shl edx, 0x1a
or eax, edx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x60]
shr eax, 2
mov edx, dword [ebp - 0x60]
shl edx, 0x1a
or eax, edx
mov dword [ebp - 0x60], eax
jmp 0x56bb8d
mov eax, dword [ebp - 0x5c]
shr eax, 1
mov edx, dword [ebp - 0x5c]
shl edx, 0x1b
or eax, edx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x60]
shr eax, 1
mov edx, dword [ebp - 0x60]
shl edx, 0x1b
or eax, edx
mov dword [ebp - 0x60], eax
and dword [ebp - 0x5c], 0xfffffff
and dword [ebp - 0x60], 0xfffffff
mov eax, dword [ebp - 0x5c]
and eax, 0x3f
mov edx, dword [0x58b438]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x5c]
shr edx, 6
and edx, 3
mov ecx, dword [ebp - 0x5c]
shr ecx, 7
and ecx, 0x3c
or edx, ecx
mov ecx, dword [0x58b438]
or eax, dword [ecx + edx*4 + 0x100]
mov edx, dword [ebp - 0x5c]
shr edx, 0xd
and edx, 0xf
mov ecx, dword [ebp - 0x5c]
shr ecx, 0xe
and ecx, 0x30
or edx, ecx
mov ecx, dword [0x58b438]
or eax, dword [ecx + edx*4 + 0x200]
mov edx, dword [ebp - 0x5c]
shr edx, 0x14
and edx, 1
mov ecx, dword [ebp - 0x5c]
shr ecx, 0x15
and ecx, 6
or edx, ecx
mov ecx, dword [ebp - 0x5c]
shr ecx, 0x16
and ecx, 0x38
or edx, ecx
mov ecx, dword [0x58b438]
or eax, dword [ecx + edx*4 + 0x300]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x60]
and eax, 0x3f
mov edx, dword [0x58b438]
mov eax, dword [edx + eax*4 + 0x400]
mov edx, dword [ebp - 0x60]
shr edx, 7
and edx, 3
mov ecx, dword [ebp - 0x60]
shr ecx, 8
and ecx, 0x3c
or edx, ecx
mov ecx, dword [0x58b438]
or eax, dword [ecx + edx*4 + 0x500]
mov edx, dword [ebp - 0x60]
shr edx, 0xf
and edx, 0x3f
mov ecx, dword [0x58b438]
or eax, dword [ecx + edx*4 + 0x600]
mov edx, dword [ebp - 0x60]
shr edx, 0x15
and edx, 0xf
mov ecx, dword [ebp - 0x60]
shr ecx, 0x16
and ecx, 0x30
or edx, ecx
mov ecx, dword [0x58b438]
or eax, dword [ecx + edx*4 + 0x700]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
shl eax, 0x10
mov edx, dword [ebp - 0x68]
and edx, 0xffff
or eax, edx
mov edx, eax
add edx, edx
add edx, edx
shr eax, 0x1e
or edx, eax
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp + eax*4 - 0x14bc], edx
mov eax, dword [ebp - 0x68]
shr eax, 0x10
mov edx, dword [ebp - 0x64]
and edx, 0xffff0000
or eax, edx
mov edx, eax
shl edx, 6
shr eax, 0x1a
or edx, eax
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp + eax*4 - 0x14b8], edx
inc dword [ebp - 0x10]
inc dword [ebp - 0x84]
cmp dword [ebp - 0x10], 0x10
jne 0x56bb3e
lea eax, [ebp - 0x14e4]
mov ecx, 0x8f
mov edx, 0x14
call fcn.00403e38
lea eax, [ebp - 0x14e4]
mov edx, dword [eax]
lea eax, [ebp - 0x14e4]
add eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
shr eax, 4
xor eax, edx
and eax, 0xf0f0f0f
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
shl eax, 4
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 0x10
xor eax, dword [ebp - 0x6c]
and eax, 0xffff
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
shl eax, 0x10
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 2
xor eax, edx
and eax, 0x33333333
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
add eax, eax
add eax, eax
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 8
xor eax, dword [ebp - 0x6c]
and eax, 0xff00ff
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
shl eax, 8
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 1
xor eax, edx
and eax, 0x66666666
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
add eax, eax
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 0x1d
add edx, edx
add edx, edx
add edx, edx
or eax, edx
mov edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 0x1d
mov ecx, dword [ebp - 0x6c]
add ecx, ecx
add ecx, ecx
add ecx, ecx
or eax, ecx
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x20
jge 0x56c13d
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14bc]
xor eax, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14b8]
xor ecx, edx
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x700]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14b4]
xor eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14b0]
xor ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x700]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14ac]
xor eax, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14a8]
xor ecx, edx
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x700]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14a4]
xor eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14a0]
xor ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x700]
add dword [ebp - 0x10], 8
cmp dword [ebp - 0x10], 0x20
jl 0x56bdd7
mov eax, edx
shr eax, 3
shl edx, 0x1d
or eax, edx
mov edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 3
mov ecx, dword [ebp - 0x6c]
shl ecx, 0x1d
or eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 1
xor eax, dword [ebp - 0x6c]
and eax, 0x66666666
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
add eax, eax
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 8
xor eax, edx
and eax, 0xff00ff
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
shl eax, 8
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 2
xor eax, dword [ebp - 0x6c]
and eax, 0x33333333
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
add eax, eax
add eax, eax
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 0x10
xor eax, edx
and eax, 0xffff
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
shl eax, 0x10
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 4
xor eax, dword [ebp - 0x6c]
and eax, 0xf0f0f0f
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
shl eax, 4
xor edx, eax
lea eax, [ebp - 0x14e4]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
lea eax, [ebp - 0x14e4]
add eax, 4
mov dword [eax], edx
lea edx, [ebp - 0x14d0]
lea eax, [ebp - 0x14e4]
mov ecx, 0x14
call fcn.004035b8
lea eax, [ebp - 4]
call fcn.00405ad4
mov dword [ebp - 0x40], eax
lea eax, [ebp - 8]
call fcn.00405ad4
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x38]
mov ecx, 0x14
cdq
idiv ecx
test eax, eax
jle 0x56c789
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov ecx, 0x14
call fcn.004035b8
lea edx, [ebp - 0x14d0]
mov eax, dword [ebp - 0x44]
mov ecx, 0x14
call fcn.0047f5b0
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
mov eax, dword [ebp - 0x44]
add eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
shr eax, 4
xor eax, edx
and eax, 0xf0f0f0f
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
shl eax, 4
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 0x10
xor eax, dword [ebp - 0x6c]
and eax, 0xffff
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
shl eax, 0x10
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 2
xor eax, edx
and eax, 0x33333333
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
add eax, eax
add eax, eax
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 8
xor eax, dword [ebp - 0x6c]
and eax, 0xff00ff
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
shl eax, 8
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 1
xor eax, edx
and eax, 0x66666666
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
add eax, eax
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 0x1d
add edx, edx
add edx, edx
add edx, edx
or eax, edx
mov edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 0x1d
mov ecx, dword [ebp - 0x6c]
add ecx, ecx
add ecx, ecx
add ecx, ecx
or eax, ecx
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x20
jge 0x56c69d
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14bc]
xor eax, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14b8]
xor ecx, edx
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x700]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14b4]
xor eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14b0]
xor ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x700]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14ac]
xor eax, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14a8]
xor ecx, edx
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x700]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14a4]
xor eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14a0]
xor ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x700]
add dword [ebp - 0x10], 8
cmp dword [ebp - 0x10], 0x20
jl 0x56c337
mov eax, edx
shr eax, 3
shl edx, 0x1d
or eax, edx
mov edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 3
mov ecx, dword [ebp - 0x6c]
shl ecx, 0x1d
or eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 1
xor eax, dword [ebp - 0x6c]
and eax, 0x66666666
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
add eax, eax
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 8
xor eax, edx
and eax, 0xff00ff
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
shl eax, 8
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 2
xor eax, dword [ebp - 0x6c]
and eax, 0x33333333
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
add eax, eax
add eax, eax
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 0x10
xor eax, edx
and eax, 0xffff
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
shl eax, 0x10
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 4
xor eax, dword [ebp - 0x6c]
and eax, 0xf0f0f0f
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
shl eax, 4
xor edx, eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [eax], edx
lea edx, [ebp - 0x14d0]
mov eax, dword [ebp - 0x44]
mov ecx, 0x14
call fcn.004035b8
mov eax, dword [ebp - 0x40]
add eax, 0x14
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x44]
add eax, 0x14
mov dword [ebp - 0x44], eax
dec dword [ebp - 0x78]
jne 0x56c243
mov eax, dword [ebp - 0x38]
mov ecx, 0x14
cdq
idiv ecx
test edx, edx
je 0x56ccd0
lea eax, [ebp - 0x14d0]
mov edx, dword [eax]
lea eax, [ebp - 0x14d0]
add eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
shr eax, 4
xor eax, edx
and eax, 0xf0f0f0f
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
shl eax, 4
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 0x10
xor eax, dword [ebp - 0x6c]
and eax, 0xffff
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
shl eax, 0x10
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 2
xor eax, edx
and eax, 0x33333333
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
add eax, eax
add eax, eax
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 8
xor eax, dword [ebp - 0x6c]
and eax, 0xff00ff
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
shl eax, 8
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 1
xor eax, edx
and eax, 0x66666666
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
add eax, eax
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 0x1d
add edx, edx
add edx, edx
add edx, edx
or eax, edx
mov edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 0x1d
mov ecx, dword [ebp - 0x6c]
add ecx, ecx
add ecx, ecx
add ecx, ecx
or eax, ecx
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x20
jge 0x56cbd9
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14bc]
xor eax, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14b8]
xor ecx, edx
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x700]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14b4]
xor eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14b0]
xor ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x700]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14ac]
xor eax, edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14a8]
xor ecx, edx
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x58b1a4]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x58b1a4]
xor ecx, dword [esi + eax*4 + 0x700]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x14a4]
xor eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp + ecx*4 - 0x14a0]
xor ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x64]
shr ecx, 4
mov esi, dword [ebp - 0x64]
shl esi, 0x1c
or ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, eax
shr ecx, 2
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x58b1a4]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x58b1a4]
xor edx, dword [ecx + eax*4 + 0x700]
add dword [ebp - 0x10], 8
cmp dword [ebp - 0x10], 0x20
jl 0x56c873
mov eax, edx
shr eax, 3
shl edx, 0x1d
or eax, edx
mov edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 3
mov ecx, dword [ebp - 0x6c]
shl ecx, 0x1d
or eax, ecx
mov dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 1
xor eax, dword [ebp - 0x6c]
and eax, 0x66666666
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
add eax, eax
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 8
xor eax, edx
and eax, 0xff00ff
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
shl eax, 8
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 2
xor eax, dword [ebp - 0x6c]
and eax, 0x33333333
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
add eax, eax
add eax, eax
xor edx, eax
mov eax, dword [ebp - 0x6c]
shr eax, 0x10
xor eax, edx
and eax, 0xffff
mov dword [ebp - 0x64], eax
xor edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
shl eax, 0x10
xor dword [ebp - 0x6c], eax
mov eax, edx
shr eax, 4
xor eax, dword [ebp - 0x6c]
and eax, 0xf0f0f0f
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
xor dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
shl eax, 4
xor edx, eax
lea eax, [ebp - 0x14d0]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
lea eax, [ebp - 0x14d0]
add eax, 4
mov dword [eax], edx
mov eax, dword [ebp - 0x38]
mov ecx, 0x14
cdq
idiv ecx
mov ecx, edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
call fcn.004035b8
mov eax, dword [ebp - 0x38]
mov ecx, 0x14
cdq
idiv ecx
mov ecx, edx
lea edx, [ebp - 0x14d0]
mov eax, dword [ebp - 0x44]
call fcn.0047f5b0
lea edx, [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.004907f8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x70], 0x10e10000
mov eax, dword [ebp - 4]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x56cd07
mov eax, dword [ebp - 0x80]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x14ec], eax
mov eax, dword [ebp - 0x14ec]
call fcn.0040320c
mov dword [ebp - 0x14e8], eax
mov eax, dword [ebp - 4]
call fcn.00405a74
mov edx, eax
mov eax, dword [ebp - 0x14e8]
call fcn.0040dd00
lea eax, [ebp - 0x14f0]
push eax
mov eax, dword [ebp - 0x70]
push eax
push 0x4a
mov eax, dword [ebp - 0x13e9]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebp - 0x14e8]
call fcn.00403228
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x58b48c]
mov eax, dword [eax]
call fcn.004842d4
mov edx, eax
dec edx
mov eax, dword [0x58b48c]
mov eax, dword [eax]
call fcn.0048437c
mov eax, dword [0x58b48c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x18]
call fcn.0048403c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xa
jne 0x569f9e
mov eax, dword [0x58a9dc]
cmp dword [eax], 0
je 0x56cdc8
mov eax, dword [0x58a9dc]
call fcn.00413800
mov eax, dword [0x58aecc]
cmp dword [eax], 0
je 0x56cddc
mov eax, dword [0x58aecc]
call fcn.00413800
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x58b214]
call fcn.00413800
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x58ac38]
call fcn.00413800
mov eax, dword [0x58b48c]
mov eax, dword [eax]
call fcn.00483fd8
mov eax, dword [0x58ac98]
cmp dword [eax], 0
je 0x56ce32
mov eax, dword [0x58ac98]
call fcn.00413800
mov eax, dword [0x58b664]
cmp dword [eax], 0
je 0x56ce46
mov eax, dword [0x58b664]
call fcn.00413800
mov eax, dword [0x58b064]
cmp dword [eax], 0
je 0x56ce5a
mov eax, dword [0x58b064]
call fcn.00413800
mov eax, dword [0x58a8a4]
cmp dword [eax], 0
je 0x56ce6e
mov eax, dword [0x58a8a4]
call fcn.00413800
mov eax, dword [0x58a8a0]
cmp dword [eax], 0
je 0x56ce82
mov eax, dword [0x58a8a0]
call fcn.00413800
mov eax, dword [0x58a894]
cmp dword [eax], 0
je 0x56cee7
mov eax, dword [0x58a894]
mov eax, dword [eax]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x56cedd
inc eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x10], 0
mov eax, dword [0x58a894]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
call fcn.0041e2c4
mov eax, dword [eax]
call fcn.004046a4
mov eax, dword [0x58a894]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
call fcn.0041e2c4
mov edx, 8
call fcn.00403228
inc dword [ebp - 0x10]
dec dword [ebp - 0x78]
jne 0x56cea6
mov eax, dword [0x58a894]
call fcn.00413800
mov eax, dword [0x58b2f0]
cmp dword [eax], 0
je 0x56cf07
mov eax, dword [0x58b2f0]
mov eax, dword [eax]
call fcn.00494418
mov eax, dword [0x58b2f0]
call fcn.00413800
mov eax, dword [0x58a890]
cmp dword [eax], 0
je 0x56cf27
mov eax, dword [0x58a890]
mov eax, dword [eax]
call fcn.00494418
mov eax, dword [0x58a890]
call fcn.00413800
mov eax, dword [ebp - 0xc]
add eax, 0x910
call fcn.00413800
mov eax, dword [ebp - 0xc]
add eax, 0x90c
call fcn.00413800
mov eax, dword [ebp - 0xc]
add eax, 0x7b8
push eax
call sub.kernel32.dll_DeleteCriticalSection
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56cf63
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56cf95
lea eax, [ebp - 0x14fc]
mov edx, 3
call fcn.00405608
lea eax, [ebp - 8]
mov edx, 2
call fcn.00405608
ret