Function at 0x140052ac0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x14057b2a8]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov rdi, rcx
mov qword [rbp + 0x48], rcx
xor ebx, ebx
mov dword [rsp + 0x20], ebx
lea rcx, str.APPDATA
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x88], rbx
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140052b30
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.140048220
nop
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov r15, qword [rbp + 0x80]
sub rax, r15
cmp rax, 0x24
jb 0x140052fa2
lea rax, [rbp + 0x70]
mov r14, qword [rbp + 0x70]
mov r13, qword [rbp + 0x88]
cmp r13, 0x10
cmovae rax, r14
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
lea r12, [r15 + 0x24]
mov ebx, reloc.WS2_32.dll_ntohs
lea rsi, [rbp + 0x50]
cmp r12, rbx
jbe 0x140052c2c
mov rbx, r12
or rbx, 0xf
cmp rbx, rcx
jbe 0x140052bea
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400b721c
test rax, rax
je 0x140052ece
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
mov rax, qword [rsp + 0x20]
jmp 0x140052c28
mov ecx, reloc.WLDAP32.dll_Ordinal_22
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140052c12
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140052fa8
jmp 0x140052bc6
test rcx, rcx
je 0x140052c26
call fcn.1400b721c
mov rsi, rax
mov rax, qword [rsp + 0x20]
jmp 0x140052c28
xor esi, esi
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], rbx
mov r8, r15
mov rdx, rax
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str.PrivateTarkovConfigs_saved_key.txt]
movups xmmword [r15 + rsi], xmm0
movups xmm1, xmmword [0x140131de8]
movups xmmword [r15 + rsi + 0x10], xmm1
mov eax, dword [0x140131df8]
mov dword [r15 + rsi + 0x20], eax
mov byte [rsi + r12], 0
lea rbx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
cmovae rbx, qword [rbp + 0x50]
lea rax, [0x1400caa30]
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x28]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x30], r15
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2c], edx
lea rax, [rsp + 0x38]
mov qword [rbp + 0x40], rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rsp + 0x38], rax
mov byte [rbp - 0x4c], 0
mov byte [rbp - 0x57], 0
lea rcx, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
xor esi, esi
mov qword [rbp - 0x48], rsi
mov rax, qword [0x14057bb80]
mov qword [rbp - 0x54], rax
mov qword [rbp - 0x60], rsi
lea r9d, [rsi + 0x40]
lea r8d, [rsi + 2]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.140054e30
test rax, rax
jne 0x140052d58
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x30]
add rcx, rax
xor r8d, r8d
lea edx, [rsi + 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 [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x30], r15
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2c], edx
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140052d86
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0x30]
call fcn.140049e70
cmp qword [rbp - 0x48], 0
je 0x140052e16
mov rax, qword [rsp + 0x50]
lea rcx, [rbp - 0x58]
cmp qword [rax], rcx
jne 0x140052dc4
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
mov qword [rax], rcx
mov rax, qword [rsp + 0x70]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp - 0x78]
mov dword [rax], edx
lea rbx, [rsp + 0x38]
lea rcx, [rsp + 0x38]
call fcn.1400487b0
test al, al
cmove rbx, rsi
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test eax, eax
cmovne rbx, rsi
mov byte [rbp - 0x4c], 0
mov byte [rbp - 0x57], 0
lea rcx, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp - 0x48], rsi
mov rax, qword [0x14057bb80]
mov qword [rbp - 0x54], rax
mov qword [rbp - 0x60], rsi
test rbx, rbx
jne 0x140052e5b
jmp 0x140052e3c
mov byte [rbp - 0x4c], 0
mov byte [rbp - 0x57], 0
lea rcx, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp - 0x48], rsi
mov rax, qword [0x14057bb80]
mov qword [rbp - 0x54], rax
mov qword [rbp - 0x60], rsi
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x30]
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 [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x30], r15
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2c], edx
lea rcx, [rsp + 0x38]
call fcn.1400485b0
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp - 0x28]
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 + 0x68]
cmp rdx, 0x10
jb 0x140052eda
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052ed5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140052ed5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b7258
movdqa xmm0, xmmword [0x140132010]
movdqu xmmword [rbp + 0x60], xmm0
mov byte [rbp + 0x50], 0
cmp r13, 0x10
jb 0x140052f26
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x140052f1d
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140052f1d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1400b7258
nop
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x140052f5c
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x140052f57
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140052f9b
mov rcx, r8
call fcn.1400b7258
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.1400b72f0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140014920
nop
call fcn.140014900
int3