Function at 0x451d32
Capabilities:
Check for time delay via gettickcount
Create thread

Disassembly:
mov eax, 0x547144
call fcn.0054565c
sub esp, 0x28
push ebx
push esi
push edi
mov dword [ebp - 4], 3
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
cmp eax, 0x69
ja 0x451f59
daa
sbb al, bh
out dx, al
psrad mm0, qword ss:[edi + edi*4]
pop eax
lahf
inc ebp
fdivr dword [ebp + 0x3a32e5a2]
invalid
and dword [ebp - 0x18], 0
call edi
cmp eax, 1
ja 0x451f79
invalid
push 0x571258
lea ecx, [ebp - 0x14]
call fcn.004024e8
mov byte [ebp - 4], 4
call edi
cmp eax, 7
ja 0x451fe2
adc byte [edx], ah
leave
out dx, eax
pop ss
add eax, dword [eax - 0x48fc3c0b]
invalid
push dword [ebp + 0x10]
lea eax, [ebp - 0x14]
push dword [ebp + 0xc]
push dword [ebp + 8]
push str._s:___s__s
push eax
call fcn.004032c2
add esp, 0x14
call edi
cmp eax, 0xc
ja 0x452206
rol dword [ecx - 3], 1
xchg ebx, eax
sahf
mov dl, byte [ecx + 0x4b]
sahf
push edx
fstp xword [edi]
inc ebp
bswap esi
sub al, 0x6f
cld
add al, 0xd0
hlt
call edi
cmp eax, 0x12
ja 0x452410
fsubp st(2)
fdiv qword [ecx + 0x5e]
ret
out dx, al
add dword [esi - 0x73], esp
test dword [ebx], eax
dec esp
pop ebx
invalid
mov esi, dword [ebp - 0x14]
cmp dword [esi - 4], 1
jle 0x452427
push dword [esi - 0xc]
lea ecx, [ebp - 0x14]
call fcn.0040266b
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x34], esi
call edi
cmp eax, 0x17
ja 0x452634
ja 0x45248a
xchg ebx, eax
enter 0xfffffffffffffaf6, 0x79
leave
and al, 0x23
and eax, 0x4dedbc8d
leave
xor dword [ebx + 0xb], edx
stc
sahf
push esp
js 0x4523f3
sti
push eax
jge 0x452435
xchg edi, eax
mov dh, 0xe6
and dl, al
fdivr qword [eax - 0x3ad135e8]
sub ebp, dword [edx]
mov edi, dword [ebp - 0x2d]
std
in al, dx
pop es
jo 0x45241f
inc edi
xchg ecx, eax
inc edi
sbb dword [ebx - 0x33a4351c], esi
cmp ebx, dword [edx]
lodsb al, byte [esi]
pop ecx
push ebp
retf 0x2ce1
popfd
in al, dx
pop eax
mov esp, 0x17f28284
cmp cl, byte [edx + 0x20]
cmp cl, byte [ebx]
insd dword es:[edi], dx
cmp byte [esi + edx*4 + 0x2e856a1f], dh
jbe 0x4524e7
mov es, word [eax + 0x76457e7c]
cmp byte [esi + edi*2 + 0x45], 0x76
sub esi, 0xffffffad
pop esp
mov eax, 0xfb4286d9
jbe 0x452472
mov eax, dword [0x4136abee]
dec esp
sbb byte [ecx - 0x55a882a7], bl
stc
sub byte [di - 0x795b], 0xf6
sbb al, byte [edx + 0x3f]
push edi
xchg ebp, eax
aaa
jno 0x4524a2
and ah, cl
dec esi
lodsd eax, dword [esi]
nop
aad 0x69
cmp eax, 0xfe8d0f95
fstp st(3)
adc dword [ebp + 0x74], 0xffffff85
jbe 0x4524c8
mov ebx, 0x912e6ffb
mov bl, 0xda
jno 0x452560
aas
sal ah, cl
ljmp 0x7de2
push cs
lock sub byte [eax], bl
adc al, 0x89
into
or byte [edx - 0x60809c0c], 0xd6
mov eax, dword [0xd8c48f5a]
test byte [eax + 0x62], 0x2c
scasb al, byte es:[edi]
xor byte [ebx - 0x6e5365cd], al
ror byte [esi], 0x44
xor cl, bh
jnp 0x4525a5
mov al, 0xfc
ret
std
cdq
mov bh, 0xf6
and ecx, ebx
xor eax, 0x39e69106
xchg ecx, eax
out 0x39, al
mov edi, 0xb481db5f
pop edx
cwde
jnp 0x45261c
test byte [ecx + 0x5a], ch
sbb al, 0xc7
jecxz 0x452621
mov dh, 0xe3
setg byte [ebx]
stosd dword es:[edi], eax
retf
xor edi, dword ss:[ecx - 0x20]
xor al, 0x12
xchg esi, eax
wait
push cs
movsd dword es:[edi], dword [esi]
mov esi, 0x769e0c7
jo 0x45259d
pop esi
invalid
cld
stosb byte es:[edi], al
push cs
inc edi
pushal
adc eax, 0x780a14d4
and ebx, ebp
js 0x452611
and ebx, ebp
sbb eax, 0xe112cf71
sbb eax, 0xe112cf71
mov eax, dword [0x35d9460a]
adc bl, byte [ecx]
fdivrp st(7)
mov al, byte [0xad987835]
mov eax, dword [ebp + 0x14]
cmp dword [eax - 4], 1
jle 0x45264b
push dword [eax - 0xc]
lea ecx, [ebp + 0x14]
call fcn.0040266b
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x30], eax
call edi
cmp eax, 0x1c
ja 0x452858
jl 0x4525f3
cwde
int 4
mov ah, byte [ebp - 0x42]
pushal
and eax, 0x452241c7
jnp 0x452691
popfd
jnp 0x45268b
mov cl, 0xf0
add cl, byte [esi + 0x12]
inc eax
cmc
or edx, dword [ebp + 0x44]
shl byte [ebx + 0x66], 7
aad 0x4e
imul ebp, ecx, 0xffffffa0
xlatb
push ebx
out 0xbc, eax
jl 0x452637
sbb eax, 0x89ccd867
xor edi, dword [edi - 0x11]
jg 0x45267c
adc bh, bh
sub al, byte [edi]
leave
adc al, 0x6c
outsb dx, byte [esi]
mul byte [ebx + 0x4b6436fe]
mov dword [0x4b6436fe], eax
je 0x452669
std
mov al, 0xf1
xchg ebp, eax
and byte [edx], cl
fdivr dword [eax]
imul ecx, esi, 0xffffffe2
pop esi
jae 0x452637
outsb dx, byte [esi]
mov dh, 0xb8
adc dword [eax], ebx
cmp eax, 0xbc8cd9d8
add ah, byte [ecx + 0x57ae919d]
xchg ecx, eax
mov bl, 0x8b
cmp byte [edi + 0x5d39b9f1], bh
jp 0x452700
cmpsb byte [esi], byte es:[edi]
xchg ebx, eax
mov byte [0xe3d309a2], al
adc eax, 0x72226d4d
and ebx, dword [esi + 0x34]
int3
mov ss, ebx
sub ebx, dword [ecx + 0x1bd4941e]
cdq
push ds
xchg esp, eax
aam 0x1b
pushfd
insb byte es:[edi], dx
jle 0x452703
cli
pop ebx
loopne 0x452697
add esp, dword gs:[esi - 0x49]
enter 0xffffffffffffde3b, 0x2f
invalid
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x2c], eax
call edi
cmp eax, 0x21
ja 0x452a68
adc al, 0xae
leave
lodsd eax, dword [esi]
xchg esi, eax
nop
mov eax, dword cs:[0x3b364894]
in al, dx
pop es
fstp st(2)
xchg esp, eax
ret 0xbad4
shl byte [esi + ebx*4 + 0xf], cl
xchg ecx, eax
cld
xchg ebx, eax
cmp dh, byte [0x278abbdf]
mov byte [0x78f0d7ea], al
push ss
xchg ecx, eax
dec edi
test dword [eax], 0x571f88a6
cmpsb byte [esi], byte es:[edi]
invalid
and eax, 0x634cac30
scasd eax, dword es:[edi]
les ecx, [edx - 0x6f011ba3]
in al, 0xfe
nop
push 0xffffffffffffff97
xchg edx, eax
or dword [edi - 0x5e3da8a4], ebx
adc eax, 0xb8b75234
xor al, 0x52
mov bh, 0xb8
xlatb
add byte [ebx], ah
push ebx
stosb byte es:[edi], al
loope 0x452a05
dec ebp
add eax, dword [ecx - 0x6d]
out dx, al
pushfd
inc esp
and dword gs:[edx - 0x33], eax
xchg ebx, eax
jns 0x452a31
lahf
in al, 0x73
pop edi
ret
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x28], eax
call edi
cmp eax, 0x26
ja 0x452c78
sub dword [ecx + esi], ecx
or edx, dword [edx - 0x531d9310]
stc
jg 0x452adc
jg 0x452aaf
cmp al, 0x85
or dword [eax - 0x52dac1c9], edx
int 0xfc
mov dl, 0xf6
sbb eax, esi
mov ch, 0xf3
inc edx
sub eax, 0xa229c617
jg 0x452b1b
jp 0x452a3a
cwde
and byte [ecx + 0x11], dl
iretd
cdq
cli
mov ch, bh
mov bh, 0xeb
adc edi, dword [esi + 8]
mov edx, 0x9aff01a8
stc
jnp 0x452a47
pop edx
jmp 0x452b13
invalid
dec edi
or cl, byte [eax]
mov dl, 0x38
invalid
aam 0xf0
ja 0x452aa1
in al, dx
mov edx, 0x864a222
push ebx
inc ecx
fimul word [ebx - 0x1b]
call 0x2870f249
pop esi
les edi, es:[ebx + 0x51]
int 0x91
or dword [edi], eax
retf
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call fcn.00460c76
mov ebx, eax
call edi
cmp eax, 0x2c
ja 0x452e91
jo 0x452cbd
xchg ebx, eax
add ebx, dword [esi + eax*2 - 0x27]
cwde
cmpsb byte [esi], byte es:[edi]
mov bh, ch
pop es
mov dword [esp + esi*8 + 0x1c083ec1], edx
cld
mov bh, 0x61
add dh, byte [ebx - 0x11bfe370]
inc ebx
sbb edi, dword [esi]
inc ebx
wait
dec ebx
inc edi
popfd
imul eax, dword [edx + 0x5fb07f3c], 0xfffffffd
std
sal dword [eax], cl
mov al, 0xdc
add edi, dword [ebx + 0x7a]
mov bh, 3
or byte [ebp + edx*2 + 0x10], ch
outsd dx, dword [esi]
shl byte [esi + 0x4c5fcbe6], 1
xor al, 0x62
pop edx
pop ebx
dec ebp
mov dh, dl
pop ebp
and al, al
pop eax
lcall 0x82a, 0x96a1256a
retf
push ebx
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp + 0x18], eax
call edi
cmp eax, 0x31
ja 0x4530aa
add byte [eax], bh
cli
stosb byte es:[edi], al
and eax, 0x1452cbbd
jp 0x452eea
je 0x452e97
retf 0x4f78
shl cl, 1
mov esi, 0x100743ec
out 0xc2, eax
xor esi, 0x66
out dx, eax
cmp ecx, dword [ebp + 0x23]
scasd eax, dword es:[edi]
push ebp
xor eax, 0xc1f93911
inc eax
insd dword es:[edi], dx
pop eax
add dword [eax - 0x13], ebp
out 0x4c, eax
push ebp
add cl, byte [esi + 0x5e]
test dword [edi + 0x1e], esi
cmpsb byte [esi], byte es:[edi]
ret
push ebx
call fcn.00418a9a
pop ecx
call edi
cmp eax, 0x36
ja 0x4532bb
or edi, dword [ebx + 0xf]
lcall 0xe05c, 0x202e9851
pop edi
push ecx
cwde
and byte cs:[eax + 0x5f], bl
scasd eax, dword es:[edi]
mov al, byte [esi]
sbb ebp, dword [ebx + edi]
mov esp, 0x76e375df
fiadd dword [edi + 0x5e]
jo 0x4530c0
pushal
test dl, dh
invalid
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
call edi
cmp eax, 0x3c
ja 0x4534ca
sbb dword [ebx + 0x45], ebp
test dword [edx], 0x45af5a88
cmc
cld
push ebx
sti
das
jle 0x453358
mov al, 0xb7
xor edi, eax
in al, 0x1f
sub al, byte [ebx + esi*8 + 0x3aae4664]
jle 0x453356
and byte [ebx + 0x36], bh
adc al, byte [0x91033882]
or dword [ecx + 0x5f], ebp
out dx, eax
fidivr dword [edx - 0x1d]
jp 0x45332f
mov esi, 0x386e2f6a
mov ah, 0x62
loope 0x4532fe
das
outsb dx, byte [esi]
cmp byte [edx - 0x4e98061f], dh
add al, 0xa9
push ebx
aaa
shl dword [ebx - 6], 1
mov cl, 4
test eax, 0x63d13753
cli
add dh, byte [ecx - 0x3a]
push eax
invalid
sbb eax, 0x2eb6c95a
cmp esp, dword [0xa85217e6]
inc ebx
mov word [ebx + eax*2 + 0x9eb988e], ss
sbb eax, 0xd3348987
add edi, dword [ebx + 0x69]
dec edi
jge 0x4532ce
cmp eax, 0xf71dcf64
leave
pop ds
ljmp 0xdf18
adc al, byte [esi]
das
sbb bh, bl
int1
mov ah, 0xf3
push esp
enter 0xffffffffffffe4d4, 0xffffffffffffffc9
into
aam 0xf0
ret 0x73c9
lea eax, [ebp - 0x1c]
push eax
push ebx
lea eax, [ebp - 0x34]
push eax
push 0x453fc7
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, eax
call edi
cmp eax, 0x41
ja 0x4536ec
cmp esi, dword [edi + 0x5a]
pushal
out dx, eax
dec edx
push eax
insb byte es:[edi], dx
inc eax
cmp bl, byte [esi]
push 0x45651657
out dx, al
add al, 0xc2
test al, 0x23
jmp 0x453534
in al, dx
mov ecx, 0xd9d5e4e3
adc eax, 0x38fd5700
jb 0x4534f6
or esp, edx
xor eax, 0x59555064
invalid
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ebx
call edi
cmp eax, 0x47
ja 0x4538ff
add dword [esp - 0x27], esp
retf
dec esp
cmp dword [eax + 0x383aed69], ebp
inc ecx
or esi, dword [ebx]
cdq
jge 0x453919
mov ah, 0xe8
push ecx
cmc
lahf
push esi
sar byte [edi - 0x74aa1cc9], 0x7a
push 0x13
lcall 0xd345, 0x23aedeb1
cld
not esp
inc eax
cmpsb byte [esi], byte es:[edi]
test byte gs:[ebx - 0x5a68a4dd], al
out 0xcf, eax
inc eax
loopne 0x45389d
pop ebp
mov ch, 0x5e
add dword [edx], esi
xchg byte [edx + ecx*4 + 0x28], al
sub eax, 0xe632e7ef
jge 0x453926
sti
rcl dword [eax + 0x4ef5ca72], 0x65
test eax, 0xc6ddad77
retf
scasd eax, dword es:[edi]
dec edi
inc ecx
sub byte [eax + 0x32d020e], dh
sub ch, byte [edx - 0x77c2801]
dec esp
call edi
cmp eax, 0x4c
ja 0x453b09
jnp 0x453892
popfd
mov byte [0x3b0f86e8], al
mov es, word [ecx + 0x30219492]
invalid
mov ebp, 0x1c00c480
mov dword [ecx - 0x20], esi
adc byte [edx], dh
sub eax, esp
aad 0xd5
stosb byte es:[edi], al
aad 0xaa
pop esp
test al, 0xcc
mov edx, 0xb13e2b8d
add byte [edx], cl
cmp byte [ecx], bh
inc edi
fild word [eax]
push edx
out dx, al
push ebx
cmpsb byte [esi], byte es:[edi]
cdq
mov cl, 0x86
fcmovne st(0), st(1)
jmp 0x4538f4
push 0x2bf20
push 0
lea eax, [ebp - 0x24]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, 0x102
je 0x453d60
cmp eax, 1
je 0x453b3f
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x18], 0
je 0x453b09
jmp 0x453f7d
call fcn.004ae8cf
lea ecx, [ebp - 0x18]
push ecx
push dword [ebp - 0x20]
call dword [eax + 0x148]
call edi
cmp eax, 0x61
ja 0x453f7d
invalid
xor al, 0x83
test byte [esi + 1], ah
lcall 0x8f60, 0xddb4ee00
iretd
push 0x507
push ebx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov dword [ebp - 0x18], 0x507
call edi
cmp eax, 0x57
ja 0x453f7d
inc edx
mov ah, 0x6d
cmp byte [esi], 0xd
mov dh, 0xeb
outsd dx, dword [esi]
imul ecx, dword [0x642d24d6], 0x38
or byte [ebx + ebx*8 - 0x6e8aac7c], ah
sub eax, dword [ecx + 0x3e]
mov ecx, 0xf17cc462
daa
jne 0x453d4c
sar byte [esi - 0x2f], 1
mov al, 0xbe
add dword [edx - 0x4468f68b], esp
sal dword [0x93b4e884], cl
mov byte [0xed157925], al
push cs
cdq
pushal
inc ebp
xchg edi, eax
mov esp, dword [ebx]
jo 0x453dbc
and esi, dword [eax - 3]
out 0xa7, eax
pop edi
std
enter 0xffffffffffffb2a8, 0x43
je 0x453e2d
jle 0x453df0
aas
int1
dec ebp
xchg ecx, eax
lodsb al, byte [esi]
shl dword [esi + 0x44], cl
salc
into
dec edi
cmp eax, 0x7291f90e
invalid
lds ebx, [ecx + 0x19]
push esp
pop eax
mov bh, 0xe5
lodsd eax, dword [esi]
int3
call 0xe99f117e
adc dl, 0xcc
and byte [edi], 0xd9
add al, 0x34
cmp al, 0x46
cmc
test dword [ecx], ebx
mov bl, 0x57
invalid
mov edi, dword [ebp - 0x18]
lea ecx, [esi - 0x10]
call fcn.004013c0
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
call fcn.004013c0
mov ecx, dword [ebp + 0x14]
add ecx, 0xfffffff0
call fcn.004013c0
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x18