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

Disassembly:
mov r11, rsp
push rsi
sub rsp, 0x480
mov rax, qword [0x14042d950]
xor rax, rsp
mov qword [rsp + Ordinal_1015], rax
mov rsi, rcx
mov rcx, qword [rcx + 0x130]
test rcx, rcx
je 0x14013208f
mov rax, qword [rsi + 0x138]
sub rax, rcx
sar rax, 3
je 0x14013208f
mov ecx, dword [rsi + 0x38]
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rdi
call fcn.140114fb0
cmp rax, 0xffffffffffffffff
mov qword [rsp + 0x38], rax
jne 0x140130bb5
call fcn.140049470
mov edx, Ordinal_1369
mov rbx, qword [rax]
mov rdi, rax
jmp 0x140130be7
cmp dword [rsi + 0x70], 0
mov qword [rsp + 0x48], 0xffffffffffffffff
je 0x140130c19
mov ecx, dword [rsi + 0x60]
call fcn.140114fb0
cmp rax, 0xffffffffffffffff
mov qword [rsp + 0x48], rax
jne 0x140130c19
call fcn.140049470
mov edx, Ordinal_1376
mov rbx, qword [rax]
mov rdi, rax
lea rcx, str..._fatcpyex.cpp
call fcn.14012ed40
lea rdx, [0x1402e94e0]
mov rcx, rdi
mov r8, rax
call qword [rbx + 0x10]
mov rcx, qword [rsi + 0x78]
mov edx, 0x16
mov rax, qword [rcx]
call qword [rax + 0x40]
xor eax, eax
jmp 0x140131e7a
mov qword [rsp + 0x478], r12
mov qword [rsp + Ordinal_1137], r13
mov qword [rsp + Ordinal_1134], r14
mov qword [rsp + 0x460], r15
xor r12d, r12d
mov edx, r12d
mov qword [rsp + 0x68], r12
mov rdi, r12
movaps xmmword [rsp + 0x450], xmm6
movsd xmm6, qword [0x1403b85a8]
movaps xmmword [rsp + Ordinal_1095], xmm7
movsd xmm7, qword [0x1403b8888]
movaps xmmword [rsp + Ordinal_1073], xmm8
movsd xmm8, qword [0x1402e1808]
movaps xmmword [rsp + Ordinal_1062], xmm9
mov dword [rsp + 0x40], edx
mov qword [rsp + 0x78], r12
movsd xmm9, qword [0x1402e17f0]
movaps xmmword [rsp + reloc.MFC80U.DLL_Ordinal_1040], xmm10
movsd xmm10, qword [0x1402e17d8]
movaps xmmword [rsp + 0x400], xmm11
movsd xmm11, qword [0x1403b93e8]
nop
nop
mov rax, qword [rsi + 0x130]
test rax, rax
jne 0x140130cd1
mov rcx, r12
jmp 0x140130cdf
mov rcx, qword [rsi + 0x138]
sub rcx, rax
sar rcx, 3
mov eax, edx
cmp rax, rcx
jae 0x140131eab
mov rcx, qword [rsi + 0x130]
test rcx, rcx
je 0x140130d09
mov rax, qword [rsi + 0x138]
sub rax, rcx
sar rax, 3
cmp rdi, rax
jb 0x140130d0f
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov rax, qword [rsi + 0x130]
mov r13d, r12d
mov ebp, r12d
mov r14, qword [rax + rdi*8]
mov rdi, r12
mov rcx, r14
call fcn.1400e79c0
test rax, rax
je 0x140130d85
mov rbx, r12
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x140130d4c
mov rax, qword [r14 + 0x10]
sub rax, rcx
sar rax, 4
cmp rdi, rax
jb 0x140130d52
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov rax, qword [r14 + 8]
add ebp, 1
add rdi, 1
mov ecx, dword [rax + rbx + 8]
add rbx, 0x10
imul ecx, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
imul ecx, dword [rsi + 0x188]
add r13d, ecx
mov rcx, r14
call fcn.1400e79c0
mov ecx, ebp
cmp rcx, rax
jb 0x140130d33
mov eax, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
imul eax, dword [rsi + 0x18c]
cmp r13d, eax
cmovb r13d, eax
mov ebp, r13d
mov ecx, r13d
mov dword [rsp + 0x50], r13d
mov qword [rsp + 0x60], rbp
call sub.MFC80U.DLL_Ordinal_265
mov r8d, r13d
mov rcx, rax
xor edx, edx
mov r15, rax
mov qword [rsp + 0x58], rax
call sub.ntdll.dll_memset
mov ebx, r12d
mov rcx, r14
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x44], r12d
mov rdi, r12
mov qword [rsp + 0x70], r12
call fcn.1400e79c0
test rax, rax
je 0x14013174a
mov r15, r12
nop
nop
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x140130e09
mov rax, qword [r14 + 0x10]
sub rax, rcx
sar rax, 4
cmp rdi, rax
jb 0x140130e0f
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [rsi + 0x188]
mov r13, qword [r14 + 8]
xor edx, edx
mov rbp, qword [r15 + r13]
mov r12d, dword [r15 + r13 + 8]
mov edi, ebx
add rdi, qword [rsp + 0x58]
sub rbp, 2
imul r12d, eax
imul rbp, rax
mov eax, 0x200000
div dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
add rbp, qword [rsi + 0x1b0]
cmp r12d, eax
mov ebx, eax
jbe 0x140130f55
mov rcx, qword [rsp + 0x38]
mov r9d, r12d
mov r8, rbp
mov rdx, rdi
call fcn.14012efc0
test eax, eax
jne 0x1401311bf
call fcn.140049470
lea rcx, [0x14043e0b0]
xor edx, edx
mov r8d, 0x80
mov rbx, rax
call sub.ntdll.dll_memset
lea rcx, str..._fatcpyex.cpp
mov edx, 0x5c
call qword [sym.imp.ntdll.dll_strrchr]
test rax, rax
mov rdi, rax
jne 0x140130ead
xor r8d, r8d
jmp 0x140130f40
xor eax, eax
lea rdx, [0x1402dfd08]
lea rcx, [rsp + 0xe0]
mov r8d, Ordinal_1282
mov byte [rsp + 0xe0], 0
mov qword [rsp + 0xe1], rax
mov word [rsp + 0xe9], ax
mov byte [rsp + 0xeb], al
call qword [sym.imp.ntdll.dll_sprintf]
lea r8, [0x14043e0b0]
lea rdx, [rdi + 1]
mov rcx, r8
sub rcx, rdx
nop
nop
movzx eax, byte [rdx]
add rdx, 1
test al, al
mov byte [rdx + rcx - 1], al
jne 0x140130f00
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r8
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0xe0]
nop
nop
nop
movzx eax, byte [rdx + rcx]
add rcx, 1
test al, al
mov byte [rdi + rcx - 2], al
jne 0x140130f30
mov rax, qword [rbx]
lea rdx, str._s:_Failed_to_read_sector.
mov rcx, rbx
call qword [rax + 0x10]
jmp 0x1401310c0
cmp qword [rsi], 0
jne 0x140130f78
mov ecx, 0x200000
call sub.MFC80U.DLL_Ordinal_265
xor edx, edx
mov r8d, 0x200000
mov rcx, rax
mov qword [rsi], rax
call sub.ntdll.dll_memset
mov rax, qword [rsi + 0x10]
cmp rbp, rax
jl 0x140130fb5
lea rcx, [rax + rbx]
mov eax, r12d
add rax, rbp
cmp rax, rcx
jg 0x140130fb5
mov ecx, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
sub ebp, dword [rsi + 0x10]
mov r8d, ecx
imul ebp, ecx
mov edx, ebp
mov rcx, rdi
add rdx, qword [rsi]
imul r8d, r12d
call sub.ntdll.dll_memcpy
jmp 0x1401311bf
mov rcx, qword [rsi]
xor edx, edx
mov r8d, 0x200000
call sub.ntdll.dll_memset
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x38]
mov r9, rbx
mov r8, rbp
call fcn.14012efc0
test eax, eax
jne 0x1401311a5
call fcn.140049470
lea rcx, [0x14043e0b0]
xor edx, edx
mov r8d, 0x80
mov rbx, rax
call sub.ntdll.dll_memset
lea rcx, str..._fatcpyex.cpp
mov edx, 0x5c
call qword [sym.imp.ntdll.dll_strrchr]
test rax, rax
mov rdi, rax
jne 0x14013101e
xor r8d, r8d
jmp 0x1401310b0
xor eax, eax
lea rdx, [0x1402dfd08]
lea rcx, [rsp + 0xa0]
mov r8d, 0x515
mov byte [rsp + 0xa0], 0
mov qword [rsp + 0xa1], rax
mov word [rsp + 0xa9], ax
mov byte [rsp + 0xab], al
call qword [sym.imp.ntdll.dll_sprintf]
lea r8, [0x14043e0b0]
lea rdx, [rdi + 1]
mov rcx, r8
sub rcx, rdx
nop
nop
movzx eax, byte [rdx]
add rdx, 1
test al, al
mov byte [rdx + rcx - 1], al
jne 0x140131070
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r8
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0xa0]
nop
nop
nop
movzx eax, byte [rdx + rcx]
add rcx, 1
test al, al
mov byte [rdi + rcx - 2], al
jne 0x1401310a0
mov rax, qword [rbx]
lea rdx, str._s:_Failed_to_read_sector.
mov rcx, rbx
call qword [rax + 0x10]
call fcn.140049470
lea rcx, [0x14043e0b0]
xor edx, edx
mov r8d, 0x80
mov rbx, rax
call sub.ntdll.dll_memset
lea rcx, str..._fatcpyex.cpp
mov edx, 0x5c
call qword [sym.imp.ntdll.dll_strrchr]
test rax, rax
mov rdi, rax
jne 0x1401310fe
xor r8d, r8d
jmp 0x140131190
xor eax, eax
lea rdx, [0x1402dfd08]
lea rcx, [rsp + 0xb0]
mov r8d, reloc.MFC80U.DLL_Ordinal_1412
mov byte [rsp + 0xb0], 0
mov qword [rsp + 0xb1], rax
mov word [rsp + 0xb9], ax
mov byte [rsp + 0xbb], al
call qword [sym.imp.ntdll.dll_sprintf]
lea r8, [0x14043e0b0]
lea rdx, [rdi + 1]
mov rcx, r8
sub rcx, rdx
nop
nop
movzx eax, byte [rdx]
add rdx, 1
test al, al
mov byte [rdx + rcx - 1], al
jne 0x140131150
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r8
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0xb0]
nop
nop
nop
movzx eax, byte [rdx + rcx]
add rcx, 1
test al, al
mov byte [rdi + rcx - 2], al
jne 0x140131180
mov rax, qword [rbx]
lea rdx, str._s:_Failed_to_read_sector___u_
mov r9, rbp
mov rcx, rbx
call qword [rax + 0x10]
jmp 0x1401311bf
mov rdx, qword [rsi]
mov r8d, r12d
mov rcx, rdi
mov qword [rsi + 0x10], rbp
imul r8d, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
call sub.ntdll.dll_memcpy
imul r12d, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
mov eax, dword [r15 + r13 + 8]
add dword [rsi + 0x218], eax
add dword [rsp + 0x30], r12d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rsi + 0x1f4]
cmp eax, 0x3e8
jb 0x140131704
mov rcx, qword [rsi + 0x78]
mov rax, qword [rcx]
call qword [rax + 0xf0]
test eax, eax
jne 0x140131d24
lea rcx, [rsp + 0x1f2]
xor edx, edx
mov r8d, Ordinal_512
mov word [rsp + 0x1f0], ax
call sub.ntdll.dll_memset
mov edx, dword [rsi + 0x218]
mov eax, dword [rsi + 0x214]
cvtsi2sd xmm1, rdx
mov r13d, 0x64
cvtsi2sd xmm0, rax
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si rbp, xmm1
cmp ebp, 0x64
cmova ebp, r13d
cmp edx, eax
jbe 0x14013125a
mov dword [rsi + 0x218], eax
mov edi, dword [rsi + 0x218]
xor eax, eax
xor edx, edx
mov qword [rsp + 0x132], rax
mov qword [rsp + 0x13a], rax
mov qword [rsp + 0x142], rax
mov qword [rsp + 0x14a], rax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_338], rax
mov qword [rsp + 0x15a], rax
mov qword [rsp + 0x162], rax
mov dword [rsp + reloc.MFC80U.DLL_Ordinal_362], eax
mov word [rsp + 0x16e], ax
mov word [rsp + 0xf0], ax
mov qword [rsp + 0xf2], rax
mov qword [rsp + 0xfa], rax
mov qword [rsp + 0x102], rax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_266], rax
mov qword [rsp + 0x112], rax
mov qword [rsp + 0x11a], rax
mov qword [rsp + 0x122], rax
mov dword [rsp + 0x12a], eax
mov word [rsp + 0x12e], ax
mov eax, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
lea r8d, [rdx + 0x7e]
lea rcx, [rsp + 0x172]
mov word [rsp + 0x130], 0
mov word [rsp + 0x170], 0
imul rdi, rax
mov eax, dword [rsi + 0x188]
imul rdi, rax
call sub.ntdll.dll_memset
movabs r12, 0x10000000000
cmp rdi, r12
jl 0x140131373
cvtsi2sd xmm0, rdi
lea rdx, [0x1402e1810]
lea rcx, [rsp + 0x170]
mulsd xmm0, xmm8
mulsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si r8d, xmm0
call qword [sym.imp.MSVCR80.dll__swprintf]
jmp 0x14013140d
cmp rdi, 0x40000000
jl 0x1401313aa
cvtsi2sd xmm0, rdi
lea rdx, [0x1402e17f8]
lea rcx, [rsp + 0x170]
mulsd xmm0, xmm9
mulsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si r8d, xmm0
call qword [sym.imp.MSVCR80.dll__swprintf]
jmp 0x14013140d
cmp rdi, 0x100000
jl 0x1401313e1
cvtsi2sd xmm0, rdi
lea rdx, [0x1402e17e0]
lea rcx, [rsp + 0x170]
mulsd xmm0, xmm10
mulsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si r8d, xmm0
call qword [sym.imp.MSVCR80.dll__swprintf]
jmp 0x14013140d
cvtsi2sd xmm0, rdi
lea rdx, [0x1402e17c8]
lea rcx, [rsp + 0x170]
mulsd xmm0, xmm11
mulsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si r8d, xmm0
call qword [sym.imp.MSVCR80.dll__swprintf]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x170]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
cmp ecx, 4
mov rbx, rcx
jge 0x140131448
movsxd r8, ecx
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x130]
call qword [sym.imp.ntdll.dll_wcsncpy]
jmp 0x1401314a2
lea eax, [rcx - 4]
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x130]
movsxd rdi, eax
mov r8, rdi
call qword [sym.imp.ntdll.dll_wcsncpy]
movsxd rdx, ebx
xor eax, eax
mov word [rsp + rdx*2 + reloc.MFC80U.DLL_Ordinal_296], 0x2e
lea rdx, [rsp + rdi*2 + 0x170]
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x130]
repne scasw ax, word [rdi]
xor ecx, ecx
nop
movzx eax, word [rdx + rcx]
add rcx, 2
test ax, ax
mov word [rdi + rcx - 4], ax
jne 0x140131490
mov eax, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
mov edi, dword [rsi + 0x214]
xor edx, edx
lea r8d, [rdx + 0x7e]
lea rcx, [rsp + 0x172]
mov word [rsp + 0x170], 0
imul rdi, rax
mov eax, dword [rsi + 0x188]
imul rdi, rax
call sub.ntdll.dll_memset
cmp rdi, r12
jl 0x14013150f
cvtsi2sd xmm0, rdi
lea rdx, [0x1402e1810]
lea rcx, [rsp + 0x170]
mulsd xmm0, xmm8
mulsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si r8d, xmm0
call qword [sym.imp.MSVCR80.dll__swprintf]
jmp 0x1401315a9
cmp rdi, 0x40000000
jl 0x140131546
cvtsi2sd xmm0, rdi
lea rdx, [0x1402e17f8]
lea rcx, [rsp + 0x170]
mulsd xmm0, xmm9
mulsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si r8d, xmm0
call qword [sym.imp.MSVCR80.dll__swprintf]
jmp 0x1401315a9
cmp rdi, 0x100000
jl 0x14013157d
cvtsi2sd xmm0, rdi
lea rdx, [0x1402e17e0]
lea rcx, [rsp + 0x170]
mulsd xmm0, xmm10
mulsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si r8d, xmm0
call qword [sym.imp.MSVCR80.dll__swprintf]
jmp 0x1401315a9
cvtsi2sd xmm0, rdi
lea rdx, [0x1402e17c8]
lea rcx, [rsp + 0x170]
mulsd xmm0, xmm11
mulsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si r8d, xmm0
call qword [sym.imp.MSVCR80.dll__swprintf]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x170]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
cmp ecx, 4
mov rbx, rcx
jge 0x1401315e4
movsxd r8, ecx
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0xf0]
call qword [sym.imp.ntdll.dll_wcsncpy]
jmp 0x140131642
lea eax, [rcx - 4]
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0xf0]
movsxd rdi, eax
mov r8, rdi
call qword [sym.imp.ntdll.dll_wcsncpy]
movsxd rdx, ebx
xor eax, eax
mov word [rsp + rdx*2 + 0xe8], 0x2e
lea rdx, [rsp + rdi*2 + 0x170]
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xf0]
repne scasw ax, word [rdi]
xor ecx, ecx
nop
nop
movzx eax, word [rdx + rcx]
add rcx, 2
test ax, ax
mov word [rdi + rcx - 4], ax
jne 0x140131630
lea rax, [rsp + 0xf0]
lea r9, [rsp + 0x130]
lea rdx, str.Data_Moving___d_____s__s_...
lea rcx, [rsp + 0x1f0]
mov r8d, ebp
mov qword [rsp + 0x20], rax
call qword [sym.imp.MSVCR80.dll__swprintf]
mov rcx, qword [rsi + 0x78]
lea rdx, [rsp + 0x1f0]
mov rax, qword [rcx]
call qword [rax + 0x70]
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x130]
lea rdx, [0x1402f0718]
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.MSVCR80.dll__swprintf]
mov rcx, qword [rsi + 0x78]
lea rdx, [rsp + 0x1f0]
mov rax, qword [rcx]
call qword [rax + 0x78]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cvtsi2sd xmm0, dword [rsi + 0x1f0]
mov rcx, qword [rsi + 0x78]
mov dword [rsi + 0x1f4], eax
cmp ebp, r13d
mov rax, qword [rcx]
cmovg ebp, r13d
cvtsi2sd xmm1, ebp
mulsd xmm1, qword [rsi + 0x1e8]
addsd xmm1, xmm0
cvttsd2si edi, xmm1
call qword [rax + 0xa0]
cmp eax, edi
jge 0x140131704
mov rcx, qword [rsi + 0x78]
mov edx, edi
mov rax, qword [rcx]
call qword [rax + 0x10]
mov ebx, dword [rsp + 0x44]
mov rdi, qword [rsp + 0x70]
mov rcx, r14
add ebx, 1
add rdi, 1
add r15, 0x10
mov dword [rsp + 0x44], ebx
mov qword [rsp + 0x70], rdi
call fcn.1400e79c0
mov ecx, ebx
mov ebx, dword [rsp + 0x30]
cmp rcx, rax
jb 0x140130df0
mov r13d, dword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
xor r12d, r12d
mov rdx, qword [r14 + 0x28]
cmp byte [rdx + 0x1c], 1
jne 0x1401317c9
cmp byte [rdx + 0x1d], 1
jne 0x1401317c9
mov r9d, r13d
mov r8, r15
mov rcx, rsi
call fcn.1401308b0
mov ecx, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
xor edx, edx
mov eax, r13d
div ecx
xor edx, edx
mov ebx, eax
div dword [rsi + 0x18c]
test edx, edx
je 0x1401317c9
add ebx, edx
imul ecx, ebx
call sub.MFC80U.DLL_Ordinal_265
mov r8d, ebx
xor edx, edx
mov rcx, rax
mov rdi, rax
imul r8d, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
call sub.ntdll.dll_memset
mov r8, rbp
mov rdx, r15
mov rcx, rdi
call sub.ntdll.dll_memcpy
mov rcx, r15
call sub.MFC80U.DLL_Ordinal_266
mov r13d, ebx
mov r15, rdi
imul r13d, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
cmp dword [rsi + 0x70], 0
je 0x140131a6a
mov r8d, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
mov ebx, dword [r14 + 0x20]
xor edx, edx
sub ebx, 2
mov eax, r13d
div r8d
imul ebx, dword [rsi + 0x188]
add ebx, dword [rsi + 0x248]
cmp qword [rsi + 0x20], 0
mov edi, eax
jge 0x14013180b
mov qword [rsi + 0x20], rbx
mov qword [rsi + 0x28], rbx
mov qword [rsi + 0x18], r12
mov rax, qword [rsi + 0x18]
test rax, rax
jle 0x140131a39
mov edx, r8d
imul edx, edi
add rdx, rax
cmp rdx, 0x800000
jg 0x140131834
cmp qword [rsi + 0x20], rbx
je 0x140131a39
mov rcx, qword [rsp + 0x48]
cqo
idiv r8
mov r8, qword [rsi + 0x28]
mov rdx, qword [rsi + 8]
mov r9, rax
call fcn.14012f170
test eax, eax
jne 0x140131a1c
call fcn.140049470
lea r13, [0x14043e0b0]
xor edx, edx
mov rcx, r13
mov r8d, 0x80
mov rbp, rax
call sub.ntdll.dll_memset
lea rcx, str..._fatcpyex.cpp
mov edx, 0x5c
call qword [sym.imp.ntdll.dll_strrchr]
test rax, rax
mov rdi, rax
jne 0x140131897
mov r8, r12
jmp 0x140131923
xor eax, eax
lea rdx, [0x1402dfd08]
lea rcx, [rsp + 0x90]
mov r8d, 0x530
mov byte [rsp + 0x90], 0
mov qword [rsp + 0x91], rax
mov word [rsp + 0x99], ax
mov byte [rsp + 0x9b], al
call qword [sym.imp.ntdll.dll_sprintf]
lea rdx, [rdi + 1]
mov rcx, r13
sub rcx, rdx
nop
movzx eax, byte [rdx]
add rdx, 1
test al, al
mov byte [rdx + rcx - 1], al
jne 0x1401318e0
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x90]
nop
nop
nop
movzx eax, byte [rdx + rcx]
add rcx, 1
test al, al
mov byte [rdi + rcx - 2], al
jne 0x140131910
mov r8, r13
mov rax, qword [rbp]
lea rdx, str._s:_Failed_to_write_sector.
mov rcx, rbp
call qword [rax + 0x10]
call fcn.140049470
xor edx, edx
mov r8d, 0x80
mov rcx, r13
mov rbp, rax
call sub.ntdll.dll_memset
lea rcx, str..._fatcpyex.cpp
mov edx, 0x5c
call qword [sym.imp.ntdll.dll_strrchr]
test rax, rax
mov rdi, rax
jne 0x14013196e
mov r8, r12
jmp 0x140131a03
xor eax, eax
lea rdx, [0x1402dfd08]
lea rcx, [rsp + 0xd0]
mov r8d, 0x5cb
mov byte [rsp + 0xd0], 0
mov qword [rsp + 0xd1], rax
mov word [rsp + 0xd9], ax
mov byte [rsp + 0xdb], al
call qword [sym.imp.ntdll.dll_sprintf]
lea rdx, [rdi + 1]
mov rcx, r13
sub rcx, rdx
nop
nop
nop
movzx eax, byte [rdx]
add rdx, 1
test al, al
mov byte [rdx + rcx - 1], al
jne 0x1401319c0
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0xd0]
nop
nop
nop
movzx eax, byte [rdx + rcx]
add rcx, 1
test al, al
mov byte [rdi + rcx - 2], al
jne 0x1401319f0
mov r8, r13
mov rax, qword [rbp]
lea rdx, str._s:_Failed_to_write_sector.__u
mov r9, rbx
mov rcx, rbp
call qword [rax + 0x10]
jmp 0x140131cfe
test r15, r15
mov qword [rsi + 0x20], 0xffffffffffffffff
je 0x140131cfe
mov qword [rsi + 0x20], rbx
mov qword [rsi + 0x28], rbx
mov qword [rsi + 0x18], r12
mov rcx, qword [rsi + 8]
mov r8d, edi
mov rdx, r15
add rcx, qword [rsi + 0x18]
imul r8d, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
call sub.ntdll.dll_memcpy
mov eax, edi
imul eax, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
add qword [rsi + 0x18], rax
add qword [rsi + 0x20], rdi
jmp 0x140131cfe
mov ebx, dword [r14 + 0x20]
mov r8d, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
xor edx, edx
sub ebx, 2
mov eax, r13d
div r8d
imul ebx, dword [rsi + 0x188]
add rbx, qword [rsi + 0x1b0]
cmp qword [rsi + 0x20], 0
mov edi, eax
jge 0x140131aa3
mov qword [rsi + 0x20], rbx
mov qword [rsi + 0x28], rbx
mov qword [rsi + 0x18], r12
mov rax, qword [rsi + 0x18]
test rax, rax
jle 0x140131cd2
mov edx, r8d
imul edx, edi
add rdx, rax
cmp rdx, 0x800000
jg 0x140131acc
cmp qword [rsi + 0x20], rbx
je 0x140131cd2
mov rcx, qword [rsp + 0x38]
cqo
idiv r8
mov r8, qword [rsi + 0x28]
mov rdx, qword [rsi + 8]
mov r9, rax
call fcn.14012f170
test eax, eax
jne 0x140131cb9
call fcn.140049470
lea r13, [0x14043e0b0]
xor edx, edx
mov rcx, r13
mov r8d, 0x80
mov rbp, rax
call sub.ntdll.dll_memset
lea rcx, str..._fatcpyex.cpp
mov edx, 0x5c
call qword [sym.imp.ntdll.dll_strrchr]
test rax, rax
mov rdi, rax
jne 0x140131b2f
mov r8, r12
jmp 0x140131bc3
xor eax, eax
lea rdx, [0x1402dfd08]
lea rcx, [rsp + 0xc0]
mov r8d, 0x530
mov byte [rsp + 0xc0], 0
mov qword [rsp + 0xc1], rax
mov word [rsp + 0xc9], ax
mov byte [rsp + 0xcb], al
call qword [sym.imp.ntdll.dll_sprintf]
lea rdx, [rdi + 1]
mov rcx, r13
sub rcx, rdx
nop
nop
nop
movzx eax, byte [rdx]
add rdx, 1
test al, al
mov byte [rcx + rdx - 1], al
jne 0x140131b80
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0xc0]
nop
nop
nop
movzx eax, byte [rdx + rcx]
add rcx, 1
test al, al
mov byte [rdi + rcx - 2], al
jne 0x140131bb0
mov r8, r13
mov rax, qword [rbp]
lea rdx, str._s:_Failed_to_write_sector.
mov rcx, rbp
call qword [rax + 0x10]
call fcn.140049470
xor edx, edx
mov r8d, 0x80
mov rcx, r13
mov rbp, rax
call sub.ntdll.dll_memset
lea rcx, str..._fatcpyex.cpp
mov edx, 0x5c
call qword [sym.imp.ntdll.dll_strrchr]
test rax, rax
mov rdi, rax
jne 0x140131c0e
mov r8, r12
jmp 0x140131ca3
xor eax, eax
lea rdx, [0x1402dfd08]
lea rcx, [rsp + 0x80]
mov r8d, Ordinal_1498
mov byte [rsp + 0x80], 0
mov qword [rsp + 0x81], rax
mov word [rsp + 0x89], ax
mov byte [rsp + 0x8b], al
call qword [sym.imp.ntdll.dll_sprintf]
lea rdx, [rdi + 1]
mov rcx, r13
sub rcx, rdx
nop
nop
nop
movzx eax, byte [rdx]
add rdx, 1
test al, al
mov byte [rcx + rdx - 1], al
jne 0x140131c60
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x80]
nop
nop
nop
movzx eax, byte [rdx + rcx]
add rcx, 1
test al, al
mov byte [rdi + rcx - 2], al
jne 0x140131c90
mov r8, r13
mov rax, qword [rbp]
lea rdx, str._s:_Failed_to_write_sector.__u
mov r9, rbx
mov rcx, rbp
call qword [rax + 0x10]
jmp 0x140131cfe
test r15, r15
mov qword [rsi + 0x20], 0xffffffffffffffff
je 0x140131cfe
mov qword [rsi + 0x20], rbx
mov qword [rsi + 0x28], rbx
mov qword [rsi + 0x18], r12
mov rcx, qword [rsi + 8]
mov r8d, edi
mov rdx, r15
add rcx, qword [rsi + 0x18]
imul r8d, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
call sub.ntdll.dll_memcpy
mov eax, edi
imul eax, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
add qword [rsi + 0x18], rax
add qword [rsi + 0x20], rdi
mov rcx, r15
call sub.MFC80U.DLL_Ordinal_266
mov edx, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x78]
add edx, 1
add rdi, 1
mov qword [rsp + 0x78], rdi
mov dword [rsp + 0x40], edx
jmp 0x140130cc0
mov rcx, qword [rsi + 0x78]
mov edx, 0x17
mov rax, qword [rcx]
call qword [rax + 0x40]
call fcn.140049470
lea rsi, [0x14043e0b0]
mov rcx, rsi
xor edx, edx
mov r8d, 0x80
mov rbx, rax
call sub.ntdll.dll_memset
lea rcx, str..._fatcpyex.cpp
mov edx, 0x5c
call qword [sym.imp.ntdll.dll_strrchr]
test rax, rax
mov rdi, rax
je 0x140131e05
xor eax, eax
lea rdx, [0x1402dfd08]
lea rcx, [rsp + 0x80]
mov r8d, 0x591
mov byte [rsp + 0x80], 0
mov qword [rsp + 0x81], rax
mov word [rsp + 0x89], ax
mov byte [rsp + 0x8b], al
call qword [sym.imp.ntdll.dll_sprintf]
lea rdx, [rdi + 1]
mov rcx, rsi
sub rcx, rdx
nop
nop
nop
movzx eax, byte [rdx]
add rdx, 1
test al, al
mov byte [rdx + rcx - 1], al
jne 0x140131dc0
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x80]
nop
nop
nop
movzx eax, byte [rdx + rcx]
add rcx, 1
test al, al
mov byte [rdi + rcx - 2], al
jne 0x140131df0
mov qword [rsp + 0x68], rsi
mov rax, qword [rbx]
mov r8, qword [rsp + 0x68]
lea rdx, str._s:_User_cancel_operations.
mov rcx, rbx
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x58]
call sub.MFC80U.DLL_Ordinal_266
xor eax, eax
movaps xmm10, xmmword [rsp + reloc.MFC80U.DLL_Ordinal_1040]
movaps xmm9, xmmword [rsp + 0x420]
movaps xmm8, xmmword [rsp + 0x430]
mov r15, qword [rsp + 0x460]
mov r14, qword [rsp + 0x468]
mov r13, qword [rsp + 0x470]
mov r12, qword [rsp + 0x478]
movaps xmm7, xmmword [rsp + 0x440]
movaps xmm6, xmmword [rsp + 0x450]
movaps xmm11, xmmword [rsp + 0x400]
mov rbp, qword [rsp + 0x4a0]
mov rbx, qword [rsp + 0x498]
mov rdi, qword [rsp + 0x4a8]
mov rcx, qword [rsp + 0x3f0]
xor rcx, rsp
call fcn.140161080
add rsp, 0x480
pop rsi
ret
cmp dword [rsi + 0x70], 0
je 0x140131fb7
cmp qword [rsi + 0x20], 0
jge 0x140131ed0
mov qword [rsi + 0x20], 0xffffffffffffffff
mov qword [rsi + 0x28], 0xffffffffffffffff
mov qword [rsi + 0x18], r12
mov rdx, qword [rsi + 0x18]
test rdx, rdx
jle 0x140131f91
cmp rdx, 0x800000
jg 0x140131ef1
cmp qword [rsi + 0x20], 0xffffffffffffffff
je 0x140131f91
mov ecx, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
mov rbp, qword [rsp + 0x48]
mov r8, qword [rsi + 0x28]
mov rax, rdx
cqo
idiv rcx
mov rdx, qword [rsi + 8]
mov rcx, rbp
mov r9, rax
call fcn.14012f170
test eax, eax
jne 0x140131f68
call fcn.140049470
lea rcx, str..._fatcpyex.cpp
mov edx, 0x530
mov rbx, qword [rax]
mov rdi, rax
call fcn.14012ed40
lea rdx, str._s:_Failed_to_write_sector.
mov rcx, rdi
mov r8, rax
call qword [rbx + 0x10]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140131e26
mov rcx, rbp
mov qword [rsi + 0x20], 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140131e26
mov rbp, qword [rsp + 0x48]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140131e26
cmp qword [rsi + 0x20], 0
jge 0x140131fd2
mov qword [rsi + 0x20], 0xffffffffffffffff
mov qword [rsi + 0x28], 0xffffffffffffffff
mov qword [rsi + 0x18], r12
mov rdx, qword [rsi + 0x18]
test rdx, rdx
jle 0x140132077
cmp rdx, 0x800000
jg 0x140131ff3
cmp qword [rsi + 0x20], 0xffffffffffffffff
je 0x140132077
mov ecx, dword [rsi + reloc.MFC80U.DLL_Ordinal_588]
mov rbp, qword [rsp + 0x38]
mov r8, qword [rsi + 0x28]
mov rax, rdx
cqo
idiv rcx
mov rdx, qword [rsi + 8]
mov rcx, rbp
mov r9, rax
call fcn.14012f170
test eax, eax
jne 0x14013205c
call fcn.140049470
lea rcx, str..._fatcpyex.cpp
mov edx, 0x530
mov rbx, qword [rax]
mov rdi, rax
call fcn.14012ed40
lea rdx, str._s:_Failed_to_write_sector.
mov rcx, rdi
mov r8, rax
call qword [rbx + 0x10]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140131e26
mov rcx, rbp
mov qword [rsi + 0x20], 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140131e26
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140131e26
mov eax, 1
jmp 0x140131e92