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

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
cmp byte [esi], 0
je 0x446288
mov edi, dword [esi + 0xc]
test edi, 0x600
jne 0x446288
mov cl, byte [esi + 0x74]
test cl, 4
je 0x446233
fld dword [0x6213fc]
fmul dword [0x588a18]
fsubr dword [esi + 0x7c]
fst dword [esi + 0x7c]
fcomp dword [0x588314]
fnstsw ax
test ah, 0x41
je 0x446233
and cl, 0xfb
mov dword [esi + 0x7c], ebp
mov byte [esi + 0x74], cl
mov al, byte [esi + 1]
test al, al
jne 0x446288
test byte [esi + 0x50], 1
jne 0x446288
xor edx, edx
mov eax, 0x64f954
mov cl, byte [eax - 0x3f3]
test cl, cl
je 0x446277
test edi, 0x10000
je 0x446260
test byte [edx + esi + 0x18], 1
je 0x446277
test byte [edx + esi + 0x18], 0x42
jne 0x446277
mov ecx, dword [eax]
mov cx, word [ecx + 0x10]
test cl, 2
je 0x446277
test cl, 1
je 0x446290
add eax, 0x400
inc edx
cmp eax, 0x651154
jb 0x446247
and byte [esi + 0x74], 0xfe
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov al, byte [esi + 0x74]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
test al, 1
jne 0x4462bc
and al, 0xfb
mov dword [esi + 0x78], ebp
or al, 1
mov byte [esi + 0x80], 0
mov byte [esi + 0x74], al
call ebx
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], ebp
call ebx
mov ecx, dword [esi + 0x84]
mov edi, eax
sub edi, ecx
cmp edi, 0x40
jbe 0x4462d2
mov edi, 0x40
call ebx
mov edx, dword [esi + 0x88]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebp
mov dword [esi + 0x84], eax
fild qword [esp + 0x10]
mov eax, dword [esi + 0xc]
add edx, edi
test al, 0x80
fmul dword [0x588a60]
mov dword [esi + 0x88], edx
je 0x44630e
fld st(0)
fmul dword [esi + 0x78]
fmul dword [0x588a5c]
jmp 0x44631e
test ah, 1
je 0x446326
fld st(0)
fmul dword [esi + 0x78]
fmul dword [0x588a58]
fsubr st(1)
fadd dword [esi + 0x78]
fstp dword [esi + 0x78]
mov cl, byte [esi + 0x80]
test cl, cl
fstp st(0)
jne 0x446355
fld dword [esi + 0x78]
fcomp dword [0x588844]
fnstsw ax
test ah, 1
jne 0x446355
push ebp
push ebp
mov byte [esi + 0x80], 1
push 0x102
jmp 0x44663e
cmp cl, 1
jne 0x44637c
fld dword [esi + 0x78]
fcomp dword [0x5887b0]
fnstsw ax
test cl, ah
jne 0x44637c
push ebp
push ebp
mov byte [esi + 0x80], 2
push 0x103
jmp 0x44663e
cmp cl, 2
jne 0x4463a4
fld dword [esi + 0x78]
fcomp dword [0x5884cc]
fnstsw ax
test ah, 1
jne 0x4463a4
push ebp
push ebp
mov byte [esi + 0x80], 3
push 0x104
jmp 0x44663e
cmp cl, 3
jne 0x4463cc
fld dword [esi + 0x78]
fcomp dword [0x588614]
fnstsw ax
test ah, 1
jne 0x4463cc
push ebp
push ebp
mov byte [esi + 0x80], 4
push 0x105
jmp 0x44663e
cmp cl, 4
jne 0x4463f4
fld dword [esi + 0x78]
fcomp dword [0x588860]
fnstsw ax
test ah, 1
jne 0x4463f4
push ebp
push ebp
mov byte [esi + 0x80], 5
push 0x106
jmp 0x44663e
cmp cl, 5
jne 0x44641c
fld dword [esi + 0x78]
fcomp dword [0x5884d0]
fnstsw ax
test ah, 1
jne 0x44641c
push ebp
push ebp
mov byte [esi + 0x80], 6
push 0x107
jmp 0x44663e
cmp cl, 6
jne 0x446444
fld dword [esi + 0x78]
fcomp dword [0x588a54]
fnstsw ax
test ah, 1
jne 0x446444
push ebp
push ebp
mov byte [esi + 0x80], 7
push 0x108
jmp 0x44663e
cmp cl, 7
jne 0x44646c
fld dword [esi + 0x78]
fcomp dword [0x588a50]
fnstsw ax
test ah, 1
jne 0x44646c
push ebp
push ebp
mov byte [esi + 0x80], 8
push 0x109
jmp 0x44663e
cmp cl, 8
jne 0x446494
fld dword [esi + 0x78]
fcomp dword [0x588a4c]
fnstsw ax
test ah, 1
jne 0x446494
push ebp
push ebp
mov byte [esi + 0x80], 9
push 0x10a
jmp 0x44663e
cmp cl, 9
jne 0x4464bc
fld dword [esi + 0x78]
fcomp dword [0x588854]
fnstsw ax
test ah, 1
jne 0x4464bc
push ebp
push ebp
mov byte [esi + 0x80], 0xa
push 0x10b
jmp 0x44663e
cmp cl, 0xa
jne 0x4464e4
fld dword [esi + 0x78]
fcomp dword [0x588a48]
fnstsw ax
test ah, 1
jne 0x4464e4
push ebp
push ebp
mov byte [esi + 0x80], 0xb
push 0x10c
jmp 0x44663e
cmp cl, 0xb
jne 0x44650c
fld dword [esi + 0x78]
fcomp dword [0x588a44]
fnstsw ax
test ah, 1
jne 0x44650c
push ebp
push ebp
mov byte [esi + 0x80], 0xc
push 0x10d
jmp 0x44663e
cmp cl, 0xc
jne 0x446534
fld dword [esi + 0x78]
fcomp dword [0x588a40]
fnstsw ax
test ah, 1
jne 0x446534
push ebp
push ebp
mov byte [esi + 0x80], 0xd
push 0x10e
jmp 0x44663e
cmp cl, 0xd
jne 0x44655c
fld dword [esi + 0x78]
fcomp dword [0x588a3c]
fnstsw ax
test ah, 1
jne 0x44655c
push ebp
push ebp
mov byte [esi + 0x80], 0xe
push 0x10f
jmp 0x44663e
cmp cl, 0xe
jne 0x446584
fld dword [esi + 0x78]
fcomp dword [0x588a38]
fnstsw ax
test ah, 1
jne 0x446584
push ebp
push ebp
mov byte [esi + 0x80], 0xf
push pe_nt_image_headers32
jmp 0x44663e
cmp cl, 0xf
jne 0x4465ac
fld dword [esi + 0x78]
fcomp dword [0x588a34]
fnstsw ax
test ah, 1
jne 0x4465ac
push ebp
push ebp
mov byte [esi + 0x80], 0x10
push 0x111
jmp 0x44663e
cmp cl, 0x10
jne 0x4465d1
fld dword [esi + 0x78]
fcomp dword [0x588a30]
fnstsw ax
test ah, 1
jne 0x4465d1
push ebp
push ebp
mov byte [esi + 0x80], 0x11
push 0x112
jmp 0x44663e
cmp cl, 0x11
jne 0x4465f6
fld dword [esi + 0x78]
fcomp dword [0x588a2c]
fnstsw ax
test ah, 1
jne 0x4465f6
push ebp
push ebp
mov byte [esi + 0x80], 0x12
push 0x113
jmp 0x44663e
cmp cl, 0x12
jne 0x44661b
fld dword [esi + 0x78]
fcomp dword [0x588a28]
fnstsw ax
test ah, 1
jne 0x44661b
push ebp
push ebp
mov byte [esi + 0x80], 0x13
push 0x114
jmp 0x44663e
cmp cl, 0x13
jne 0x446648
fld dword [esi + 0x78]
fcomp dword [0x5889b4]
fnstsw ax
test ah, 1
jne 0x446648
push ebp
push ebp
mov byte [esi + 0x80], 0x14
push 0x115
mov ecx, 0x656120
call fcn.00449fa0
mov ecx, dword [esi + 0xc]
test cl, 0x80
je 0x446660
fld dword [esi + 0x78]
fcomp dword [0x588854]
fnstsw ax
test ah, 1
je 0x44667d
test ch, 1
je 0x446288
fld dword [esi + 0x78]
fcomp dword [0x5889b4]
fnstsw ax
test ah, 1
jne 0x446288
mov ecx, 0xffffffe8
lea ebx, [esi + 0x18]
sub ecx, esi
mov edi, 0x64f954
mov dword [esp + 0x10], ecx
mov al, byte [edi - 0x3f3]
test al, al
je 0x4466d2
test dword [esi + 0xc], 0x10000
je 0x4466a8
test byte [ebx], 1
je 0x4466d2
mov al, byte [ebx]
test al, 2
jne 0x4466d2
mov edx, dword [edi]
mov dx, word [edx + 0x10]
test dl, 2
je 0x4466d2
test dl, 1
jne 0x4466d2
or al, 0x60
mov byte [ebx], al
mov al, bl
add al, cl
mov ecx, esi
push eax
call fcn.00445c80
mov ecx, dword [esp + 0x10]
add edi, 0x400
inc ebx
lea edx, [ecx + ebx]
cmp edx, 6
jb 0x446690
mov ecx, esi
call fcn.004459d0
cmp al, 1
ja 0x44670a
mov al, byte [esi + 0x74]
mov ecx, esi
and al, 0xfe
mov dword [esi + 0x7c], 0x3f800000
or al, 6
mov byte [esi + 0x74], al
call fcn.00445b80
mov byte [esi + 0x47], 3
jmp 0x446752
mov cl, byte [esi + 0x74]
mov edi, 0x3f800000
and cl, 0xfe
mov dword [esi + 0x7c], edi
or cl, 4
mov byte [esi + 0x74], cl
mov ecx, esi
call fcn.00445940
cmp al, 1
ja 0x446745
mov dl, byte [esi + 0x74]
mov ecx, esi
and dl, 0xfe
mov dword [esi + 0x7c], edi
or dl, 6
mov byte [esi + 0x74], dl
call fcn.00445b80
mov byte [esi + 0x47], 3
jmp 0x446752
mov al, byte [esi + 0x74]
mov dword [esi + 0x7c], edi
and al, 0xfe
or al, 4
mov byte [esi + 0x74], al
push ebp
push 0x3c
push 0xfe
mov ecx, 0x656120
call fcn.00449fa0
push ebp
push 0x4b
push 0x76
mov ecx, 0x656120
call fcn.00449fa0
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret