Function at 0x180023630
Capabilities:
Create directory

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov rax, qword [0x1800ba280]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, r8
mov rdi, rcx
mov qword [rbp - 0x71], rcx
xor r12d, r12d
lea r8, str._bkc_config
lea rcx, [rbp - 9]
call fcn.18002d130
nop
lea rcx, [rbp - 9]
cmp qword [rbp + 0xf], 7
cmova rcx, qword [rbp - 9]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x19], xmm1
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rbx + r8], 0
jne 0x1800236a0
mov rdx, rbx
lea rcx, [rbp - 0x29]
call fcn.1800220d0
nop
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0xf
cmova rdx, qword [rbp - 0x29]
mov r15, qword [rbp - 0x19]
add r15, rdx
lea rbx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0xf
cmova rbx, qword [rbp - 0x29]
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
movabs r14, 0x7fffffffffffffff
cmp rbx, r15
jne 0x18002370a
mov rbx, r12
mov qword [rbp - 0x59], rbx
mov esi, 7
mov qword [rbp - 0x51], rsi
mov word [rbp - 0x69], r12w
jmp 0x180023815
sub r15, rbx
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x51], 7
movabs rax, 0x7ffffffffffffffe
cmp r15, rax
ja 0x180023c0d
mov esi, 7
cmp r15, rsi
jbe 0x1800237cc
mov rsi, r15
or rsi, 7
cmp rsi, rax
jbe 0x18002374f
mov rsi, rax
lea rcx, [r14 + r14]
jmp 0x180023774
mov eax, 0xa
cmp rsi, rax
cmovb rsi, rax
lea rcx, [rsi + 1]
cmp rcx, r14
ja 0x180023c13
add rcx, rcx
cmp rcx, 0x1000
jb 0x1800237ab
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180023c13
mov rcx, rax
call fcn.180083bd0
mov rcx, rax
test rax, rax
je 0x180023b41
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x51], rsi
jmp 0x1800237d0
test rcx, rcx
je 0x1800237bf
call fcn.180083bd0
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x51], rsi
jmp 0x1800237d0
mov rax, r12
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x51], rsi
jmp 0x1800237d0
mov rax, qword [rbp - 0x69]
lea r8, [rbp - 0x69]
cmp rsi, 7
cmova r8, rax
mov rcx, r8
mov rdx, r15
test r15, r15
je 0x180023804
nop word [rax + rax]
movsx eax, byte [rbx]
mov word [rcx], ax
lea rcx, [rcx + 2]
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x1800237f0
mov qword [rbp - 0x59], r15
mov word [r8 + r15*2], r12w
mov rsi, qword [rbp - 0x51]
mov rbx, qword [rbp - 0x59]
lea r8, [0x1800a0aec]
lea rdx, [rbp - 9]
lea rcx, [rsp + 0x48]
call fcn.18002d130
nop
lea rdx, [rbp - 0x69]
cmp rsi, 7
cmova rdx, qword [rbp - 0x69]
mov r8, rbx
mov rcx, rax
call fcn.18002bf20
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x30], xmm1
mov qword [rax + 0x18], 7
mov qword [rax + 0x10], r12
mov word [rax], r12w
mov r8d, 4
lea rdx, str..bkc
lea rcx, [rsp + 0x20]
call fcn.18002bf20
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x39], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x49], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x39], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rsp + 0x38]
cmp rdx, 7
jbe 0x1800238ff
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800238fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800238fa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18008404c
movdqa xmm0, xmmword [0x1800a6310]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x20], r12w
mov rdx, qword [rbp - 0x79]
cmp rdx, 7
jbe 0x180023957
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023952
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180023952
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18008404c
movdqa xmm0, xmmword [0x1800a6310]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], r12w
lea rdx, [rbp - 0x49]
cmp qword [rbp - 0x31], 7
cmova rdx, qword [rbp - 0x49]
mov rax, qword [rbp - 0x39]
lea rsi, [rdx + rax*2]
lea rbx, [rbp - 0x49]
cmova rbx, qword [rbp - 0x49]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], 0xf
cmp rbx, rsi
jne 0x1800239a9
mov byte [rdi], 0
jmp 0x180023a8c
sub rsi, rbx
sar rsi, 1
cmp rsi, r14
ja 0x180023c01
cmp rsi, 0xf
jbe 0x180023a56
mov rax, rsi
or rax, 0xf
cmp rax, r14
jbe 0x1800239fa
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.180083bd0
mov rcx, rax
test rax, rax
je 0x180023a25
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180023a3b
mov r14, rax
mov ecx, 0x16
cmp rax, rcx
cmovb r14, rcx
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x180023a2c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180023c07
jmp 0x1800239dc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x180023a38
call fcn.180083bd0
jmp 0x180023a3b
mov rax, r12
mov qword [rdi], rax
mov qword [rdi + 0x18], r14
mov r8, rdi
cmp r14, 0xf
jbe 0x180023a59
mov r8, rax
mov rcx, rax
mov rdx, rsi
jmp 0x180023a70
mov r8, rdi
mov rcx, r8
mov rdx, rsi
test rsi, rsi
je 0x180023a83
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rbx]
mov byte [rcx], al
lea rcx, [rcx + 1]
lea rbx, [rbx + 2]
sub rdx, 1
jne 0x180023a70
mov qword [rdi + 0x10], rsi
mov byte [r8 + rsi], 0
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x180023a99
mov rdx, qword [rdi]
lea r8, [0x1800a0af0]
lea rcx, [rbp - 0x71]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
mov rcx, qword [rbp - 0x71]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 7
jbe 0x180023af8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023af3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180023af3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18008404c
movdqa xmm0, xmmword [0x1800a6310]
movdqu xmmword [rbp - 0x39], xmm0
mov word [rbp - 0x49], r12w
mov rdx, qword [rbp - 0x51]
cmp rdx, 7
jbe 0x180023b4e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x69]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023b48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180023b48
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18008404c
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0xf
jbe 0x180023b8c
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023b87
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180023b87
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18008404c
movdqa xmm0, xmmword [0x1800a6320]
movdqu xmmword [rbp - 0x19], xmm0
mov byte [rbp - 0x29], 0
mov rdx, qword [rbp + 0xf]
cmp rdx, 7
jbe 0x180023be0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180023bdb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180023bdb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18008404c
mov rax, rdi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.180083bb0
add rsp, 0x100
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18001f9b0
nop
call fcn.18001f910
nop
call fcn.18001f9b0
int3
call fcn.18001f910
int3