Function at 0x4047f0
Capabilities:
Check for time delay via queryperformancecounter
Get disk information

Disassembly:
push ebp
mov ecx, 0x4019b0
mov ebp, esp
push edi
mov edx, 0x401a20
mov eax, 0x401a80
push esi
mov edi, 0x401af0
mov esi, 0x402e60
push ebx
sub esp, 0x3c
mov ebx, dword [ebp + 0xc]
mov dword [0x55b488], ecx
mov ecx, 0x402e70
mov dword [0x55b668], ebx
mov ebx, 0x402ea0
mov dword [0x55b48c], edx
mov edx, 0x402f30
mov dword [0x55b490], eax
mov eax, 0x401b80
mov dword [0x55b494], edi
mov edi, 0x4024a0
mov dword [0x55b498], esi
mov esi, 0x401cd0
mov dword [0x55b49c], ebx
mov ebx, 0x401d90
mov dword [0x55b4a0], ecx
mov ecx, 0x401dd0
mov dword [0x55b4a4], edx
mov edx, 0x401e40
mov dword [0x55b4a8], eax
mov eax, 0x402830
mov dword [0x55b4ac], edi
mov edi, 0x401ea0
mov dword [0x55b4b0], esi
mov esi, 0x401f00
mov dword [0x55b4b4], ebx
mov ebx, 0x402a60
mov dword [0x55b4b8], ecx
mov ecx, 0x4020b0
mov dword [0x55b4bc], edx
mov edx, fcn.00401f20
mov dword [0x55b4c0], eax
mov eax, 0x401b50
mov dword [0x55b4c4], edi
mov edi, 0x402270
mov dword [0x55b4c8], esi
mov esi, 0x402330
mov dword [0x55b4cc], ebx
mov ebx, 0x402980
mov dword [0x55b4d0], ecx
mov ecx, fcn.00402370
mov dword [0x55b4d4], edx
mov edx, 0x401c90
mov dword [0x55b4d8], eax
mov eax, 0x4027d0
mov dword [0x55b4dc], edi
mov edi, 0x402900
mov dword [0x55b4e0], esi
mov esi, 0x402d80
mov dword [0x55b4e4], ebx
mov ebx, 0x402df0
mov dword [0x55b4e8], ecx
mov ecx, 0x402fc0
mov dword [0x55b4ec], edx
mov edx, 0x403470
mov dword [0x55b4f0], eax
mov eax, 0x403010
mov dword [0x55b4f4], edi
mov edi, 0x403020
mov dword [0x55b4f8], esi
mov esi, 0x403350
mov dword [0x55b4fc], ebx
mov ebx, 0x403240
mov dword [0x55b500], ecx
mov ecx, 0x403130
mov dword [0x55b50c], edi
mov edi, 0x404520
mov dword [0x55b504], edx
mov edx, 0x403080
mov dword [0x55b508], eax
mov eax, 0x404280
mov dword [0x55b510], esi
mov esi, 0x403d90
mov dword [0x55b514], ebx
mov ebx, 0x407fb0
mov dword [0x55b518], ecx
mov ecx, 0x409280
mov dword [0x55b524], edi
mov edi, 0x407fe0
mov dword [0x55b51c], edx
mov edx, 0x407fd0
mov dword [0x55b520], eax
mov eax, 0x408800
mov dword [0x55b528], esi
mov esi, 0x40b2d0
mov dword [0x55b52c], ebx
mov ebx, 0x4098b0
mov dword [0x55b530], ecx
mov ecx, 0x40b520
mov dword [0x55b53c], edi
mov edi, 0x409a60
mov dword [0x55b534], edx
mov edx, 0x4099c0
mov dword [0x55b538], eax
mov eax, 0x40b3e0
mov dword [0x55b540], esi
mov esi, 0x409c40
mov dword [0x55b544], ebx
mov ebx, 0x40b720
mov dword [0x55b548], ecx
mov ecx, 0x4095f0
mov dword [0x55b554], edi
mov edi, 0x406780
mov dword [0x55b54c], edx
mov edx, 0x4066d0
mov dword [0x55b550], eax
mov eax, 0x4066e0
mov dword [0x55b558], esi
mov esi, 0x406c00
mov dword [0x55b55c], ebx
mov ebx, fcn.00404670
mov dword [0x55b560], ecx
mov ecx, fcn.00405a40
mov dword [0x55b56c], edi
mov edi, fcn.00405b50
mov dword [0x55b564], edx
mov edx, fcn.00405aa0
mov dword [0x55b568], eax
mov eax, fcn.00405af0
mov dword [0x55b570], esi
mov esi, 0x4063b0
mov dword [0x55b574], ebx
mov ebx, 0x405c20
mov dword [0x55b578], ecx
mov ecx, 0x405fe0
mov dword [0x55b584], edi
mov edi, 0x406350
mov dword [0x55b57c], edx
mov edx, 0x405e40
mov dword [0x55b580], eax
mov eax, 0x405f40
mov dword [0x55b588], esi
mov esi, 0x40c2a0
mov dword [0x55b59c], edi
mov edi, 0x416eb0
mov dword [0x55b58c], ebx
mov ebx, 0x40c2b0
mov dword [0x55b590], ecx
mov ecx, 0x40c340
mov dword [0x55b594], edx
mov edx, 0x416640
mov dword [0x55b598], eax
mov eax, 0x416c10
mov dword [0x55b5a0], esi
mov esi, 0x4170b0
mov dword [0x55b5b4], edi
mov edi, 0x40e740
mov dword [0x55b5a4], ebx
mov ebx, 0x416510
mov dword [0x55b5a8], ecx
mov ecx, 0x40eb50
mov dword [0x55b5ac], edx
mov edx, 0x40eb90
mov dword [0x55b5b0], eax
mov eax, 0x40e700
mov dword [0x55b5b8], esi
mov esi, 0x40e780
mov dword [0x55b5cc], edi
mov edi, 0x40ec80
mov dword [0x55b5bc], ebx
mov ebx, 0x40e9c0
mov dword [0x55b5c0], ecx
mov ecx, 0x40ec10
mov dword [0x55b5c4], edx
mov edx, 0x40ec30
mov dword [0x55b5c8], eax
mov eax, 0x40ec60
mov dword [0x55b5d0], esi
mov esi, 0x40eca0
mov dword [0x55b5e4], edi
mov edi, 0x40ed80
mov dword [0x55b5d4], ebx
mov ebx, 0x40ecd0
mov dword [0x55b5d8], ecx
mov ecx, 0x40ef30
mov dword [0x55b5dc], edx
mov edx, 0x40ed10
mov dword [0x55b5e0], eax
mov eax, 0x40ed30
mov dword [0x55b5e8], esi
mov esi, 0x40edf0
mov dword [0x55b5fc], edi
mov edi, 0x405290
mov dword [0x55b5ec], ebx
mov ebx, 0x40ee30
mov dword [0x55b5f0], ecx
mov ecx, 0x40ee90
mov dword [0x55b5f4], edx
mov edx, 0x40eef0
mov dword [0x55b5f8], eax
mov eax, 0x4046a0
mov dword [0x55b600], esi
mov esi, 0x4052b0
mov dword [0x55b614], edi
mov edi, 0x4054b0
mov dword [0x55b62c], edi
mov edi, 0x40c470
mov dword [0x55b644], edi
mov edi, dword [0x55ad98]
mov dword [0x55b604], ebx
mov ebx, 0x4052e0
test edi, edi
mov dword [0x55b608], ecx
mov ecx, fcn.004053e0
mov dword [0x55b60c], edx
mov edx, 0x405440
mov dword [0x55b610], eax
mov eax, 0x405430
mov dword [0x55b618], esi
mov esi, 0x405510
mov dword [0x55b61c], ebx
mov ebx, 0x405530
mov dword [0x55b620], ecx
mov ecx, 0x40c350
mov dword [0x55b624], edx
mov edx, 0x40c390
mov dword [0x55b628], eax
mov eax, 0x40c400
mov dword [0x55b630], esi
mov esi, 0x40e620
mov dword [0x55b634], ebx
mov ebx, 0x40c850
mov dword [0x55b638], ecx
mov ecx, 0x4017d0
mov dword [0x55b63c], edx
mov edx, 0x4017e0
mov dword [0x55b640], eax
mov eax, 0x401810
mov dword [0x55b648], esi
mov dword [0x55b64c], ebx
mov dword [0x55b650], ecx
mov dword [0x55b654], edx
mov dword [0x55b658], eax
je 0x404f13
xor edi, edi
lea ebx, [ebp - 0x18]
mov dword [0x55ad88], edi
mov dword [esp], ebx
call sub.KERNEL32.dll_QueryPerformanceFrequency
sub esp, 4
test eax, eax
jne 0x404e93
test byte [0x55ad88], 1
je 0x404dc0
lea esi, [ebp - 0x20]
mov dword [esp], esi
call sub.KERNEL32.dll_QueryPerformanceCounter
sub esp, 4
test byte [0x55ad88], 2
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
je 0x404df0
mov dword [esp], ebx
mov eax, dword [0x55ad78]
mov edi, dword [0x55ad7c]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
call fcn.00435600
mov dword [0x55ad68], eax
mov dword [0x55ad6c], edx
call fcn.004059d0
test eax, eax
je 0x404de1
lea esi, [esi]
lea edi, [edi]
call fcn.00405b90
test eax, eax
jne 0x404f32
mov eax, 0xfffffff3
mov dword [0x55adc8], eax
mov esi, esi
lea edi, [edi]
xor edx, edx
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
call sub.WINMM.DLL_timeGetTime
imul eax, eax, 0x3e8
xor edx, edx
mov dword [0x55ad68], eax
mov dword [0x55ad6c], edx
call fcn.004059d0
test eax, eax
jne 0x404d90
mov eax, 0xfffffff4
mov dword [0x55adc8], eax
jmp 0x404db0
mov dword [esp], ebx
mov ecx, dword [0x55ad78]
mov edi, dword [0x55ad7c]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.00435600
mov dword [ebp - 0x28], eax
mov eax, dword [0x55ad7c]
mov dword [ebp - 0x24], edx
mov edx, dword [0x55ad78]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.00435730
mov dword [ebp - 0x38], eax
mov eax, 0xf4240
mov dword [ebp - 0x34], edx
mul dword [ebp - 0x28]
imul ecx, dword [ebp - 0x24], 0xf4240
mov esi, edx
add esi, ecx
mov dword [ebp - 0x30], eax
mov eax, 0xf4240
mul dword [ebp - 0x38]
mov dword [ebp - 0x2c], esi
mov esi, dword [0x55ad78]
mov ecx, eax
imul eax, dword [ebp - 0x34], 0xf4240
mov dword [esp + 8], esi
mov dword [esp], ecx
lea ebx, [edx + eax]
mov edx, dword [0x55ad7c]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edx
call fcn.00435600
add eax, dword [ebp - 0x30]
adc edx, dword [ebp - 0x2c]
jmp 0x404dcd
mov dword [esp], ebx
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
call sub.KERNEL32.dll_QueryPerformanceCounter
sub esp, 4
test eax, eax
je 0x404d21
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, edx
or ecx, eax
je 0x404d21
mov dword [esp], esi
xor eax, eax
mov ecx, 0xf4240
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
call fcn.00435730
mov ebx, edx
or ebx, eax
jne 0x405045
mov dword [esp], esi
xor edx, edx
mov ebx, 0xf4240
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 4], edi
call fcn.00435600
or dword [0x55ad88], 3
mov dword [0x55ad78], eax
mov dword [0x55ad7c], edx
jmp 0x404d21
mov dword [esp], str.log.txt
mov esi, 0x554038
mov dword [esp + 4], esi
call sub.msvcrt.dll_fopen
mov dword [0x55ad98], eax
jmp 0x404d03
call fcn.00405a40
mov dword [0x55adb8], eax
test eax, eax
je 0x40503b
xor ebx, ebx
mov ecx, 0x55af88
xor eax, eax
mov dword [0x55ada8], ebx
mov edx, 7
nop
lea esi, [esi]
xor ebx, ebx
xor edi, edi
xor esi, esi
mov dword [eax + 0x55af78], ebx
mov dword [eax + 0x55af80], edi
mov dword [eax + ecx + 0xc], esi
add eax, 0xa0
dec edx
jns 0x404f60
mov eax, 0xffffffff
xor edx, edx
mov ecx, 0x55ae88
mov dword [0x55b478], eax
nop
mov eax, edx
xor ebx, ebx
shl eax, 5
mov dword [eax + 0x55ae78], ebx
xor edi, edi
xor esi, esi
mov dword [eax + 0x55ae7c], edi
inc edx
xor ebx, ebx
mov dword [eax + 0x55ae80], esi
xor edi, edi
xor esi, esi
mov dword [eax + 0x55ae84], ebx
cmp edx, 7
mov dword [eax + 0x55ae88], edi
mov dword [eax + ecx + 4], esi
jle 0x404f90
xor eax, eax
xor ecx, ecx
fldz
mov dword [0x55ade8], eax
xor edx, edx
xor eax, eax
mov dword [0x55ae08], ecx
xor ebx, ebx
xor ecx, ecx
mov dword [0x55adf8], edx
xor edi, edi
xor esi, esi
fstp qword [0x55ae48]
mov dword [0x55ae18], ecx
mov dword [0x55ae68], ebx
mov dword [0x55ae58], edi
mov dword [0x55ae38], esi
mov dword [0x55ae28], eax
call sub.KERNEL32.dll_GetLogicalDrives
mov edx, dword [ebp + 8]
shr eax, 2
mov dword [0x55b678], eax
mov dword [esp], edx
call fcn.00410b90
test eax, eax
jne 0x40505d
mov esi, 0xffffffe9
mov dword [0x55adc8], esi
jmp 0x404db0
mov eax, 0xfffffff2
jmp 0x404de6
or dword [0x55ad88], 1
mov dword [0x55ad78], esi
mov dword [0x55ad7c], edi
jmp 0x404d21
mov edi, dword [ebp + 8]
mov dword [esp], edi
call fcn.0040c4b0
test eax, eax
jne 0x40507c
mov ebx, 0xffffffee
mov dword [0x55adc8], ebx
jmp 0x404db0
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call fcn.0040c590
test eax, eax
jne 0x40509b
mov ecx, 0xffffffed
mov dword [0x55adc8], ecx
jmp 0x404db0
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0040cc80
test eax, eax
jne 0x4050b4
mov esi, 0xffffffec
jmp 0x405030
mov edi, dword [ebp + 0xc]
mov dword [esp], edi
call fcn.0040b030
test eax, eax
jne 0x4050cd
mov eax, 0xffffffeb
jmp 0x404de6
call fcn.004073c0
test eax, eax
jne 0x4050e0
mov eax, 0xffffffea
jmp 0x404de6
call fcn.004164d0
test eax, eax
mov edx, 0x55b488
jne 0x404db2
mov eax, 0xffffffe7
jmp 0x404de6