Function at 0x180022960
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 [0x1800b2280]
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.18002bea0
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 0x1800229d0
mov rdx, rbx
lea rcx, [rbp - 0x29]
call fcn.1800210c0
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 0x180022a3a
mov rbx, r12
mov qword [rbp - 0x59], rbx
mov esi, 7
mov qword [rbp - 0x51], rsi
mov word [rbp - 0x69], r12w
jmp 0x180022b45
sub r15, rbx
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x51], 7
movabs rax, 0x7ffffffffffffffe
cmp r15, rax
ja 0x180022f3d
mov esi, 7
cmp r15, rsi
jbe 0x180022afc
mov rsi, r15
or rsi, 7
cmp rsi, rax
jbe 0x180022a7f
mov rsi, rax
lea rcx, [r14 + r14]
jmp 0x180022aa4
mov eax, 0xa
cmp rsi, rax
cmovb rsi, rax
lea rcx, [rsi + 1]
cmp rcx, r14
ja 0x180022f43
add rcx, rcx
cmp rcx, 0x1000
jb 0x180022adb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180022f43
mov rcx, rax
call fcn.180081880
mov rcx, rax
test rax, rax
je 0x180022e71
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x51], rsi
jmp 0x180022b00
test rcx, rcx
je 0x180022aef
call fcn.180081880
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x51], rsi
jmp 0x180022b00
mov rax, r12
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x51], rsi
jmp 0x180022b00
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 0x180022b34
nop word [rax + rax]
movsx eax, byte [rbx]
mov word [rcx], ax
lea rcx, [rcx + 2]
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x180022b20
mov qword [rbp - 0x59], r15
mov word [r8 + r15*2], r12w
mov rsi, qword [rbp - 0x51]
mov rbx, qword [rbp - 0x59]
lea r8, [0x18009a31c]
lea rdx, [rbp - 9]
lea rcx, [rsp + 0x48]
call fcn.18002bea0
nop
lea rdx, [rbp - 0x69]
cmp rsi, 7
cmova rdx, qword [rbp - 0x69]
mov r8, rbx
mov rcx, rax
call fcn.18002afd0
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.18002afd0
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 0x180022c2f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022c2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180022c2a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180081cfc
movdqa xmm0, xmmword [0x18009e7c0]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x20], r12w
mov rdx, qword [rbp - 0x79]
cmp rdx, 7
jbe 0x180022c87
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022c82
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180022c82
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180081cfc
movdqa xmm0, xmmword [0x18009e7c0]
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 0x180022cd9
mov byte [rdi], 0
jmp 0x180022dbc
sub rsi, rbx
sar rsi, 1
cmp rsi, r14
ja 0x180022f31
cmp rsi, 0xf
jbe 0x180022d86
mov rax, rsi
or rax, 0xf
cmp rax, r14
jbe 0x180022d2a
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.180081880
mov rcx, rax
test rax, rax
je 0x180022d55
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180022d6b
mov r14, rax
mov ecx, 0x16
cmp rax, rcx
cmovb r14, rcx
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x180022d5c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180022f37
jmp 0x180022d0c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x180022d68
call fcn.180081880
jmp 0x180022d6b
mov rax, r12
mov qword [rdi], rax
mov qword [rdi + 0x18], r14
mov r8, rdi
cmp r14, 0xf
jbe 0x180022d89
mov r8, rax
mov rcx, rax
mov rdx, rsi
jmp 0x180022da0
mov r8, rdi
mov rcx, r8
mov rdx, rsi
test rsi, rsi
je 0x180022db3
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 0x180022da0
mov qword [rdi + 0x10], rsi
mov byte [r8 + rsi], 0
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x180022dc9
mov rdx, qword [rdi]
lea r8, [0x18009a320]
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 0x180022e28
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022e23
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180022e23
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180081cfc
movdqa xmm0, xmmword [0x18009e7c0]
movdqu xmmword [rbp - 0x39], xmm0
mov word [rbp - 0x49], r12w
mov rdx, qword [rbp - 0x51]
cmp rdx, 7
jbe 0x180022e7e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x69]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022e78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180022e78
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180081cfc
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0xf
jbe 0x180022ebc
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022eb7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180022eb7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180081cfc
movdqa xmm0, xmmword [0x18009e7d0]
movdqu xmmword [rbp - 0x19], xmm0
mov byte [rbp - 0x29], 0
mov rdx, qword [rbp + 0xf]
cmp rdx, 7
jbe 0x180022f10
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022f0b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180022f0b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180081cfc
mov rax, rdi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.180081860
add rsp, 0x100
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18001edb0
nop
call fcn.18001ed10
nop
call fcn.18001edb0
int3
call fcn.18001ed10
int3