Function at 0x14008b660
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1f8]
sub rsp, 0x2d0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1401c8c00]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
xor r12d, r12d
mov dword [rsp + 0x60], r12d
lea rcx, str.appdata
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x98], r12
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], r12b
jne 0x14008b6d0
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140004860
nop
movabs rsi, 0x7fffffffffffffff
mov rax, rsi
mov rcx, qword [rbp + 0x90]
sub rax, rcx
cmp rax, 1
jb 0x14008c02c
lea r9, [rbp + 0x80]
cmp qword [rbp + 0x98], 0xf
cmova r9, qword [rbp + 0x80]
mov qword [rsp + 0x30], 1
lea rax, [0x14016af6c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [rbp + 0x80]
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x40]
call fcn.140005120
mov r14d, 1
lea r8d, [r14 + 7]
lea rdx, [0x14016af60]
lea rcx, [rbp + 0x40]
call fcn.140004430
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
or r14d, 2
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x14008b7d9
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008b7d4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008b7d4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140131bf4
movdqa xmm0, xmmword [0x1401a6e30]
movdqu xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], 0
mov rdi, qword [rbp + 0x10]
lea rbx, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova rbx, qword [rbp]
call fcn.140130c20
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rdi
lea r8, [rbp - 0x30]
mov edx, eax
lea rcx, [rbp + 0x20]
call fcn.140001eb0
or r14d, 0xc
mov r8d, 3
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x20]
call fcn.140002970
movsd xmm0, qword [rax]
movsd qword [rsp + 0x50], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp - 0x30], ecx
lea r15, [0x1401c8c88]
mov qword [rbp - 0x28], r15
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x14008b89f
cmp eax, 1
sete bl
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x14008b8b0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008b8ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008b8ab
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov bl, 1
test ecx, ecx
jne 0x14008c00a
jmp 0x14008b861
call fcn.140131bf4
test bl, bl
je 0x14008b952
mov rdi, qword [rbp + 0x10]
lea rbx, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova rbx, qword [rbp]
call fcn.140130c20
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rdi
lea r8, [rbp - 0x30]
mov edx, eax
lea rcx, [rbp + 0x20]
call fcn.140001eb0
or r14d, 0x180
lea rcx, [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova rcx, qword [rbp + 0x20]
call fcn.140131124
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x14008c032
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x14008b952
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008b94d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008b94d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140131bf4
mov rax, rsi
mov rcx, qword [rbp + 0x10]
sub rax, rcx
cmp rax, 0x10
jb 0x14008c047
lea r9, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova r9, qword [rbp]
mov qword [rsp + 0x30], reloc.WS2_32.dll_recv
lea rax, str._theme_data.json
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [rbp]
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x60]
call fcn.140005120
or r14d, 0x10
mov rdi, qword [rbp + 0x70]
lea rbx, [rbp + 0x60]
cmp qword [rbp + 0x78], 0xf
cmova rbx, qword [rbp + 0x60]
call fcn.140130c20
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rdi
lea r8, [rbp - 0x30]
mov edx, eax
lea rcx, [rbp + 0x40]
call fcn.140001eb0
or r14d, 0x60
mov r8d, 3
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.140002970
movsd xmm0, qword [rax]
movsd qword [rsp + 0x50], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp - 0x30], ecx
mov qword [rbp - 0x28], r15
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x14008ba52
cmp eax, 1
sete bl
mov rdx, qword [rbp + 0x58]
cmp rdx, 7
jbe 0x14008ba63
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008ba5e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008ba5e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov bl, 1
test ecx, ecx
jne 0x14008c018
jmp 0x14008ba14
call fcn.140131bf4
test bl, bl
jne 0x14008beef
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0xa0]
call sub.VCRUNTIME140.dll_memset
lea rbx, [rbp + 0x60]
cmp qword [rbp + 0x78], 0xf
cmova rbx, qword [rbp + 0x60]
lea rax, [0x14019fa68]
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0x150]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
bts r14d, 9
mov dword [rsp + 0x60], r14d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
lea r13, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xa0], r13
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x9c], edx
lea rcx, [rbp + 0xb0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0xb0], rax
mov byte [rbp + 0x12c], 0
mov byte [rbp + 0x121], 0
lea rcx, [rbp + 0xb0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x130], r12
mov rax, qword [0x140256828]
mov qword [rbp + 0x124], rax
mov qword [rbp + 0x118], r12
mov r8d, 1
mov rdx, rbx
lea rcx, [rbp + 0xb0]
call fcn.14001a2c0
test rax, rax
jne 0x14008bb8f
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0xa0]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0xa0], r13
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x9c], edx
cmp qword [rbp + 0x130], 0
je 0x14008be9d
mov qword [rsp + 0x50], r12
mov word [rsp + 0x58], 1
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx + 0xe8]
mov qword [rbp - 0x20], rcx
test rcx, rcx
sete byte [rbp - 0x18]
mov byte [rbp - 0x17], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
movaps xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x20], xmm0
movaps xmm6, xmmword [rsp + 0x50]
test rcx, rcx
je 0x14008bc44
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x14008bc33
mov byte [rbp - 0x17], al
mov rax, qword [rbp - 0x20]
mov byte [rbp - 0x18], 1
movaps xmm0, xmmword [rbp - 0x20]
jmp 0x14008bc49
mov rax, r12
mov qword [rbp - 0x20], rax
mov byte [rbp - 0x18], 1
movaps xmm0, xmmword [rbp - 0x20]
jmp 0x14008bc49
movq rax, xmm0
test rax, rax
movq rax, xmm6
jne 0x14008bd58
test rax, rax
je 0x14008bd61
movdqa xmmword [rbp - 0x20], xmm6
movdqa xmmword [rsp + 0x50], xmm0
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x40]
call fcn.140092dd0
nop
mov qword [rbp - 0x60], r12
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.14008efc0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r12
mov r8d, 4
lea rdx, str.name
lea rcx, [rbp - 0x20]
call fcn.140004860
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x30]
call fcn.14000c830
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x20], 0
bts r14d, 0xd
mov dword [rsp + 0x60], r14d
cmp byte [rax], 3
jne 0x14008c04d
mov rdx, qword [rax + 8]
lea rcx, [rbp + 0x20]
call fcn.1400068d0
nop
mov r15, qword [rbp + 0x38]
mov rdi, qword [rbp + 0x20]
mov rbx, qword [rbp + 0x30]
test rbx, rbx
je 0x14008be15
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r12
lea r14, [rbp + 0x20]
cmp r15, 0xf
cmova r14, rdi
cmp rbx, rsi
ja 0x14008c004
mov qword [rbp - 8], reloc.WS2_32.dll_ntohs
cmp rbx, 0xf
ja 0x14008bd77
mov qword [rbp - 0x10], rbx
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x20], xmm0
jmp 0x14008be0b
test rax, rax
je 0x14008bc60
movdqa xmm0, xmmword [0x1401a6e30]
movdqu xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], 0
jmp 0x14008bc7e
mov rax, rbx
or rax, 0xf
cmp rax, rsi
jbe 0x14008bdaf
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140131bb0
mov rcx, rax
test rax, rax
je 0x14008bdda
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14008bdf0
mov rsi, rax
mov ecx, reloc.WLDAP32.dll_Ordinal_22
cmp rax, rcx
cmovb rsi, rcx
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x14008bde1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14008c026
jmp 0x14008bd91
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x14008bded
call fcn.140131bb0
jmp 0x14008bdf0
mov rax, r12
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rsi
lea r8, [rbx + 1]
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp - 0x20]
call fcn.140086f30
nop
cmp r15, 0xf
jbe 0x14008be50
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14008be47
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008be47
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.140131bf4
nop
movzx edx, byte [rbp - 0x30]
lea rcx, [rbp - 0x28]
call fcn.14000bd50
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x14008be9d
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008be97
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008be97
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140131bf4
nop
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0xa0], r13
mov rax, qword [rbp + 0xa0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x9c], edx
lea rcx, [rbp + 0xb0]
call fcn.140019750
lea rcx, [rbp + 0xb8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x150]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0xf
jbe 0x14008bf2d
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008bf28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008bf28
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140131bf4
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x60], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x14008bf7b
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008bf76
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008bf76
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140131bf4
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp], 0
mov rdx, qword [rbp + 0x98]
cmp rdx, 0xf
jbe 0x14008bfcf
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008bfca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14008bfca
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140131bf4
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.140131b90
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140001810
nop
lea r8, [rbp + 0x20]
lea rdx, [rbp - 0x30]
call fcn.140002880
nop
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x30]
call fcn.140002880
nop
call fcn.140001770
nop
call fcn.140001810
nop
shr rdx, 0x20
lea r8, [rbp + 0x20]
lea rcx, str.create_directory
call fcn.140002810
nop
call fcn.140001810
nop
mov rcx, rax
call fcn.14000cc40
mov qword [rsp + 0x50], rax
lea r8, [rsp + 0x50]
lea rdx, str.type_must_be_string__but_is
lea rcx, [rbp - 0x58]
call fcn.14000e010
nop
mov r8, rax
lea rcx, [rsp + 0x68]
call fcn.14000e0f0
lea rdx, [0x1401c15f0]
lea rcx, [rsp + 0x68]
call sub.VCRUNTIME140.dll__CxxThrowException
int3