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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x462181
mov eax, dword fs:[0]
push eax
sub esp, 0x85c
mov eax, dword [0x474860]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x858], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x854], esi
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x868], 0
call ebx
cmp eax, 8
ja 0x407a9e
mov dh, 0x51
xchg bh, al
lcall 0xb4d9, 0x2cc0d6ce
je 0x407abf
cmp ecx, dword [esi - 0x5d]
sub al, 0x68
fdivrp st(0)
mov dword [esp + ebx*8 + 0x7105dd46], edi
je 0x407a23
inc edx
xor byte [edx], bl
outsb dx, byte [esi]
stosb byte es:[edi], al
add ecx, ecx
cmp al, 0xf0
pop ebp
invalid
mov dword [ebp - 0x850], 0
call ebx
cmp eax, 3
ja 0x407ad8
and byte [esi], ch
scasb al, byte es:[edi]
in eax, 0xf
dec edi
ret
inc esp
sub dword [edx + 0x5267efbf], edx
dec ebx
pop ds
xchg esi, eax
retf
xor eax, eax
push eax
push 0x46cd04
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0x838], 7
mov dword [ebp - 0x83c], 0
mov word [ebp - 0x84c], ax
call fcn.00402380
mov dword [ebp - 4], 0
call ebx
cmp eax, 8
ja 0x407b6f
add al, 0x2c
int1
invalid
call fcn.0041cbb0
mov eax, dword [eax + 0x218]
push 0
lea ecx, [ebp - 0x850]
push ecx
push 0
push 0
push 0x16
push edi
call eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x407d51
mov eax, dword [ebp - 0x850]
xor ecx, ecx
shr eax, 1
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0044738c
add esp, 4
mov esi, eax
call ebx
cmp eax, 1
ja 0x407bda
in al, dx
cmp al, 0x75
cli
retf
mov eax, dword [ebp - 0x850]
shr eax, 1
push eax
push 0
push esi
call fcn.0044b2e0
add esp, 0xc
call ebx
cmp eax, 6
ja 0x407c3c
retf
call fcn.0041cbb0
mov eax, dword [eax + 0x218]
push 0
lea ecx, [ebp - 0x850]
push ecx
push esi
push 0
push 0x16
push edi
call eax
push esi
lea ecx, [ebp - 0x864]
call fcn.00406f00
mov byte [ebp - 4], 1
mov edx, dword [eax]
cmp word [edx], 0
jne 0x407c74
xor ecx, ecx
jmp 0x407c93
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x85c], eax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407c80
sub ecx, dword [ebp - 0x85c]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x84c]
call fcn.00402380
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x864]
add edx, 0xfffffff0
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x407cc4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call ebx
cmp eax, 7
ja 0x407d1c
fsubr qword [eax - 0x41]
js 0x407cd0
and byte [esi], 0x74
mov ch, 0xa3
xor eax, 0x75936b21
imul ebp, dword [eax - 0xa6aa83a], 0xffffffb9
xor dword [esi], ebp
clc
xchg dword [ecx + eax*2 - 0x327f4522], eax
cld
popal
retf 0xb574
int1
test eax, 0xe3494f6d
xor bl, ch
add al, 0x51
dec esi
cdq
and ecx, eax
in al, dx
cmp byte [ecx], bl
xchg edi, eax
imul esi, esi, 0x72
adc eax, 0xd991b699
sub byte [esi + 0x98de856], dh
add al, 0
push esi
call fcn.004486af
add esp, 4
call ebx
cmp eax, 2
ja 0x407d4b
shl byte [edi + 0x69d06e5f], 1
btc dword [ecx], edx
je 0x407d00
cmp al, 0xbf
or eax, 0x2ccffc4e
inc edi
push edx
dec ebx
xor byte [esi], 6
ljmp 0xbeee
mov esi, dword [ebp - 0x854]
mov dword [ebp - 0x814], 0
call ebx
cmp eax, 9
ja 0x407dc7
ja 0x407d68
mov al, byte [0x7bffbeb2]
std
invalid
jnp 0x407d67
add byte [eax + eax*8], 0x72
wait
xchg esp, eax
mov ebp, 0x94946eb4
in eax, dx
retf
mov dword [ebp - 0x834], 4
call ebx
cmp eax, 4
ja 0x407e0b
stc
jmp 0x51bb4b7f
call fcn.0041cbb0
mov eax, dword [eax + 0x218]
push 0
lea ecx, [ebp - 0x834]
push ecx
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0x20000013
push edi
call eax
mov eax, dword [ebp - 0x814]
mov dword [esi], eax
call ebx
cmp eax, 3
ja 0x407e68
hlt
xor eax, eax
push 0x7fe
push eax
mov word [ebp - 0x810], ax
lea eax, [ebp - 0x80e]
push eax
call fcn.0044b2e0
add esp, 0xc
call ebx
cmp eax, 9
ja 0x407ef2
mov dh, 0x51
dec edx
cmc
pop edi
push ebx
xchg edx, eax
jae 0x407eb7
invalid
adc dword [edi], esi
push ebx
mov esi, 0xcba18fa9
sbb esp, edi
popal
mov ah, 0x20
loope 0x407ec9
and dword [ebx], ebp
push es
std
and al, dh
push cs
dec ebx
dec eax
cmp ah, ah
arpl word [ebp - 0x6be31cef], sp
xor esp, edi
test al, 0xa8
or ebp, dword [edx - 0x58]
push cs
ljmp 0xc2c3
mov dword [ebp - 0x830], 0x400
call ebx
cmp eax, 4
ja 0x407f36
nop
inc edi
or al, 0x32
shr byte [esi + 0x16], cl
xlatb
salc
sar byte [esi], 0x40
cmp bh, bl
lahf
sub al, 0x8f
hlt
call fcn.0041cbb0
mov eax, dword [eax + 0x218]
push 0
lea ecx, [ebp - 0x830]
push ecx
lea ecx, [ebp - 0x810]
push ecx
push 0
push 0x1d
push edi
call eax
xor eax, eax
mov dword [ebp - 0x818], 7
mov dword [ebp - 0x81c], 0
mov word [ebp - 0x82c], ax
cmp word [ebp - 0x810], ax
jne 0x407f82
idiv edi
inc dword [eax]
add byte [eax], al
add byte [esi - 0x77], ah
test esp, edx
idiv edi
jmp dword [esi + 0x39]
xor ecx, ecx
jmp 0x407f9f
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
jmp 0x407f90
push ecx
add ch, bl
add ecx, dword [ebp - 0x7499ffb7]
add dword [ebx - 0x7a99fd3f], eax
sal byte [ebp - 0xb], 0x2b
retf 0xf9d1
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x407f90
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x82c]
call fcn.00402380
mov byte [ebp - 4], 2
call ebx
cmp eax, 3
ja 0x407fe6
sbb ebp, eax
mov ch, 0xa1
push ss
ja 0x407f89
jl 0x407f67
shr dword [ecx + 0x4e], 0x35
sub byte [ecx], cl
sub ch, byte [ecx + 0x2684ffa]
xchg ebx, eax
dec edx
mov word [ebx], es
xchg edi, eax
loopne 0x408004
push edx
jne 0x408005
ljmp 0x6334:0xdc7ad582
mov edi, dword [ebp - 0x818]
mov esi, dword [ebp - 0x82c]
cmp edi, 8
lea eax, [ebp - 0x82c]
cmovae eax, esi
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x81c]
lea ecx, [ebp - 0x82c]
cmovae ecx, esi
test esp, esp
idiv edi
dec dword [ebp - 0x82b73]
dec dword [edi]
invalid
inc ebx
into
lea edx, [ebp - 0x82c]
lea eax, [ecx + eax*2]
cmovae edx, esi
cmp edx, eax
je 0x40803d
push fcn.0044842d
push dword [ebp - 0x854]
lea ecx, [ebp - 0x854]
push eax
call fcn.00401bc0
add esp, 0xc
call ebx
cmp eax, 8
ja 0x40809f
int 0x81
push ecx
dec edi
jp 0x408082
das
jecxz 0x4080be
jne 0x40809f
cmp bh, byte [edx + 0x72]
push ecx
nop
scasb al, byte es:[edi]
jb 0x408011
pop edx
jg 0x40800b
fyl2xp1
wait
movsb byte es:[edi], byte [esi]
invalid
outsd dx, dword [esi]
dec esi
xchg byte ss:[ecx + 0x1d8bbb51], dh
iretd
call fcn.0042fd10
mov edx, eax
cmp word [edx], 0
jne 0x4080b0
xor ecx, ecx
jmp 0x4080c4
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4080b5
sub ecx, esi
sar ecx, 1
push ecx
push edx
push dword [ebp - 0x81c]
lea ecx, [ebp - 0x82c]
push 0
call fcn.00401730
mov ecx, dword [ebp - 0x860]
mov ebx, dword [ebp - 0x858]
test eax, eax
sete al
mov byte [ecx], al
lea eax, [ebp - 0x84c]
push eax
mov ecx, ebx
call fcn.00401d90
cmp dword [ebp - 0x818], 8
jb 0x408111
push dword [ebp - 0x82c]
call fcn.00447bb4
add esp, 4
xor eax, eax
cmp dword [ebp - 0x838], 8
mov dword [ebp - 0x818], 7
mov dword [ebp - 0x81c], 0
mov word [ebp - 0x82c], ax
jb 0x408145
push dword [ebp - 0x84c]
call fcn.00447bb4
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00447bb9
mov esp, ebp
pop ebp
ret 0x10