Function at 0x54ddc4
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 0x54ddcc
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x34], eax
xor eax, eax
push ebp
push 0x55145d
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
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
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 edx, dword [0x588d18]
mov edx, dword [edx]
lea eax, [ebp - 0x24]
mov ecx, 0x551474
call fcn.004058fc
mov eax, dword [ebp - 0x24]
call fcn.0040d524
test al, al
je 0x54df09
mov dl, 1
mov eax, dword [0x41c374]
call fcn.00404674
mov dword [ebp - 0xe4], eax
xor eax, eax
push ebp
push 0x54decf
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xe4]
call fcn.004218d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54ded9
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x54def3
cmp eax, 0
ja 0x54e0ce
jmp 0x54def9
jg 0x54e0ce
lea eax, [ebp - 0xe4]
call fcn.004137e8
jmp 0x54e0ce
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
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
mov edx, dword [0x588d18]
mov edx, dword [edx]
lea eax, [ebp - 0x24]
mov ecx, 0x55148c
call fcn.004058fc
mov eax, dword [ebp - 0x24]
call fcn.0040d524
test al, al
je 0x54dffb
mov dl, 1
mov eax, dword [0x41c374]
call fcn.00404674
mov dword [ebp - 0xe4], eax
xor eax, eax
push ebp
push 0x54dfc1
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xe4]
call fcn.004218d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x54dfcb
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x54dfe5
cmp eax, 0
ja 0x54e0ce
jmp 0x54dfeb
jg 0x54e0ce
lea eax, [ebp - 0xe4]
call fcn.004137e8
jmp 0x54e0ce
mov eax, dword [0x588f68]
cmp byte [eax], 0
jne 0x54e0c6
mov eax, dword [0x58846c]
cmp dword [eax], 0
je 0x54e0c6
mov eax, dword [0x588f68]
mov byte [eax], 1
mov eax, dword [0x58846c]
mov eax, dword [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [0x58846c]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx]
push edx
push eax
mov eax, dword [ebp - 0xe4]
call fcn.00421164
push 0
push 0
mov eax, dword [ebp - 0xe4]
call fcn.00421100
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
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
mov eax, dword [0x588f48]
mov eax, dword [eax]
mov edx, dword [ebp - 0xe4]
call fcn.004936ac
jmp 0x54e0ce
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
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
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
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 [0x5927d8], 3
jae 0x5513eb
cmp byte [ebp - 0x41], 0
jne 0x5513eb
mov eax, dword [0x588ca8]
mov eax, dword [eax]
cmp byte [eax + 0xa4], 0
jne 0x5513eb
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xd], 0
jne 0x5513eb
mov eax, dword [0x58843c]
cmp byte [eax], 0
jne 0x5513eb
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
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 [ebp - 0x34]
mov edx, dword [ebp - 0x38]
mov dword [eax + 0x98], edx
mov eax, 0x5514a4
call fcn.00548004
mov eax, dword [ebp - 0x34]
push eax
push 0x5526b8
mov eax, dword [ebp - 0x34]
call fcn.0042579c
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
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
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 [0x48baf0]
call fcn.0048d91c
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x8c], edx
mov dword [eax + 0x88], 0x54dd4c
mov dl, 1
mov eax, dword [ebp - 0x3c]
call fcn.0048da0c
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x54], edx
mov dword [eax + 0x50], 0x54dd14
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x64], edx
mov dword [eax + 0x60], 0x54dd3c
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
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
cmp dword [ebp - 0x38], 0
jne 0x54e3cd
mov edx, dword [0x588700]
movzx edx, word [edx + 0x1da]
mov eax, dword [ebp - 0x3c]
call fcn.0048d368
lea eax, [ebp - 0x51b0]
mov edx, dword [0x588700]
add edx, 0x19c
call fcn.00405848
mov edx, dword [ebp - 0x51b0]
mov eax, dword [ebp - 0x3c]
call fcn.0048d2e8
lea eax, [ebp - 0x20]
mov edx, dword [0x588700]
add edx, 0x1de
call fcn.00405848
jmp 0x54e41b
mov edx, dword [0x588700]
movzx edx, word [edx + 0x1dc]
mov eax, dword [ebp - 0x3c]
call fcn.0048d368
lea eax, [ebp - 0x51b4]
mov edx, dword [0x588700]
add edx, 0x1bb
call fcn.00405848
mov edx, dword [ebp - 0x51b4]
mov eax, dword [ebp - 0x3c]
call fcn.0048d2e8
lea eax, [ebp - 0x20]
mov edx, dword [0x588700]
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
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
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
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
nop
nop
mov dl, 1
mov eax, dword [ebp - 0x3c]
call fcn.0048d228
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
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 [ebp - 0x34]
movzx eax, byte [eax + 0x9e]
or al, byte [ebp - 0x41]
jne 0x5513ce
mov eax, dword [0x588ca8]
mov eax, dword [eax]
cmp byte [eax + 0xa4], 0
jne 0x5513ce
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xd], 0
jne 0x5513ce
mov eax, dword [0x58843c]
cmp byte [eax], 0
jne 0x5513ce
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 0x34]
sub eax, dword [edx + 0xa0]
cmp eax, 0x2710
jbe 0x54e59a
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x90]
cmp byte [eax + 8], 0
je 0x5513ce
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x90]
cmp byte [eax + 8], 0
je 0x5513c2
cmp byte [ebp - 0x55], 0
jne 0x5513c2
mov byte [ebp - 0x55], 1
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
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 - 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
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
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 - 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 0x54e6c5
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
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
nop
nop
nop
nop
nop
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.0040cd7c
mov eax, dword [ebp - 0x51b8]
lea edx, [ebp - 0x4154]
call fcn.0048fd04
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 [0x588f88]
mov ecx, 0x1000
call fcn.004035b8
lea edx, [ebp - 0x519c]
mov eax, dword [0x588cdc]
mov ecx, 0x48
call fcn.004035b8
xor eax, eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xc0], 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 - 0xc0]
jne 0x54e856
lea eax, [ebp - 0xb4]
xor ecx, ecx
mov edx, 8
call fcn.00403e38
mov dword [ebp - 0xc0], 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 - 0xc0]
jne 0x54e92e
mov dword [ebp - 0xa4], 4
lea eax, [ebp - 0x5154]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xc0], 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 - 0xc0]
jne 0x54ef8a
add dword [ebp - 0xfc], 0x400
dec dword [ebp - 0xa4]
jne 0x54ef74
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 0x54f626
add eax, 7
sar eax, 3
test eax, eax
jbe 0x54fcc6
mov dword [ebp - 0xec], eax
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov ecx, 8
call fcn.004035b8
mov dword [ebp - 0xc4], 1
mov eax, dword [ebp - 0xcc]
cdq
push edx
push eax
mov eax, dword [ebp - 0xc4]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
movzx ecx, byte [eax]
lea eax, [ebp - 0xd4]
cdq
push edx
push eax
mov eax, dword [ebp - 0xc4]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
xor cl, byte [eax]
mov eax, dword [ebp - 0xcc]
cdq
push edx
push eax
mov eax, dword [ebp - 0xc4]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
mov byte [eax], cl
inc dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], 9
jne 0x54f657
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 0x54f637
mov eax, dword [ebp - 0xb8]
and eax, 0x80000007
jns 0x54fcd8
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
je 0x55035b
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 0x5502a8
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
jbe 0x55035b
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xc4], 1
mov eax, dword [ebp - 0xcc]
cdq
push edx
push eax
mov eax, dword [ebp - 0xc4]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
movzx ecx, byte [eax]
lea eax, [ebp - 0xd4]
cdq
push edx
push eax
mov eax, dword [ebp - 0xc4]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
xor cl, byte [eax]
mov eax, dword [ebp - 0xcc]
cdq
push edx
push eax
mov eax, dword [ebp - 0xc4]
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
mov byte [eax], cl
inc dword [ebp - 0xc4]
dec dword [ebp - 0xec]
jne 0x5502e3
lea eax, [ebp - 0x110]
xor ecx, ecx
mov edx, 0x10
call fcn.00403e38
push ebp
call fcn.0054dd74
pop ecx
xor eax, eax
push ebp
push 0x5503a9
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x110]
xor edx, edx
mov eax, 1
call fcn.00541908
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5503b0
push ebp
call fcn.0054ddac
pop ecx
ret
push 1
call sub.kernel32.dll_Sleep_2
jmp 0x54e530
mov eax, dword [ebp - 0x3c]
call fcn.0048d414
mov eax, dword [ebp - 0x3c]
call fcn.004046a4
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jne 0x54e15f
cmp dword [ebp - 0xe4], 0
je 0x5513ff
mov eax, dword [ebp - 0xe4]
call fcn.004046a4
cmp byte [ebp - 0x41], 0
je 0x551421
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0xd], 0
jne 0x551421
cmp dword [ebp - 0xc], 0
je 0x551421
xor ecx, ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x34]
call fcn.0054999c
mov eax, dword [ebp - 0x34]
push eax
push 0x5526d4
mov eax, dword [ebp - 0x34]
call fcn.0042579c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x551464
lea eax, [ebp - 0x51e4]
mov edx, 0xe
call fcn.00405608
lea eax, [ebp - 0x30]
mov edx, 0xa
call fcn.00405608
ret