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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff4
mov ebx, edx
mov esi, eax
mov eax, dword [0x688a9c]
cmp dword [eax], 0
je 0x5064f5
mov eax, dword [0x688538]
mov eax, dword [eax]
mov dword [eax + 4], ebx
mov eax, dword [0x688a9c]
mov eax, dword [eax]
cmp byte [eax + 0x1c], 0
je 0x505bad
cmp byte [ebx + 0x17], 0x1e
jne 0x505988
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0xc]
call fcn.005b2550
movzx edi, al
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [ebx + 0xc]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x505915
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
sub eax, dword [ebx + 0x10]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x505915
cmp byte [ebx + 0x31], 0
jne 0x505915
mov eax, esi
call fcn.0050d798
test al, al
je 0x5058ad
mov eax, esi
call fcn.0050d734
test al, al
je 0x5058ad
mov eax, dword [0x688a9c]
mov eax, dword [eax]
movzx eax, byte [eax + 0x14]
cmp edi, eax
je 0x5058ad
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
push edi
push 0
push 0
push 0
push 0
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov dx, 1
call fcn.0059c908
jmp 0x5064f5
mov eax, esi
call fcn.0050d798
test al, al
je 0x5064f5
mov eax, esi
call fcn.0050d734
test al, al
je 0x5064f5
mov eax, dword [0x688554]
xor edx, edx
mov dword [eax], edx
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x6884a4]
sub eax, dword [edx]
cmp eax, 0x7d0
jbe 0x5064f5
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x6884a4]
mov dword [edx], eax
push 0
push 0
push 0
push 0
mov ecx, dword [ebx + 4]
mov edx, 0x7d
mov eax, esi
call fcn.0050a960
jmp 0x5064f5
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [ebx + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x505953
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
sub eax, dword [ebx + 0x10]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x505953
cmp byte [ebx + 0x31], 0
jne 0x505953
mov eax, dword [0x68918c]
mov byte [eax], 0
jmp 0x50595b
mov eax, dword [0x68918c]
mov byte [eax], 1
push esp
lea eax, [esp + 8]
push eax
mov ecx, edi
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
call fcn.005b26b0
mov eax, dword [0x688b88]
mov edx, dword [esp]
mov dword [eax], edx
mov eax, dword [0x688a78]
mov edx, dword [esp + 4]
mov dword [eax], edx
jmp 0x5064f5
mov eax, dword [0x68878c]
cmp byte [eax + 0xdad], 0x21
jne 0x5064f5
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0xc]
call fcn.005b2550
movzx edi, al
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [ebx + 0xc]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x505a6a
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
sub eax, dword [ebx + 0x10]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x505a6a
cmp byte [ebx + 0x31], 0
jne 0x505a6a
mov eax, esi
call fcn.0050d798
test al, al
je 0x505a58
mov eax, esi
call fcn.0050d734
test al, al
je 0x505a58
mov eax, esi
call fcn.0050d7e0
test al, al
je 0x505a58
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
push edi
push 0
push 0
push 0
push 0
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov dx, 0xb
call fcn.0059c908
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x689174]
mov dword [edx], eax
mov eax, dword [0x688724]
mov dword [eax], 0xffffffff
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x688d40]
mov dword [edx], eax
jmp 0x5064f5
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0xc]
call fcn.005b23d4
test al, al
je 0x505b3a
cmp byte [ebx + 0x31], 0
jne 0x505b3a
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0xc]
call fcn.005b23a4
cmp eax, 2
jg 0x505b3a
mov eax, esi
call fcn.0050d798
test al, al
je 0x505b28
mov eax, esi
call fcn.0050d734
test al, al
je 0x505b28
mov eax, esi
call fcn.0050d7e0
test al, al
je 0x505b28
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
push edi
push 0
push 0
push 0
push 0
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov dx, 0xb
call fcn.0059c908
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x689174]
mov dword [edx], eax
mov eax, dword [0x688724]
mov dword [eax], 0xffffffff
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x688d40]
mov dword [edx], eax
jmp 0x5064f5
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [ebx + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x505b78
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
sub eax, dword [ebx + 0x10]
cdq
xor eax, edx
sub eax, edx
cmp eax, 3
jg 0x505b78
cmp byte [ebx + 0x31], 0
jne 0x505b78
mov eax, dword [0x68918c]
mov byte [eax], 0
jmp 0x505b80
mov eax, dword [0x68918c]
mov byte [eax], 1
push esp
lea eax, [esp + 8]
push eax
mov ecx, edi
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
call fcn.005b26b0
mov eax, dword [0x688b88]
mov edx, dword [esp]
mov dword [eax], edx
mov eax, dword [0x688a78]
mov edx, dword [esp + 4]
mov dword [eax], edx
jmp 0x5064f5
mov ebp, 7
mov eax, dword [0x68878c]
cmp byte [eax + 0x11d], 6
jne 0x505bc5
mov ebp, 8
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0xc]
call fcn.005b2550
movzx edi, al
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [ebx + 0xc]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x506236
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
sub eax, dword [ebx + 0x10]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x506236
cmp byte [ebx + 0x31], 0
jne 0x506236
cmp byte [ebx + 0x17], 0x1e
jne 0x505cee
mov eax, esi
call fcn.0050d798
test al, al
je 0x505c86
mov eax, esi
call fcn.0050d734
test al, al
je 0x505c86
mov eax, dword [0x688a9c]
mov eax, dword [eax]
movzx eax, byte [eax + 0x14]
cmp edi, eax
je 0x505c86
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
push edi
push 0
push 0
push 0
push 0
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov dx, 1
call fcn.0059c908
jmp 0x506224
mov eax, esi
call fcn.0050d798
test al, al
je 0x506224
mov eax, esi
call fcn.0050d734
test al, al
je 0x506224
mov eax, dword [0x688554]
xor edx, edx
mov dword [eax], edx
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x6884a4]
sub eax, dword [edx]
cmp eax, 0x7d0
jbe 0x506224
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x6884a4]
mov dword [edx], eax
push 0
push 0
push 0
push 0
mov ecx, dword [ebx + 4]
mov edx, 0x7d
mov eax, esi
call fcn.0050a960
jmp 0x506224
mov eax, esi
call fcn.0050d798
test al, al
je 0x5061d8
mov eax, esi
call fcn.0050d734
test al, al
je 0x5061d8
mov eax, esi
call fcn.0050d7e0
test al, al
je 0x5061d8
mov eax, dword [0x688ca0]
cmp byte [eax], 0
je 0x505d65
mov eax, dword [0x688ca0]
mov byte [eax], 0
mov ebp, 0x11
mov eax, dword [0x68875c]
mov byte [eax + 0xa425], 0
mov ax, 0x6e
call fcn.0057bbf0
mov eax, dword [0x688724]
cmp dword [eax], 0x6e
jne 0x506185
mov eax, dword [0x688724]
mov dword [eax], 0xffffffff
jmp 0x506185
mov eax, dword [0x688864]
cmp byte [eax], 0
je 0x505daf
mov eax, dword [0x688864]
mov byte [eax], 0
mov ebp, 0x13
mov eax, dword [0x68875c]
mov byte [eax + 0xa721], 0
mov ax, 0x70
call fcn.0057bbf0
mov eax, dword [0x688724]
cmp dword [eax], 0x70
jne 0x506185
mov eax, dword [0x688724]
mov dword [eax], 0xffffffff
jmp 0x506185
mov eax, dword [0x688354]
cmp byte [eax], 0
je 0x505df9
mov eax, dword [0x688354]
mov byte [eax], 0
mov ebp, 0x14
mov eax, dword [0x68875c]
mov byte [eax + 0xa89f], 0
mov ax, 0x71
call fcn.0057bbf0
mov eax, dword [0x688724]
cmp dword [eax], 0x71
jne 0x506185
mov eax, dword [0x688724]
mov dword [eax], 0xffffffff
jmp 0x506185
mov eax, dword [0x6888f8]
cmp byte [eax], 0
je 0x505e2a
mov eax, dword [0x6888f8]
mov byte [eax], 0
mov ebp, 0x15
mov eax, dword [0x68875c]
mov byte [eax + 0xb60d], 0
mov ax, 0x7a
call fcn.0057bbf0
jmp 0x506185
mov eax, dword [0x688ec4]
cmp byte [eax], 0
je 0x505e5b
mov eax, dword [0x688ec4]
mov byte [eax], 0
mov ebp, 0x87
mov eax, dword [0x68875c]
mov byte [eax + 0x402b], 0
mov ax, 0x2b
call fcn.0057bbf0
jmp 0x506185
mov eax, dword [0x688654]
cmp byte [eax], 0
je 0x505eb9
mov eax, dword [0x688654]
mov byte [eax], 0
mov eax, dword [0x68875c]
cmp byte [eax + 0x13364], 0
je 0x505e9a
mov ebp, 0x8f
mov eax, dword [0x68875c]
mov byte [eax + 0x13365], 0
mov ax, 0xce
call fcn.0057bbf0
jmp 0x506185
mov ebp, 0x16
mov eax, dword [0x68875c]
mov byte [eax + 0x5391], 0
mov ax, 0x38
call fcn.0057bbf0
jmp 0x506185
mov eax, dword [0x688d80]
cmp byte [eax], 0
je 0x505f4a
mov eax, dword [0x688a9c]
mov eax, dword [eax]
cmp dword [eax + 0x97], 7
jl 0x505f4a
mov eax, dword [0x688d80]
mov byte [eax], 0
mov eax, dword [0x68875c]
cmp byte [eax + 0x12bee], 0
je 0x505f2b
mov ebp, 0x8b
mov eax, dword [0x68875c]
mov byte [eax + 0x12bef], 0
mov ax, 0xc9
call fcn.0057bbf0
mov eax, dword [0x68875c]
movzx eax, byte [eax + 0x12bf0]
mov edx, edi
movzx edx, dl
movzx eax, al
shl eax, 8
or dx, ax
mov eax, edx
movzx edi, ax
jmp 0x506185
mov ebp, 0xd
mov eax, dword [0x68875c]
mov byte [eax + 0x26cd], 0
mov ax, 0x1a
call fcn.0057bbf0
jmp 0x506185
mov eax, dword [0x688b08]
cmp byte [eax], 0
je 0x505fc7
mov eax, dword [0x688b08]
mov byte [eax], 0
mov eax, dword [0x68875c]
cmp byte [eax + 0x12d6c], 0
je 0x505fa8
mov ebp, 0x8c
mov eax, dword [0x68875c]
mov byte [eax + 0x12d6d], 0
mov ax, 0xca
call fcn.0057bbf0
mov eax, dword [0x68875c]
movzx eax, byte [eax + 0x12d6e]
mov edx, edi
movzx edx, dl
movzx eax, al
shl eax, 8
or dx, ax
mov eax, edx
movzx edi, ax
jmp 0x506185
mov ebp, 0xa
mov eax, dword [0x68875c]
mov byte [eax + 0xa73], 0
mov ax, 7
call fcn.0057bbf0
jmp 0x506185
mov eax, dword [0x688a24]
cmp byte [eax], 0
je 0x505ff3
mov eax, dword [0x688a9c]
mov eax, dword [eax]
cmp dword [eax + 0x97], 0xa
jl 0x505ff3
mov eax, dword [0x688a24]
mov byte [eax], 0
mov ebp, 0x10
jmp 0x506185
mov eax, dword [0x688aa8]
cmp byte [eax], 0
je 0x50600d
mov eax, dword [0x688a9c]
mov eax, dword [eax]
cmp dword [eax + 0x97], 6
jge 0x506030
mov eax, dword [0x6885e4]
cmp byte [eax + 0x27], 0
je 0x5060dc
mov eax, dword [0x688a9c]
mov eax, dword [eax]
cmp dword [eax + 0x97], 6
jl 0x5060dc
mov edx, edi
mov eax, esi
call fcn.00505094
test al, al
je 0x5060dc
mov eax, dword [0x68875c]
cmp byte [eax + 0x13068], 0
je 0x50609a
mov edx, edi
mov eax, esi
call fcn.005051dc
test al, al
je 0x50609a
mov ebp, 0x8e
mov eax, dword [0x68875c]
mov byte [eax + 0x13069], 0
mov ax, 0xcc
call fcn.0057bbf0
mov eax, dword [0x68875c]
movzx eax, byte [eax + 0x1306a]
mov edx, edi
movzx edx, dl
movzx eax, al
shl eax, 8
or dx, ax
mov eax, edx
movzx edi, ax
jmp 0x506185
mov eax, dword [0x68875c]
cmp byte [eax + 0x254e], 0
je 0x506185
mov edx, edi
mov eax, esi
call fcn.00505094
test al, al
je 0x506185
mov ebp, 0xc
mov eax, dword [0x68875c]
mov byte [eax + 0x254f], 0
mov ax, 0x19
call fcn.0057bbf0
jmp 0x506185
mov eax, dword [0x688ef4]
cmp byte [eax], 0
je 0x506100
mov eax, dword [0x688a9c]
mov eax, dword [eax]
cmp dword [eax + 0x97], 6
jl 0x506100
mov ebp, 0xe
jmp 0x506185
mov eax, dword [0x6885e4]
cmp byte [eax + 0x26], 0
jne 0x506122
mov eax, dword [0x68896c]
cmp byte [eax], 0
je 0x506185
mov edx, edi
mov eax, esi
call fcn.00505000
test al, al
je 0x506185
mov eax, dword [0x68875c]
cmp byte [eax + 0x12eea], 0
je 0x50616b
mov ebp, 0x8d
mov eax, dword [0x68875c]
mov byte [eax + 0x12eeb], 0
mov ax, 0xcb
call fcn.0057bbf0
mov eax, dword [0x68875c]
movzx eax, byte [eax + 0x12eec]
mov edx, edi
movzx edx, dl
movzx eax, al
shl eax, 8
or dx, ax
mov eax, edx
movzx edi, ax
jmp 0x506185
mov ebp, 0xb
mov eax, dword [0x68875c]
mov byte [eax + 0x11e9], 0
mov ax, 0xc
call fcn.0057bbf0
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
mov eax, edi
movzx eax, al
push eax
push 0
movzx eax, di
shr eax, 8
movzx eax, al
push eax
push 0
push 0
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov edx, ebp
call fcn.0059c908
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x689174]
mov dword [edx], eax
mov eax, dword [0x688724]
mov dword [eax], 0xffffffff
jmp 0x506224
mov eax, esi
call fcn.0050d798
test al, al
jne 0x5061f2
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x688d40]
mov dword [edx], eax
jmp 0x506224
mov eax, esi
call fcn.0050d734
test al, al
jne 0x50620c
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x688d40]
mov dword [edx], eax
jmp 0x506224
mov eax, esi
call fcn.0050d7e0
test al, al
jne 0x506224
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x688d40]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x688d40]
mov dword [edx], eax
jmp 0x5064f5
xor ebp, ebp
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0xc]
call fcn.005b23d4
test al, al
je 0x506483
cmp byte [ebx + 0x31], 0
jne 0x506483
cmp byte [ebx + 0x17], 0x1e
je 0x506483
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0xc]
call fcn.005b23a4
mov dword [esp + 8], eax
mov eax, esi
call fcn.0050d798
test al, al
je 0x506467
mov eax, esi
call fcn.0050d734
test al, al
je 0x506467
mov eax, esi
call fcn.0050d7e0
test al, al
je 0x506467
cmp dword [esp + 8], 4
jg 0x506307
mov eax, dword [0x688ec4]
cmp byte [eax], 0
je 0x506307
mov eax, dword [0x688628]
cmp byte [eax], 0
je 0x506307
mov eax, dword [0x688ec4]
mov byte [eax], 0
mov ebp, 0x87
mov eax, dword [0x68875c]
mov byte [eax + 0x402b], 0
mov ax, 0x2b
call fcn.0057bbf0
jmp 0x50641b
cmp dword [esp + 8], 4
jg 0x50633f
mov eax, dword [0x688654]
cmp byte [eax], 0
je 0x50633f
mov eax, dword [0x688654]
mov byte [eax], 0
mov ebp, 0x16
mov eax, dword [0x68875c]
mov byte [eax + 0x5391], 0
mov ax, 0x38
call fcn.0057bbf0
jmp 0x50641b
cmp dword [esp + 8], 3
jg 0x506390
mov eax, dword [0x688864]
cmp byte [eax], 0
je 0x506390
mov eax, dword [0x688864]
mov byte [eax], 0
mov ebp, 0x13
mov eax, dword [0x68875c]
mov byte [eax + 0xa721], 0
mov ax, 0x70
call fcn.0057bbf0
mov eax, dword [0x688724]
cmp dword [eax], 0x70
jne 0x50641b
mov eax, dword [0x688724]
mov dword [eax], 0xffffffff
jmp 0x50641b
cmp dword [esp + 8], 2
jg 0x5063c5
mov eax, dword [0x688ec4]
cmp byte [eax], 0
je 0x5063c5
mov eax, dword [0x688ec4]
mov byte [eax], 0
mov ebp, 0x87
mov eax, dword [0x68875c]
mov byte [eax + 0x402b], 0
mov ax, 0x2b
call fcn.0057bbf0
jmp 0x50641b
cmp dword [esp + 8], 2
jg 0x5063fa
mov eax, dword [0x6888f8]
cmp byte [eax], 0
je 0x5063fa
mov eax, dword [0x6888f8]
mov byte [eax], 0
mov ebp, 0x15
mov eax, dword [0x68875c]
mov byte [eax + 0xb60d], 0
mov ax, 0x7a
call fcn.0057bbf0
jmp 0x50641b
cmp dword [esp + 8], 2
jg 0x50641b
mov eax, dword [0x68896c]
cmp byte [eax], 0
je 0x50641b
mov eax, dword [0x6885e4]
cmp byte [eax + 0x37], 0
je 0x50641b
mov ebp, 0xb
test ebp, ebp
je 0x506483
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
push edi
push 0
push 0
push 0
push 0
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov edx, ebp
call fcn.0059c908
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x689174]
mov dword [edx], eax
call sub.kernel32.dll_GetTickCount
mov edx, dword [0x688d40]
mov dword [edx], eax
jmp 0x506483
cmp dword [esp + 8], 2
jg 0x506483
mov eax, dword [0x68896c]
cmp byte [eax], 0
je 0x506483
mov eax, dword [0x6885e4]
cmp byte [eax + 0x37], 0
jne 0x5064f5
test ebp, ebp
jne 0x5064f5
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub eax, dword [ebx + 0xc]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x5064c5
mov eax, dword [0x688a9c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
sub eax, dword [ebx + 0x10]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x5064c5
cmp byte [ebx + 0x31], 0
jne 0x5064c5
mov eax, dword [0x68918c]
mov byte [eax], 0
jmp 0x5064cd
mov eax, dword [0x68918c]
mov byte [eax], 1
push esp
lea eax, [esp + 8]
push eax
mov ecx, edi
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
call fcn.005b26b0
mov eax, dword [0x688b88]
mov edx, dword [esp]
mov dword [eax], edx
mov eax, dword [0x688a78]
mov edx, dword [esp + 4]
mov dword [eax], edx
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
ret