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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x450eb8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
mov ebx, dword [sym.imp.kernel32.dll_GetTickCount]
call ebx
sub eax, dword [0x463964]
cmp eax, 0x7530
jbe 0x40a523
call fcn.0042fa00
jp 0x40a4dc
jnp 0x40a4dc
lea esi, [ebx - 0x5f]
lodsb al, byte [esi]
out dx, al
push ebp
add byte [edx], ch
mov eax, dword [0x55eeac]
push 0
push 0x23
push 0xbd4
push eax
call dword [sym.imp.user32.dll_PostMessageA]
jp 0x40a4f7
jnp 0x40a4f7
lea esi, [ebx - 0x39]
add eax, 0x46394c
sldt word [eax]
add byte [edx + 4], bh
mov dword [0x46394c], 0xf
jp 0x40a507
jnp 0x40a507
lea esi, [ebx - 1]
shl dword [ebx + 0x463964], cl
call ebx
mov dword [0x463964], eax
jp 0x40a514
jnp 0x40a514
lea esi, [ebx + 0x5b]
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
jp 0x40a529
jnp 0x40a529
lea esi, [ebx + 0x7a]
add al, 0x7b
add cl, byte [ebp + 0x2bd3ff73]
jp 0x40a52f
jnp 0x40a52f
lea esi, [ebx - 1]
shr dword [ebx], cl
call ebx
sub eax, dword [0x463974]
add eax, 0x463974
cmp eax, 0x5dc
jbe 0x40a673
jp 0x40a548
jnp 0x40a548
lea esi, [ebx - 0x7d]
cmp eax, 0x474238
add esi, dword [ebp + 0x2c]
cmp dword [0x474238], 3
jne 0x40a57d
mov dword [0x46394c], 8
jp 0x40a561
jnp 0x40a561
lea esi, [ebx - 1]
shl dword [ebx + 0x463964], cl
call ebx
mov dword [0x463964], eax
jp 0x40a56e
jnp 0x40a56e
lea esi, [ebx + 0x5b]
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push edi
xor edi, edi
push edi
push 0x4741c0
lea ecx, [ebp - 0x18]
call sub.mfc42.dll_CSingleLock::CSingleLock
mov dword [ebp - 4], edi
jp 0x40a597
jnp 0x40a597
lea esi, [ebx + 0x6a]
dec dword [ebp + 0x7fe8e84d]
push edi
add al, 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x18]
call sub.mfc42.dll_CSingleLock::Lock
dec ebp
call 0x4982588
add byte [edx + 4], bh
jp 0x40a5a7
jnp 0x40a5a7
lea esi, [ebx + 0x39]
jge 0x40a59a
cmp dword [ebp - 0x10], edi
je 0x40a663
push esi
jp 0x40a5b7
jnp 0x40a5b7
lea esi, [ebx + 0x7a]
add al, 0x7b
add cl, byte [ebp + 0x303d3973]
push ebp
add byte [edi], cl
mov cs, word [ebx - 0x5f000000]
sub al, 0xf3
push ebp
add byte [ebx], dh
test byte [ebx - 0x36ccf9ec], 0x8a
or eax, 0x463947
jp 0x40a5bd
jnp 0x40a5bd
lea esi, [ebx + 0x39]
cmp eax, 0x55f330
cmp dword [0x55f330], edi
jle 0x40a654
mov eax, dword [0x55f32c]
xor esi, esi
mov edx, dword [esi + eax]
xor ecx, ecx
mov cl, byte [0x463947]
cmp edx, ecx
jne 0x40a60f
mov dl, byte [esi + eax + 7]
mov al, byte [esi + eax + 6]
mov cl, byte [0x55edfb]
push edx
mov dl, byte [0x55edfa]
push eax
push ecx
push edx
call fcn.0043ec60
add esp, 0x10
jp 0x40a605
jnp 0x40a605
lea esi, [ebx - 0x7d]
clc
push es
cmp eax, 6
jbe 0x40a61f
mov eax, dword [0x55f32c]
mov ecx, dword [0x55f330]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x40a5d0
jmp 0x40a654
jp 0x40a625
jnp 0x40a625
lea esi, [ebx + 0x7a]
add al, 0x7b
add cl, byte [ebp + 0x2c0d8b73]
push ebp
add byte [ebp + 0x548dbf04], cl
rol dword [edx + edx*2], 0xe8
bound edx, qword [edx + 2]
add byte [ebx + 0x47a04c4], al
jp 0x40a62b
jnp 0x40a62b
lea esi, [ebx - 0x75]
or eax, 0x55f32c
mov ecx, dword [0x55f32c]
lea eax, [edi + edi*4]
lea edx, [ecx + eax*8 + 4]
push edx
call fcn.0042f8a0
add esp, 4
jp 0x40a647
jnp 0x40a647
lea esi, [ebx - 1]
shl dword [ebx + 0x463974], cl
call ebx
mov dword [0x463974], eax
jp 0x40a654
jnp 0x40a654
lea esi, [ebx - 0x73]
dec ebp
call 0x4976543
add byte [edx + 4], bh
lea ecx, [ebp - 0x18]
call sub.mfc42.dll_CSingleLock::Unlock
jp 0x40a662
jnp 0x40a662
lea esi, [ebx + 0x5e]
pop esi
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call sub.mfc42.dll_CSingleLock::Unlock
pop edi
mov ecx, dword [ebp - 0xc]
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret