Function at 0x14000204c
Capabilities:
Set environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r15
sub rsp, 0x220
mov rax, qword [0x140052060]
xor rax, rsp
mov qword [rsp + 0x210], rax
mov r13, rdx
mov edi, ecx
mov dword [rsp + 0x20], ecx
xor ebx, ebx
mov r15d, ebx
mov dword [rsp + 0x24], ebx
lea rcx, [0x140049a90]
call qword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
xor edx, edx
lea rcx, str.PATH
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
cmp edi, 2
jge 0x1400020c8
lea rdx, str.Error:_Invalid_args.
lea rcx, [0x140053ed0]
call fcn.140004724
lea eax, [rbx + 0x64]
jmp 0x140002858
mov qword [rsp + 0xe0], rbx
movdqa xmm0, xmmword [0x14004a980]
movdqu xmmword [rsp + 0xf0], xmm0
mov word [rsp + 0xe0], bx
lea rdx, [0x140049a90]
lea rcx, [rsp + 0xe0]
call fcn.140003f9c
nop
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], 0xf
mov byte [rsp + 0xa0], bl
mov dword [rsp + 0x28], ebx
mov r12d, ebx
mov esi, 0x1000
cmp r12d, edi
jge 0x14000231e
movsxd rdi, r12d
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xd8], 7
mov word [rsp + 0xc0], bx
mov rdx, qword [r13 + rdi*8]
lea rcx, [rsp + 0xc0]
call fcn.140003f9c
nop
lea rdx, str.__checkenabled
lea rcx, [rsp + 0xc0]
call fcn.1400037c0
test eax, eax
jne 0x140002327
call fcn.140002030
lea rcx, str.true
lea rdx, str.false
test al, al
cmovne rdx, rcx
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], 0xf
mov byte [rsp + 0x80], bl
lea rcx, [rsp + 0x80]
call fcn.140004178
nop
lea r8, [rsp + 0x80]
lea rdx, str._enabled_:
lea rcx, [rsp + 0x38]
call fcn.140004928
nop
mov r8d, 1
lea rdx, [0x140049ae0]
mov rcx, rax
call fcn.1400041e4
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
or r15d, 1
mov dword [rsp + 0x24], r15d
mov r8b, bl
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0xa0]
call fcn.140004304
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14000227c
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, rsi
jb 0x140002276
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002886
call fcn.140012c50
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1400022b6
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, rsi
jb 0x1400022b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000288c
call fcn.140012c50
nop
mov rdx, qword [rsp + 0x98]
cmp rdx, 0x10
jb 0x1400022f5
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, rsi
jb 0x1400022f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002892
call fcn.140012c50
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], 0xf
mov byte [rsp + 0x80], bl
lea rcx, [rsp + 0xc0]
call fcn.140003f38
nop
mov edi, dword [rsp + 0x28]
jmp 0x140002517
lea rdx, str.__filepath
lea rcx, [rsp + 0xc0]
call fcn.1400037c0
test eax, eax
jne 0x1400023f5
call fcn.140005b10
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], 7
mov word [rsp + 0x80], bx
mov rdx, qword [r13 + rdi*8 + 8]
lea rcx, [rsp + 0x80]
call fcn.140003f9c
nop
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x38]
call fcn.140005f50
lea rcx, [rsp + 0xa0]
cmp rcx, rax
je 0x1400023b1
mov r8b, bl
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.140004304
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1400023ea
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, rsi
jb 0x1400023e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002898
call fcn.140012c50
call fcn.14000c600
nop
jmp 0x1400024b4
lea rdx, str.__checkpermissions
lea rcx, [rsp + 0xc0]
call fcn.1400037c0
test eax, eax
jne 0x1400024c3
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], 7
mov word [rsp + 0x80], bx
mov rdx, qword [r13 + rdi*8 + 8]
lea rcx, [rsp + 0x80]
call fcn.140003f9c
nop
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x38]
call fcn.140005f50
lea rcx, [rsp + 0xa0]
cmp rcx, rax
je 0x14000247a
mov r8b, bl
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.140004304
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1400024b4
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, rsi
jb 0x1400024ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000289e
call fcn.140012c50
nop
lea rcx, [rsp + 0x80]
call fcn.140003f38
jmp 0x1400024ee
lea rdx, str.__log
lea rcx, [rsp + 0xc0]
call fcn.1400037c0
test eax, eax
jne 0x1400024ee
mov rdx, qword [r13 + rdi*8 + 8]
lea rcx, [rsp + 0xe0]
call fcn.140003f9c
nop
lea rcx, [rsp + 0xc0]
call fcn.140003f38
inc r12d
mov edi, dword [rsp + 0x20]
jmp 0x14000212d
lea rdx, [0x140049a90]
lea rcx, [rsp + 0xe0]
call fcn.1400037c0
test eax, eax
je 0x1400027c4
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x100]
call fcn.140015600
lea rax, [0x140049b98]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x1b0], rbx
mov qword [rsp + 0x1d8], rbx
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x1e0], xmm0
lea rax, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rsp + 0x1a8], rax
or r15d, 2
mov dword [rsp + 0x24], r15d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x100]
call fcn.140003e64
nop
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x100], rax
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0xfc], edx
lea rcx, [rsp + 0x108]
call fcn.1400043e8
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rsp + 0x108], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x108]
call fcn.140003cec
nop
lea rcx, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 8
cmovae rcx, qword [rsp + 0xe0]
cmp qword [rsp + 0x188], rbx
jne 0x1400026f3
mov edx, 2
lea r8d, [rdx + 0x3e]
call fcn.1400120cc
test rax, rax
je 0x1400026f3
mov r8d, 1
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.140003cec
mov rax, qword [rsp + 0x168]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x30], rcx
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x14003b300]
nop
lea rcx, [rsp + 0x28]
call fcn.140004a7c
mov rdx, rax
lea rcx, [rsp + 0x108]
call fcn.140003b94
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400026cc
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x14003b300]
mov r8, rax
test rax, rax
je 0x1400026cc
mov rcx, qword [rax]
mov rax, qword [rcx]
mov edx, 1
mov rcx, r8
call qword [0x14003b300]
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x100]
add rcx, rax
mov rax, qword [rcx + 0x48]
neg rax
sbb edx, edx
not edx
and edx, 4
jmp 0x14000271c
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x100]
add rcx, rax
mov rax, qword [rcx + 0x48]
neg rax
sbb edx, edx
and edx, 0xfffffffc
add edx, 6
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140001e40
lea rdx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0x10
cmovae rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xb0]
lea rcx, [rsp + 0x100]
call fcn.140003664
lea rcx, [rsp + 0x108]
call fcn.140003de0
test rax, rax
jne 0x140002797
mov rax, qword [rsp + 0x100]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x100]
add rcx, rax
mov rax, qword [rcx + 0x48]
neg rax
sbb edx, edx
and edx, 0xfffffffc
add edx, 6
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140001e40
nop
lea rcx, [rsp + 0x1a8]
call fcn.1400035e4
nop
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x1a8], rax
lea rcx, [rsp + 0x1a8]
call fcn.140011ec4
nop
jmp 0x1400027f3
lea rdx, [rsp + 0xa0]
cmp qword [rsp + 0xb8], 0x10
cmovae rdx, qword [rsp + 0xa0]
lea rcx, [0x140053d50]
call fcn.140004724
mov rcx, rax
call fcn.140004a44
nop
mov rdx, qword [rsp + 0xb8]
cmp rdx, 0x10
jb 0x14000282e
inc rdx
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, rsi
jb 0x140002829
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400028a4
call fcn.140012c50
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], 0xf
mov byte [rsp + 0xa0], bl
lea rcx, [rsp + 0xe0]
call fcn.140003f38
mov eax, edi
mov rcx, qword [rsp + 0x210]
xor rcx, rsp
call fcn.140012c30
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r13
pop r12
ret
call fcn.14001b0a0
nop
call fcn.14001b0a0
nop
call fcn.14001b0a0
nop
call fcn.14001b0a0
nop
call fcn.14001b0a0
nop
call fcn.14001b0a0
int3