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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x450f98
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
jp 0x40afc2
jnp 0x40afc2
lea esi, [ebx - 0x75]
sbb eax, sym.imp.kernel32.dll_GetTickCount
mov ebx, dword [sym.imp.kernel32.dll_GetTickCount]
call ebx
sub eax, dword [0x463964]
cmp eax, 0x7530
jbe 0x40b029
call fcn.0042fa00
jp 0x40afe2
jnp 0x40afe2
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 0x40affd
jnp 0x40affd
lea esi, [ebx - 0x39]
add eax, 0x46394c
sldt word [eax]
add byte [edx + 4], bh
mov dword [0x46394c], 0xf
jp 0x40b00d
jnp 0x40b00d
lea esi, [ebx - 1]
shl dword [ebx + 0x463964], cl
call ebx
mov dword [0x463964], eax
jp 0x40b01a
jnp 0x40b01a
lea esi, [ebx + 0x5b]
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
jp 0x40b02f
jnp 0x40b02f
lea esi, [ebx - 1]
shr dword [ebx], cl
add eax, 0x46397c
call ebx
sub eax, dword [0x46397c]
cmp eax, 0x5dc
jbe 0x40b164
jp 0x40b048
jnp 0x40b048
lea esi, [ebx - 0x7d]
cmp eax, 0x474238
add esi, dword [ebp + 0x1d]
cmp dword [0x474238], 3
jne 0x40b06e
mov dword [0x46394c], 0xe
jp 0x40b061
jnp 0x40b061
lea esi, [ebx - 1]
shl dword [ebx + 0x463964], cl
call ebx
mov dword [0x463964], eax
jp 0x40b06e
jnp 0x40b06e
lea esi, [ebx + 0x57]
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 0x40b088
jnp 0x40b088
lea esi, [ebx + 0x6a]
dec dword [ebp - 0x711717b3]
dec esp
add al, 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x18]
call sub.mfc42.dll_CSingleLock::Lock
dec ebp
call 0x48d3f79
add byte [edx + 4], bh
jp 0x40b098
jnp 0x40b098
lea esi, [ebx + 0x39]
jge 0x40b08b
cmp dword [ebp - 0x10], edi
je 0x40b154
push esi
jp 0x40b0a8
jnp 0x40b0a8
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, 0x463943
jp 0x40b0ae
jnp 0x40b0ae
lea esi, [ebx + 0x39]
cmp eax, 0x55f330
cmp dword [0x55f330], edi
jle 0x40b145
mov eax, dword [0x55f32c]
xor esi, esi
mov edx, dword [esi + eax]
xor ecx, ecx
mov cl, byte [0x463943]
cmp edx, ecx
jne 0x40b100
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 0x40b0f6
jnp 0x40b0f6
lea esi, [ebx - 0x7d]
clc
push es
cmp eax, 6
jbe 0x40b110
mov eax, dword [0x55f32c]
mov ecx, dword [0x55f330]
inc edi
add esi, 0x28
cmp edi, ecx
jl 0x40b0c1
jmp 0x40b145
jp 0x40b116
jnp 0x40b116
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
jno 0x40b174
jp 0x40b11c
jnp 0x40b11c
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 al, byte [eax]
add esp, 4
jp 0x40b138
jnp 0x40b138
lea esi, [ebx - 1]
shl dword [ebx + 0x46397c], cl
call ebx
mov dword [0x46397c], eax
jp 0x40b145
jnp 0x40b145
lea esi, [ebx - 0x73]
dec ebp
call 0x48c7f34
add byte [edx + 4], bh
lea ecx, [ebp - 0x18]
call sub.mfc42.dll_CSingleLock::Unlock
jp 0x40b153
jnp 0x40b153
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
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop