Function at 0x1403599a0
Capabilities:
Query environment variable

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xaa0
mov rbx, qword [0x14048ba10]
cmp qword [rbx], 0
je 0x1403599d0
add rsp, 0xaa0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov word [rsp + 0x90], 0
mov rsi, qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea rdx, [rsp + 0x90]
mov r8d, 0x105
lea rcx, str.G_DEBUGGER
call rsi
test eax, eax
je 0x1403599be
xor ebp, ebp
lea rdx, [rsp + 0x34]
lea r10, [rsp + 0x30]
xor r9d, r9d
mov eax, ebp
mov rdi, rdx
mov ecx, 5
xor r8d, r8d
rep stosd dword [rdi], eax
xor edx, edx
mov rcx, r10
lea rdi, [rsp + 0x50]
mov dword [rsp + 0x30], 0x18
lea r12, [rsp + 0x50]
mov dword [rsp + 0x40], 1
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov r13, rax
mov qword [0x1404cb2c0], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, 0xf
lea r9, [0x1403cae7e]
mov r8d, 0x1e
mov edx, eax
mov eax, ebp
mov r14, qword [sym.imp.msvcrt.dll__snwprintf_s]
rep stosd dword [rdi], eax
lea rdi, [rsp + 0x2a0]
mov ecx, 0xf
rep stosd dword [rdi], eax
mov dword [rsp + 0x20], edx
mov rcx, r12
mov edx, 0x1e
lea rdi, [rsp + 0x2a0]
call r14
mov rcx, r12
mov word [rsp + 0x8a], 0
call sub.msvcrt.dll_wcslen
mov edx, 0x1e
mov rcx, rdi
mov qword [rsp + 0x20], r13
lea r9, [0x1403cae86]
mov r8d, 0x1e
mov rbp, rax
call r14
mov rcx, rdi
mov word [rsp + 0x2da], 0
call sub.msvcrt.dll_wcslen
movzx edx, word [rsp + 0x90]
mov r10, rax
xor eax, eax
test dx, dx
je 0x140359bc3
xor r8d, r8d
lea r11, [0x1404cb2e0]
jmp 0x140359b2a
mov word [r11 + rax*2], dx
mov r8, rcx
add rax, 1
movzx edx, word [rsp + r8*2 + 0x90]
test dx, dx
je 0x140359bbb
cmp rax, 0x104
ja 0x140359c37
lea rcx, [r8 + 1]
movzx r9d, word [rsp + rcx*2 + 0x90]
cmp dx, 0x25
jne 0x140359b00
cmp r9w, 0x70
je 0x140359b86
cmp r9w, 0x65
jne 0x140359c37
test r10, r10
je 0x140359b80
lea r9, [rax + rax]
xor edx, edx
add r9, r11
nop dword [rax]
add rdx, 1
add rax, 1
movzx ecx, word [rdi + rdx*2 - 2]
mov word [r9 + rdx*2 - 2], cx
cmp rdx, r10
jae 0x140359b80
cmp rax, 0x104
jbe 0x140359b60
add r8, 2
jmp 0x140359b0c
test rbp, rbp
je 0x140359b80
lea r9, [rax + rax]
xor edx, edx
add r9, r11
nop dword [rax]
add rdx, 1
add rax, 1
movzx ecx, word [r12 + rdx*2 - 2]
mov word [r9 + rdx*2 - 2], cx
cmp rdx, rbp
jae 0x140359b80
cmp rax, 0x104
jbe 0x140359b98
jmp 0x140359b80
cmp rax, 0x104
ja 0x140359c37
lea rdx, [0x1404cb2e0]
mov r8d, 0x400
mov word [rsp + 0x2a0], 0
lea rcx, str.G_VEH_CATCH
mov word [rdx + rax*2], 0
mov rdx, rdi
mov word [0x1404cb4e8], 0
call rsi
test eax, eax
jne 0x140359c5b
mov r8d, 1
lea rdx, [0x1404cb2c8]
lea rcx, str.G_DEBUGGER_OLD_CONSOLE
call rsi
lea rdx, [0x1400f5b50]
test eax, eax
sete al
xor ecx, ecx
movzx eax, al
shl eax, 4
mov dword [0x1404cb2c8], eax
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
mov qword [rbx], rax
jmp 0x1403599be
mov rcx, qword [0x1404cb2c0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov word [0x1404cb2e0], 0
mov qword [0x1404cb2c0], rax
jmp 0x1403599be
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.1403598e0
mov qword [0x1404cb2d0], rax
test rax, rax
je 0x140359bf9
mov edx, 4
mov rcx, rax
call fcn.1400d5370
mov r8, qword [0x1404cb2d0]
mov rcx, rdi
mov rdx, rax
mov qword [0x1404cb2d8], rax
call fcn.1403598e0
jmp 0x140359bf9