Function at 0x5589d8
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x27
push 0
push 0
dec ecx
jne 0x5589e1
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.004048c4
xor eax, eax
push ebp
push 0x55a02b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x5d8440], 0
je 0x559ff8
mov eax, dword [0x5d8440]
cmp byte [eax + 0x78], 0
jne 0x559ff8
cmp byte [0x5d6ba0], 0
jne 0x559ff8
mov eax, dword [ebp - 8]
mov edx, 0x55a044
call fcn.00404820
je 0x558a6c
mov edx, dword [ebp - 8]
mov eax, 0x55a050
call fcn.00404a18
test eax, eax
jne 0x558a6c
mov eax, 0x5d6ee8
mov edx, dword [ebp - 8]
call fcn.00404468
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5d6eec], eax
mov edx, dword [ebp - 8]
mov eax, 0x55a060
call fcn.00404a18
dec eax
jne 0x558ca9
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 0x14]
call fcn.004932b4
push 0
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 0x2c], 0x2f
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x14]
call fcn.00492f78
test edi, edi
jne 0x558af3
mov edx, dword [0x52e3ec]
mov eax, 0x44
call fcn.00405310
mov edi, eax
xor eax, eax
mov dword [edi + 0x2c], eax
mov edx, edi
mov eax, dword [0x5d6da4]
call fcn.004199a0
mov eax, dword [0x5d6da4]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x558b4a
inc esi
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.00419afc
mov ebx, eax
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0x14]
call fcn.00404820
jne 0x558b44
cmp edi, ebx
je 0x558b44
mov edx, dword [0x52e3ec]
mov eax, ebx
call fcn.00405324
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.004199ec
jmp 0x558b4a
inc dword [ebp - 0x20]
dec esi
jne 0x558b08
mov eax, dword [ebp - 0xc]
call fcn.00408e5c
mov dword [edi], eax
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x14]
call fcn.005c8948
mov edx, dword [ebp - 0x30]
lea eax, [edi + 4]
call fcn.00404468
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
call fcn.005c8948
mov edx, dword [ebp - 0x34]
lea eax, [edi + 8]
call fcn.00404468
xor eax, eax
mov dword [edi + 0x28], eax
xor eax, eax
mov dword [edi + 0x34], eax
mov byte [edi + 0x30], 0
mov byte [edi + 0x38], 0
mov byte [edi + 0x39], 0
mov byte [edi + 0x40], 0
push 0x55a088
lea edx, [ebp - 0x3c]
mov eax, dword [0x5d8440]
mov eax, dword [eax + 0x11c]
call fcn.005c8c80
push dword [ebp - 0x3c]
push 0x55a094
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xa1c]
call fcn.005c8c80
push dword [ebp - 0x40]
push 0x55a070
lea eax, [ebp - 0x38]
mov edx, 5
call fcn.00404794
mov edx, dword [ebp - 0x38]
mov ecx, edi
mov eax, dword [ebp - 4]
call fcn.0055a38c
mov eax, dword [0x5d8440]
mov edx, dword [eax + 0x11c]
lea eax, [ebp - 0x1c]
mov ecx, 0x55a0a0
call fcn.00404720
mov eax, dword [0x5d6da4]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x558c4d
inc esi
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.00419afc
mov ebx, eax
cmp dword [ebx + 4], 0
je 0x558c47
push dword [ebp - 0x1c]
push dword [ebx + 4]
push 0x55a0a0
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00404794
inc dword [ebp - 0x20]
dec esi
jne 0x558c1a
push 0x55a0ac
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
call fcn.005c8c80
push dword [ebp - 0x48]
push 0x55a070
lea eax, [ebp - 0x44]
mov edx, 3
call fcn.00404794
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.0055a548
push 0xffffff
mov ecx, dword [edi + 4]
lea eax, [ebp - 0x4c]
mov edx, 0x55a0bc
call fcn.00404720
mov edx, dword [ebp - 0x4c]
mov ecx, 0xff0000
mov eax, dword [0x5d70a4]
call fcn.005b2b94
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a0d0
call fcn.00404a18
dec eax
jne 0x558d4c
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
mov eax, dword [0x5d88b8]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x558d00
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 4]
call fcn.00535428
jmp 0x559ff8
cmp byte [0x5d68d4], 0
nop
nop
nop
nop
nop
nop
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00534df0
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5d68d8], eax
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0x58]
mov eax, 0x5d68dc
call fcn.00404468
mov byte [0x5d68d4], 1
mov byte [0x5d68d5], 1
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a0e4
call fcn.00404a18
dec eax
jne 0x558d65
mov byte [edi + 0x30], 1
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a0f8
call fcn.00404a18
dec eax
jne 0x558d9f
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x5c]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0055a548
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a108
call fcn.00404a18
dec eax
jne 0x558ed9
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x60]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0x64]
lea eax, [ebp - 0xc]
call fcn.004044ac
mov edx, dword [ebp - 0xc]
mov eax, dword [0x5d70f0]
call fcn.005b4df8
mov edi, eax
test edi, edi
je 0x558e8c
mov eax, dword [0x5d6da4]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x559ff8
inc esi
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.00419afc
mov ebx, eax
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
call fcn.00404820
jne 0x558e81
push 0x55a120
lea edx, [ebp - 0x6c]
movzx eax, word [edi + 0x120]
call fcn.00408cf0
push dword [ebp - 0x6c]
push 0x55a138
lea edx, [ebp - 0x70]
movzx eax, word [edi + 0x122]
call fcn.00408cf0
push dword [ebp - 0x70]
push 0x55a070
lea eax, [ebp - 0x68]
mov edx, 5
call fcn.00404794
mov edx, dword [ebp - 0x68]
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.0055a38c
jmp 0x559ff8
inc dword [ebp - 0x20]
dec esi
jne 0x558e13
jmp 0x559ff8
mov eax, dword [0x5d6da4]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x559ff8
inc esi
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.00419afc
mov ebx, eax
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
call fcn.00404820
je 0x558ece
mov ecx, ebx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0055a38c
inc dword [ebp - 0x20]
dec esi
jne 0x558ea5
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a144
call fcn.00404a18
dec eax
jne 0x559027
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x74]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
push 0
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0x2c], 0x2c
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 0xc]
call fcn.00492f78
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 0xc]
call fcn.004044ac
mov eax, dword [ebp - 0xc]
mov edx, dword [0x5d8440]
mov edx, dword [edx + 0x11c]
call fcn.00404820
jne 0x558fbb
cmp byte [0x5d6799], 0
jne 0x559ff8
mov byte [0x5d6799], 1
push 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x2c], 0x2c
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x10]
call fcn.00492f78
or edx, 0xffffffff
mov eax, dword [ebp - 0x10]
call fcn.00408e98
mov ebx, eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x14]
call fcn.00408e98
mov esi, eax
test ebx, ebx
jle 0x559ff8
test esi, esi
jle 0x559ff8
mov ecx, esi
mov edx, ebx
mov eax, dword [0x5d8440]
call fcn.005cdfc8
xor eax, eax
mov dword [0x5d6fd8], eax
jmp 0x559ff8
mov eax, dword [0x5d6da4]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x559ff8
inc esi
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.00419afc
mov ebx, eax
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
call fcn.00404820
jne 0x55901c
push 0x55a120
push dword [ebp - 0x10]
push 0x55a070
lea eax, [ebp - 0x7c]
mov edx, 3
call fcn.00404794
mov edx, dword [ebp - 0x7c]
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.0055a38c
jmp 0x559ff8
inc dword [ebp - 0x20]
dec esi
jne 0x558fd4
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a15c
call fcn.00404a18
dec eax
jne 0x55919e
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x80]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 0x10]
call fcn.004932b4
mov eax, dword [ebp - 0xc]
mov edx, 0x55a170
call fcn.00404820
jne 0x559097
push 0xffffff
xor ecx, ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [0x5d70a4]
call fcn.005b2e74
jmp 0x559ff8
mov eax, dword [ebp - 0xc]
mov edx, 0x55a180
call fcn.00404820
jne 0x5590d6
push 0x55a190
push dword [ebp - 0x10]
push 0x55a070
lea eax, [ebp - 0x84]
mov edx, 3
call fcn.00404794
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 4]
call fcn.0055a548
jmp 0x559ff8
mov eax, dword [ebp - 0xc]
mov edx, 0x55a19c
call fcn.00404820
jne 0x55912c
push 0xffffff
mov ecx, 0xff0000
mov edx, dword [ebp - 0x10]
mov eax, dword [0x5d70a4]
call fcn.005b2e74
push 0x55a190
push dword [ebp - 0x10]
push 0x55a070
lea eax, [ebp - 0x88]
mov edx, 3
call fcn.00404794
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 4]
call fcn.0055a548
jmp 0x559ff8
mov eax, dword [0x5d6da4]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x559ff8
inc esi
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.00419afc
mov ebx, eax
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
call fcn.00404820
jne 0x559193
push 0x55a190
push dword [ebp - 0x10]
push 0x55a070
lea eax, [ebp - 0x8c]
mov edx, 3
call fcn.00404794
mov edx, dword [ebp - 0x8c]
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.0055a38c
jmp 0x559ff8
inc dword [ebp - 0x20]
dec esi
jne 0x559145
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a1ac
call fcn.00404a18
dec eax
jne 0x559277
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 0x10]
call fcn.004932b4
cmp dword [ebp - 0xc], 0
je 0x559ff8
cmp dword [ebp - 0x10], 0
je 0x559ff8
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0x94]
lea eax, [ebp - 0xc]
call fcn.004044ac
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 0x10]
call fcn.005c8948
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 0x10]
call fcn.004044ac
mov eax, dword [ebp - 0xc]
mov edx, dword [0x5d8440]
mov edx, dword [edx + 0x11c]
call fcn.00404820
jne 0x559264
mov byte [0x5d6898], 1
mov eax, 0x5d689c
mov edx, dword [ebp - 0x10]
call fcn.00404468
jmp 0x559ff8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.005646e4
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a1c0
call fcn.00404a18
dec eax
jne 0x559350
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 0x10]
call fcn.004932b4
cmp dword [ebp - 0xc], 0
je 0x559ff8
cmp dword [ebp - 0x10], 0
je 0x559ff8
lea edx, [ebp - 0xa0]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0xa0]
lea eax, [ebp - 0xc]
call fcn.004044ac
lea edx, [ebp - 0xa4]
mov eax, dword [ebp - 0x10]
call fcn.005c8948
mov edx, dword [ebp - 0xa4]
lea eax, [ebp - 0x10]
call fcn.004044ac
mov eax, dword [ebp - 0xc]
mov edx, dword [0x5d8440]
mov edx, dword [edx + 0x11c]
call fcn.00404820
jne 0x55933d
mov byte [0x5d68a0], 1
mov eax, 0x5d68a4
mov edx, dword [ebp - 0x10]
call fcn.00404468
jmp 0x559ff8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.005647c8
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a1d4
call fcn.00404a18
dec eax
jne 0x559429
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xa8]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 0x10]
call fcn.004932b4
cmp dword [ebp - 0xc], 0
je 0x559ff8
cmp dword [ebp - 0x10], 0
je 0x559ff8
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0xac]
lea eax, [ebp - 0xc]
call fcn.004044ac
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 0x10]
call fcn.005c8948
mov edx, dword [ebp - 0xb0]
lea eax, [ebp - 0x10]
call fcn.004044ac
mov eax, dword [ebp - 0xc]
mov edx, dword [0x5d8440]
mov edx, dword [edx + 0x11c]
call fcn.00404820
jne 0x559416
mov byte [0x5d68a8], 1
mov eax, 0x5d68ac
mov edx, dword [ebp - 0x10]
call fcn.00404468
jmp 0x559ff8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.005648ac
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a1e4
call fcn.00404a18
dec eax
jne 0x5594c4
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xb4]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0xb8]
lea eax, [ebp - 0xc]
call fcn.004044ac
mov eax, dword [ebp - 0xc]
mov edx, dword [0x5d8440]
mov edx, dword [edx + 0x11c]
call fcn.00404820
jne 0x5594b4
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5d6d4c], eax
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [0x5d6894]
cmp eax, 0x7d0
jae 0x5594b4
mov eax, dword [0x5d8440]
or dword [eax + 0x74], 0x400000
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0056498c
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a1f8
call fcn.00404a18
dec eax
jne 0x55955f
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xbc]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea edx, [ebp - 0xc0]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0xc0]
lea eax, [ebp - 0xc]
call fcn.004044ac
mov eax, dword [ebp - 0xc]
mov edx, dword [0x5d8440]
mov edx, dword [edx + 0x11c]
call fcn.00404820
jne 0x55954f
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5d6d50], eax
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [0x5d6894]
cmp eax, 0x7d0
jae 0x55954f
mov eax, dword [0x5d8440]
or dword [eax + 0x74], 0x200000
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00565298
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a20c
call fcn.00404a18
dec eax
jne 0x559679
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xc4]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0xc]
call fcn.004044ac
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.005354d0
mov eax, dword [0x5d88b8]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x559608
inc esi
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0xcc]
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d88b8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc]
call fcn.00404820
jne 0x559602
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d88b8]
mov ecx, dword [eax]
call dword [ecx + 0x48]
jmp 0x559608
inc dword [ebp - 0x20]
dec esi
jne 0x5595d0
mov eax, dword [0x5d88b8]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
jne 0x559630
mov eax, dword [0x5d88b8]
mov edx, dword [eax]
call dword [edx + 0x44]
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5d68d0], eax
mov byte [0x5d68cc], 1
mov eax, dword [0x5d6da4]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x559ff8
inc esi
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.00419afc
mov ebx, eax
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
call fcn.00404820
jne 0x55966e
mov byte [ebx + 0x38], 0
jmp 0x559ff8
inc dword [ebp - 0x20]
dec esi
jne 0x559649
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a220
call fcn.00404a18
dec eax
jne 0x55972f
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xd0]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea edx, [ebp - 0xd4]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0xd4]
lea eax, [ebp - 0xc]
call fcn.004044ac
mov eax, dword [0x5d6da4]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x559ff8
inc esi
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.00419afc
mov ebx, eax
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
call fcn.00404820
jne 0x559724
mov byte [ebx + 0x39], 0
mov byte [ebx + 0x38], 0
cmp byte [0x5d6db9], 0
je 0x559ff8
mov ecx, ebx
mov edx, 0x55a234
mov eax, dword [ebp - 4]
call fcn.0055a38c
jmp 0x559ff8
inc dword [ebp - 0x20]
dec esi
jne 0x5596df
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a248
call fcn.00404a18
dec eax
jne 0x5597e3
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xd8]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 0x1c]
call fcn.004932b4
cmp byte [0x5d6aa6], 0
je 0x559ff8
mov eax, dword [ebp - 0xc]
mov edx, dword [0x5d70ac]
mov edx, dword [edx + 0x7c]
call fcn.00404820
jne 0x559ff8
push 0
xor ecx, ecx
mov edx, 0x55a25c
mov eax, dword [0x5d6fc8]
call fcn.0059dcbc
push 0x55a270
push dword [ebp - 0x10]
push 0x55a070
lea eax, [ebp - 0xdc]
mov edx, 3
call fcn.00404794
mov edx, dword [ebp - 0xdc]
mov ecx, edi
mov eax, dword [ebp - 4]
call fcn.005589d8
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a284
call fcn.00404a18
dec eax
jne 0x559899
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xe0]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 0xc]
call fcn.005c8948
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0xc]
call fcn.004044ac
mov eax, dword [0x5d6da4]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x559ff8
inc esi
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.00419afc
mov ebx, eax
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xc]
call fcn.00404820
jne 0x55988e
mov byte [ebx + 0x38], 1
mov byte [ebx + 0x39], 0
cmp byte [0x5d6db9], 0
je 0x559ff8
mov ecx, ebx
mov edx, 0x55a298
mov eax, dword [ebp - 4]
call fcn.0055a38c
jmp 0x559ff8
inc dword [ebp - 0x20]
dec esi
jne 0x559849
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a2ac
call fcn.00404a18
dec eax
jne 0x559a8c
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xe8]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
push 0
lea eax, [ebp - 0xec]
push eax
mov byte [ebp - 0x2c], 0x2c
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
call fcn.00492f78
mov edx, dword [ebp - 0xec]
lea eax, [ebp - 0x1c]
call fcn.004044ac
push 0
lea eax, [ebp - 0xf0]
push eax
mov byte [ebp - 0x2c], 0x2c
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.00492f78
mov edx, dword [ebp - 0xf0]
lea eax, [ebp - 0x1c]
call fcn.004044ac
push 0
lea eax, [ebp - 0xf4]
push eax
mov byte [ebp - 0x2c], 0x2c
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.00492f78
mov edx, dword [ebp - 0xf4]
lea eax, [ebp - 0x1c]
call fcn.004044ac
xor edx, edx
mov eax, dword [ebp - 0x14]
call fcn.00408e98
mov ebx, eax
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.00408e98
mov esi, eax
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
call fcn.004044ac
push 0x55a2c0
mov eax, dword [0x5d70ac]
push dword [eax + 0x7c]
push 0x55a138
lea edx, [ebp - 0xf8]
mov eax, dword [0x5d8440]
movzx eax, word [eax + 0x120]
call fcn.00408cf0
push dword [ebp - 0xf8]
push 0x55a138
lea edx, [ebp - 0xfc]
mov eax, dword [0x5d8440]
movzx eax, word [eax + 0x122]
call fcn.00408cf0
push dword [ebp - 0xfc]
push 0x55a070
lea eax, [ebp - 0x1c]
mov edx, 7
call fcn.00404794
mov eax, dword [ebp - 0x10]
mov edx, dword [0x5d70ac]
mov edx, dword [edx + 0x7c]
call fcn.00404820
jne 0x559a1e
push esi
mov eax, dword [0x5d8440]
movzx edx, word [eax + 0x122]
mov eax, dword [0x5d8440]
movzx eax, word [eax + 0x120]
mov ecx, ebx
call fcn.005c40cc
cmp eax, 2
jle 0x559a15
mov ecx, edi
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.0055a38c
jmp 0x559ff8
mov byte [edi + 0x40], 1
jmp 0x559ff8
mov eax, dword [ebp - 0x10]
mov edx, dword [0x5d70ac]
mov edx, dword [edx + 0x7c]
call fcn.00404820
je 0x559ff8
push dword [ebp - 0x10]
push 0x55a138
push dword [ebp - 0x14]
push 0x55a138
push dword [ebp - 0x18]
lea eax, [ebp - 0x100]
mov edx, 5
call fcn.00404794
mov edx, dword [ebp - 0x100]
mov eax, dword [0x5d70ac]
call fcn.005b9428
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jle 0x559a83
mov ecx, edi
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.0055a38c
jmp 0x559ff8
mov byte [edi + 0x40], 1
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a044
call fcn.00404a18
dec eax
jne 0x559aa4
dec dword [edi + 0x34]
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a2d4
call fcn.00404a18
dec eax
jne 0x559b1c
mov byte [edi + 0x39], 1
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5d6cd8], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5d6cdc], eax
cmp byte [0x5d6b7c], 0
je 0x559ae9
mov ecx, edi
mov edx, 0x55a2e8
mov eax, dword [ebp - 4]
call fcn.0055a38c
jmp 0x559ff8
mov eax, dword [0x5d6fc8]
mov eax, dword [eax + 0x87c]
mov edx, 0x55a2fc
call fcn.00404820
jne 0x559ff8
push 0
mov cl, 1
mov edx, 0x55a2fc
mov eax, dword [0x5d6fc8]
call fcn.0059dcbc
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a050
call fcn.00404a18
dec eax
jne 0x559c33
mov eax, dword [0x5d6da4]
mov esi, dword [eax + 8]
dec esi
test esi, esi
jl 0x559b6b
inc esi
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [0x5d6da4]
call fcn.00419afc
mov ebx, eax
cmp edi, ebx
je 0x559b65
mov ecx, ebx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0055a38c
inc dword [ebp - 0x20]
dec esi
jne 0x559b45
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x104]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
push 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x2c], 0x2c
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 0xc]
call fcn.00492f78
push 0
lea eax, [ebp - 0x108]
push eax
mov byte [ebp - 0x2c], 0x2c
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x14]
call fcn.00492f78
mov edx, dword [ebp - 0x108]
lea eax, [ebp - 0x14]
call fcn.004044ac
mov eax, dword [ebp - 0xc]
call fcn.00408e5c
mov ebx, eax
mov eax, dword [ebp - 0x10]
call fcn.00408e5c
mov esi, eax
mov eax, dword [ebp - 0x14]
call fcn.00408e5c
mov dword [ebp - 0x24], eax
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.005534f8
mov edi, eax
test edi, edi
jne 0x559ff8
mov eax, 0x14
call fcn.00402714
mov edi, eax
mov dword [edi], ebx
mov dword [edi + 4], esi
mov eax, dword [ebp - 0x24]
mov dword [edi + 8], eax
call sub.kernel32.dll_GetTickCount_1
mov dword [edi + 0x10], eax
xor eax, eax
mov dword [edi + 0xc], eax
mov edx, edi
mov eax, dword [0x5d6dc8]
call fcn.004199a0
jmp 0x559ff8
cmp byte [0x5d6db9], 0
je 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a310
call fcn.00404a18
dec eax
jne 0x559d9f
cmp dword [0x5d6fd0], 0
jne 0x559cbf
mov eax, dword [0x5d8440]
cmp byte [eax + 0x119], 0
je 0x559cbf
xor edx, edx
mov eax, dword [0x5d8440]
call fcn.005cf318
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10c]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
push 0x55a324
push dword [ebp - 0xc]
push 0x55a070
lea eax, [ebp - 0x110]
mov edx, 3
call fcn.00404794
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 4]
call fcn.0055a548
mov eax, dword [0x5d8440]
cmp byte [eax + 0x119], 0
je 0x559d2a
push 0x55a2c0
mov eax, dword [0x5d70ac]
push dword [eax + 0x7c]
push 0x55a138
lea edx, [ebp - 0x114]
mov eax, dword [0x5d70ac]
mov eax, dword [eax + 0x6c]
call fcn.00408cf0
push dword [ebp - 0x114]
push 0x55a138
lea edx, [ebp - 0x118]
mov eax, dword [0x5d70ac]
mov eax, dword [eax + 0x70]
call fcn.00408cf0
push dword [ebp - 0x118]
push 0x55a070
lea eax, [ebp - 8]
mov edx, 7
call fcn.00404794
jmp 0x559d8d
push 0x55a2c0
mov eax, dword [0x5d70ac]
push dword [eax + 0x7c]
push 0x55a138
lea edx, [ebp - 0x11c]
mov eax, dword [0x5d8440]
movzx eax, word [eax + 0x120]
call fcn.00408cf0
push dword [ebp - 0x11c]
push 0x55a138
lea edx, [ebp - 0x120]
mov eax, dword [0x5d8440]
movzx eax, word [eax + 0x122]
call fcn.00408cf0
push dword [ebp - 0x120]
push 0x55a070
lea eax, [ebp - 8]
mov edx, 7
call fcn.00404794
mov ecx, edi
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0055a38c
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a338
call fcn.00404a18
dec eax
jne 0x559ef9
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x124]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
push 0
lea eax, [ebp - 0x128]
push eax
mov byte [ebp - 0x2c], 0x2c
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
call fcn.00492f78
mov edx, dword [ebp - 0x128]
lea eax, [ebp - 0x10]
call fcn.004044ac
push 0
lea eax, [ebp - 0x12c]
push eax
mov byte [ebp - 0x2c], 0x2c
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00492f78
mov edx, dword [ebp - 0x12c]
lea eax, [ebp - 0x10]
call fcn.004044ac
push 0
lea eax, [ebp - 0x130]
push eax
mov byte [ebp - 0x2c], 0x2c
lea ecx, [ebp - 0x2c]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x10]
call fcn.00492f78
mov eax, dword [ebp - 0x14]
call fcn.00408e5c
mov ebx, eax
mov eax, dword [ebp - 0x10]
call fcn.00408e5c
mov esi, eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x5d70ac]
mov edx, dword [edx + 0x7c]
call fcn.00404820
jne 0x559e8b
mov eax, dword [0x5d8440]
movzx eax, word [eax + 0x122]
push eax
mov eax, dword [0x5d8440]
movzx ecx, word [eax + 0x120]
mov edx, esi
mov eax, ebx
call fcn.005c40a0
cmp eax, 5
jle 0x559e9f
mov ecx, edi
mov edx, 0x55a310
mov eax, dword [ebp - 4]
call fcn.005589d8
jmp 0x559ff8
cmp dword [0x5d8784], 0
je 0x559eda
push 0x55a34c
lea edx, [ebp - 0x134]
mov eax, dword [0x5d8784]
mov eax, dword [eax + 0x60]
call fcn.00408cf0
push dword [ebp - 0x134]
push 0x55a070
lea eax, [ebp - 8]
mov edx, 3
call fcn.00404794
jmp 0x559ee7
lea eax, [ebp - 8]
mov edx, 0x55a35c
call fcn.004044ac
mov ecx, edi
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0055a38c
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a370
call fcn.00404a18
dec eax
jne 0x559f1f
push 0
xor ecx, ecx
mov edx, dword [ebp - 8]
mov eax, dword [0x5d6fc8]
call fcn.0059dcbc
jmp 0x559ff8
mov edx, dword [ebp - 8]
mov eax, 0x55a380
call fcn.00404a18
dec eax
jne 0x559ff8
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x138]
push eax
mov ecx, 0x55a070
mov edx, 0x55a07c
mov eax, dword [ebp - 8]
call fcn.004932b4
push 0x55a34c
push dword [ebp - 0xc]
push 0x55a070
lea eax, [ebp - 0x13c]
mov edx, 3
call fcn.00404794
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 4]
call fcn.0055a548
mov eax, dword [ebp - 0xc]
call fcn.00408e5c
mov edx, eax
mov eax, dword [0x5d70f0]
call fcn.005b4cf0
mov edi, eax
test edi, edi
je 0x559ff8
mov dword [0x5d8784], edi
xor eax, eax
mov dword [0x5d6fdc], eax
xor eax, eax
mov dword [0x5d6fe0], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x9f8]
mov cl, 1
mov edx, edi
call fcn.00571248
test al, al
je 0x559ff1
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x5d8784]
mov dword [edx + 0x4c], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x5d8784]
mov dword [edx + 0xf8], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x5d8784]
mov dword [edx + 0xfc], eax
jmp 0x559ff8
xor eax, eax
mov dword [0x5d8784], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x55a032
lea eax, [ebp - 0x13c]
mov edx, 0x44
call fcn.00404438
lea eax, [ebp - 0x28]
call fcn.00404414
lea eax, [ebp - 0x1c]
mov edx, 6
call fcn.00404438
ret