Function at 0x14003fa90
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x248
cmp byte [rdx + 0x23], 0
mov rsi, r8
mov r13, rdx
jne 0x14003fabd
mov r13, qword [rdx + 0x10]
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x1fc
call fcn.1400c7510
mov rbp, qword [rsp + 0x290]
lea r12, [0x140139518]
mov r14, qword [rsp + 0x290]
lea r9, sym.MZ_kiv9nMDWjqg_I7rrTcpI88_u4Z_bB_FPuaQ9q_
xor ebx, ebx
mov edi, ebx
mov dword [rsp + 0x2a8], ebx
lea r10d, [rbx + 0xd]
lea r11d, [rbx + 7]
mov r15d, 0xffffffff
test edi, edi
je 0x14003fbd4
xor r9d, r9d
mov byte [rsp + 0x20], 1
mov r8, rbp
xor edx, edx
mov rcx, r13
call fcn.1400ab090
cmp eax, 1
jne 0x14003fefb
cmp byte [r13 + 0x23], 0
jne 0x14003fb39
mov rbx, qword [r13 + 0x10]
jmp 0x14003fb3c
mov rbx, r13
test byte [rbx + 0x21], 8
je 0x14003fb4a
mov rcx, rbx
call fcn.140001420
movzx eax, byte [rbx + 0x23]
cmp al, 1
jne 0x14003fb66
test byte [rbx + 0x21], 4
je 0x14003fb60
mov rdx, rbx
call fcn.140041b00
mov r14, qword [rbx + 8]
jmp 0x14003fbc1
cmp al, 2
jne 0x14003fbbe
mov r14, qword [0x14013a238]
test r14, r14
jne 0x14003fbc1
lea ecx, [r14 + 0xd]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x14003fba3
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
lea r14, [0x140117ad8]
lea rax, [0x1400ee140]
cmovne r14, rax
jmp 0x14003fbc1
xor edx, edx
call fcn.140004f70
cmp rax, r15
lea r14, [0x140117ad8]
cmovne r14, qword [0x14013a230]
jmp 0x14003fbc1
mov r14, r12
xor ebx, ebx
lea r9, sym.MZ_kiv9nMDWjqg_I7rrTcpI88_u4Z_bB_FPuaQ9q_
lea r10d, [rbx + 0xd]
lea r11d, [rbx + 7]
jmp 0x14003fbd7
mov rbp, rbx
mov rdx, rsi
movsxd r15, edi
nop dword [rax]
movzx eax, word [rdx]
test ax, ax
je 0x14003fc21
nop dword [rax + rax]
cmp ax, word [0x14013138c]
je 0x14003fc47
cmp ax, word [0x14013145c]
je 0x14003fc47
test r15, r15
je 0x14003fc11
mov word [r14], ax
add r14, 2
jmp 0x14003fc14
inc rbp
movzx eax, word [rdx + 2]
add rdx, 2
test ax, ax
jne 0x14003fbf0
mov edi, dword [rsp + 0x2a8]
inc edi
mov dword [rsp + 0x2a8], edi
cmp edi, 2
jge 0x14003ff02
mov rsi, qword [rsp + 0x2a0]
jmp 0x14003fb00
movzx eax, word [rdx]
test ax, ax
je 0x14003fc21
cmp ax, word [0x14013138c]
jne 0x14003fd33
test r15, r15
je 0x14003fd27
movzx r8d, word [rdx + 2]
lea eax, [r8 - 0x61]
cmp eax, 0x15
ja case.0x14003fc84.99
cdqe
mov ecx, dword [r9 + rax*4 + 0x40030]
add rcx, r9
jmp rcx
mov word [r14], r11w
add r14, 2
add rdx, 2
jmp 0x14003fee1
mov eax, 8
mov word [r14], ax
add r14, 2
add rdx, 2
jmp 0x14003fee1
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov word [r14], ax
add r14, 2
add rdx, 2
jmp 0x14003fee1
mov eax, 0xa
mov word [r14], ax
add r14, 2
add rdx, 2
jmp 0x14003fee1
mov word [r14], r10w
add r14, 2
add rdx, 2
jmp 0x14003fee1
mov eax, 9
mov word [r14], ax
add r14, 2
add rdx, 2
jmp 0x14003fee1
mov eax, reloc.WSOCK32.dll_inet_ntoa
mov word [r14], ax
add r14, 2
add rdx, 2
jmp 0x14003fee1
mov word [r14], r8w
add r14, 2
add rdx, 2
jmp 0x14003fee1
inc rbp
add rdx, 2
jmp 0x14003fee1
movzx eax, word [rdx + 2]
lea rsi, [rdx + 2]
test ax, ax
je 0x14003fee1
cmp ax, word [0x14013145c]
je 0x14003fd5f
movzx eax, word [rsi + 2]
add rsi, 2
test ax, ax
jne 0x14003fd44
jmp 0x14003fee1
cmp word [rsi], 0
je 0x14003fee1
mov rdi, rsi
sub rdi, rdx
sar rdi, 1
dec rdi
lea rax, [rdi - 1]
cmp rax, 0xfc
ja 0x14003fede
mov r8, rdi
lea rcx, [rsp + 0x40]
add rdx, 2
call fcn.1400cc9b8
mov word [rsp + rdi*2 + 0x40], bx
cmp word [rsp + 0x40], 0
je 0x14003fefb
lea rax, [rsp + 0x290]
mov r8, rdi
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x20], 3
lea rcx, [0x1401395c0]
call fcn.140030b90
mov rbx, rax
test rax, rax
jne 0x14003fe09
cmp byte [rsp + 0x290], al
lea rdx, [rsp + 0x40]
mov r9d, dword [rsp + 0x30]
lea rcx, [0x1401395c0]
setne al
mov r8, rdi
inc eax
mov dword [rsp + 0x20], eax
call fcn.140031140
mov rbx, rax
test rbx, rbx
je 0x14003fefb
cmp byte [rbx + 0x23], 0
jne 0x14003fe1c
mov rbx, qword [rbx + 0x10]
cmp rbx, r13
je 0x14003fede
test r15, r15
je 0x14003fe3e
mov rdx, r14
mov rcx, rbx
call fcn.1400ab4e0
lea r14, [r14 + rax*2]
jmp 0x14003fede
movzx ecx, byte [rbx + 0x23]
test ecx, ecx
je 0x14003fed0
sub ecx, 1
je 0x14003fe7e
sub ecx, 1
je 0x14003fe64
cmp ecx, 1
je 0x14003fec3
mov rdx, qword [rbx + 0x28]
xor ecx, ecx
call qword [rbx + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x14003fedb
xor edx, edx
call fcn.140004f70
mov ecx, 0xffffffff
cmp rax, rcx
mov ecx, 0
cmove rax, rcx
jmp 0x14003fedb
mov rcx, rbx
call fcn.140001420
cmp dword [0x140131484], 0
jne 0x14003fec7
cmp qword [rbx + 0x10], 0
jne 0x14003fec7
mov rcx, qword [rbx + 0x28]
lea rdx, [rsp + 0x298]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14003febc
xor ecx, ecx
mov qword [0x14013af80], rcx
dec eax
jmp 0x14003fedb
mov qword [0x14013af80], rbx
xor eax, eax
jmp 0x14003fedb
mov rax, qword [rbx + 0x10]
shr rax, 1
jmp 0x14003fedb
mov rcx, qword [rbx + 0x10]
xor edx, edx
call fcn.1400ab4e0
add rbp, rax
mov rdx, rsi
add rdx, 2
lea r9, sym.MZ_kiv9nMDWjqg_I7rrTcpI88_u4Z_bB_FPuaQ9q_
xor ebx, ebx
lea r10d, [rbx + 0xd]
lea r11d, [rbx + 7]
jmp 0x14003fbe0
xor eax, eax
jmp 0x140040019
mov word [r14], bx
cmp byte [r13 + 0x23], 0
jne 0x14003ff13
mov rbx, qword [r13 + 0x10]
jmp 0x14003ff16
mov rbx, r13
test byte [rbx + 0x21], 8
je 0x14003ff24
mov rcx, rbx
call fcn.140001420
movzx eax, byte [rbx + 0x23]
cmp al, 1
jne 0x14003ff40
test byte [rbx + 0x21], 4
je 0x14003ff3a
mov rdx, rbx
call fcn.140041b00
mov r12, qword [rbx + 8]
jmp 0x14003ff9c
cmp al, 2
jne 0x14003ff9c
mov r12, qword [0x14013a238]
test r12, r12
jne 0x14003ff9c
lea ecx, [r12 + 0xd]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x14003ff7e
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
lea r12, [0x140117ad8]
lea rax, [0x1400ee140]
cmovne r12, rax
jmp 0x14003ff9c
xor edx, edx
call fcn.140004f70
mov ecx, 0xffffffff
lea r12, [0x140117ad8]
cmp rax, rcx
cmovne r12, qword [0x14013a230]
or rbx, 0xffffffffffffffff
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jne 0x14003ffa0
cmp byte [r13 + 0x23], 0
jne 0x14003ffba
mov rdi, qword [r13 + 0x10]
jmp 0x14003ffbd
mov rdi, r13
cmp byte [rdi + 0x23], 1
jne 0x14003ffd7
test byte [rdi + 0x21], 8
je 0x14003ffd1
mov rcx, rdi
call fcn.140001420
add rdi, 0x10
jmp 0x14003ffde
lea rdi, [0x14013aea8]
lea rax, [rbx + rbx]
mov qword [rdi], rax
cmp byte [r13 + 0x23], 0
jne 0x14003fff0
mov r13, qword [r13 + 0x10]
cmp byte [r13 + 0x23], 2
jne 0x14004000f
cmp qword [0x14013a238], 0
je 0x14004000f
lea rcx, [0x14013a220]
call fcn.140005340
jmp 0x140040019
and byte [r13 + 0x21], 0x86
mov eax, 1
add rsp, 0x248
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret