Function at 0x54a0dc
Capabilities:
Check for time delay via gettickcount
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xa3c
push 0
push 0
dec ecx
jne 0x54a0e4
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x34], eax
xor eax, eax
push ebp
push 0x54cdac
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
call fcn.004055e4
xor eax, eax
mov dword [ebp - 0x68], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x70], eax
xor eax, eax
mov dword [ebp - 0x74], eax
mov byte [ebp - 0xe5], 1
mov byte [ebp - 0xe6], 1
mov byte [ebp - 0xe7], 1
mov byte [ebp - 0xe8], 1
mov byte [ebp - 0x41], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [0x58b254]
mov edx, dword [edx]
lea eax, [ebp - 0x24]
mov ecx, 0x54cdc4
call fcn.004058fc
mov eax, dword [ebp - 0x24]
call fcn.0040d53c
test al, al
je 0x54a1dd
mov dl, 1
mov eax, dword [0x41c38c]
call fcn.00404674
mov dword [ebp - 0xe4], eax
xor eax, eax
push ebp
push 0x54a1a3
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xe4]
call fcn.00421988
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54a1ad
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x54a1c7
cmp eax, 0
ja 0x54a295
jmp 0x54a1cd
jg 0x54a295
lea eax, [ebp - 0xe4]
call fcn.00413800
jmp 0x54a295
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [0x58b254]
mov edx, dword [edx]
lea eax, [ebp - 0x24]
mov ecx, 0x54cddc
call fcn.004058fc
mov eax, dword [ebp - 0x24]
call fcn.0040d53c
test al, al
je 0x54a279
mov dl, 1
mov eax, dword [0x41c38c]
call fcn.00404674
mov dword [ebp - 0xe4], eax
xor eax, eax
push ebp
push 0x54a24a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xe4]
call fcn.00421988
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54a254
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x54a26a
cmp eax, 0
ja 0x54a295
jmp 0x54a26c
jg 0x54a295
lea eax, [ebp - 0xe4]
call fcn.00413800
jmp 0x54a295
mov eax, dword [0x58b4b0]
cmp byte [eax], 0
jne 0x54a28d
mov eax, dword [0x58a980]
cmp dword [eax], 0
jne 0x54a295
xor eax, eax
mov dword [ebp - 0xe4], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
mov dword [ebp - 0x38], eax
cmp byte [0x594770], 3
jae 0x54cd3a
mov eax, dword [0x58b1e0]
mov eax, dword [eax]
cmp byte [eax + 0xa4], 0
jne 0x54cd3a
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xd], 0
jne 0x54cd3a
mov eax, dword [0x58a950]
cmp byte [eax], 0
jne 0x54cd3a
cmp byte [ebp - 0x41], 0
jne 0x54cd3a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x98], edx
mov eax, 0x54cdf4
call fcn.0054506c
mov eax, dword [ebp - 0x34]
push eax
push 0x54d9bc
mov eax, dword [ebp - 0x34]
call fcn.00425854
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x41], 0
mov eax, dword [ebp - 0x34]
mov byte [eax + 0x9f], 0
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x34]
mov dword [edx + 0xa0], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x55], 0
mov eax, dword [ebp - 0x34]
mov byte [eax + 0x9e], 0
lea eax, [ebp - 0xc]
call fcn.004055e4
lea eax, [ebp - 0x14]
call fcn.004055e4
xor eax, eax
mov dword [ebp - 0x54], eax
xor ecx, ecx
mov dl, 1
mov eax, dword [0x48ba00]
call fcn.0048d82c
mov dword [ebp - 0x3c], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x8c], edx
mov dword [eax + 0x88], 0x54a064
mov dl, 1
mov eax, dword [ebp - 0x3c]
call fcn.0048d91c
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x54], edx
mov dword [eax + 0x50], 0x54a02c
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x64], edx
mov dword [eax + 0x60], 0x54a054
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp - 0x38], 0
jne 0x54a44e
mov edx, dword [0x58ac18]
movzx edx, word [edx + 0x1da]
mov eax, dword [ebp - 0x3c]
call fcn.0048d278
lea eax, [ebp - 0x51b0]
mov edx, dword [0x58ac18]
add edx, 0x19c
call fcn.00405848
mov edx, dword [ebp - 0x51b0]
mov eax, dword [ebp - 0x3c]
call fcn.0048d1f8
lea eax, [ebp - 0x20]
mov edx, dword [0x58ac18]
add edx, 0x1de
call fcn.00405848
jmp 0x54a49c
mov edx, dword [0x58ac18]
movzx edx, word [edx + 0x1dc]
mov eax, dword [ebp - 0x3c]
call fcn.0048d278
lea eax, [ebp - 0x51b4]
mov edx, dword [0x58ac18]
add edx, 0x1bb
call fcn.00405848
mov edx, dword [ebp - 0x51b4]
mov eax, dword [ebp - 0x3c]
call fcn.0048d1f8
lea eax, [ebp - 0x20]
mov edx, dword [0x58ac18]
add edx, 0x1fd
call fcn.00405848
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dl, 1
mov eax, dword [ebp - 0x3c]
call fcn.0048d138
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + 0x9e]
or al, byte [ebp - 0x41]
jne 0x54cd1d
mov eax, dword [0x58b1e0]
mov eax, dword [eax]
cmp byte [eax + 0xa4], 0
jne 0x54cd1d
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xd], 0
jne 0x54cd1d
mov eax, dword [0x58a950]
cmp byte [eax], 0
jne 0x54cd1d
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x34]
sub eax, dword [edx + 0xa0]
cmp eax, 0x2710
jbe 0x54a532
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x90]
cmp byte [eax + 8], 0
je 0x54cd1d
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x90]
cmp byte [eax + 8], 0
je 0x54cd11
cmp byte [ebp - 0x55], 0
jne 0x54cd11
mov byte [ebp - 0x55], 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp - 0x4140]
xor ecx, ecx
mov edx, 0x30
call fcn.00403e38
lea eax, [ebp - 0x51ac]
push eax
call sub.kernel32.dll_GetLocalTime
mov word [ebp - 0x4140], 0x3e8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x20]
call fcn.0040567c
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x54a5ca
mov eax, dword [ebp - 0xf0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0xb8]
call fcn.00405d04
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x4134], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp - 0x5154]
mov ecx, 0xff
mov edx, 0x1000
call fcn.00403e38
lea eax, [ebp - 0x519c]
mov ecx, 0xff
mov edx, 0x48
call fcn.00403e38
movzx eax, word [ebp - 0x51ac]
movzx edx, word [ebp - 0x51aa]
add eax, edx
movzx edx, word [ebp - 0x51a6]
add eax, edx
movzx edx, word [ebp - 0x51a4]
add eax, edx
movzx edx, word [ebp - 0x51a2]
add eax, edx
movzx edx, word [ebp - 0x51a0]
add eax, edx
mov dword [ebp - 0x88], eax
lea edx, [ebp - 0x51b8]
mov eax, dword [ebp - 0x88]
call fcn.0040cd94
mov eax, dword [ebp - 0x51b8]
lea edx, [ebp - 0x4154]
call fcn.00480938
lea eax, [ebp - 0x9e]
xor ecx, ecx
mov edx, 8
call fcn.00403e38
lea edx, [ebp - 0x9e]
lea eax, [ebp - 0x4154]
mov ecx, 8
call fcn.004035b8
mov dword [ebp - 0xa8], 0x40
mov ecx, 8
mov eax, dword [ebp - 0xa8]
xor edx, edx
div ecx
mov dword [ebp - 0xa8], eax
lea edx, [ebp - 0x5154]
mov eax, dword [0x58b4d0]
mov ecx, 0x1000
call fcn.004035b8
lea edx, [ebp - 0x519c]
mov eax, dword [0x58b218]
mov ecx, 0x48
call fcn.004035b8
xor eax, eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xc4], 0x12
lea eax, [ebp - 0x519c]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xa4]
add eax, 3
xor edx, edx
div dword [ebp - 0xa8]
movzx eax, byte [ebp + edx - 0x9e]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa4]
add eax, 2
xor edx, edx
div dword [ebp - 0xa8]
movzx eax, byte [ebp + edx - 0x9e]
shl eax, 8
add dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa4]
inc eax
xor edx, edx
div dword [ebp - 0xa8]
movzx eax, byte [ebp + edx - 0x9e]
shl eax, 0x10
add dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa4]
movzx eax, byte [ebp + eax - 0x9e]
shl eax, 0x18
add dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xac]
xor dword [eax], edx
mov eax, dword [ebp - 0xa4]
add eax, 4
xor edx, edx
div dword [ebp - 0xa8]
mov dword [ebp - 0xa4], edx
add dword [ebp - 0xfc], 4
dec dword [ebp - 0xc4]
jne 0x54a713
lea eax, [ebp - 0xb4]
xor ecx, ecx
mov edx, 8
call fcn.00403e38
mov dword [ebp - 0xc4], 9
lea eax, [ebp - 0x519c]
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0xb4]
mov ebx, dword [eax]
lea eax, [ebp - 0xb4]
add eax, 4
mov esi, dword [eax]
mov eax, ebx
and eax, 0xff
shl eax, 0x18
mov edx, ebx
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, ebx
and edx, 0xff0000
shr edx, 8
or eax, edx
and ebx, 0xff000000
shr ebx, 0x18
or eax, ebx
mov ebx, eax
mov eax, esi
and eax, 0xff
shl eax, 0x18
mov edx, esi
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, esi
and edx, 0xff0000
shr edx, 8
or eax, edx
and esi, 0xff000000
shr esi, 0x18
or eax, esi
mov esi, eax
xor ebx, dword [ebp - 0x519c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5198]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5194]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5190]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x518c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5188]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5184]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5180]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x517c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5178]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5174]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5170]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x516c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5168]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5164]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5160]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x515c]
xor esi, dword [ebp - 0x5158]
mov eax, ebx
and eax, 0xff
shl eax, 0x18
mov edx, ebx
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, ebx
and edx, 0xff0000
shr edx, 8
or eax, edx
and ebx, 0xff000000
shr ebx, 0x18
or eax, ebx
mov ebx, eax
mov eax, esi
and eax, 0xff
shl eax, 0x18
mov edx, esi
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, esi
and edx, 0xff0000
shr edx, 8
or eax, edx
and esi, 0xff000000
shr esi, 0x18
or eax, esi
mov esi, eax
lea eax, [ebp - 0xb4]
mov dword [eax], esi
lea eax, [ebp - 0xb4]
add eax, 4
mov dword [eax], ebx
movzx eax, byte [ebp - 0xb1]
movzx edx, byte [ebp - 0xb2]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0xb3]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0xb4]
shl edx, 0x18
add eax, edx
mov edx, dword [ebp - 0xfc]
mov dword [edx], eax
movzx eax, byte [ebp - 0xad]
movzx edx, byte [ebp - 0xae]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0xaf]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0xb0]
shl edx, 0x18
add eax, edx
mov edx, dword [ebp - 0xfc]
mov dword [edx + 4], eax
add dword [ebp - 0xfc], 8
dec dword [ebp - 0xc4]
jne 0x54a7eb
mov dword [ebp - 0xa4], 4
lea eax, [ebp - 0x5154]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xc4], 0x80
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0xb4]
mov ebx, dword [eax]
lea eax, [ebp - 0xb4]
add eax, 4
mov esi, dword [eax]
mov eax, ebx
and eax, 0xff
shl eax, 0x18
mov edx, ebx
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, ebx
and edx, 0xff0000
shr edx, 8
or eax, edx
and ebx, 0xff000000
shr ebx, 0x18
or eax, ebx
mov ebx, eax
mov eax, esi
and eax, 0xff
shl eax, 0x18
mov edx, esi
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, esi
and edx, 0xff0000
shr edx, 8
or eax, edx
and esi, 0xff000000
shr esi, 0x18
or eax, esi
mov esi, eax
xor ebx, dword [ebp - 0x519c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5198]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5194]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5190]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x518c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5188]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5184]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5180]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x517c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5178]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5174]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5170]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x516c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5168]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5164]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5160]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x515c]
xor esi, dword [ebp - 0x5158]
mov eax, ebx
and eax, 0xff
shl eax, 0x18
mov edx, ebx
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, ebx
and edx, 0xff0000
shr edx, 8
or eax, edx
and ebx, 0xff000000
shr ebx, 0x18
or eax, ebx
mov ebx, eax
mov eax, esi
and eax, 0xff
shl eax, 0x18
mov edx, esi
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, esi
and edx, 0xff0000
shr edx, 8
or eax, edx
and esi, 0xff000000
shr esi, 0x18
or eax, esi
mov esi, eax
lea eax, [ebp - 0xb4]
mov dword [eax], esi
lea eax, [ebp - 0xb4]
add eax, 4
mov dword [eax], ebx
movzx eax, byte [ebp - 0xb1]
movzx edx, byte [ebp - 0xb2]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0xb3]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0xb4]
shl edx, 0x18
add eax, edx
mov edx, dword [ebp - 0x100]
mov dword [edx], eax
movzx eax, byte [ebp - 0xad]
movzx edx, byte [ebp - 0xae]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0xaf]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0xb0]
shl edx, 0x18
add eax, edx
mov edx, dword [ebp - 0x100]
mov dword [edx + 4], eax
add dword [ebp - 0x100], 8
dec dword [ebp - 0xc4]
jne 0x54ae47
add dword [ebp - 0xfc], 0x400
dec dword [ebp - 0xa4]
jne 0x54ae31
lea eax, [ebp - 0x1c]
call fcn.00405ad4
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x18]
call fcn.00405ad4
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0xd4]
mov ecx, 0xff
mov edx, 8
call fcn.00403e38
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xb8]
test eax, eax
jns 0x54b4e3
add eax, 7
sar eax, 3
test eax, eax
jbe 0x54bb38
mov dword [ebp - 0xec], eax
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov ecx, 8
call fcn.004035b8
mov dword [ebp - 0xc0], 1
lea eax, [ebp - 0xd4]
add eax, dword [ebp - 0xc0]
dec eax
movzx eax, byte [eax]
mov edx, dword [ebp - 0xcc]
add edx, dword [ebp - 0xc0]
dec edx
xor byte [edx], al
inc dword [ebp - 0xc0]
cmp dword [ebp - 0xc0], 9
jne 0x54b514
mov eax, dword [ebp - 0xcc]
mov ebx, dword [eax]
mov eax, dword [ebp - 0xcc]
add eax, 4
mov esi, dword [eax]
mov eax, ebx
and eax, 0xff
shl eax, 0x18
mov edx, ebx
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, ebx
and edx, 0xff0000
shr edx, 8
or eax, edx
and ebx, 0xff000000
shr ebx, 0x18
or eax, ebx
mov ebx, eax
mov eax, esi
and eax, 0xff
shl eax, 0x18
mov edx, esi
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, esi
and edx, 0xff0000
shr edx, 8
or eax, edx
and esi, 0xff000000
shr esi, 0x18
or eax, esi
mov esi, eax
xor ebx, dword [ebp - 0x519c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5198]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5194]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5190]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x518c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5188]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5184]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5180]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x517c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5178]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5174]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5170]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x516c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5168]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5164]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5160]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x515c]
xor esi, dword [ebp - 0x5158]
mov eax, ebx
and eax, 0xff
shl eax, 0x18
mov edx, ebx
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, ebx
and edx, 0xff0000
shr edx, 8
or eax, edx
and ebx, 0xff000000
shr ebx, 0x18
or eax, ebx
mov ebx, eax
mov eax, esi
and eax, 0xff
shl eax, 0x18
mov edx, esi
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, esi
and edx, 0xff0000
shr edx, 8
or eax, edx
and esi, 0xff000000
shr esi, 0x18
or eax, esi
mov esi, eax
mov eax, dword [ebp - 0xcc]
mov dword [eax], esi
mov eax, dword [ebp - 0xcc]
add eax, 4
mov dword [eax], ebx
lea edx, [ebp - 0xd4]
mov eax, dword [ebp - 0xcc]
mov ecx, 8
call fcn.004035b8
mov eax, dword [ebp - 0xcc]
add eax, 8
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
add eax, 8
mov dword [ebp - 0xc8], eax
dec dword [ebp - 0xec]
jne 0x54b4f4
mov eax, dword [ebp - 0xb8]
and eax, 0x80000007
jns 0x54bb4a
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
je 0x54c17e
lea eax, [ebp - 0xd4]
mov ebx, dword [eax]
lea eax, [ebp - 0xd4]
add eax, 4
mov esi, dword [eax]
mov eax, ebx
and eax, 0xff
shl eax, 0x18
mov edx, ebx
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, ebx
and edx, 0xff0000
shr edx, 8
or eax, edx
and ebx, 0xff000000
shr ebx, 0x18
or eax, ebx
mov ebx, eax
mov eax, esi
and eax, 0xff
shl eax, 0x18
mov edx, esi
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, esi
and edx, 0xff0000
shr edx, 8
or eax, edx
and esi, 0xff000000
shr esi, 0x18
or eax, esi
mov esi, eax
xor ebx, dword [ebp - 0x519c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5198]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5194]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5190]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x518c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5188]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5184]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5180]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x517c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5178]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5174]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5170]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x516c]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5168]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x5164]
mov eax, ebx
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, ebx
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, ebx
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, ebx
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor esi, eax
xor esi, dword [ebp - 0x5160]
mov eax, esi
shr eax, 0x18
and eax, 0xff
mov eax, dword [ebp + eax*4 - 0x5154]
mov edx, esi
shr edx, 0x10
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4d54]
mov edx, esi
shr edx, 8
and edx, 0xff
xor eax, dword [ebp + edx*4 - 0x4954]
mov edx, esi
and edx, 0xff
add eax, dword [ebp + edx*4 - 0x4554]
xor ebx, eax
xor ebx, dword [ebp - 0x515c]
xor esi, dword [ebp - 0x5158]
mov eax, ebx
and eax, 0xff
shl eax, 0x18
mov edx, ebx
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, ebx
and edx, 0xff0000
shr edx, 8
or eax, edx
and ebx, 0xff000000
shr ebx, 0x18
or eax, ebx
mov ebx, eax
mov eax, esi
and eax, 0xff
shl eax, 0x18
mov edx, esi
and edx, 0xff00
shl edx, 8
or eax, edx
mov edx, esi
and edx, 0xff0000
shr edx, 8
or eax, edx
and esi, 0xff000000
shr esi, 0x18
or eax, esi
mov esi, eax
lea eax, [ebp - 0xd4]
mov dword [eax], esi
lea eax, [ebp - 0xd4]
add eax, 4
mov dword [eax], ebx
mov eax, dword [ebp - 0xb8]
and eax, 0x80000007
jns 0x54c11a
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0xbc], eax
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xbc]
call fcn.004035b8
mov eax, dword [ebp - 0xbc]
test eax, eax
jle 0x54c17e
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc0], 1
lea eax, [ebp - 0xd4]
add eax, dword [ebp - 0xc0]
dec eax
movzx eax, byte [eax]
mov edx, dword [ebp - 0xcc]
add edx, dword [ebp - 0xc0]
dec edx
xor byte [edx], al
inc dword [ebp - 0xc0]
dec dword [ebp - 0xec]
jne 0x54c151
lea eax, [ebp - 0x110]
xor ecx, ecx
mov edx, 0x10
call fcn.00403e38
push ebp
call fcn.0054a08c
pop ecx
xor eax, eax
push ebp
push 0x54c1cc
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x110]
xor edx, edx
mov eax, 1
call fcn.00544b6c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54c1d3
push ebp
call fcn.0054a0c4
pop ecx
ret
push 1
call sub.kernel32.dll_Sleep_2
jmp 0x54a4c8
mov eax, dword [ebp - 0x3c]
call fcn.0048d324
mov eax, dword [ebp - 0x3c]
call fcn.004046a4
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jne 0x54a2ad
cmp dword [ebp - 0xe4], 0
je 0x54cd4e
mov eax, dword [ebp - 0xe4]
call fcn.004046a4
cmp byte [ebp - 0x41], 0
je 0x54cd70
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xd], 0
jne 0x54cd70
cmp dword [ebp - 0xc], 0
je 0x54cd70
xor ecx, ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
call fcn.005461b0
mov eax, dword [ebp - 0x34]
push eax
push 0x54d9d8
mov eax, dword [ebp - 0x34]
call fcn.00425854
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54cdb3
lea eax, [ebp - 0x51e4]
mov edx, 0xe
call fcn.00405608
lea eax, [ebp - 0x30]
mov edx, 0xa
call fcn.00405608
ret