Function at 0x18004c230
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xabe8]
mov eax, 0xace8
call fcn.18006a390
sub rsp, rax
lea ebx, [r8 - 0xd]
movaps xmmword [rsp + 0xacd0], xmm6
mov dword [rsp + 0x60], ebx
cmp r8d, ebx
movzx ebx, byte [rbp + 0xac40]
mov r11, r9
mov edi, r8d
mov r12, rcx
jbe case.0x18004c2de.10
movsd xmm6, qword [0x18009f4a8]
lea esi, [r8 - 0xbc]
mov r13d, dword [rbp + 0xac40]
lea r8, [0x180000000]
mov eax, dword [rsp + 0x60]
lea r9, [0x180069b60]
mov dword [rsp + 0x70], esi
xor r15d, r15d
mov byte [rsp + 0x64], bl
cmp esi, 0x35
ja case.default.0x18004c2de
movzx eax, byte [r8 + rsi + 0x4cec4]
mov ecx, dword [r8 + rax*4 + 0x4ce8c]
add rcx, r8
jmp rcx
lea rax, [rbp + 0x140]
mov dword [rsp + 0x28], 0x104
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor edx, edx
lea rcx, [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x18004c32e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x18004ce7b
mov r11, qword [rbp + 0xac48]
lea r9, [0x180069b60]
lea r8, [0x180000000]
mov rdx, qword [rbp + 0xac38]
mov eax, dword [rsp + 0x60]
dec edi
dec esi
mov dword [rbp + 0xac40], edi
mov dword [rsp + 0x70], esi
cmp edi, eax
ja 0x18004c2c1
movzx eax, bl
movaps xmm6, xmmword [rsp + 0xacd0]
add rsp, 0xace8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8, qword [rbp - 0x30]
xor r9d, r9d
xor edx, edx
mov ecx, 0xcb
call fcn.180039420
xor edx, edx
mov dword [rbp + 0xac40], r15d
lea r8, [rbp + 0xac40]
lea ecx, [rdx + 0x3d]
call fcn.180015f20
mov r8, qword [rbp - 0x58]
mov edx, 0xeb
xor ecx, ecx
call fcn.180020f40
mov qword [rbp - 0x30], rax
jmp 0x18004c32e
mov r14d, dword [rbp - 0x38]
test r14d, r14d
je 0x18004c3ae
lea rdi, [rbp - 0x18]
mov esi, r14d
nop word [rax + rax]
mov rdx, qword [rbp - 0x58]
lea r8, [rbp - 0x40]
mov r9d, 0xfb
mov qword [rbp - 0x40], r15
lea rcx, [rbp - 0x48]
mov qword [rbp - 0x48], rdi
call fcn.180031af0
add rdi, 4
sub rsi, 1
jne 0x18004c3e0
mov edi, dword [rbp + 0xac40]
mov esi, dword [rsp + 0x70]
jmp 0x18004c3ae
mov r10, qword [r11]
mov r15, qword [r11 + 8]
cmp r10, r15
je 0x18004ce6c
mov r11, qword [r12 + 8]
mov r14, qword [r12]
nop
mov r9, r14
cmp r14, r11
je 0x18004c484
mov rdi, qword [r10 + 0x18]
mov rsi, qword [r10 + 0x10]
mov rcx, r10
cmp rdi, 8
jb 0x18004c44c
mov rcx, qword [r10]
cmp qword [r9 + 0x18], 8
mov r8, r9
jb 0x18004c459
mov r8, qword [r9]
mov rdx, qword [r9 + 0x10]
cmp rdx, rsi
jne 0x18004c4a8
test rdx, rdx
je 0x18004c484
sub r8, rcx
nop word [rax + rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x18004c4a8
add rcx, 2
sub rdx, 1
jne 0x18004c470
cmp r9, r11
jne 0x18004ce74
add r10, 0x20
cmp r10, r15
jne 0x18004c430
mov edi, dword [rbp + 0xac40]
xor r15d, r15d
mov esi, dword [rsp + 0x70]
jmp 0x18004c32e
add r9, 0x20
cmp r9, r11
jne 0x18004c440
jmp 0x18004c48d
mov rdx, qword [rbp - 0x58]
mov ecx, 0x9c
call fcn.180062a50
jmp 0x18004c32e
xor bl, bl
mov byte [rsp + 0x64], bl
jmp case.0x18004c2de.13
mov esi, dword [rbp - 0x68]
test esi, esi
jle 0x18004ce63
mov r9, qword [rsp + 0x68]
mov r8, r15
mov ebx, dword [rbp - 0x68]
add r11, 4
mov qword [rbp - 0x80], r15
mov r10, r9
mov r15, qword [rbp + 0xac50]
mov rdi, rdx
sub r15, rdx
mov qword [rbp - 0x70], r9
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x78], r11
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x40], rsi
nop dword [rax]
nop word [rax + rax]
mov esi, 5
mov r14d, 6
mov dword [rsp + 0x78], esi
mov qword [rbp - 0x50], r14
cmp esi, 5
ja case.default.0x18004c54f
lea rdx, [0x180000000]
mov eax, esi
mov ecx, dword [rdx + rax*4 + 0x4cefc]
add rcx, rdx
jmp rcx
mov r8, rdi
lea rdx, [rbp + 0x40]
mov ecx, 0x94
call fcn.1800628b0
mov r9, qword [rsp + 0x68]
mov r8, qword [rbp - 0x80]
mov r10, qword [rbp - 0x70]
jmp 0x18004ccad
mov rdi, qword [rsp + 0x68]
lea rax, [rbp + 0x4b90]
mov qword [rsp + 0x30], rax
lea r9, [rbp + 0x1370]
lea rax, [rbp + 0xb60]
mov dword [rsp + 0x28], 0xc0
lea r8, [rbp + 0x8bd0]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x350]
mov rcx, rdi
call fcn.180049d40
cmp dword [r12 + 0x88], 8
jle 0x18004c5ed
lea rax, [rbp + 0x4b90]
mov r9d, 0x126
lea r8, [rbp + 0xb60]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x350]
lea rcx, [rbp + 0x5ba0]
call fcn.1800606b0
lea r10, [rdi + 0x1230]
mov r9d, 0xb2
movabs r14, 0xc069000000000000
nop dword [rax]
nop dword [rax + rax]
mov eax, r9d
sub eax, 0xaf
je 0x18004c6a4
sub eax, 1
je 0x18004c6b4
cmp eax, 2
jne 0x18004c6a4
xor r11d, r11d
lea rdx, [rbp + 0x4b90]
sub rdx, r10
lea r8, [rbp + 0x5ba0]
sub r8, r10
lea rax, [r10 + 8]
mov ecx, r11d
nop word [rax + rax]
cmp dword [rbp + rcx + 0xb64], 0xa
jne 0x18004c671
movsd xmm0, qword [rax]
comisd xmm0, xmmword [rdx + rax]
jbe 0x18004c671
mov qword [rdx + rax], r14
mov dword [rbp + rcx + 0xb64], r11d
cmp dword [rbp + rcx + 0x354], 0x14
jne 0x18004c693
movsd xmm0, qword [rax]
comisd xmm0, xmmword [r8 + rax]
jbe 0x18004c693
mov qword [r8 + rax], r14
mov dword [rbp + rcx + 0x354], r11d
add rax, 8
add rcx, 4
cmp rcx, 0x800
jl 0x18004c650
inc r9d
cmp r9d, 0xb5
jb 0x18004c610
mov eax, dword [r12 + 0x14]
lea r9, [rdi + 0x228]
cdq
lea r8, [rdi + 8]
idiv ebx
lea rdx, [rbp + 0x6bb0]
mov ecx, 0x9c
mov dword [rsp + 0x78], eax
lea rax, [rbp + 0x350]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x5ba0]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0xb60]
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x4b90]
mov qword [rsp + 0x20], rax
call fcn.180021330
mov r8, qword [rbp - 0x80]
mov r9, rdi
mov r10, qword [rbp - 0x70]
jmp 0x18004cca5
mov ecx, dword [r10]
mov eax, 0x2e8ba2e9
imul ecx
xor r9d, r9d
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
lea r8d, [r9 + 0x7c]
imul eax, edx, 0x580
lea rdx, [rbp + 0x2380]
sub ecx, eax
mov dword [r10], ecx
lea rcx, [rbp + 0x8bd0]
call fcn.18001f5c0
lea r8, [rbp + 0x8bd0]
mov edx, 0x4d
lea rcx, [rbp + 0x1370]
call fcn.18003f870
lea r9, [r15 + rdi]
mov r8d, 0x66
lea rdx, [rbp + 0x1370]
lea rcx, [rbp + 0x40]
call fcn.18003f970
mov rdi, qword [rsp + 0x68]
lea r9, [rbp + 0x350]
lea r8, [rbp + 0x5ba0]
mov qword [rsp + 0x20], rdi
lea rdx, [rbp + 0x1370]
mov ecx, 0x102
call fcn.180061760
mov r8, qword [rbp - 0x80]
mov r9, rdi
mov r10, qword [rbp - 0x70]
jmp 0x18004cca9
lea rdx, [r9 + 8]
mov dword [rsp + 0x20], 0x10e
mov r9, rdi
lea r8, [rbp + 0x6bb0]
xor ecx, ecx
call fcn.18003f330
mov r9, qword [rsp + 0x68]
mov r8, qword [rbp - 0x80]
mov r10, qword [rbp - 0x70]
jmp 0x18004ccad
xor r12d, r12d
movsxd rdx, r13d
nop dword [rax]
lea rax, [r8 + rdx]
mov rcx, qword [r9 + rax*8 + 0x2238]
lea r15, [rdx + 1]
xor edx, edx
mov qword [rbp + r12*8 + 0x2380], rcx
cmp r15, 0x580
cmovl rdx, r15
lea rax, [r8 + rdx]
mov rcx, qword [r9 + rax*8 + 0x2238]
lea r14, [rdx + 1]
xor edx, edx
mov qword [rbp + r12*8 + 0x2388], rcx
cmp r14, 0x580
cmovl rdx, r14
lea rax, [r8 + rdx]
mov rcx, qword [r9 + rax*8 + 0x2238]
lea rsi, [rdx + 1]
xor edx, edx
mov qword [rbp + r12*8 + 0x2390], rcx
cmp rsi, 0x580
cmovl rdx, rsi
lea rax, [rdx + r8]
mov rcx, qword [r9 + rax*8 + 0x2238]
lea rdi, [rdx + 1]
xor edx, edx
mov qword [rbp + r12*8 + 0x2398], rcx
cmp rdi, 0x580
cmovl rdx, rdi
lea rax, [rdx + r8]
mov rcx, qword [r9 + rax*8 + 0x2238]
lea r11, [rdx + 1]
xor edx, edx
mov qword [rbp + r12*8 + 0x23a0], rcx
cmp r11, 0x580
cmovl rdx, r11
lea rax, [rdx + r8]
mov rcx, qword [r9 + rax*8 + 0x2238]
lea r10, [rdx + 1]
xor edx, edx
mov qword [rbp + r12*8 + 0x23a8], rcx
cmp r10, 0x580
cmovl rdx, r10
lea rax, [rdx + r8]
mov rcx, qword [r9 + rax*8 + 0x2238]
lea r8, [rdx + 1]
mov rax, qword [rbp - 0x80]
xor edx, edx
cmp r8, 0x580
mov qword [rbp + r12*8 + 0x23b0], rcx
cmovl rdx, r8
add rax, rdx
cmp r15, 0x580
mov rcx, qword [r9 + rax*8 + 0x2238]
lea r9, [rdx + 1]
mov qword [rbp + r12*8 + 0x23b8], rcx
lea eax, [r13 + 2]
mov ecx, 1
cmovl ecx, eax
xor edx, edx
cmp r14, 0x580
mov eax, 1
cmovl edx, ecx
add edx, 2
cmp rsi, 0x580
cmovl eax, edx
xor ecx, ecx
cmp rdi, 0x580
cmovl ecx, eax
mov eax, 1
add ecx, 2
cmp r11, 0x580
cmovl eax, ecx
xor ecx, ecx
cmp r10, 0x580
cmovl ecx, eax
mov eax, 1
add ecx, 2
cmp r8, 0x580
cmovl eax, ecx
xor r13d, r13d
cmp r9, 0x580
mov r8, qword [rbp - 0x80]
cmovl r13d, eax
xor edx, edx
add r12, 8
cmp r9, 0x580
cmovl rdx, r9
mov r9, qword [rsp + 0x68]
cmp r12, 0x400
jl 0x18004c810
mov r10, qword [rbp - 0x70]
add dword [r10], 0x480
jmp 0x18004cc96
mov r13d, dword [r10]
mov eax, 0x2e8ba2e9
imul r13d
mov r12, r11
mov qword [rbp - 0x28], 0x80
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x580
sub r13d, eax
movsxd rcx, r13d
nop dword [rax]
movsx eax, word [r12 - 4]
lea rdx, [rcx + 1]
movd xmm0, eax
lea rax, [r8 + rcx]
xor ecx, ecx
cvtdq2pd xmm0, xmm0
cmp rdx, 0x580
cmovl rcx, rdx
mulsd xmm0, xmm6
lea r15, [rcx + 1]
movsd qword [r9 + rax*8 + 0x2238], xmm0
movsx eax, word [r12 - 2]
movd xmm0, eax
lea rax, [r8 + rcx]
xor ecx, ecx
cvtdq2pd xmm0, xmm0
cmp r15, 0x580
cmovl rcx, r15
mulsd xmm0, xmm6
lea r14, [rcx + 1]
movsd qword [r9 + rax*8 + 0x2238], xmm0
movsx eax, word [r12]
movd xmm0, eax
lea rax, [r8 + rcx]
xor ecx, ecx
cvtdq2pd xmm0, xmm0
cmp r14, 0x580
cmovl rcx, r14
mulsd xmm0, xmm6
lea rsi, [rcx + 1]
movsd qword [r9 + rax*8 + 0x2238], xmm0
movsx eax, word [r12 + 2]
movd xmm0, eax
lea rax, [rcx + r8]
xor ecx, ecx
cvtdq2pd xmm0, xmm0
cmp rsi, 0x580
cmovl rcx, rsi
mulsd xmm0, xmm6
lea rdi, [rcx + 1]
movsd qword [r9 + rax*8 + 0x2238], xmm0
movsx eax, word [r12 + 4]
movd xmm0, eax
lea rax, [rcx + r8]
xor ecx, ecx
cvtdq2pd xmm0, xmm0
cmp rdi, 0x580
cmovl rcx, rdi
mulsd xmm0, xmm6
lea r11, [rcx + 1]
movsd qword [r9 + rax*8 + 0x2238], xmm0
movsx eax, word [r12 + 6]
movd xmm0, eax
lea rax, [rcx + r8]
xor ecx, ecx
cvtdq2pd xmm0, xmm0
cmp r11, 0x580
cmovl rcx, r11
mulsd xmm0, xmm6
lea r10, [rcx + 1]
movsd qword [r9 + rax*8 + 0x2238], xmm0
movsx eax, word [r12 + 8]
movd xmm0, eax
lea rax, [rcx + r8]
xor ecx, ecx
cvtdq2pd xmm0, xmm0
cmp r10, 0x580
cmovl rcx, r10
mulsd xmm0, xmm6
movsd qword [r9 + rax*8 + 0x2238], xmm0
movsx eax, word [r12 + 0xa]
movd xmm0, eax
lea rax, [r8 + rcx]
lea r8, [rcx + 1]
xor ecx, ecx
cvtdq2pd xmm0, xmm0
cmp r8, 0x580
cmovl rcx, r8
mulsd xmm0, xmm6
movsd qword [r9 + rax*8 + 0x2238], xmm0
movsx eax, word [r12 + 0xc]
movd xmm0, eax
lea r12, [r12 + 0x12]
mov rax, qword [rbp - 0x80]
add rax, rcx
cmp rdx, 0x580
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
movsd qword [r9 + rax*8 + 0x2238], xmm0
lea r9, [rcx + 1]
lea eax, [r13 + 2]
mov ecx, 1
cmovl ecx, eax
xor edx, edx
cmp r15, 0x580
mov eax, 1
cmovl edx, ecx
add edx, 2
cmp r14, 0x580
cmovl eax, edx
xor ecx, ecx
cmp rsi, 0x580
cmovl ecx, eax
mov eax, 1
add ecx, 2
cmp rdi, 0x580
cmovl eax, ecx
xor ecx, ecx
cmp r11, 0x580
cmovl ecx, eax
mov eax, 1
add ecx, 2
cmp r10, 0x580
cmovl eax, ecx
xor ecx, ecx
cmp r8, 0x580
mov r8, qword [rbp - 0x80]
cmovl ecx, eax
xor r13d, r13d
inc ecx
cmp r9, 0x580
cmovl r13d, ecx
xor ecx, ecx
cmp r9, 0x580
cmovl rcx, r9
sub qword [rbp - 0x28], 1
mov r9, qword [rsp + 0x68]
jne 0x18004ca10
mov r10, qword [rbp - 0x70]
mov eax, 0x2e8ba2e9
mov r13d, dword [r10]
add r13d, 0x4c0
imul r13d
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x580
sub r13d, eax
mov r15, qword [rbp - 0x48]
mov r12, qword [rbp + 0xac30]
mov esi, dword [rsp + 0x78]
mov r14, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x60]
mov r11, qword [rbp - 0x78]
dec esi
sub r14, 1
mov dword [rsp + 0x78], esi
mov qword [rbp - 0x50], r14
jne 0x18004c533
add rdi, 0x100
add r8, 0x580
add r11, 0x900
mov qword [rbp - 0x60], rdi
add r10, 4
mov qword [rbp - 0x80], r8
sub qword [rbp - 0x40], 1
mov qword [rbp - 0x78], r11
mov qword [rbp - 0x70], r10
jne 0x18004c520
movzx ebx, byte [rsp + 0x64]
xor r15d, r15d
mov edi, dword [rbp + 0xac40]
mov esi, dword [rsp + 0x70]
jmp 0x18004c32e
mov eax, dword [r12 + 0xc]
lea rcx, [rbp + 0x7bc0]
xor edx, edx
mov dword [rbp - 0x68], eax
mov r8d, 0x1008
call fcn.18006bea0
mov r8d, 0x1008
lea rdx, [rbp + 0x7bc0]
lea rcx, [rbp + 0x1370]
call fcn.18006ba90
xor edx, edx
lea rcx, [rbp + 0x4380]
mov r8d, 0x804
call fcn.18006bea0
lea rcx, [rbp + 0xb60]
mov r8d, 0x804
lea rdx, [rbp + 0x4380]
call fcn.18006ba90
mov rdi, qword [r12 + 0x1fc8]
mov qword [rsp + 0x68], rdi
test rdi, rdi
jne 0x18004cda3
mov r9d, 0xed
mov r8, r12
xor edx, edx
xor ecx, ecx
call fcn.180059c50
mov qword [rsp + 0x68], rax
mov qword [r12 + 0x1fc8], rax
mov edi, dword [rbp + 0xac40]
jmp 0x18004c32e
movdqa xmm0, xmmword [0x1800a0030]
lea rcx, [rbp - 0x20]
movdqa xmm1, xmmword [0x1800a0120]
xor edx, edx
movups xmmword [rbp - 0x18], xmm0
mov dword [rbp + 0x30], 0x32
mov r8d, 0xe5
mov dword [rbp + 0x34], 0x1e
movsd xmm0, qword [rbp + 0x30]
movsd qword [rbp + 8], xmm0
movups xmmword [rbp - 8], xmm1
mov dword [rbp - 0x38], 0xa
mov qword [rbp - 0x20], r9
call fcn.18003c240
mov qword [rbp - 0x58], rax
jmp 0x18004c32e
mov rcx, qword [rbp - 0x58]
xor r9d, r9d
xor edx, edx
mov r8d, 0xf6
call fcn.18001fbc0
jmp 0x18004c32e
mov ecx, r15d
lea rdx, [r12 + 0xc7c]
cmp byte [rdx], 0
je 0x18004ce44
movsxd rax, dword [r12 + 0xc78]
mov byte [rax + r12 + 0xd8c], cl
inc dword [r12 + 0xc78]
inc ecx
inc rdx
cmp ecx, 0x100
jl 0x18004ce27
jmp 0x18004c343
mov dword [r12 + 0xc78], r15d
jmp case.0x18004c2de.13
mov esi, dword [rsp + 0x70]
jmp case.0x18004c2de.13
xor r15d, r15d
jmp case.0x18004c2de.13
mov al, 1
jmp 0x18004c367
mov rdx, r12
lea rcx, str.vec4_faceforward_vec4_vec4_vec4__
call fcn.18002cc20
int3