Function at 0x1400077e0
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 [0x1401930c0]
xor rax, rsp
mov qword [rbp + 0x420], rax
xor r15d, r15d
lea r8, str.PROGRAMDATA
lea rdx, [rbp + 0x3f0]
lea rcx, [rbp + 0x370]
call fcn.140101c30
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.1400032f0
nop
mov r8, qword [rbp + 0x370]
mov r14, 0xffffffffffffffff
mov r9, r14
inc r9
cmp byte [r8 + r9], 0
jne 0x140007874
xor edx, edx
lea rcx, [rbp + 0x130]
call fcn.140013dd0
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.1400ef03c
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], rdi
lea r8, [rbp + 0xb0]
mov edx, eax
lea rcx, [rbp + 0x10]
call fcn.140003760
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.1400ef3c8
mov r8d, eax
test eax, eax
jne 0x140007960
mov edx, dword [rbp + 0x3c0]
bt edx, 0xa
jae 0x140007952
mov eax, dword [rbp + 0x3c4]
cmp eax, 0xa000000c
jne 0x140007944
lea eax, [r8 + 4]
jmp 0x140007986
cmp eax, 0xa0000003
jne 0x140007952
mov eax, 0xa
jmp 0x140007986
movzx eax, dl
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x140007986
mov dword [rbp + 0x124], 0xffff
sub eax, 2
je 0x140007981
sub eax, 1
je 0x140007981
sub eax, 0x32
je 0x140007981
cmp eax, 0x46
mov eax, r15d
jne 0x140007986
mov eax, 1
mov dword [rbp + 0xc0], r8d
lea rsi, [0x140193d70]
mov qword [rbp + 0xc8], rsi
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x410], xmm0
test eax, eax
je 0x140007b79
cmp eax, 1
sete bl
lea rcx, [rbp + 0x10]
call fcn.14000e5d0
nop
lea rcx, [rsp + 0x68]
call fcn.14000e640
nop
lea rcx, [rbp + 0x130]
call fcn.14000e640
test bl, bl
je 0x140007b89
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.1400032f0
lea rdx, [rbp + 0x70]
lea rcx, [0x14022ddc0]
call fcn.1400937c0
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.1400032f0
nop
mov r8, qword [rbp + 0x370]
mov r9, r14
inc r9
cmp byte [r8 + r9], 0
jne 0x140007a55
xor edx, edx
lea rcx, [rbp + 0x170]
call fcn.140013dd0
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.1400ef03c
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xd8], rdi
lea r8, [rbp + 0xd0]
mov edx, eax
lea rcx, [rbp + 0x150]
call fcn.140003760
nop
mov qword [rbp + 0x3a0], r15
mov qword [rbp + 0x3a8], rsi
lea rdx, [rbp + 0x3a0]
lea rcx, [rbp + 0x150]
call fcn.140004fc0
movzx ebx, al
cmp dword [rbp + 0x3a0], 0
jne 0x1400083bc
lea rcx, [rbp + 0x150]
call fcn.14000e5d0
nop
lea rcx, [rsp + 0x48]
call fcn.14000e640
nop
lea rcx, [rbp + 0x170]
call fcn.14000e640
test bl, bl
jne 0x140007b89
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.1400032f0
lea rdx, [rbp - 0x30]
lea rcx, [0x14022ddc0]
call fcn.1400937c0
cmp byte [0x14022db60], bl
je 0x140008385
jmp 0x140007b90
mov bl, 1
test r8d, r8d
jne 0x1400083d7
jmp 0x1400079b8
mov byte [0x14022db60], 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.1400032f0
nop
mov r8, qword [rbp + 0x370]
mov r9, r14
nop dword [rax]
inc r9
cmp byte [r8 + r9], 0
jne 0x140007bd0
xor edx, edx
lea rcx, [rbp + 0x190]
call fcn.140013dd0
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.1400ef03c
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xe8], rdi
lea r8, [rbp + 0xe0]
mov edx, eax
lea rcx, [rbp + 0x1f0]
call fcn.140003760
nop
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x390]
call fcn.140004df0
nop
lea rcx, [rbp + 0x1f0]
call fcn.14000e5d0
nop
lea rcx, [rbp - 0x58]
call fcn.14000e640
nop
lea rcx, [rbp + 0x190]
call fcn.14000e640
xorps xmm0, xmm0
movups xmmword [rbp + 0x380], xmm0
mov rbx, qword [rbp + 0x398]
test rbx, rbx
je 0x140007ca8
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0x398]
movaps xmm0, xmmword [rbp + 0x390]
movdqa xmmword [rbp + 0x380], xmm0
test rbx, rbx
je 0x140007cc7
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0x398]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x3f8], xmm1
test rbx, rbx
je 0x140007d03
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140007d03
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140007d03
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 0x1400080f9
call fcn.1400ef03c
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0xf8], 5
lea r8, [rbp + 0xf0]
mov edx, eax
lea rcx, [rbp + 0x30]
call fcn.140003760
nop
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140007d59
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov rbx, rdx
call fcn.1400038c0
cmp rax, rdx
je 0x140007dac
nop
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140007d7f
cmp cx, 0x2f
jne 0x140007d88
add rax, 2
cmp rax, rdx
jne 0x140007d70
cmp rax, rdx
je 0x140007dac
nop dword [rax]
lea r8, [rbx - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x140007dac
cmp cx, 0x2f
je 0x140007dac
mov rbx, r8
cmp rax, r8
jne 0x140007d90
mov r8d, 0x3a
mov rcx, rbx
call fcn.1400f08d0
cmp rbx, rax
je 0x140007df7
lea rcx, [rax - 2]
cmp rbx, rcx
je 0x140007df7
cmp word [rcx], 0x2e
jne 0x140007ddf
lea rdx, [rcx - 2]
cmp rbx, rdx
jne 0x140007dfa
cmp word [rdx], 0x2e
jne 0x140007dfa
jmp 0x140007df7
sub rcx, 2
cmp rbx, rcx
je 0x140007df7
cmp word [rcx], 0x2e
je 0x140007dfa
sub rcx, 2
cmp rbx, rcx
jne 0x140007de8
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.140015f40
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.140003d10
mov ebx, eax
lea rcx, [rbp + 0x210]
call fcn.14000e5d0
nop
lea rcx, [rbp + 0x30]
call fcn.14000e5d0
test ebx, ebx
jne 0x1400080e0
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x40], rax
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140007e9e
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea r11, [rcx + rax*2]
mov r10, r11
mov rdx, r11
call fcn.1400038c0
cmp rax, r11
je 0x140007eee
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140007ec5
cmp cx, 0x2f
jne 0x140007ece
add rax, 2
cmp rax, r11
jne 0x140007eb6
cmp rax, r11
je 0x140007eee
lea rdx, [r10 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x140007eee
cmp cx, 0x2f
je 0x140007eee
mov r10, rdx
cmp rax, rdx
jne 0x140007ed3
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.140015f40
nop
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x250]
call fcn.140003c20
mov rdi, rax
mov qword [rbp - 0x38], rax
lea rcx, [rsi + 0x20]
lea rdx, [rbp + 0x2f0]
call fcn.140003c20
mov rbx, rax
mov qword [rsp + 0x38], rax
mov rdx, rax
lea rcx, [rbp + 0x270]
call fcn.14000ca00
nop
mov rdx, rdi
lea rcx, [rbp + 0x290]
call fcn.14000ca00
nop
mov rcx, rbx
call fcn.14000e640
nop
mov rcx, rdi
call fcn.14000e640
nop
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140007f80
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov r10, rdx
call fcn.1400038c0
cmp rax, rdx
je 0x140007fce
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140007fa4
cmp cx, 0x2f
jne 0x140007fad
add rax, 2
cmp rax, rdx
jne 0x140007f95
cmp rax, rdx
je 0x140007fce
lea r8, [r10 - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x140007fce
cmp cx, 0x2f
je 0x140007fce
mov r10, r8
cmp rax, r8
jne 0x140007fb2
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.140015f40
nop
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x230]
call fcn.140003c20
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14000800d
mov rcx, qword [rax]
movsx eax, byte [rcx]
test al, al
jne 0x14000801b
mov eax, 0x811c9dc5
jmp 0x14000802e
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
inc rcx
call fcn.1400025a0
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x2c0]
call fcn.140010ca0
mov rdi, qword [rax]
lea rdx, [rbp + 0x270]
lea rcx, [rdi + 0x28]
call fcn.14000c7c0
lea rdx, [rbp + 0x290]
lea rcx, [rdi + 0x48]
call fcn.14000c7c0
lea rdx, [rdi + 0x28]
lea rcx, [rbp + 0x330]
call fcn.14000ca00
nop
lea rdx, [rdi + 0x48]
lea rcx, [rbp + 0x350]
call fcn.14000ca00
nop
lea rcx, [rbp + 0x350]
call fcn.14000e640
lea rcx, [rbp + 0x330]
call fcn.14000e640
nop
lea rcx, [rbp + 0x310]
call fcn.14000e640
nop
lea rcx, [rbp + 0x230]
call fcn.14000e5d0
nop
lea rcx, [rbp + 0x290]
call fcn.14000e640
lea rcx, [rbp + 0x270]
call fcn.14000e640
nop
lea rcx, [rbp + 0x250]
call fcn.14000e5d0
lea rcx, [rbp + 0x380]
call fcn.140004930
test eax, eax
jne 0x1400083ef
jmp 0x140007d10
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x14000813c
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000813c
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 0x14000813c
mov rcx, qword [rbp + 0x388]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rbp + 0x398]
test rbx, rbx
je 0x140008173
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140008173
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140008173
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
cmp qword [0x14022dda8], 0
jbe 0x140008195
mov rax, qword [0x14022dda0]
mov rcx, qword [rax]
add rcx, 0x28
call fcn.1400062c0
jmp 0x140008385
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.1400032f0
lea rdx, [rbp - 0x30]
lea rcx, [0x14022ddc0]
call fcn.1400937c0
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.1400032f0
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.1400032f0
nop
mov r8, qword [rbp + 0x370]
nop dword [rax + rax]
inc r14
cmp byte [r8 + r14], 0
jne 0x140008250
mov r9, r14
xor edx, edx
lea rcx, [rbp + 0x1b0]
call fcn.140013dd0
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.14000ca00
nop
mov rdx, rbx
lea rcx, [rbp + 0x3d0]
call fcn.14000ca00
nop
lea rcx, [rbp - 0x78]
call fcn.14000e640
nop
mov rcx, rbx
call fcn.14000e640
nop
mov edx, 0xe10c2473
lea rcx, [0x140150031]
call fcn.1400025a0
mov dword [rsp + 0x30], eax
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x1e0]
call fcn.140010ca0
mov rdi, qword [rax]
lea rdx, [rbp + 0x3b0]
lea rcx, [rdi + 0x28]
call fcn.14000c7c0
lea rdx, [rbp + 0x3d0]
lea rcx, [rdi + 0x48]
call fcn.14000c7c0
lea rdx, [rdi + 0x28]
lea rcx, [rbp - 0x30]
call fcn.14000ca00
nop
lea rdx, [rdi + 0x48]
lea rcx, [rbp - 0x10]
call fcn.14000ca00
nop
lea rcx, [rbp - 0x10]
call fcn.14000e640
lea rcx, [rbp - 0x30]
call fcn.14000e640
nop
lea rcx, [rbp + 0x3d0]
call fcn.14000e640
lea rcx, [rbp + 0x3b0]
call fcn.14000e640
nop
lea rcx, [rbp + 0x1b0]
call fcn.14000e640
mov rax, qword [0x14022dda0]
mov rcx, qword [rax]
add rcx, 0x28
call fcn.140005210
movzx eax, byte [0x14022db60]
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.1400f0fb0
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.140004680
nop
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x410]
lea rcx, str.exists
call fcn.140004680
nop
mov edx, eax
call fcn.140004520
int3