Function at 0x5365f8
Capabilities:
Check for time delay via queryperformancecounter
Copy file
Get disk information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc7
push 0
push 0
dec ecx
jne 0x536600
push ecx
push ebx
xor eax, eax
push ebp
push 0x536bc7
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x7d0
call sub.kernel32.dll_Sleep_2
mov dl, 1
mov eax, dword [0x4362c0]
call fcn.00442d20
mov dword [0x54d560], eax
mov dl, 1
mov eax, dword [0x4362c0]
call fcn.00442d20
mov dword [0x54d564], eax
lea eax, [ebp - 0x20]
push eax
call sub.kernel32.dll_QueryPerformanceCounter_1
call sub.kernel32.dll_GetLogicalDrives
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
mov eax, 1
shl eax, cl
and eax, dword [ebp - 0x54]
je 0x53670f
lea eax, [ebp - 0x6c]
mov dx, word [ebp - 0x58]
add dx, 0x41
call fcn.0040795c
lea eax, [ebp - 0x18]
push eax
call sub.kernel32.dll_QueryPerformanceFrequency
lea eax, [ebp - 0x28]
push eax
call sub.kernel32.dll_QueryPerformanceCounter_1
lea eax, [ebp - 0x5d4]
mov ecx, 0x536be0
mov edx, dword [ebp - 0x6c]
call fcn.00407b88
mov eax, dword [ebp - 0x5d4]
call fcn.0040793c
push eax
call sub.kernel32.dll_GetDriveTypeW
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 3
jne 0x53670f
lea eax, [ebp - 0x5d8]
mov ecx, 0x536bf4
mov edx, dword [ebp - 0x6c]
call fcn.00407b88
mov eax, dword [ebp - 0x5d8]
mov edx, dword [0x54d568]
call fcn.0053621c
lea eax, [ebp - 0x30]
push eax
call sub.kernel32.dll_QueryPerformanceCounter_1
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x28]
sbb edx, dword [ebp - 0x24]
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], edx
fild qword [ebp - 0x5e0]
fild qword [ebp - 0x18]
fdivp st(1)
fstp xword [ebp - 0x50]
wait
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0x1a
jne 0x536659
lea eax, [ebp - 0x38]
push eax
call sub.kernel32.dll_QueryPerformanceCounter_1
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
sub eax, dword [ebp - 0x20]
sbb edx, dword [ebp - 0x1c]
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], edx
fild qword [ebp - 0x5e0]
fild qword [ebp - 0x18]
fdivp st(1)
fstp xword [ebp - 0x50]
wait
fld xword [ebp - 0x50]
call fcn.0040491c
add eax, 1
adc edx, 0
push edx
push eax
lea eax, [ebp - 0x68]
call fcn.0041d834
mov eax, dword [0x54d560]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x536b05
inc eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x58], 0
mov dl, 1
mov eax, dword [0x4362c0]
call fcn.00442d20
mov dword [0x54d55c], eax
lea ecx, [ebp - 0x5e4]
mov edx, dword [ebp - 0x58]
mov eax, dword [0x54d560]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x5e4]
call fcn.005360ac
mov dword [0x54d55c], eax
mov dl, 1
mov eax, dword [0x4362c0]
call fcn.00442d20
mov dword [ebp - 0x70], eax
mov eax, dword [0x54d55c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x536af9
inc eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x5e8]
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x54d55c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x5e8]
mov edx, 0x536c04
call fcn.00407cc0
jne 0x5369ed
lea ecx, [ebp - 0x5ec]
mov edx, dword [ebp - 0x58]
mov eax, dword [0x54d560]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea eax, [ebp - 0x5ec]
push eax
lea ecx, [ebp - 0x5f0]
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x54d55c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x5f0]
pop eax
call fcn.00407b30
mov eax, dword [ebp - 0x5ec]
call fcn.00535e68
mov dword [ebp - 0xc], eax
mov dl, 1
mov eax, dword [0x4362c0]
call fcn.00442d20
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x536c30
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x5f4]
mov edx, dword [ebp - 0x70]
mov eax, 0x536c4c
call fcn.00535fdc
mov eax, dword [ebp - 0x5f4]
call fcn.0041d88c
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x44]
mov edx, 0x536c8c
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x5f8]
mov edx, dword [ebp - 0x70]
mov eax, 0x536c4c
call fcn.00535fdc
mov eax, dword [ebp - 0x5f8]
call fcn.0041d88c
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0xc]
jne 0x5368e0
cmp dword [ebp - 8], 0
jne 0x536aed
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jne 0x5368f2
cmp dword [ebp - 4], 0
jne 0x536aed
push dword [ebp - 0x64]
lea ecx, [ebp - 0x5fc]
mov edx, dword [ebp - 0x58]
mov eax, dword [0x54d560]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x5fc]
lea ecx, [ebp - 0x600]
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x54d55c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x600]
push 0x536ca4
lea eax, [ebp - 0x64]
mov edx, 4
call fcn.00407c10
lea ecx, [ebp - 0x604]
mov edx, dword [ebp - 0x58]
mov eax, dword [0x54d560]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea eax, [ebp - 0x604]
push eax
lea ecx, [ebp - 0x608]
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x54d55c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x608]
pop eax
call fcn.00407b30
mov eax, dword [ebp - 0x604]
mov cl, 1
xor edx, edx
call fcn.0041df80
push 0
lea ecx, [ebp - 0x60c]
mov edx, dword [ebp - 0x58]
mov eax, dword [0x54d560]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x610]
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x54d55c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x610]
pop eax
call fcn.00407b30
mov eax, dword [ebp - 0x60c]
call fcn.0040793c
push eax
lea edx, [ebp - 0x614]
xor eax, eax
call fcn.0040487c
mov eax, dword [ebp - 0x614]
call fcn.0040793c
push eax
call sub.kernel32.dll_CopyFileW
test eax, eax
jmp 0x536aed
push 0xfa
call sub.kernel32.dll_Sleep_2
lea ecx, [ebp - 0x618]
mov edx, dword [ebp - 0x58]
mov eax, dword [0x54d560]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea eax, [ebp - 0x618]
push eax
lea ecx, [ebp - 0x61c]
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x54d55c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x61c]
pop eax
call fcn.00407b30
mov eax, dword [ebp - 0x618]
mov cl, 1
xor edx, edx
call fcn.0041df80
push 0
lea ecx, [ebp - 0x620]
mov edx, dword [ebp - 0x58]
mov eax, dword [0x54d560]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea eax, [ebp - 0x620]
push eax
lea ecx, [ebp - 0x624]
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x54d55c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x624]
pop eax
call fcn.00407b30
mov eax, dword [ebp - 0x620]
call fcn.0040793c
push eax
lea edx, [ebp - 0x628]
xor eax, eax
call fcn.0040487c
mov eax, dword [ebp - 0x628]
call fcn.0040793c
push eax
call sub.kernel32.dll_CopyFileW
test eax, eax
push dword [ebp - 0x64]
lea ecx, [ebp - 0x62c]
mov edx, dword [ebp - 0x58]
mov eax, dword [0x54d560]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x62c]
lea ecx, [ebp - 0x630]
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x54d55c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x630]
push 0x536ca4
lea eax, [ebp - 0x64]
mov edx, 4
call fcn.00407c10
inc dword [ebp - 0x5c]
dec dword [ebp - 0x78]
jne 0x5367e3
inc dword [ebp - 0x58]
dec dword [ebp - 0x74]
jne 0x536782
mov dl, 1
mov eax, dword [0x4362c0]
call fcn.00442d20
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x634]
mov ecx, dword [ebp - 0x68]
mov edx, 0x536cb4
call fcn.00407b88
mov edx, dword [ebp - 0x634]
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x638]
mov ecx, dword [ebp - 0x64]
mov edx, 0x536cc8
call fcn.00407b88
mov edx, dword [ebp - 0x638]
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x63c]
mov edx, dword [ebp - 0x70]
mov eax, 0x536cdc
call fcn.00535fdc
mov eax, dword [0x547730]
mov byte [eax], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x536bce
lea eax, [ebp - 0x63c]
mov edx, 0x17
call fcn.00406fdc
lea eax, [ebp - 0x5d8]
mov edx, 2
call fcn.00406fdc
lea eax, [ebp - 0x5cc]
call fcn.00406f7c
lea eax, [ebp - 0x374]
mov edx, 5
call fcn.00406fdc
lea eax, [ebp - 0x6c]
mov edx, 3
call fcn.00406fdc
ret