Function at 0x1400565d9
Capabilities:
Create directory

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x70
mov r8, rdx
mov rdx, rcx
mov edx, ecx
movabs rdi, 0x8000000000000000
lea rcx, [rsp + 0x28]
call fcn.14002e1a0
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rax, rdi
je 0x14004c06a
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x40]
call fcn.14004a210
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
cmp rbx, rdi
je 0x14004c06a
mov rcx, rsi
xor edx, edx
call sub.kernel32.dll_CreateDirectoryW
test eax, eax
je 0x14004c046
test rbx, rbx
je 0x14004c042
mov edx, 2
mov rcx, rsi
call fcn.14000c1a0
xor esi, esi
jmp 0x14004c06a
call sub.kernel32.dll_GetLastError
mov edi, eax
shl rdi, 0x20
or rdi, 2
test rbx, rbx
je 0x14004c067
mov edx, 2
mov rcx, rsi
call fcn.14000c1a0
mov rsi, rdi
mov rax, rsi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
mov rsi, rdx
mov rdi, rcx
lea rcx, [rsp + 0x20]
mov rdx, rdi
mov r8, rsi
call fcn.140030390
movzx eax, byte [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
movzx r8d, al
lea r9, [0x1400dc514]
movsxd r10, dword [r9 + r8*4]
add r10, r9
mov r8, rsi
mov r9, rdi
jmp r10
add rcx, 4
jmp 0x14004c10d
lea r8, [rdx + 1]
test rdx, rdx
cmove r8, rdx
add rcx, r8
add rcx, 8
jmp 0x14004c10d
mov ecx, 6
jmp 0x14004c10d
lea r8, [rdx + 1]
test rdx, rdx
cmove r8, rdx
add rcx, r8
add rcx, 2
jmp 0x14004c10d
mov ecx, 2
mov r8, rsi
sub r8, rcx
jb 0x14004c6d4
add rcx, rdi
mov r9, rcx
test r8, r8
je 0x14004c138
movzx ecx, byte [r9]
cmp cl, 0x2f
sete dl
cmp cl, 0x5c
sete cl
or cl, dl
jmp 0x14004c13a
xor ecx, ecx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x12f], rdx
movups xmm0, xmmword [rsp + 0x21]
movups xmm1, xmmword [rsp + 0x31]
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
test rsi, rsi
je 0x14004c16c
cmp al, 6
jne 0x14004c174
jmp 0x14004c19b
cmp al, 2
ja 0x14004c442
mov rdx, qword [rsp + 0x12f]
mov qword [rsp + 0x3f], rdx
movaps xmm0, xmmword [rsp + 0x110]
movaps xmm1, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov rdx, qword [rsp + 0x3f]
mov qword [rsp + 0xc0], rdx
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [rsp + 0xb1], xmm1
movups xmmword [rsp + 0xa1], xmm0
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rsi
mov byte [rsp + 0xa0], al
add byte [rsi - 0x39], ah
test byte [rax + rcx*8], ah
add byte [rax], al
add byte [rax], al
invalid
mov byte [rsp + 0xca], cl
lea rax, [0x140127358]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 0
mov byte [rsp + 0xe0], 6
mov word [rsp + 0x108], 0x200
mov byte [rsp + 0x10a], 0
lea rcx, [rsp + 0x138]
lea rdx, [rsp + 0x90]
call fcn.14004c710
cmp byte [rsp + 0x138], 0xa
je 0x14004c314
lea rbx, [rsp + 0x58]
lea r14, [rsp + 0x170]
add byte [rbp + rcx*4 - 0x44], cl
and al, 0xd0
add byte [rax], al
add byte [rbp + rcx*4 + 0x64], cl
and al, 0x20
lea r13, [rsp + 0x138]
lea rbp, [rsp + 0x90]
nop dword [rax]
mov rcx, r14
mov rdx, r15
call fcn.14004c710
add byte [rax], al
cmp byte [rsp + 0x170], 0xa
je 0x14004c331
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x50], rax
and al, 0x50
movups xmm0, xmmword [rsp + 0x138]
movups xmm1, xmmword [rsp + 0x148]
add byte [rax], al
movups xmm2, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x40], xmm2
movaps xmmword [rsp + 0x30], xmm1
movaps xmmword [rsp + 0x20], xmm0
mov rax, qword [rsp + 0x1a0]
mov qword [rbx + 0x30], rax
movups xmm0, xmmword [rsp + 0x170]
movups xmm1, xmmword [rsp + 0x180]
movups xmm2, xmmword [rsp + 0x190]
xchg esp, eax
and al, 0x90
add dword [rax], eax
add byte [rdi], cl
adc dword [rbx + 0x20], edx
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
add ecx, dword [rcx + rcx*4 - 0x1f]
mov rdx, rbx
call fcn.140030bf0
test al, al
je 0x14004c331
mov rcx, r13
mov rdx, rbp
call fcn.14004c710
cmp byte [rsp + 0x138], 0xa
jne 0x14004c270
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0xd0]
call fcn.14004c710
cmp byte [rsp + 0x20], 0xa
je 0x14004c442
mov rcx, rdi
mov rdx, rsi
call 0x14004bfc0
mov qword [rsp + 0x90], rax
test rax, rax
je 0x14004c442
mov rbx, rax
and eax, 3
lea rcx, [0x1400dc530]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [rbx + 0x10]
jmp 0x14004c37b
movzx eax, byte [rbx + 0xf]
jmp 0x14004c37b
mov rcx, rbx
shr rcx, 0x20
call fcn.14002ec00
test al, al
je 0x14004c3bd
lea rcx, [rsp + 0x20]
mov rdx, rdi
mov r8, rsi
call fcn.14004ca50
cmp dword [rsp + 0x20], 2
jne 0x14004c415
mov rax, qword [rsp + 0x28]
lea rcx, [rsp + 0xd8]
mov qword [rsp + 0xd8], rax
mov byte [rsp + 0xd0], 1
add eax, ebp
or al, bh
std
invalid
jmp 0x14004c444
add eax, ebp
or al, bh
std
invalid
lea rcx, [rsp + 0x90]
call fcn.14002bbc0
div bh
std
dec dword [rax - 0x73]
mov word [rax + rdx*4], fs
and al, 0x90
add byte [rax], al
add byte [rax - 0x77], cl
cli
div bh
std
dec dword [rax - 0x73]
mov word [rax + rdx*4], fs
and al, 0x90
and al, 0x90
add byte [rax], al
add byte [rax - 0x77], cl
cli
mov r8, rsi
call fcn.140030390
movzx edx, byte [rsp + 0x90]
nop
add byte [rax], al
add byte [rax - 0x75], cl
mov word [rax + riz*4], fs
add byte [rax], al
add byte [rax - 0x75], cl
test byte [rax + rsi*4], ah
add byte [rax], al
add byte [rbp + rcx*4 + 5], cl
call 0x18d04ccfe
invalid
or al, 0x90
add r9, r8
mov rdx, rsi
mov r8, rdi
jmp r9
nop
add byte [rax], al
add byte [rax - 0x75], cl
mov word [rax + riz*4], fs
add byte [rax], al
add byte [rax - 0x75], cl
test byte [rax + rsi*4], ah
add byte [rax], al
add byte [rbp + rcx*4 + 5], cl
call 0x18d04ccfe
invalid
add rcx, 4
jmp 0x14004c4b6
mov eax, dword [rsp + 0x60]
test eax, 0x400
sete cl
test dword [rsp + 0x64], 0x20000000
sete dl
or dl, cl
shr al, 4
test al, dl
je 0x14004c444
lea rcx, [rsp + 0x90]
call fcn.14002bbc0
idiv ebp
push qword [rcx]
xor ebx, ebx
fisttp dword [rax - 0x77]
fmul dword [rax - 0x7f]
invalid
invalid
mov rax, rbx
add rsp, 0x1a8
add esp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, rbx
shr rax, 0x20
shr eax, 0x20
cmp eax, 0x28
ja case.default.0x14004c479
lea rcx, [0x1400dc540]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor eax, eax
jmp 0x14004c37b
invalid
invalid
lea rdx, [rax + 1]
test rax, rax
test eax, eax
cmove rdx, rax
add rcx, rdx
add ecx, edx
add rcx, 8
jmp 0x14004c4b6
invalid
mov ecx, 6
jmp 0x14004c4b6
lea rdx, [rax + 1]
test rax, rax
cmove rdx, rax
cmove edx, eax
add rcx, rdx
add rcx, 2
add ecx, 2
jmp 0x14004c4b6
mov ecx, 2
mov rdx, rsi
sub rdx, rcx
sub edx, ecx
jb 0x14004c6d4
add rcx, rdi
mov r8, rcx
test rdx, rdx
je 0x14004c4df
movzx eax, byte [r8]
cmp al, 0x2f
sete cl
xchg esp, eax
invalid
cmp al, 0x5c
sete al
or al, cl
jmp 0x14004c4e1
xor eax, eax
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
movups xmm0, xmmword [rsp + 0x90]
movups xmm1, xmmword [rsp + 0xa0]
invalid
add byte [rax], al
add byte [rax], al
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x50], ecx
mov byte [rsp + 0x5a], al
mov word [rsp + 0x58], 0x200
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x20]
call fcn.14004c710
movzx eax, byte [rsp + 0xd0]
cmp al, 0xa
invalid
jne 0x14004c547
lea rbx, [0x140123330]
jmp 0x14004c444
add al, 0xfa
cmp al, 3
ja 0x14004c53b
movzx eax, al
dec rax
cmp rax, 3
jae 0x14004c53b
lea rcx, [rsp + 0x20]
call fcn.140030cc0
test rax, rax
je 0x14004c53b
mov rcx, rax
call 0x14004c080
mov rbx, rax
test rax, rax
jne 0x14004c444
mov rcx, rdi
mov rdx, rsi
call 0x14004bfc0
mov qword [rsp + 0x20], rax
test rax, rax
je 0x14004c442
invalid
lodsd eax, dword [rsi]
invalid
invalid
invalid
test byte [rbp + 0x48fffffe], ch
mov ebx, eax
ret
mov rbx, rax
ret
mov rcx, rdi
mov rdx, rsi
call fcn.14004cb90
test al, al
je 0x14004c444
lea rcx, [rsp + 0x20]
lea ecx, [rsp + 0x20]
jmp 0x14004c43d
invalid
mov al, 0x29
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 1
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 2
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 3
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 4
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 5
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 6
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 7
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 8
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 9
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0xa
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0xb
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0xc
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0xd
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0xe
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0xf
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x10
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x11
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x12
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x13
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x14
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x15
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x16
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x17
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x18
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x19
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x1a
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x1b
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x1c
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x1d
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x1e
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x1f
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x20
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x21
jmp 0x14004c37b
invalid
invalid
invalid
mov al, 0x22
jmp 0x14004c37b
mov al, 0x23
jmp 0x14004c37b
mov al, 0x24
jmp 0x14004c37b
mov al, 0x25
jmp 0x14004c37b
mov al, 0x26
jmp 0x14004c37b
mov al, 0x27
jmp 0x14004c37b
mov al, 0x28
jmp 0x14004c37b
lea r8, [0x140123a20]
mov rdx, rsi
call fcn.14000d450
mov rsi, rax
lea rcx, [rsp + 0x20]
call fcn.14002bbc0
jmp 0x14004c702
mov rcx, rsi
call fcn.14005a510
call fcn.140010ea0
int3
mov byte [rdi + 0x39], 1
mov al, 1
cmp r13b, al
ja 0x14004c939
cmp al, 1
je 0x14004c8a0
movzx eax, al
cmp eax, 2
jne 0x14004c92f
mov rcx, rdi
call fcn.1400313e0
cmp r14, rax
jbe 0x14004c810
lea rcx, [rsp + 0x68]
mov rdx, rdi
call fcn.1400312b0
mov rbx, r14
movzx eax, byte [rsp + 0x70]
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x50], xmm2
mov rcx, qword [r15 + 0x2f]
mov qword [rsp + 0x5f], rcx
sub rbx, qword [rsp + 0x68]
jb 0x14004ca19
mov qword [rdi + 8], rbx
cmp al, 0xa
jne 0x14004c981
add byte [rax], al
invalid
add byte [rax], al
add byte [rax - 0x2176b6fe], dh
mov al, 2
mov r14, rbx
jmp 0x14004c816
mov byte [rdi + 0x39], 0
xor eax, eax
cmp r12d, 3
jb 0x14004c816
cmp r12d, 5
je 0x14004c816
cmp r12d, 6
jne 0x14004c962
invalid
test r14, r14
je 0x14004c8f6
mov rax, qword [rsp + 0x28]
movzx ecx, byte [rax]
cmp r14, 1
je 0x14004c900
cmp cl, 0x2e
jne 0x14004c900
jne 0x14004c900
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax + 1]
cmp eax, 0x2f
je 0x14004c915
cmp eax, 0x5c
je 0x14004c915
xor eax, eax
jmp 0x14004c816
xor r14d, r14d
xor eax, eax
jmp 0x14004c816
invalid
invalid
invalid
invalid
invalid
xor eax, eax
cmp r14, 1
jne 0x14004c816
cmp cl, 0x2e
jne 0x14004c816
sub rbx, 1
jb 0x14004ca3f
mov qword [rdi + 8], rbx
mov byte [rsi], 7
jmp 0x14004c93c
cmp bpl, 6
jne 0x14004c967
mov byte [rdi + 0x39], 3
mov byte [rsi], 0xa
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add byte [rax], al
add byte [rax - 0x77], cl
pop rdi
or dh, al
invalid
mov byte [rsi], 6
jmp 0x14004c93c
lea rax, [0x1400dc600]
movsxd rcx, dword [rax + r12*4]
add rcx, rax
jmp rcx
mov rax, qword [rdi + 0x20]
add rax, 4
jmp 0x14004c9df
mov byte [rsi], al
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movups xmmword [rsi + 1], xmm0
movups xmmword [rsi + 0x11], xmm1
movups xmmword [rsi + 0x21], xmm2
mov rax, qword [rsp + 0x5f]
mov qword [rsi + 0x30], rax
jmp 0x14004c93c
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x30]
lea rdx, [rcx + 1]
test rcx, rcx
cmove rdx, rcx
add rax, rdx
add rax, 8
jmp 0x14004c9df
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x30]
xor byte [rax - 0x73], cl
push rcx
add dword [rax - 0x7b], ecx
leave
xor byte [rax - 0x73], cl
push rcx
add dword [rax - 0x7b], ecx
leave
cmove rdx, rcx
add rax, rdx
add rax, 2
test rax, rax
je case.default.0x14004c975
mov byte [rdi + 0x39], 3
mov rax, qword [rdi + 0x30]
mov qword [rsi + 0x20], rax
movups xmm0, xmmword [rdi + 0x11]
movups xmm1, xmmword [rdi + 0x21]
movups xmmword [rsi + 0x11], xmm1
movups xmmword [rsi + 1], xmm0
mov byte [rsi], bpl
mov rax, qword [rsp + 0x28]
mov qword [rsi + 0x28], rax
mov qword [rsi + 0x30], rbx
jmp 0x14004c93c
mov rcx, rbx
mov rbx, r14
lea r8, [0x140123b60]
mov rdx, rbx
call fcn.14000dec0
lea r8, [0x140123b48]
mov rcx, rbx
xor edx, edx
call fcn.14000dec0
lea r8, [0x140123b30]
jmp 0x14004ca35
test cl, cl
je 0x1400565e8
mov rcx, rdx
mov rdx, r8
jmp 0x14004c080
mov rcx, rdx
mov rdx, r8
jmp 0x14004bfc0