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

Disassembly:
push 0xffffffffffffffff
push 0x10062fd1
mov eax, dword fs:[0]
push eax
mov eax, 0x104b0
call sub.ntdll.dll__chkstk
mov eax, dword [0x100dd9d4]
xor eax, esp
mov dword [esp + 0x104ac], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100dd9d4]
xor eax, esp
push eax
lea eax, [esp + 0x104c4]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x104d4]
mov ebp, ecx
xor edi, edi
mov ecx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], edi
call fcn.1002eb20
test eax, eax
ja 0x1004f0b4
mov eax, 1
mov ecx, dword [esp + 0x104c4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x104ac]
xor ecx, esp
call fcn.10059076
add esp, 0x104bc
ret 4
mov ebx, dword [esp + 0x20]
test byte [0x100e73f4], 1
jne 0x1004f0cf
or dword [0x100e73f4], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x100e73f0], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x100e73f0]
cmp eax, 0x3e8
jb 0x1004f1b2
lea eax, [edi + 1]
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x1004f0fb
fadd qword [0x100644a0]
mov ecx, ebx
fstp qword [esp + 0x24]
call fcn.1002eb20
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x1004f118
fadd qword [0x100644a0]
fdivr qword [esp + 0x24]
fmul qword [0x10064600]
call fcn.100594f0
push 0x3fe
lea ecx, [esp + 0x40c6]
push 0
push ecx
mov esi, eax
mov word [esp + 0x40cc], 0
call sub.ntdll.dll_memset
add esp, 0xc
push esi
mov ecx, ebx
call fcn.1002eb20
mov ebx, dword [sym.imp.MSVCR80.dll__swprintf]
push eax
push edi
lea edx, [esp + 0x40cc]
push str.Process_File_Record___u__u___d___
push edx
call ebx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
add esp, 0x14
lea edx, [esp + 0x40c0]
push edx
call eax
push esi
lea ecx, [esp + 0x40c4]
push str.Status:_d
push ecx
call ebx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx]
mov edx, dword [edx + 0x3c]
add esp, 0xc
lea eax, [esp + 0x40c0]
push eax
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [esp + 0x20]
mov dword [0x100e73f0], eax
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx]
mov edx, dword [eax + 0x74]
call edx
test eax, eax
jne 0x1004f61f
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1004f1d7
mov eax, dword [ebx + 8]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1004f1dd
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [ebx + 4]
mov ebx, dword [eax + edi*8]
mov esi, dword [eax + edi*8 + 4]
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x7c]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], esi
call fcn.1002edf0
push 0
lea eax, [esp + 0x6c]
push eax
push esi
lea ecx, [ebp + 0xb8]
push ebx
mov dword [esp + 0x104dc], 0
call fcn.100329c0
test eax, eax
je 0x1004f65e
push 0x3fff
lea ecx, [esp + 0x84c5]
push 0
push ecx
mov byte [esp + 0x84cc], 0
call sub.ntdll.dll_memset
push 0x3fff
lea edx, [esp + 0x44d1]
push 0
push edx
mov byte [esp + 0x44d8], 0
call sub.ntdll.dll_memset
mov eax, dword [ebp + 0x41a4]
add esp, 0x18
push eax
lea ecx, [esp + 0x6c]
call fcn.1002ea60
push eax
lea ecx, [esp + 0x84c8]
push ecx
call sub.ntdll.dll_memcpy
mov edx, dword [ebp + 0x41a4]
push edx
lea eax, [esp + 0x84d0]
push eax
lea ecx, [esp + 0x44d4]
push ecx
call sub.ntdll.dll_memcpy
movzx ebx, word [esp + 0x84ec]
push ebx
lea edx, [esp + 0x84dc]
push edx
lea eax, [esp + 0x44e0]
push eax
mov dword [esp + 0x48], ebx
call sub.ntdll.dll_memcpy
add esp, 0x24
lea ecx, [esp + 0x68]
mov dword [esp + 0x44d8], ebx
call fcn.1002ea30
lea ecx, [esp + 0x68]
call fcn.1002fa70
mov esi, eax
test esi, esi
je 0x1004f4e5
cmp byte [esi + 8], 0
jne 0x1004f321
mov ecx, dword [esi + 4]
push ecx
lea eax, [esp + ebx + 0x44c4]
push esi
push eax
call sub.ntdll.dll_memcpy
mov esi, dword [esi + 4]
add dword [esp + 0x44e4], esi
add ebx, esi
add esp, 0xc
lea ecx, [esp + 0x68]
mov dword [esp + 0x24], ebx
call fcn.1002f6d0
mov esi, eax
jmp 0x1004f4dd
lea ecx, [esp + 0x50]
call fcn.100306a0
push esi
lea ecx, [esp + 0x54]
mov byte [esp + 0x104d0], 1
call fcn.10030760
test eax, eax
je 0x1004f6bd
xor edi, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
lea ecx, [esp + 0x50]
mov byte [esp + 0x104cc], 2
call fcn.10030d80
test eax, eax
mov dword [esp + 0x14], eax
jbe 0x1004f422
nop
push edi
lea ecx, [esp + 0x54]
call fcn.100305b0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], ecx
and ecx, edx
cmp ecx, 0xffffffff
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
je 0x1004f3a9
mov ecx, dword [ebp + 0x4190]
add dword [esp + 0x40], ecx
mov edx, dword [ebp + 0x4194]
adc dword [esp + 0x44], edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
call fcn.1003bda0
add edi, 1
cmp edi, dword [esp + 0x14]
jb 0x1004f370
push 0x80000
call sub.MSVCR80.dll_void____cdecl_operator_new___unsigned_int_
push 0x80000
mov edi, eax
push 0
push edi
call sub.ntdll.dll_memset
add esp, 0x10
lea edx, [esp + 0x30]
push edx
mov ecx, ebp
call fcn.1003cc50
push edi
lea eax, [esp + 0x34]
push eax
push esi
mov ecx, ebp
call fcn.1004bb20
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x44d8]
mov ebx, dword [esp + 0x24]
add edx, eax
cmp edx, dword [ebp + 0x41a4]
lea ecx, [esp + ebx + 0x44c0]
ja 0x1004f449
push eax
push edi
push ecx
call sub.ntdll.dll_memcpy
add esp, 0xc
jmp 0x1004f485
mov ecx, dword [esi + 4]
push ecx
lea eax, [esp + ebx + 0x44c4]
push esi
push eax
call sub.ntdll.dll_memcpy
mov esi, dword [esi + 4]
add ebx, esi
add esp, 0xc
add dword [esp + 0x44d8], esi
mov dword [esp + 0x24], ebx
jmp 0x1004f49e
call fcn.10059c60
mov esi, dword [eax]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
push eax
push ecx
push 0xac3
mov ecx, str...quickmoventfs.cpp
add esi, 8
call fcn.1004a630
mov edx, dword [esp + 0x20]
add esp, 4
push eax
mov eax, dword [esi]
push str._s:_File_fragments__FrNumber:_I64d.
push edx
call eax
add esp, 0x14
mov eax, dword [edi + 4]
add dword [esp + 0x44d8], eax
add ebx, eax
push edi
mov dword [esp + 0x28], ebx
call sub.MSVCR80.dll_void___cdecl_operator_delete___void__
add esp, 4
lea ecx, [esp + 0x68]
call fcn.1002f6d0
mov esi, eax
mov eax, dword [esp + 0x34]
xor edi, edi
cmp eax, edi
je 0x1004f4bc
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
lea ecx, [esp + 0x50]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov byte [esp + 0x104cc], 0
call fcn.100309d0
mov edi, dword [esp + 0x2c]
test esi, esi
jne 0x1004f2e6
mov ecx, dword [esp + 0x44d8]
add ecx, 8
cmp ecx, dword [ebp + 0x41a4]
lea ebx, [esp + ebx + 0x44c0]
ja 0x1004f50b
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0
mov eax, dword [esp + 0x44d8]
mov esi, dword [ebp + 0x41a4]
add eax, 8
cmp eax, esi
mov dword [esp + 0x44d8], eax
ja 0x1004f71b
cmp dword [ebp + 0x34], 0
jne 0x1004f5ee
push 0x3fff
lea edx, [esp + 0xc4c5]
push 0
push edx
mov byte [esp + 0xc4cc], 0
call sub.ntdll.dll_memset
push esi
lea eax, [esp + 0x44d0]
push eax
lea ecx, [esp + 0xc4d4]
push ecx
call sub.ntdll.dll_memcpy
movzx edx, word [esp + 0xc4de]
sub edx, 1
add esp, 0x18
xor eax, eax
test edx, edx
jle 0x1004f5c2
lea ecx, [esp + 0xc6be]
movzx edx, word [esp + 0xc4c4]
mov si, word [ecx]
lea edx, [esp + edx + 0xc4c2]
mov word [edx + eax*2], si
movzx edx, word [esp + 0xc4c4]
mov dx, word [esp + edx + 0xc4c0]
mov word [ecx], dx
movzx edx, word [esp + 0xc4c6]
add eax, 1
sub edx, 1
add ecx, 0x200
cmp eax, edx
jl 0x1004f581
mov eax, dword [ebp + 0x41a4]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0xc4c4]
push ecx
push edx
push eax
lea ecx, [ebp + 0xb8]
call fcn.10031c90
test eax, eax
je 0x1004f75b
lea ecx, [esp + 0x68]
mov dword [esp + 0x104cc], 0xffffffff
call fcn.1002f120
mov ecx, dword [esp + 0x20]
add edi, 1
mov dword [esp + 0x2c], edi
call fcn.1002eb20
cmp edi, eax
jb 0x1004f0b0
jmp 0x1004f07d
mov ebp, dword [ebp + 0x30]
mov edx, dword [ebp]
mov eax, dword [edx + 0x20]
push 0x17
mov ecx, ebp
call eax
call fcn.10059c60
mov edi, eax
mov esi, dword [edi]
push 0xa63
mov ecx, str...quickmoventfs.cpp
add esi, 8
call fcn.1004a630
mov ecx, dword [esi]
push eax
push 0x10064608
push edi
call ecx
add esp, 0x10
xor eax, eax
jmp 0x1004f082
call fcn.10059c60
mov edx, dword [esp + 0x1c]
push edx
mov edi, eax
mov esi, dword [edi]
push ebx
push 0xa6d
mov ecx, str...quickmoventfs.cpp
add esi, 8
call fcn.1004a630
add esp, 4
push eax
mov eax, dword [esi]
push str._s:_Failed_to_read_the_file_record__FrNumber:_I64d.
push edi
call eax
add esp, 0x14
push 0xd2
mov ebp, dword [ebp + 0x30]
mov edx, dword [ebp]
mov eax, dword [edx + 0x20]
mov ecx, ebp
call eax
lea ecx, [esp + 0x68]
mov dword [esp + 0x104cc], 0xffffffff
call fcn.1002f120
xor eax, eax
jmp 0x1004f082
call fcn.10059c60
mov ecx, dword [esi]
mov edx, dword [esp + 0x1c]
push ecx
mov edi, eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [edi]
push edx
push eax
push 0xa92
mov ecx, str...quickmoventfs.cpp
add ebx, 8
call fcn.1004a630
mov ecx, dword [ebx]
add esp, 4
push eax
push str._s:_Failed_to_initialize_DataRun_List__FrNumber:_I64d__AttrCode:0x_X.
push edi
call ecx
mov ebp, dword [ebp + 0x30]
mov edx, dword [ebp]
mov eax, dword [edx + 0x20]
add esp, 0x18
push 0xd3
mov ecx, ebp
call eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x104cc], 0
call fcn.100309d0
jmp 0x1004f6a2
call fcn.10059c60
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
mov edi, eax
mov esi, dword [edi]
push edx
push 0xad9
mov ecx, str...quickmoventfs.cpp
add esi, 8
call fcn.1004a630
add esp, 4
push eax
mov eax, dword [esi]
push str._s:_Too_much_file_fragment__please_defragment__FrNumber:_I64d.
push edi
call eax
add esp, 0x14
push 0xd7
jmp 0x1004f695
call fcn.10059c60
mov edi, eax
mov esi, dword [edi]
push 0xaef
mov ecx, str...quickmoventfs.cpp
add esi, 8
call fcn.1004a630
mov ecx, dword [esi]
push eax
push str._s:_Write_mft_file_failed.
push edi
call ecx
add esp, 0x10
jmp 0x1004f690