Function at 0x14000a19c
Capabilities:
Create directory

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x428
xor r8d, r8d
lea rsi, str.MSDOS___SYS
xor eax, eax
mov r15, rcx
lea rdi, [rsp + 0xa8]
mov ecx, 0x1a
mov qword [rsp + 0x70], r8
rep movsd dword [rdi], dword [rsi]
test r15, r15
je 0x14000a188
lea rbx, [rsp + 0x218]
lea rax, [0x140080803]
mov edx, 0x104
mov r9, qword [0x1400b1520]
mov rcx, rbx
mov qword [rsp + 0x20], rax
lea r8, [0x1400807f0]
call qword [sym.imp.msvcrt.dll__snprintf]
lea rdx, [rsp + 0x70]
mov rcx, rbx
mov byte [rsp + 0x31b], 0
call fcn.140036895
cmp eax, 0x16ee00
je 0x140009c53
lea rcx, str.diskcopy.dll_was_either_not_found_or_is_invalid
call fcn.140036717
jmp 0x14000a168
mov rax, qword [rsp + 0x70]
mov rcx, r15
mov dword [0x1400fa500], 0x168000
lea rbx, [rsp + 0x114]
mov rdi, rbx
mov rsi, r15
mov r14d, 0x2600
add rax, 0x66d8
mov qword [0x1400fa508], rax
call sub.msvcrt.dll_strlen
lea rcx, [rax + 1]
mov eax, 0x104
cmp rcx, rax
cmova rcx, rax
mov ecx, ecx
rep movsb byte [rdi], byte [rsi]
mov rcx, r15
mov esi, 0x103
call sub.msvcrt.dll_strlen
mov rcx, rbx
lea rdx, [rax + 1]
cmp rdx, 0x104
cmovae rax, rsi
mov byte [rsp + rax + 0x114], 0
call sub.msvcrt.dll_strlen
mov r8d, 8
lea rdx, str.LOCALE_
mov rcx, rbx
sub rsi, rax
cmp rsi, r8
cmovbe r8, rsi
call sub.msvcrt.dll_strncat
mov rcx, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
xor ecx, ecx
lea rax, [rsp + 0x31c]
mov dword [rsp + 0x54], ecx
mov qword [rsp + 0x48], rax
mov rax, qword [0x1400fa508]
mov r12d, 1
cmp byte [rax + r14], 0xe5
je 0x14000a147
xor r13d, r13d
mov rbp, qword [0x1400fa508]
mov r8d, 0xb
mov dword [rsp + 0x5c], r13d
mov rcx, qword [rsp + r13*8 + 0xa8]
add rbp, r14
mov rdx, rbp
call sub.msvcrt.dll_memcmp
mov r12d, eax
test eax, eax
jne 0x14000a126
mov rbx, r15
cmp r13, 2
jbe 0x140009d64
lea rbx, [rsp + 0x114]
mov rcx, rbx
call sub.msvcrt.dll_strlen
lea rdx, [rax + 0xe]
cmp rdx, 0x104
jbe 0x140009d8a
lea rcx, str.invalid_path_supplied_for_MS_DOS_FAT_extraction
call fcn.140036717
jmp 0x14000a103
lea ecx, [rax + 1]
mov rdi, qword [rsp + 0x48]
mov rsi, rbx
rep movsb byte [rdi], byte [rsi]
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov rcx, rbx
lea rdx, [rax + 1]
cmp rdx, 0x104
mov edx, 0x103
cmovae rax, rdx
mov byte [rsp + rax + 0x31c], 0
call sub.msvcrt.dll_strlen
mov r11, rbp
lea r10, [rsp + 0x31b]
lea r8, [rax + 8]
mov rdx, rax
sub r11, rax
mov r9b, byte [r11 + rdx]
mov rcx, rdx
lea rdx, [rdx + 1]
cmp r9b, 0x20
je 0x140009df5
mov byte [r10 + rdx], r9b
cmp r8, rdx
jne 0x140009dd8
mov rcx, r8
mov byte [rsp + rcx + 0x31c], 0x2e
mov r10, rbp
lea rdx, [rcx + 1]
lea r8, [rcx + 4]
sub r10, rcx
lea r9, [rsp + 0x31b]
mov cl, byte [r10 + rdx + 7]
cmp cl, 0x20
je 0x140009e29
inc rdx
mov byte [r9 + rdx], cl
cmp r8, rdx
jne 0x140009e13
mov byte [rsp + rdx + 0x31c], 0
movzx ebx, word [rbp + 0x1a]
mov edi, dword [rbp + 0x1c]
mov ecx, dword [0x1400fa500]
add ebx, 0x1f
shl ebx, 9
mov dword [rsp + 0x58], edi
movsxd rbx, ebx
lea rdx, [rbx + rdi]
cmp rcx, rdx
jae 0x140009e84
mov rdx, qword [rsp + 0x48]
mov r8, rbx
mov r9, rdi
lea rcx, str.FAT_File__s_would_be_out_of_bounds:__zX___zX
call fcn.140036717
movzx edx, word [rbp + 0x1a]
mov r8d, dword [rbp + 0x1c]
lea rcx, str._X___X
call fcn.140036717
jmp 0x14000a103
mov rsi, qword [rsp + 0x48]
lea rdx, [0x1400808a7]
add rsi, rax
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140009ef6
movabs rax, 0xeb8107503fa8015
lea rcx, str.Patching_COMMAND.COM...
mov qword [rsp + 0xa0], rax
call fcn.140036717
cmp rdi, 0x16b70
jne 0x140009f30
mov rsi, qword [0x1400fa508]
lea rdx, [rsp + 0xa0]
mov r8d, 8
lea rcx, [rsi + rbx + 0x650c]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140009f64
mov byte [rsi + rbx + 0x6510], 0xeb
jmp 0x140009f75
lea rdx, str.IO.SYS
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140009f75
movabs rax, 0x99b68d097580fa
lea rcx, str.Patching_IO.SYS...
mov qword [rsp + 0xa0], rax
call fcn.140036717
cmp rdi, 0x1c800
je 0x140009f3e
lea rcx, str.__unexpected_file_size
call fcn.140036717
jmp 0x140009f75
mov rsi, qword [0x1400fa508]
lea rdx, [rsp + 0xa0]
mov r8d, 8
lea rcx, [rsi + rbx + 0x3a8]
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140009f6d
lea rcx, str.__unexpected_binary_data
jmp 0x140009f37
mov byte [rsi + rbx + 0x3aa], 0xeb
xor edx, edx
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
mov r8d, 1
mov qword [rsp + 0x30], rdx
movzx eax, byte [rbp + 0xb]
mov edx, 0xc0000000
mov dword [rsp + 0x20], 2
mov dword [rsp + 0x28], eax
call qword [sym.imp.KERNEL32.DLL_CreateFileA]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x140009fcc
call fcn.140036bd7
mov rdx, qword [rsp + 0x48]
lea rcx, str.Unable_to_create_file__s:__s.
mov r8, rax
call fcn.140036717
jmp 0x14000a103
mov dword [rsp + 0x20], 4
add rbx, qword [0x1400fa508]
lea r9, [rsp + 0x68]
mov rcx, rax
mov r8d, dword [rsp + 0x58]
mov rdx, rbx
lea rbx, [rsi - 1]
call fcn.14003810a
test eax, eax
jne 0x14000a029
call fcn.140036bd7
mov rdx, qword [rsp + 0x48]
lea rcx, str.Could_not_write_file__s:__s.
mov r8, rax
call fcn.140036717
cmp rbx, 0xfffffffffffffffd
ja 0x14000a103
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x14000a103
movzx r8d, byte [rbp + 0xd]
lea rdx, [rbp + 0xe]
lea rcx, [rsp + 0x78]
call fcn.1400099f0
mov rax, qword [rsp + 0x78]
xor r8d, r8d
lea rdx, [rsp + 0x6c]
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x90], rax
xor eax, eax
mov dword [rsp + 0x6c], eax
mov ax, word [rbp + 0x12]
mov word [rsp + 0x6e], ax
call fcn.1400099f0
mov rax, qword [rsp + 0x80]
xor r8d, r8d
lea rdx, [rbp + 0x16]
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x98], rax
call fcn.1400099f0
mov rax, qword [rsp + 0x88]
mov rcx, rsi
lea rdx, [rsp + 0x90]
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0x98]
mov qword [rsp + 0xa0], rax
call qword [sym.imp.KERNEL32.DLL_SetFileTime]
test eax, eax
jne 0x14000a0da
call fcn.140036bd7
lea rcx, str.Could_not_set_timestamps:__s_n
mov rdx, rax
call fcn.140036717
cmp rbx, 0xfffffffffffffffd
ja 0x14000a0e9
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov rdx, qword [rsp + 0x48]
mov r8, rdi
lea rcx, str.Successfully_wrote__s___zu_bytes_
mov r12d, 1
call fcn.140036717
mov edi, dword [rsp + 0x5c]
mov eax, 0x1084
bt rax, rdi
jae 0x14000a12c
movss xmm1, dword [0x140080ba8]
mov ecx, 7
call fcn.140043995
jmp 0x14000a12c
mov r12d, 1
mov eax, dword [rsp + 0x5c]
inc r13
inc eax
cmp eax, 0xc
ja 0x14000a147
test r12d, 1
jne 0x140009d23
inc dword [rsp + 0x54]
add r14, 0x20
cmp dword [rsp + 0x54], 0x3f
jg 0x14000a163
test r12d, 1
jne 0x140009d08
test r12d, r12d
jne 0x14000a16c
xor eax, eax
jmp 0x14000a176
xor edx, edx
mov rcx, r15
call fcn.14000a6ad
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0x48], eax
call sub.msvcrt.dll_free
mov eax, dword [rsp + 0x48]
add rsp, 0x428
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x3d8
lea rsi, [0x140079e80]
mov rbx, rcx
lea rax, [rsp + 0xf0]
lea rdi, [rsp + 0xf0]
mov ecx, 0x36
test rbx, rbx
mov qword [rsp + 0x68], rax
lea r14, [rsp + 0x84]
rep movsd dword [rdi], dword [rsi]
lea rdi, [rsp + 0x84]
lea rsi, [0x140079f60]
mov ecx, 0x1b
rep movsd dword [rdi], dword [rsi]
je 0x14000a20d
mov rcx, rbx
call sub.msvcrt.dll_strlen
lea rdx, [rax + 0xe]
cmp rdx, 0x104
jbe 0x14000a21e
lea rcx, str.invalid_path_supplied_for_FreeDOS_extraction
call fcn.140036717
jmp 0x14000a3d3
lea rdi, [rsp + 0x2cc]
lea ecx, [rax + 1]
mov rsi, rbx
mov r13d, 0x103
mov qword [rsp + 0x50], rdi
rep movsb byte [rdi], byte [rsi]
mov rcx, rbx
mov esi, 0x103
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x104
cmovae rax, rsi
mov byte [rsp + rax + 0x2cc], 0
call sub.msvcrt.dll_strlen
mov r8d, 8
mov rcx, qword [rsp + 0x50]
lea rdx, str.LOCALE_
sub rsi, rax
cmp rsi, r8
cmovbe r8, rsi
xor ebp, ebp
call sub.msvcrt.dll_strncat
mov rcx, qword [rsp + 0x50]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_CreateDirectoryA]
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x68]
movzx edx, word [r14 + rbp*4]
xor ecx, ecx
mov r15d, ebp
mov r8d, 0xa
mov r12, qword [rax + rbp*8]
lea rax, [rsp + 0x7c]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov rax, qword [0x1400b19d0]
mov r9, r12
mov rcx, qword [rax]
call fcn.140035786
cmp rbp, 2
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x50]
cmovb rax, rbx
mov rcx, rax
mov qword [rsp + 0x58], rax
call sub.msvcrt.dll_strlen
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
lea rcx, [rax + 1]
mov eax, 0x104
cmp rcx, rax
cmova rcx, rax
mov ecx, ecx
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x58]
mov esi, 1
call sub.msvcrt.dll_strlen
lea rdx, [rax + 1]
cmp rdx, 0x104
cmovae rax, r13
mov byte [rsp + rax + 0x1c8], 0
test r12, r12
je 0x14000a351
mov rcx, r12
call sub.msvcrt.dll_strlen
lea rsi, [rax + 1]
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_strlen
mov r8, r13
mov rcx, qword [rsp + 0x48]
mov rdx, r12
sub r8, rax
cmp r8, rsi
cmova r8, rsi
call sub.msvcrt.dll_strncat
cmp rbp, 2
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x20], 2
sbb eax, eax
xor edx, edx
xor r9d, r9d
mov r8d, 1
and eax, 0xffffff86
mov qword [rsp + 0x30], rdx
mov edx, 0xc0000000
sub eax, 0xffffff80
mov dword [rsp + 0x28], eax
call qword [sym.imp.KERNEL32.DLL_CreateFileA]
mov r12, rax
lea rax, [rax - 1]
cmp rax, 0xfffffffffffffffd
jbe 0x14000a3da
call fcn.140036bd7
mov rdx, qword [rsp + 0x48]
lea rcx, str.Unable_to_create_file__s:__s.
mov r8, rax
call fcn.140036717
xor eax, eax
jmp 0x14000a479
mov dword [rsp + 0x20], 4
mov r8d, dword [rsp + 0x7c]
mov rcx, r12
lea r9, [rsp + 0x80]
mov rdx, qword [rsp + 0x60]
call fcn.14003810a
mov rsi, qword [sym.imp.KERNEL32.DLL_CloseHandle]
test eax, eax
jne 0x14000a427
call fcn.140036bd7
mov rdx, qword [rsp + 0x48]
lea rcx, str.Could_not_write_file__s:__s.
mov r8, rax
call fcn.140036717
mov rcx, r12
call rsi
jmp 0x14000a3d3
mov rcx, r12
call rsi
mov r8d, dword [rsp + 0x7c]
mov rdx, qword [rsp + 0x48]
lea rcx, str.Successfully_wrote__s___d_bytes_
call fcn.140036717
mov eax, 0x4410410
bt rax, r15
jae 0x14000a45f
movss xmm1, dword [0x140080ba8]
mov ecx, 7
call fcn.140043995
inc rbp
cmp rbp, 0x1b
jne 0x14000a2a4
mov edx, 1
mov rcx, rbx
call fcn.14000a6ad
add rsp, 0x3d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rdi, qword [0x1400b1900]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x147
mov rsi, qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, rcx
mov rcx, qword [rdi]
call rsi
xor r9d, r9d
mov rcx, qword [rdi]
mov edx, 0x150
movsxd r8, eax
call rsi
cmp rax, 1
je 0x14000a4e0
cmp rax, 2
jne 0x14000a4ef
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp 0x14000a19c
mov rcx, rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp 0x140009bb7
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret