Function at 0x1400077f0
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 [0x1401940c0]
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.1401026d0
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.140003300
nop
mov r8, qword [rbp + 0x370]
mov r14, 0xffffffffffffffff
mov r9, r14
inc r9
cmp byte [r8 + r9], 0
jne 0x140007884
xor edx, edx
lea rcx, [rbp + 0x130]
call fcn.140013de0
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.1400efadc
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], rdi
lea r8, [rbp + 0xb0]
mov edx, eax
lea rcx, [rbp + 0x10]
call fcn.140003770
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.1400efe68
mov r8d, eax
test eax, eax
jne 0x140007970
mov edx, dword [rbp + 0x3c0]
bt edx, 0xa
jae 0x140007962
mov eax, dword [rbp + 0x3c4]
cmp eax, 0xa000000c
jne 0x140007954
lea eax, [r8 + 4]
jmp 0x140007996
cmp eax, 0xa0000003
jne 0x140007962
mov eax, 0xa
jmp 0x140007996
movzx eax, dl
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x140007996
mov dword [rbp + 0x124], 0xffff
sub eax, 2
je 0x140007991
sub eax, 1
je 0x140007991
sub eax, 0x32
je 0x140007991
cmp eax, 0x46
mov eax, r15d
jne 0x140007996
mov eax, 1
mov dword [rbp + 0xc0], r8d
lea rsi, [0x140194d70]
mov qword [rbp + 0xc8], rsi
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x410], xmm0
test eax, eax
je 0x140007b89
cmp eax, 1
sete bl
lea rcx, [rbp + 0x10]
call fcn.14000e5e0
nop
lea rcx, [rsp + 0x68]
call fcn.14000e650
nop
lea rcx, [rbp + 0x130]
call fcn.14000e650
test bl, bl
je 0x140007b99
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.140003300
lea rdx, [rbp + 0x70]
lea rcx, [0x14022edc0]
call fcn.140094260
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.140003300
nop
mov r8, qword [rbp + 0x370]
mov r9, r14
inc r9
cmp byte [r8 + r9], 0
jne 0x140007a65
xor edx, edx
lea rcx, [rbp + 0x170]
call fcn.140013de0
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.1400efadc
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xd8], rdi
lea r8, [rbp + 0xd0]
mov edx, eax
lea rcx, [rbp + 0x150]
call fcn.140003770
nop
mov qword [rbp + 0x3a0], r15
mov qword [rbp + 0x3a8], rsi
lea rdx, [rbp + 0x3a0]
lea rcx, [rbp + 0x150]
call fcn.140004fd0
movzx ebx, al
cmp dword [rbp + 0x3a0], 0
jne 0x1400083cc
lea rcx, [rbp + 0x150]
call fcn.14000e5e0
nop
lea rcx, [rsp + 0x48]
call fcn.14000e650
nop
lea rcx, [rbp + 0x170]
call fcn.14000e650
test bl, bl
jne 0x140007b99
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.140003300
lea rdx, [rbp - 0x30]
lea rcx, [0x14022edc0]
call fcn.140094260
cmp byte [0x14022eb60], bl
je 0x140008395
jmp 0x140007ba0
mov bl, 1
test r8d, r8d
jne 0x1400083e7
jmp 0x1400079c8
mov byte [0x14022eb60], 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.140003300
nop
mov r8, qword [rbp + 0x370]
mov r9, r14
nop dword [rax]
inc r9
cmp byte [r8 + r9], 0
jne 0x140007be0
xor edx, edx
lea rcx, [rbp + 0x190]
call fcn.140013de0
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.1400efadc
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xe8], rdi
lea r8, [rbp + 0xe0]
mov edx, eax
lea rcx, [rbp + 0x1f0]
call fcn.140003770
nop
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x390]
call fcn.140004e00
nop
lea rcx, [rbp + 0x1f0]
call fcn.14000e5e0
nop
lea rcx, [rbp - 0x58]
call fcn.14000e650
nop
lea rcx, [rbp + 0x190]
call fcn.14000e650
xorps xmm0, xmm0
movups xmmword [rbp + 0x380], xmm0
mov rbx, qword [rbp + 0x398]
test rbx, rbx
je 0x140007cb8
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0x398]
movaps xmm0, xmmword [rbp + 0x390]
movdqa xmmword [rbp + 0x380], xmm0
test rbx, rbx
je 0x140007cd7
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0x398]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x3f8], xmm1
test rbx, rbx
je 0x140007d13
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140007d13
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140007d13
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 0x140008109
call fcn.1400efadc
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0xf8], 5
lea r8, [rbp + 0xf0]
mov edx, eax
lea rcx, [rbp + 0x30]
call fcn.140003770
nop
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140007d69
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov rbx, rdx
call fcn.1400038d0
cmp rax, rdx
je 0x140007dbc
nop
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140007d8f
cmp cx, 0x2f
jne 0x140007d98
add rax, 2
cmp rax, rdx
jne 0x140007d80
cmp rax, rdx
je 0x140007dbc
nop dword [rax]
lea r8, [rbx - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x140007dbc
cmp cx, 0x2f
je 0x140007dbc
mov rbx, r8
cmp rax, r8
jne 0x140007da0
mov r8d, 0x3a
mov rcx, rbx
call fcn.1400f1370
cmp rbx, rax
je 0x140007e07
lea rcx, [rax - 2]
cmp rbx, rcx
je 0x140007e07
cmp word [rcx], 0x2e
jne 0x140007def
lea rdx, [rcx - 2]
cmp rbx, rdx
jne 0x140007e0a
cmp word [rdx], 0x2e
jne 0x140007e0a
jmp 0x140007e07
sub rcx, 2
cmp rbx, rcx
je 0x140007e07
cmp word [rcx], 0x2e
je 0x140007e0a
sub rcx, 2
cmp rbx, rcx
jne 0x140007df8
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.140015ee0
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.140003d20
mov ebx, eax
lea rcx, [rbp + 0x210]
call fcn.14000e5e0
nop
lea rcx, [rbp + 0x30]
call fcn.14000e5e0
test ebx, ebx
jne 0x1400080f0
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x40], rax
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140007eae
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea r11, [rcx + rax*2]
mov r10, r11
mov rdx, r11
call fcn.1400038d0
cmp rax, r11
je 0x140007efe
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140007ed5
cmp cx, 0x2f
jne 0x140007ede
add rax, 2
cmp rax, r11
jne 0x140007ec6
cmp rax, r11
je 0x140007efe
lea rdx, [r10 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x140007efe
cmp cx, 0x2f
je 0x140007efe
mov r10, rdx
cmp rax, rdx
jne 0x140007ee3
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.140015ee0
nop
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x250]
call fcn.140003c30
mov rdi, rax
mov qword [rbp - 0x38], rax
lea rcx, [rsi + 0x20]
lea rdx, [rbp + 0x2f0]
call fcn.140003c30
mov rbx, rax
mov qword [rsp + 0x38], rax
mov rdx, rax
lea rcx, [rbp + 0x270]
call fcn.14000ca10
nop
mov rdx, rdi
lea rcx, [rbp + 0x290]
call fcn.14000ca10
nop
mov rcx, rbx
call fcn.14000e650
nop
mov rcx, rdi
call fcn.14000e650
nop
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140007f90
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov r10, rdx
call fcn.1400038d0
cmp rax, rdx
je 0x140007fde
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140007fb4
cmp cx, 0x2f
jne 0x140007fbd
add rax, 2
cmp rax, rdx
jne 0x140007fa5
cmp rax, rdx
je 0x140007fde
lea r8, [r10 - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x140007fde
cmp cx, 0x2f
je 0x140007fde
mov r10, r8
cmp rax, r8
jne 0x140007fc2
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.140015ee0
nop
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x230]
call fcn.140003c30
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14000801d
mov rcx, qword [rax]
movsx eax, byte [rcx]
test al, al
jne 0x14000802b
mov eax, 0x811c9dc5
jmp 0x14000803e
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
inc rcx
call fcn.1400025b0
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x2c0]
call fcn.140010cb0
mov rdi, qword [rax]
lea rdx, [rbp + 0x270]
lea rcx, [rdi + 0x28]
call fcn.14000c7d0
lea rdx, [rbp + 0x290]
lea rcx, [rdi + 0x48]
call fcn.14000c7d0
lea rdx, [rdi + 0x28]
lea rcx, [rbp + 0x330]
call fcn.14000ca10
nop
lea rdx, [rdi + 0x48]
lea rcx, [rbp + 0x350]
call fcn.14000ca10
nop
lea rcx, [rbp + 0x350]
call fcn.14000e650
lea rcx, [rbp + 0x330]
call fcn.14000e650
nop
lea rcx, [rbp + 0x310]
call fcn.14000e650
nop
lea rcx, [rbp + 0x230]
call fcn.14000e5e0
nop
lea rcx, [rbp + 0x290]
call fcn.14000e650
lea rcx, [rbp + 0x270]
call fcn.14000e650
nop
lea rcx, [rbp + 0x250]
call fcn.14000e5e0
lea rcx, [rbp + 0x380]
call fcn.140004940
test eax, eax
jne 0x1400083ff
jmp 0x140007d20
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x14000814c
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000814c
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 0x14000814c
mov rcx, qword [rbp + 0x388]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rbp + 0x398]
test rbx, rbx
je 0x140008183
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140008183
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140008183
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
cmp qword [0x14022eda8], 0
jbe 0x1400081a5
mov rax, qword [0x14022eda0]
mov rcx, qword [rax]
add rcx, 0x28
call fcn.1400062d0
jmp 0x140008395
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.140003300
lea rdx, [rbp - 0x30]
lea rcx, [0x14022edc0]
call fcn.140094260
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.140003300
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.140003300
nop
mov r8, qword [rbp + 0x370]
nop dword [rax + rax]
inc r14
cmp byte [r8 + r14], 0
jne 0x140008260
mov r9, r14
xor edx, edx
lea rcx, [rbp + 0x1b0]
call fcn.140013de0
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.14000ca10
nop
mov rdx, rbx
lea rcx, [rbp + 0x3d0]
call fcn.14000ca10
nop
lea rcx, [rbp - 0x78]
call fcn.14000e650
nop
mov rcx, rbx
call fcn.14000e650
nop
mov edx, 0xe10c2473
lea rcx, [0x140151031]
call fcn.1400025b0
mov dword [rsp + 0x30], eax
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x1e0]
call fcn.140010cb0
mov rdi, qword [rax]
lea rdx, [rbp + 0x3b0]
lea rcx, [rdi + 0x28]
call fcn.14000c7d0
lea rdx, [rbp + 0x3d0]
lea rcx, [rdi + 0x48]
call fcn.14000c7d0
lea rdx, [rdi + 0x28]
lea rcx, [rbp - 0x30]
call fcn.14000ca10
nop
lea rdx, [rdi + 0x48]
lea rcx, [rbp - 0x10]
call fcn.14000ca10
nop
lea rcx, [rbp - 0x10]
call fcn.14000e650
lea rcx, [rbp - 0x30]
call fcn.14000e650
nop
lea rcx, [rbp + 0x3d0]
call fcn.14000e650
lea rcx, [rbp + 0x3b0]
call fcn.14000e650
nop
lea rcx, [rbp + 0x1b0]
call fcn.14000e650
mov rax, qword [0x14022eda0]
mov rcx, qword [rax]
add rcx, 0x28
call fcn.140005220
movzx eax, byte [0x14022eb60]
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.1400f1a50
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.140004690
nop
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x410]
lea rcx, str.exists
call fcn.140004690
nop
mov edx, eax
call fcn.140004530
int3