Function at 0x54ea78
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 0x551981
push dword fs:[eax]
mov dword fs:[eax], esp
xor edi, edi
push ebp
push 0x55194c
push dword fs:[edi]
mov dword fs:[edi], esp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x583f5c]
mov eax, dword [eax]
cmp dword [eax + 0xc], 0
je 0x551942
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [0x583f5c]
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.0040cd84
mov eax, dword [ebp - 0x14f4]
lea edx, [ebp - 0x98]
call fcn.0048050c
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 [0x583fa0]
mov ecx, 0x1000
call fcn.004035b8
lea edx, [ebp - 0x10e0]
mov eax, dword [0x583cec]
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 0x54ec12
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 0x54ec97
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 0x54f28a
add dword [ebp - 0x84], 0x400
dec dword [ebp - 0x2c]
jne 0x54f27b
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 [0x583f5c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x18]
call fcn.00480694
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 0x54f8ba
add eax, 7
sar eax, 3
test eax, eax
jle 0x54fe7b
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 0x54fe39
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 0x54f8c8
mov eax, dword [ebp - 0x38]
and eax, 0x80000007
jns 0x54fe8a
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
je 0x55045d
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 0x55041e
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 0x55045d
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 0x550446
mov eax, dword [0x238d6bc]
call fcn.004602f0
cmp eax, dword [ebp - 0x1421]
jne 0x551935
cmp dword [ebp - 0x13e9], 0
je 0x551935
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
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
lea eax, [ebp - 8]
call fcn.004055e4
push 0x551998
mov eax, dword [0x238d6bc]
call fcn.004602f0
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x14f8]
call fcn.0040ce70
push dword [ebp - 0x14f8]
push 0x5519a4
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 0x550544
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
nop
nop
nop
nop
nop
nop
nop
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.0040cd84
mov eax, dword [ebp - 0x14fc]
lea edx, [ebp - 0x98]
call fcn.0048050c
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.0047e32c
push 0xcccc0000
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x5c]
mov ecx, 0xfffffffe
call fcn.0047e2f8
push 0xcccc0000
lea edx, [ebp - 0x64]
lea eax, [ebp - 0x60]
mov ecx, 0xfffffffe
call fcn.0047e2f8
push 1
push 0x66666666
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x60]
call fcn.0047e32c
push 8
push 0xff00ff
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x60]
lea eax, [ebp - 0x5c]
call fcn.0047e32c
push 1
push 0x66666666
lea ecx, [ebp - 0x64]
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x60]
call fcn.0047e32c
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 [0x583500]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
cmp byte [eax], 0
je 0x5506f6
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 0x550716
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 [0x583f08]
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 [0x583f08]
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 [0x583f08]
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 [0x583f08]
or eax, dword [ecx + edx*4 + 0x300]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x60]
and eax, 0x3f
mov edx, dword [0x583f08]
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 [0x583f08]
or eax, dword [ecx + edx*4 + 0x500]
mov edx, dword [ebp - 0x60]
shr edx, 0xf
and edx, 0x3f
mov ecx, dword [0x583f08]
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 [0x583f08]
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 0x5506c7
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 0x550cc6
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 [0x583c84]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
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 [0x583c84]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
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 [0x583c84]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
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 [0x583c84]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x700]
add dword [ebp - 0x10], 8
cmp dword [ebp - 0x10], 0x20
jl 0x550960
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 0x551312
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.0047f184
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 0x551226
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 [0x583c84]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
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 [0x583c84]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
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 [0x583c84]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
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 [0x583c84]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x700]
add dword [ebp - 0x10], 8
cmp dword [ebp - 0x10], 0x20
jl 0x550ec0
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 0x550dcc
mov eax, dword [ebp - 0x38]
mov ecx, 0x14
cdq
idiv ecx
test edx, edx
je 0x551859
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 0x551762
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 [0x583c84]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
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 [0x583c84]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
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 [0x583c84]
mov ecx, dword [esi + ecx*4]
xor ecx, dword [ebp - 0x6c]
mov esi, eax
shr esi, 0xa
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x200]
mov esi, eax
shr esi, 0x12
and esi, 0x3f
mov edi, dword [0x583c84]
xor ecx, dword [edi + esi*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov esi, dword [0x583c84]
xor ecx, dword [esi + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov esi, dword [0x583c84]
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 [0x583c84]
xor edx, dword [esi + ecx*4]
mov ecx, eax
shr ecx, 0xa
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x200]
mov ecx, eax
shr ecx, 0x12
and ecx, 0x3f
mov esi, dword [0x583c84]
xor edx, dword [esi + ecx*4 + 0x400]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x600]
mov eax, dword [ebp - 0x64]
shr eax, 2
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x100]
mov eax, dword [ebp - 0x64]
shr eax, 0xa
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x300]
mov eax, dword [ebp - 0x64]
shr eax, 0x12
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x500]
mov eax, dword [ebp - 0x64]
shr eax, 0x1a
and eax, 0x3f
mov ecx, dword [0x583c84]
xor edx, dword [ecx + eax*4 + 0x700]
add dword [ebp - 0x10], 8
cmp dword [ebp - 0x10], 0x20
jl 0x5513fc
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.0047f184
lea edx, [ebp - 4]
mov eax, dword [ebp - 8]
call fcn.00490598
mov eax, dword [0x583c5c]
inc dword [eax]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x70], 0x10e20000
mov eax, dword [ebp - 4]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x5518ac
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.0040dcf0
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
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xa
jne 0x54eb03
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x551956
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x551988
lea eax, [ebp - 0x14fc]
mov edx, 3
call fcn.00405608
lea eax, [ebp - 8]
mov edx, 2
call fcn.00405608
ret