Function at 0x1400070c0
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 [0x14014c040]
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.140002b40
nop
mov r8, qword [rbp + 0x370]
mov r14, 0xffffffffffffffff
mov r9, r14
inc r9
cmp byte [r8 + r9], 0
jne 0x140007155
xor edx, edx
lea rcx, [rbp + 0x130]
call fcn.140011fc0
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.1400eabec
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], rdi
lea r8, [rbp + 0xb0]
mov edx, eax
lea rcx, [rbp + 0x10]
call fcn.140002fa0
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.1400eaf78
mov r8d, eax
test eax, eax
jne 0x140007241
mov edx, dword [rbp + 0x3c0]
bt edx, 0xa
jae 0x140007233
mov eax, dword [rbp + 0x3c4]
cmp eax, 0xa000000c
jne 0x140007225
lea eax, [r8 + 4]
jmp 0x140007267
cmp eax, 0xa0000003
jne 0x140007233
mov eax, 0xa
jmp 0x140007267
movzx eax, dl
and eax, 0x10
or eax, 0x20
shr eax, 4
jmp 0x140007267
mov dword [rbp + 0x124], 0xffff
sub eax, 2
je 0x140007262
sub eax, 1
je 0x140007262
sub eax, 0x32
je 0x140007262
cmp eax, 0x46
mov eax, r15d
jne 0x140007267
mov eax, 1
mov dword [rbp + 0xc0], r8d
lea rsi, [0x14014c108]
mov qword [rbp + 0xc8], rsi
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x410], xmm0
test eax, eax
je 0x14000745a
cmp eax, 1
sete bl
lea rcx, [rbp + 0x10]
call fcn.14000d410
nop
lea rcx, [rsp + 0x68]
call fcn.14000d480
nop
lea rcx, [rbp + 0x130]
call fcn.14000d480
test bl, bl
je 0x14000746a
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.140002b40
lea rdx, [rbp + 0x70]
lea rcx, [0x1401e4a10]
call fcn.14008f4a0
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.140002b40
nop
mov r8, qword [rbp + 0x370]
mov r9, r14
inc r9
cmp byte [r8 + r9], 0
jne 0x140007336
xor edx, edx
lea rcx, [rbp + 0x170]
call fcn.140011fc0
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.1400eabec
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xd8], rdi
lea r8, [rbp + 0xd0]
mov edx, eax
lea rcx, [rbp + 0x150]
call fcn.140002fa0
nop
mov qword [rbp + 0x3a0], r15
mov qword [rbp + 0x3a8], rsi
lea rdx, [rbp + 0x3a0]
lea rcx, [rbp + 0x150]
call fcn.1400047e0
movzx ebx, al
cmp dword [rbp + 0x3a0], 0
jne 0x140007c9c
lea rcx, [rbp + 0x150]
call fcn.14000d410
nop
lea rcx, [rsp + 0x48]
call fcn.14000d480
nop
lea rcx, [rbp + 0x170]
call fcn.14000d480
test bl, bl
jne 0x14000746a
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.140002b40
lea rdx, [rbp - 0x30]
lea rcx, [0x1401e4a10]
call fcn.14008f4a0
cmp byte [0x1401e47d0], bl
je 0x140007c65
jmp 0x140007471
mov bl, 1
test r8d, r8d
jne 0x140007cb7
jmp 0x140007299
mov byte [0x1401e47d0], 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.140002b40
nop
mov r8, qword [rbp + 0x370]
mov r9, r14
nop word [rax + rax]
inc r9
cmp byte [r8 + r9], 0
jne 0x1400074b0
xor edx, edx
lea rcx, [rbp + 0x190]
call fcn.140011fc0
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.1400eabec
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xe8], rdi
lea r8, [rbp + 0xe0]
mov edx, eax
lea rcx, [rbp + 0x1f0]
call fcn.140002fa0
nop
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp + 0x390]
call fcn.140004610
nop
lea rcx, [rbp + 0x1f0]
call fcn.14000d410
nop
lea rcx, [rbp - 0x58]
call fcn.14000d480
nop
lea rcx, [rbp + 0x190]
call fcn.14000d480
xorps xmm0, xmm0
movups xmmword [rbp + 0x380], xmm0
mov rbx, qword [rbp + 0x398]
test rbx, rbx
je 0x140007588
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0x398]
movaps xmm0, xmmword [rbp + 0x390]
movdqa xmmword [rbp + 0x380], xmm0
test rbx, rbx
je 0x1400075a7
lock inc dword [rbx + 8]
mov rbx, qword [rbp + 0x398]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x3f8], xmm1
test rbx, rbx
je 0x1400075e3
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400075e3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400075e3
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 0x1400079d9
call fcn.1400eabec
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0xf8], 5
lea r8, [rbp + 0xf0]
mov edx, eax
lea rcx, [rbp + 0x30]
call fcn.140002fa0
nop
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140007639
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov rbx, rdx
call fcn.1400030f0
cmp rax, rdx
je 0x14000768c
nop
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x14000765f
cmp cx, 0x2f
jne 0x140007668
add rax, 2
cmp rax, rdx
jne 0x140007650
cmp rax, rdx
je 0x14000768c
nop dword [rax]
lea r8, [rbx - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x14000768c
cmp cx, 0x2f
je 0x14000768c
mov rbx, r8
cmp rax, r8
jne 0x140007670
mov r8d, 0x3a
mov rcx, rbx
call fcn.1400eb410
cmp rbx, rax
je 0x1400076d7
lea rcx, [rax - 2]
cmp rbx, rcx
je 0x1400076d7
cmp word [rcx], 0x2e
jne 0x1400076bf
lea rdx, [rcx - 2]
cmp rbx, rdx
jne 0x1400076da
cmp word [rdx], 0x2e
jne 0x1400076da
jmp 0x1400076d7
sub rcx, 2
cmp rbx, rcx
je 0x1400076d7
cmp word [rcx], 0x2e
je 0x1400076da
sub rcx, 2
cmp rbx, rcx
jne 0x1400076c8
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.140014040
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.140003540
mov ebx, eax
lea rcx, [rbp + 0x210]
call fcn.14000d410
nop
lea rcx, [rbp + 0x30]
call fcn.14000d410
test ebx, ebx
jne 0x1400079c0
lea rax, [rbp + 0x2d0]
mov qword [rsp + 0x40], rax
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x14000777e
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea r11, [rcx + rax*2]
mov r10, r11
mov rdx, r11
call fcn.1400030f0
cmp rax, r11
je 0x1400077ce
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1400077a5
cmp cx, 0x2f
jne 0x1400077ae
add rax, 2
cmp rax, r11
jne 0x140007796
cmp rax, r11
je 0x1400077ce
lea rdx, [r10 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x1400077ce
cmp cx, 0x2f
je 0x1400077ce
mov r10, rdx
cmp rax, rdx
jne 0x1400077b3
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.140014040
nop
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x250]
call fcn.140003450
mov rdi, rax
mov qword [rbp - 0x38], rax
lea rcx, [rsi + 0x20]
lea rdx, [rbp + 0x2f0]
call fcn.140003450
mov rbx, rax
mov qword [rsp + 0x38], rax
mov rdx, rax
lea rcx, [rbp + 0x270]
call fcn.14000be20
nop
mov rdx, rdi
lea rcx, [rbp + 0x290]
call fcn.14000be20
nop
mov rcx, rbx
call fcn.14000d480
nop
mov rcx, rdi
call fcn.14000d480
nop
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140007860
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov r10, rdx
call fcn.1400030f0
cmp rax, rdx
je 0x1400078ae
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140007884
cmp cx, 0x2f
jne 0x14000788d
add rax, 2
cmp rax, rdx
jne 0x140007875
cmp rax, rdx
je 0x1400078ae
lea r8, [r10 - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x1400078ae
cmp cx, 0x2f
je 0x1400078ae
mov r10, r8
cmp rax, r8
jne 0x140007892
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.140014040
nop
lea rdx, [rbp + 0x310]
lea rcx, [rbp + 0x230]
call fcn.140003450
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1400078ed
mov rcx, qword [rax]
movsx eax, byte [rcx]
test al, al
jne 0x1400078fb
mov eax, 0x811c9dc5
jmp 0x14000790e
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
inc rcx
call fcn.140001e40
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0x28]
lea rdx, [rbp + 0x2c0]
call fcn.14000f000
mov rdi, qword [rax]
lea rdx, [rbp + 0x270]
lea rcx, [rdi + 0x28]
call fcn.14000bbe0
lea rdx, [rbp + 0x290]
lea rcx, [rdi + 0x48]
call fcn.14000bbe0
lea rdx, [rdi + 0x28]
lea rcx, [rbp + 0x330]
call fcn.14000be20
nop
lea rdx, [rdi + 0x48]
lea rcx, [rbp + 0x350]
call fcn.14000be20
nop
lea rcx, [rbp + 0x350]
call fcn.14000d480
lea rcx, [rbp + 0x330]
call fcn.14000d480
nop
lea rcx, [rbp + 0x310]
call fcn.14000d480
nop
lea rcx, [rbp + 0x230]
call fcn.14000d410
nop
lea rcx, [rbp + 0x290]
call fcn.14000d480
lea rcx, [rbp + 0x270]
call fcn.14000d480
nop
lea rcx, [rbp + 0x250]
call fcn.14000d410
lea rcx, [rbp + 0x380]
call fcn.140004150
test eax, eax
jne 0x140007ccf
jmp 0x1400075f0
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x140007a1c
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140007a1c
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 0x140007a1c
mov rcx, qword [rbp + 0x388]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rbp + 0x398]
test rbx, rbx
je 0x140007a53
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140007a53
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140007a53
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
cmp qword [0x1401e49f8], 0
jbe 0x140007a75
mov rax, qword [0x1401e49f0]
mov rcx, qword [rax]
add rcx, 0x28
call fcn.140005b60
jmp 0x140007c65
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.140002b40
lea rdx, [rbp - 0x30]
lea rcx, [0x1401e4a10]
call fcn.14008f4a0
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.140002b40
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.140002b40
nop
mov r8, qword [rbp + 0x370]
nop dword [rax + rax]
inc r14
cmp byte [r8 + r14], 0
jne 0x140007b30
mov r9, r14
xor edx, edx
lea rcx, [rbp + 0x1b0]
call fcn.140011fc0
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.14000be20
nop
mov rdx, rbx
lea rcx, [rbp + 0x3d0]
call fcn.14000be20
nop
lea rcx, [rbp - 0x78]
call fcn.14000d480
nop
mov rcx, rbx
call fcn.14000d480
nop
mov edx, 0xe10c2473
lea rcx, [0x14010f209]
call fcn.140001e40
mov dword [rsp + 0x30], eax
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x1e0]
call fcn.14000f000
mov rdi, qword [rax]
lea rdx, [rbp + 0x3b0]
lea rcx, [rdi + 0x28]
call fcn.14000bbe0
lea rdx, [rbp + 0x3d0]
lea rcx, [rdi + 0x48]
call fcn.14000bbe0
lea rdx, [rdi + 0x28]
lea rcx, [rbp - 0x30]
call fcn.14000be20
nop
lea rdx, [rdi + 0x48]
lea rcx, [rbp - 0x10]
call fcn.14000be20
nop
lea rcx, [rbp - 0x10]
call fcn.14000d480
lea rcx, [rbp - 0x30]
call fcn.14000d480
nop
lea rcx, [rbp + 0x3d0]
call fcn.14000d480
lea rcx, [rbp + 0x3b0]
call fcn.14000d480
nop
lea rcx, [rbp + 0x1b0]
call fcn.14000d480
mov rax, qword [0x1401e49f0]
mov rcx, qword [rax]
add rcx, 0x28
call fcn.140004a30
movzx eax, byte [0x1401e47d0]
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.1400eb540
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.140003ea0
nop
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x410]
lea rcx, str.exists
call fcn.140003ea0
nop
mov edx, eax
call fcn.140003d40
int3