Function at 0x140035430
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 0x14003545d
mov r13, qword [rdx + 0x10]
mov rbp, qword [rsp + 0x290]
lea r12, [0x1401062b4]
mov r14, qword [rsp + 0x290]
lea r9, [0x140000000]
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 0x140035562
xor r9d, r9d
mov byte [rsp + 0x20], 1
mov r8, rbp
xor edx, edx
mov rcx, r13
call fcn.14008c660
cmp eax, 1
jne 0x14003588b
cmp byte [r13 + 0x23], 0
jne 0x1400354c7
mov rbx, qword [r13 + 0x10]
jmp 0x1400354ca
mov rbx, r13
test byte [rbx + 0x21], 8
je 0x1400354d8
mov rcx, rbx
call fcn.140001340
movzx eax, byte [rbx + 0x23]
cmp al, 1
jne 0x1400354f4
test byte [rbx + 0x21], 4
je 0x1400354ee
mov rdx, rbx
call fcn.1400374a0
mov r14, qword [rbx + 8]
jmp 0x14003554f
cmp al, 2
jne 0x14003554c
mov r14, qword [0x140106ff8]
test r14, r14
jne 0x14003554f
lea ecx, [r14 + 0xd]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x140035531
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
lea r14, [0x1400ccf5c]
lea rax, [0x1400ccf50]
cmovne r14, rax
jmp 0x14003554f
xor edx, edx
call fcn.140004b80
cmp rax, r15
lea r14, [0x1400ccf5c]
cmovne r14, qword [0x140106ff0]
jmp 0x14003554f
mov r14, r12
xor ebx, ebx
lea r9, [0x140000000]
lea r10d, [rbx + 0xd]
lea r11d, [rbx + 7]
jmp 0x140035565
mov rbp, rbx
mov rdx, rsi
movsxd r15, edi
nop dword [rax + rax]
movzx eax, word [rdx]
test ax, ax
je 0x1400355b1
nop dword [rax + rax]
cmp ax, word [0x1400ff3cc]
je 0x1400355d7
cmp ax, word [0x1400ff3d0]
je 0x1400355d7
test r15, r15
je 0x1400355a1
mov word [r14], ax
add r14, 2
jmp 0x1400355a4
inc rbp
movzx eax, word [rdx + 2]
add rdx, 2
test ax, ax
jne 0x140035580
mov edi, dword [rsp + 0x2a8]
inc edi
mov dword [rsp + 0x2a8], edi
cmp edi, 2
jge 0x140035892
mov rsi, qword [rsp + 0x2a0]
jmp 0x14003548e
movzx eax, word [rdx]
test ax, ax
je 0x1400355b1
cmp ax, word [0x1400ff3cc]
jne 0x1400356c3
test r15, r15
je 0x1400356b7
movzx r8d, word [rdx + 2]
lea eax, [r8 - 0x61]
cmp eax, 0x15
ja case.0x140035614.99
cdqe
mov ecx, dword [r9 + rax*4 + 0x359c0]
add rcx, r9
jmp rcx
mov word [r14], r11w
add r14, 2
add rdx, 2
jmp 0x140035871
mov eax, 8
mov word [r14], ax
add r14, 2
add rdx, 2
jmp 0x140035871
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov word [r14], ax
add r14, 2
add rdx, 2
jmp 0x140035871
mov eax, 0xa
mov word [r14], ax
add r14, 2
add rdx, 2
jmp 0x140035871
mov word [r14], r10w
add r14, 2
add rdx, 2
jmp 0x140035871
mov eax, 9
mov word [r14], ax
add r14, 2
add rdx, 2
jmp 0x140035871
mov eax, reloc.OLEAUT32.dll_VariantChangeType
mov word [r14], ax
add r14, 2
add rdx, 2
jmp 0x140035871
mov word [r14], r8w
add r14, 2
add rdx, 2
jmp 0x140035871
inc rbp
add rdx, 2
jmp 0x140035871
movzx eax, word [rdx + 2]
lea rsi, [rdx + 2]
test ax, ax
je 0x140035871
cmp ax, word [0x1400ff3d0]
je 0x1400356ef
movzx eax, word [rsi + 2]
add rsi, 2
test ax, ax
jne 0x1400356d4
jmp 0x140035871
cmp word [rsi], 0
je 0x140035871
mov rdi, rsi
sub rdi, rdx
sar rdi, 1
dec rdi
lea rax, [rdi - 1]
cmp rax, 0xfc
ja 0x14003586e
mov r8, rdi
lea rcx, [rsp + 0x40]
add rdx, 2
call fcn.1400b2114
mov word [rsp + rdi*2 + 0x40], bx
cmp word [rsp + 0x40], 0
je 0x14003588b
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, [0x1401063b0]
call fcn.140026b20
mov rbx, rax
test rax, rax
jne 0x140035799
cmp byte [rsp + 0x290], al
lea rdx, [rsp + 0x40]
mov r9d, dword [rsp + 0x30]
lea rcx, [0x1401063b0]
setne al
mov r8, rdi
inc eax
mov dword [rsp + 0x20], eax
call fcn.140026e10
mov rbx, rax
test rbx, rbx
je 0x14003588b
cmp byte [rbx + 0x23], 0
jne 0x1400357ac
mov rbx, qword [rbx + 0x10]
cmp rbx, r13
je 0x14003586e
test r15, r15
je 0x1400357ce
mov rdx, r14
mov rcx, rbx
call fcn.14008cab0
lea r14, [r14 + rax*2]
jmp 0x14003586e
movzx ecx, byte [rbx + 0x23]
test ecx, ecx
je 0x140035860
sub ecx, 1
je 0x14003580e
sub ecx, 1
je 0x1400357f4
cmp ecx, 1
je 0x140035853
mov rdx, qword [rbx + 0x28]
xor ecx, ecx
call qword [rbx + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x14003586b
xor edx, edx
call fcn.140004b80
mov ecx, 0xffffffff
cmp rax, rcx
mov ecx, 0
cmove rax, rcx
jmp 0x14003586b
mov rcx, rbx
call fcn.140001340
cmp dword [0x140102c94], 0
jne 0x140035857
cmp qword [rbx + 0x10], 0
jne 0x140035857
mov rcx, qword [rbx + 0x28]
lea rdx, [rsp + 0x298]
xor r8d, r8d
call qword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableW]
test eax, eax
je 0x14003584c
xor ecx, ecx
mov qword [0x140108990], rcx
dec eax
jmp 0x14003586b
mov qword [0x140108990], rbx
xor eax, eax
jmp 0x14003586b
mov rax, qword [rbx + 0x10]
shr rax, 1
jmp 0x14003586b
mov rcx, qword [rbx + 0x10]
xor edx, edx
call fcn.14008cab0
add rbp, rax
mov rdx, rsi
add rdx, 2
lea r9, [0x140000000]
xor ebx, ebx
lea r10d, [rbx + 0xd]
lea r11d, [rbx + 7]
jmp 0x140035570
xor eax, eax
jmp 0x1400359a9
mov word [r14], bx
cmp byte [r13 + 0x23], 0
jne 0x1400358a3
mov rbx, qword [r13 + 0x10]
jmp 0x1400358a6
mov rbx, r13
test byte [rbx + 0x21], 8
je 0x1400358b4
mov rcx, rbx
call fcn.140001340
movzx eax, byte [rbx + 0x23]
cmp al, 1
jne 0x1400358d0
test byte [rbx + 0x21], 4
je 0x1400358ca
mov rdx, rbx
call fcn.1400374a0
mov r12, qword [rbx + 8]
jmp 0x14003592c
cmp al, 2
jne 0x14003592c
mov r12, qword [0x140106ff8]
test r12, r12
jne 0x14003592c
lea ecx, [r12 + 0xd]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x14003590e
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
lea r12, [0x1400ccf5c]
lea rax, [0x1400ccf50]
cmovne r12, rax
jmp 0x14003592c
xor edx, edx
call fcn.140004b80
mov ecx, 0xffffffff
lea r12, [0x1400ccf5c]
cmp rax, rcx
cmovne r12, qword [0x140106ff0]
or rbx, 0xffffffffffffffff
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jne 0x140035930
cmp byte [r13 + 0x23], 0
jne 0x14003594a
mov rdi, qword [r13 + 0x10]
jmp 0x14003594d
mov rdi, r13
cmp byte [rdi + 0x23], 1
jne 0x140035967
test byte [rdi + 0x21], 8
je 0x140035961
mov rcx, rdi
call fcn.140001340
add rdi, 0x10
jmp 0x14003596e
lea rdi, [0x140107c30]
lea rax, [rbx + rbx]
mov qword [rdi], rax
cmp byte [r13 + 0x23], 0
jne 0x140035980
mov r13, qword [r13 + 0x10]
cmp byte [r13 + 0x23], 2
jne 0x14003599f
cmp qword [0x140106ff8], 0
je 0x14003599f
lea rcx, [0x140106fe0]
call fcn.140004f50
jmp 0x1400359a9
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