Function at 0x140006fc0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x430]
sub rsp, 0x530
mov rax, qword [0x14014b040]
xor rax, rsp
mov qword [rbp + 0x420], rax
xor r15d, r15d
lea r8, str.PROGRAMDATA
lea rdx, [rbp + 0x3f0]
lea rcx, [rbp + 0x370]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__dupenv_s]
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x140], xmm1
lea r8d, [r15 + 0x1a]
lea rdx, str.ExtrimHack_CS2__External_
lea rcx, [rbp + 0x130]
call fcn.140002b10
nop
mov r8, qword [rbp + 0x370]
mov r14, 0xffffffffffffffff
mov r9, r14
inc r9
cmp byte [r8 + r9], 0
jne 0x140007055
xor edx, edx
lea rcx, [rbp + 0x130]
call fcn.1400117d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdi, qword [rsp + 0x78]
lea rbx, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova rbx, qword [rsp + 0x68]
call fcn.1400e999c
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], rdi
lea r8, [rbp + 0xb0]
mov edx, eax
lea rcx, [rbp + 0x10]
call fcn.140002f70
nop
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 7
cmova rcx, qword [rbp + 0x10]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp + 0x3b0]
call fcn.1400e9d28
mov r8d, eax
test eax, eax
jne 0x140007141
mov edx, dword [rbp + 0x3c0]
bt edx, 0xa
jae 0x140007133
mov eax, dword [rbp + 0x3c4]
cmp eax, 0xa000000c
jne 0x140007125
lea eax, [r8 + 4]
jmp 0x140007167
cmp eax, 0xa0000003
jne 0x140007133
mov eax, 0xa
jmp 0x140007167
movzx eax, dl
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x140007167
mov dword [rbp + 0x124], 0xffff
sub eax, 2
je 0x140007162
sub eax, 1
je 0x140007162
sub eax, 0x32
je 0x140007162
cmp eax, 0x46
mov eax, r15d
jne 0x140007167
mov eax, 1
mov dword [rbp + 0xc0], r8d
lea rsi, [0x14014b108]
mov qword [rbp + 0xc8], rsi
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x410], xmm0
test eax, eax
je 0x14000735a
cmp eax, 1
sete bl
lea rcx, [rbp + 0x10]
call fcn.14000cc20
nop
lea rcx, [rsp + 0x68]
call fcn.14000cc90
nop
lea rcx, [rbp + 0x130]
call fcn.14000cc90
test bl, bl
je 0x14000736a
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], r15
mov r8d, 0x2c
lea rdx, str.Config_dir_is_not_found._Trying_to_create_it
lea rcx, [rbp + 0x70]
call fcn.140002b10
lea rdx, [rbp + 0x70]
lea rcx, [0x1401e39e0]
call fcn.14008e310
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x180], xmm1
mov r8d, 0x1a
lea rdx, str.ExtrimHack_CS2__External_
lea rcx, [rbp + 0x170]
call fcn.140002b10
nop
mov r8, qword [rbp + 0x370]
mov r9, r14
inc r9
cmp byte [r8 + r9], 0
jne 0x140007236
xor edx, edx
lea rcx, [rbp + 0x170]
call fcn.1400117d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x58], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdi, qword [rsp + 0x58]
lea rbx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rbx, qword [rsp + 0x48]
call fcn.1400e999c
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xd8], rdi
lea r8, [rbp + 0xd0]
mov edx, eax
lea rcx, [rbp + 0x150]
call fcn.140002f70
nop
mov qword [rbp + 0x3a0], r15
mov qword [rbp + 0x3a8], rsi
lea rdx, [rbp + 0x3a0]
lea rcx, [rbp + 0x150]
call fcn.1400047b0
movzx ebx, al
cmp dword [rbp + 0x3a0], 0
jne 0x140007b9c
lea rcx, [rbp + 0x150]
call fcn.14000cc20
nop
lea rcx, [rsp + 0x48]
call fcn.14000cc90
nop
lea rcx, [rbp + 0x170]
call fcn.14000cc90
test bl, bl
jne 0x14000736a
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r15
mov r8d, 0x3e
lea rdx, str.Config_dir_is_not_created__The_configuration_will_not_be_saved
lea rcx, [rbp - 0x30]
call fcn.140002b10
lea rdx, [rbp - 0x30]
lea rcx, [0x1401e39e0]
call fcn.14008e310
cmp byte [0x1401e37d0], bl
je 0x140007b65
jmp 0x140007371
mov bl, 1
test r8d, r8d
jne 0x140007bb7
jmp 0x140007199
mov byte [0x1401e37d0], 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1a0], xmm1
mov r8d, 0x1a
lea rdx, str.ExtrimHack_CS2__External_
lea rcx, [rbp + 0x190]
call fcn.140002b10
nop
mov r8, qword [rbp + 0x370]
mov r9, r14
nop word [rax + rax]
inc r9
cmp byte [r8 + r9], 0
jne 0x1400073b0
xor edx, edx
lea rcx, [rbp + 0x190]
call fcn.1400117d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdi, qword [rbp - 0x48]
lea rbx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova rbx, qword [rbp - 0x58]
call fcn.1400e999c
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xe8], rdi
lea r8, [rbp + 0xe0]
mov edx, eax
lea rcx, [rbp + 0x1f0]
call fcn.140002f70
nop
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x390]
call fcn.1400045e0
nop
lea rcx, [rbp + 0x1f0]
call fcn.14000cc20
nop
lea rcx, [rbp - 0x58]
call fcn.14000cc90
nop
lea rcx, [rbp + 0x190]
call fcn.14000cc90
xorps xmm0, xmm0
movups xmmword [rbp + 0x380], xmm0
mov rbx, qword [rbp + 0x398]
test rbx, rbx
je 0x140007488
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0x398]
movaps xmm0, xmmword [rbp + 0x390]
movdqa xmmword [rbp + 0x380], xmm0
test rbx, rbx
je 0x1400074a7
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0x398]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x3f8], xmm1
test rbx, rbx
je 0x1400074e3
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400074e3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400074e3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea r12, str..json
nop word [rax + rax]
mov rsi, qword [rbp + 0x380]
test rsi, rsi
je 0x1400078d9
call fcn.1400e999c
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0xf8], 5
lea r8, [rbp + 0xf0]
mov edx, eax
lea rcx, [rbp + 0x30]
call fcn.140002f70
nop
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140007539
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov rbx, rdx
call fcn.1400030c0
cmp rax, rdx
je 0x14000758c
nop
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x14000755f
cmp cx, 0x2f
jne 0x140007568
add rax, 2
cmp rax, rdx
jne 0x140007550
cmp rax, rdx
je 0x14000758c
nop dword [rax]
lea r8, [rbx - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x14000758c
cmp cx, 0x2f
je 0x14000758c
mov rbx, r8
cmp rax, r8
jne 0x140007570
mov r8d, 0x3a
mov rcx, rbx
call fcn.1400ea1c0
cmp rbx, rax
je 0x1400075d7
lea rcx, [rax - 2]
cmp rbx, rcx
je 0x1400075d7
cmp word [rcx], 0x2e
jne 0x1400075bf
lea rdx, [rcx - 2]
cmp rbx, rdx
jne 0x1400075da
cmp word [rdx], 0x2e
jne 0x1400075da
jmp 0x1400075d7
sub rcx, 2
cmp rbx, rcx
je 0x1400075d7
cmp word [rcx], 0x2e
je 0x1400075da
sub rcx, 2
cmp rbx, rcx
jne 0x1400075c8
mov rcx, rax
mov qword [rbp + 0x100], rcx
sub rax, rcx
sar rax, 1
mov qword [rbp + 0x108], rax
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x210]
call fcn.140013850
lea rax, [rbp + 0x30]
cmp qword [rbp + 0x48], 7
cmova rax, qword [rbp + 0x30]
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x118], rax
movaps xmm0, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x1d0], xmm0
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x210]
call fcn.140003510
mov ebx, eax
lea rcx, [rbp + 0x210]
call fcn.14000cc20
nop
lea rcx, [rbp + 0x30]
call fcn.14000cc20
test ebx, ebx
jne 0x1400078c0
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x40], rax
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x14000767e
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea r11, [rcx + rax*2]
mov r10, r11
mov rdx, r11
call fcn.1400030c0
cmp rax, r11
je 0x1400076ce
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1400076a5
cmp cx, 0x2f
jne 0x1400076ae
add rax, 2
cmp rax, r11
jne 0x140007696
cmp rax, r11
je 0x1400076ce
lea rdx, [r10 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x1400076ce
cmp cx, 0x2f
je 0x1400076ce
mov r10, rdx
cmp rax, rdx
jne 0x1400076b3
mov qword [rbp + 0x60], r10
sub r11, r10
sar r11, 1
mov qword [rbp + 0x68], r11
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x250]
call fcn.140013850
nop
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x250]
call fcn.140003420
mov rdi, rax
mov qword [rbp - 0x38], rax
lea rcx, [rsi + 0x20]
lea rdx, [rbp + 0x2f0]
call fcn.140003420
mov rbx, rax
mov qword [rsp + 0x38], rax
mov rdx, rax
lea rcx, [rbp + 0x270]
call fcn.14000b630
nop
mov rdx, rdi
lea rcx, [rbp + 0x290]
call fcn.14000b630
nop
mov rcx, rbx
call fcn.14000cc90
nop
mov rcx, rdi
call fcn.14000cc90
nop
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140007760
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov r10, rdx
call fcn.1400030c0
cmp rax, rdx
je 0x1400077ae
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140007784
cmp cx, 0x2f
jne 0x14000778d
add rax, 2
cmp rax, rdx
jne 0x140007775
cmp rax, rdx
je 0x1400077ae
lea r8, [r10 - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x1400077ae
cmp cx, 0x2f
je 0x1400077ae
mov r10, r8
cmp rax, r8
jne 0x140007792
mov qword [rbp + 0x50], r10
sub rdx, r10
sar rdx, 1
mov qword [rbp + 0x58], rdx
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x230]
call fcn.140013850
nop
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x230]
call fcn.140003420
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1400077ed
mov rcx, qword [rax]
movsx eax, byte [rcx]
test al, al
jne 0x1400077fb
mov eax, 0x811c9dc5
jmp 0x14000780e
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
inc rcx
call fcn.140001e10
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x2c0]
call fcn.14000e810
mov rdi, qword [rax]
lea rdx, [rbp + 0x270]
lea rcx, [rdi + 0x28]
call fcn.14000b3f0
lea rdx, [rbp + 0x290]
lea rcx, [rdi + 0x48]
call fcn.14000b3f0
lea rdx, [rdi + 0x28]
lea rcx, [rbp + 0x330]
call fcn.14000b630
nop
lea rdx, [rdi + 0x48]
lea rcx, [rbp + 0x350]
call fcn.14000b630
nop
lea rcx, [rbp + 0x350]
call fcn.14000cc90
lea rcx, [rbp + 0x330]
call fcn.14000cc90
nop
lea rcx, [rbp + 0x310]
call fcn.14000cc90
nop
lea rcx, [rbp + 0x230]
call fcn.14000cc20
nop
lea rcx, [rbp + 0x290]
call fcn.14000cc90
lea rcx, [rbp + 0x270]
call fcn.14000cc90
nop
lea rcx, [rbp + 0x250]
call fcn.14000cc20
lea rcx, [rbp + 0x380]
call fcn.140004120
test eax, eax
jne 0x140007bcf
jmp 0x1400074f0
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x14000791c
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000791c
mov rbx, qword [rbp + 0x388]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14000791c
mov rcx, qword [rbp + 0x388]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rbp + 0x398]
test rbx, rbx
je 0x140007953
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140007953
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140007953
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
cmp qword [0x1401e39c8], 0
jbe 0x140007975
mov rax, qword [0x1401e39c0]
mov rcx, qword [rax]
add rcx, 0x28
call fcn.140005ad0
jmp 0x140007b65
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r15
mov r8d, 0x31
lea rdx, str.Default_config_is_not_exists__Trying_to_create_it
lea rcx, [rbp - 0x30]
call fcn.140002b10
lea rdx, [rbp - 0x30]
lea rcx, [0x1401e39e0]
call fcn.14008e310
lea rax, [rbp + 0x90]
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], r15
mov qword [rbp + 0xa8], r15
mov r8d, 0xc
lea rdx, str.default.json
lea rcx, [rbp + 0x90]
call fcn.140002b10
lea rbx, [rbp + 0x90]
mov qword [rbp - 0x38], rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1c0], xmm1
mov r8d, 0x27
lea rdx, str.ExtrimHack_CS2__External_default.json
lea rcx, [rbp + 0x1b0]
call fcn.140002b10
nop
mov r8, qword [rbp + 0x370]
nop dword [rax + rax]
inc r14
cmp byte [r8 + r14], 0
jne 0x140007a30
mov r9, r14
xor edx, edx
lea rcx, [rbp + 0x1b0]
call fcn.1400117d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rax, [rbp - 0x78]
mov qword [rsp + 0x38], rax
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x3b0]
call fcn.14000b630
nop
mov rdx, rbx
lea rcx, [rbp + 0x3d0]
call fcn.14000b630
nop
lea rcx, [rbp - 0x78]
call fcn.14000cc90
nop
mov rcx, rbx
call fcn.14000cc90
nop
mov edx, 0xe10c2473
lea rcx, [0x14010e1d1]
call fcn.140001e10
mov dword [rsp + 0x30], eax
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x1e0]
call fcn.14000e810
mov rdi, qword [rax]
lea rdx, [rbp + 0x3b0]
lea rcx, [rdi + 0x28]
call fcn.14000b3f0
lea rdx, [rbp + 0x3d0]
lea rcx, [rdi + 0x48]
call fcn.14000b3f0
lea rdx, [rdi + 0x28]
lea rcx, [rbp - 0x30]
call fcn.14000b630
nop
lea rdx, [rdi + 0x48]
lea rcx, [rbp - 0x10]
call fcn.14000b630
nop
lea rcx, [rbp - 0x10]
call fcn.14000cc90
lea rcx, [rbp - 0x30]
call fcn.14000cc90
nop
lea rcx, [rbp + 0x3d0]
call fcn.14000cc90
lea rcx, [rbp + 0x3b0]
call fcn.14000cc90
nop
lea rcx, [rbp + 0x1b0]
call fcn.14000cc90
mov rax, qword [0x1401e39c0]
mov rcx, qword [rax]
add rcx, 0x28
call fcn.140004a00
movzx eax, byte [0x1401e37d0]
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.1400ea2f0
lea r11, [rsp + 0x530]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0x3a0]
lea rcx, str.create_directories
call fcn.140003e70
nop
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x410]
lea rcx, str.exists
call fcn.140003e70
nop
mov edx, eax
call fcn.140003d10
int3