Function at 0x1401aa5d0
Capabilities:
Create thread

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x70
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov r13, rcx
lea rcx, [rsp + 0xb8]
call qword [sym.imp.MFC80U.DLL_Ordinal_296]
nop
call fcn.140049500
mov rdi, qword [rax]
lea rdx, str.0559
mov rcx, rax
call qword [rdi]
mov rdx, rax
lea rcx, [rsp + 0xb8]
call qword [sym.imp.MFC80U.DLL_Ordinal_788]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.MFC80U.DLL_Ordinal_280]
mov rdi, rax
mov qword [rsp + 0xc0], rax
lea rcx, [r13 + 0x108]
mov rdx, rax
call qword [sym.imp.MFC80U.DLL_Ordinal_786]
nop
mov rcx, rdi
call qword [sym.imp.MFC80U.DLL_Ordinal_588]
call fcn.140049500
mov rdi, qword [rax]
lea rdx, str.0560
mov rcx, rax
call qword [rdi]
mov rdx, rax
lea rcx, [rsp + 0xb8]
call qword [sym.imp.MFC80U.DLL_Ordinal_788]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.MFC80U.DLL_Ordinal_280]
mov rdi, rax
mov qword [rsp + 0xc0], rax
lea rcx, [r13 + 0x110]
mov rdx, rax
call qword [sym.imp.MFC80U.DLL_Ordinal_786]
nop
mov rcx, rdi
call qword [sym.imp.MFC80U.DLL_Ordinal_588]
mov rdx, qword [r13 + 0x100]
mov rdi, qword [rdx + 0x120]
mov rdx, qword [rdi + 8]
mov rcx, r13
call fcn.1401a63b0
mov edx, dword [rdi + 0x10]
mov dword [r13 + 0x164], edx
mov rcx, qword [rdi + 8]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov esi, eax
mov dword [r13 + 0x168], eax
mov ecx, dword [0x140c47dd0]
test cl, 1
jne 0x1401aa716
or ecx, 1
mov dword [0x140c47dd0], ecx
call fcn.140055490
mov rcx, rax
mov qword [0x140c47dc8], rax
jmp 0x1401aa71d
mov rcx, qword [0x140c47dc8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rdi, qword [rax]
mov edx, dword [r13 + 0x168]
mov rcx, rax
call qword [rdi + 0x30]
mov rbp, rax
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x60]
xor edi, edi
mov ecx, 1
test eax, eax
cmovne edi, ecx
mov rcx, qword [r13 + 0x148]
test rcx, rcx
je 0x1401aa768
call qword [sym.imp.ScanPartition.dll_DeleteDiskList]
mov qword [r13 + 0x148], 0
mov ecx, edi
call qword [sym.imp.ScanPartition.dll_InitDiskList]
mov rbx, rax
mov qword [r13 + 0x148], rax
test rax, rax
je 0x1401aa7d1
nop
mov rcx, qword [rbx]
mov rdx, qword [rcx + reloc.MFC80U.DLL_Ordinal_280]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea rax, [rcx - 1]
cdqe
movzx ecx, byte [rax + rdx - 1]
mov byte [rsp + 0xb0], cl
lea rcx, [rsp + 0xb0]
call qword [sym.imp.ntdll.dll_atoi]
cmp esi, eax
je 0x1401aa7c7
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1401aa780
jmp 0x1401aa7d1
mov rax, qword [rbx]
mov qword [r13 + reloc.MFC80U.DLL_Ordinal_320], rax
lea rsi, [r13 + 0x980]
mov rdi, qword [rsi + 0x10]
cmp qword [rsi + 8], rdi
jbe 0x1401aa7e8
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov rbx, qword [rsi + 8]
cmp rbx, qword [rsi + 0x10]
jbe 0x1401aa7f8
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp rbx, rdi
je 0x1401aa83d
mov rdx, qword [rsi + 0x10]
mov rcx, rdx
sub rcx, rdi
and rcx, 0xfffffffffffffff0
add rcx, rbx
cmp rdi, rdx
je 0x1401aa839
sub rbx, rdi
nop
nop
nop
mov rax, qword [rdi]
mov qword [rbx + rdi], rax
mov rax, qword [rdi + 8]
mov qword [rbx + rdi + 8], rax
add rdi, 0x10
cmp rdi, rdx
jne 0x1401aa820
mov qword [rsi + 0x10], rcx
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x78]
mov r14, rax
xor r12d, r12d
mov qword [rsp + 0x38], r12
xor eax, eax
mov qword [rsp + 0x40], rax
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + 0x30]
mov rbp, rax
test rax, rax
je 0x1401aaa06
movzx edi, byte [rsp + 0xb0]
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x48]
cmp eax, 0xb
je 0x1401aa8c3
test r12, r12
jne 0x1401aa89c
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x38]
mov r12, rax
mov qword [rsp + 0x38], rax
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x38]
mov rbx, rax
sub rbx, r12
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x40]
add rax, rbx
mov qword [rsp + 0x40], rax
jmp 0x1401aa9c0
mov rdx, qword [rsi + 8]
test rdx, rdx
jne 0x1401aa8d0
xor ecx, ecx
jmp 0x1401aa8db
mov rcx, qword [rsi + 0x10]
sub rcx, rdx
sar rcx, 4
test rdx, rdx
je 0x1401aa91f
mov rax, qword [rsi + 0x18]
sub rax, rdx
sar rax, 4
cmp rcx, rax
jae 0x1401aa91f
mov rbx, qword [rsi + 0x10]
xor eax, eax
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], dil
mov r9, rsi
lea r8, [rsp + 0x38]
lea edx, [rax + 1]
mov rcx, rbx
call fcn.1400134b0
lea r11, [rbx + 0x10]
mov qword [rsi + 0x10], r11
jmp 0x1401aa9b3
mov rbx, qword [rsi + 0x10]
cmp rdx, rbx
jbe 0x1401aa92e
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rbx
mov r12, qword [rsi + 8]
test r12, r12
je 0x1401aa965
mov rcx, qword [rsi + 0x10]
mov rax, rcx
sub rax, r12
sar rax, 4
je 0x1401aa965
cmp r12, rcx
jbe 0x1401aa95c
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
sub rbx, r12
sar rbx, 4
jmp 0x1401aa967
xor ebx, ebx
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea r9, [rsp + 0x38]
mov r8d, 1
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.140012c20
mov r12, qword [rsi + 8]
cmp r12, qword [rsi + 0x10]
jbe 0x1401aa99a
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
add rbx, rbx
lea rax, [r12 + rbx*8]
cmp rax, qword [rsi + 0x10]
ja 0x1401aa9ad
cmp rax, qword [rsi + 8]
jae 0x1401aa9b3
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
xor r12d, r12d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x78]
test al, al
je 0x1401aa9f1
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0xc0]
test eax, eax
je 0x1401aa9e9
add dword [r13 + reloc.MFC80U.DLL_Ordinal_296], 1
jmp 0x1401aa9f1
add dword [r13 + 0x12c], 1
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x38]
mov rbp, rax
test rax, rax
jne 0x1401aa876
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9, r13
lea r8, [0x1401aa4b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [r13 + 0x170], rax
test rax, rax
jne 0x1401aaa47
lea rcx, [rsp + 0xb8]
call qword [sym.imp.MFC80U.DLL_Ordinal_588]
jmp 0x1401aaa55
lea rcx, [rsp + 0xb8]
call qword [sym.imp.MFC80U.DLL_Ordinal_588]
add rsp, 0x70
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret