Function at 0x1400db2c0
Capabilities:
Query environment variable

Disassembly:
mov dword [rsp + 0x20], r9d
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2290]
mov eax, 0x2390
call fcn.140247340
sub rsp, rax
mov qword [rbp + 0x1d0], 0xfffffffffffffffe
mov qword [rsp + 0x23c0], rbx
mov qword [rsp + 0x23c8], rsi
mov qword [rsp + 0x23d0], rdi
mov r13d, r9d
mov r12, r8
mov rdi, rdx
mov r14, rcx
mov r9d, 1
mov r8d, 0x10000
lea rdx, str.CSASSOUser::ResolveCSIDLParameters
lea rcx, [rbp + 0x1f0]
call fcn.1400b30a0
nop
mov qword [rsp + 0x20], rdi
lea r9, str.In____s
mov edx, 0x10000
mov ecx, 0xcb
mov r8d, 8
call fcn.1400fd140
mov r8d, r13d
xor edx, edx
mov rcx, r12
call fcn.140249b10
lea rsi, str.CSIDL_ALTSTARTUP
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], 0x1d
lea rax, str.CSIDL_APPDATA
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x68], 0x1a
lea rax, str.CSIDL_BITBUCKET
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0xa
lea rax, str.CSIDL_COMMON_ALTSTARTUP
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], 0x1e
lea rax, str.CSIDL_COMMON_APPDATA
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x68], 0x23
lea rax, str.CSIDL_COMMON_DESKTOPDIRECTORY
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], 0x19
lea rax, str.CSIDL_COMMON_DOCUMENTS
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], PathResolve
lea rax, str.CSIDL_COMMON_FAVORITES
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], 0x1f
lea rax, str.CSIDL_COMMON_PROGRAMS
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x28], reloc.OLEAUT32.dll_SafeArrayUnaccessData
lea rax, str.CSIDL_COMMON_STARTMENU
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x18], reloc.WSOCK32.dll_shutdown
lea rax, str.CSIDL_COMMON_STARTUP
mov qword [rbp - 0x10], rax
mov dword [rbp - 8], reloc.OLEAUT32.dll_SafeArrayGetElement
lea rax, str.CSIDL_COMMON_TEMPLATES
mov qword [rbp], rax
mov dword [rbp + 8], PathResolve
lea rax, str.CSIDL_CONTROLS
mov qword [rbp + 0x10], rax
mov dword [rbp + 0x18], 3
lea rax, str.CSIDL_COOKIES
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x28], 0x21
lea rax, str.CSIDL_DESKTOP
mov qword [rbp + 0x30], rax
xor ebx, ebx
mov dword [rbp + 0x38], ebx
lea rax, str.CSIDL_DESKTOPDIRECTORY
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x48], reloc.OLEAUT32.dll_SafeArrayGetDim
lea rax, str.CSIDL_DRIVES
mov qword [rbp + 0x50], rax
mov dword [rbp + 0x58], reloc.COMCTL32.dll_InitCommonControls
lea rax, str.CSIDL_FAVORITES
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x68], 6
lea rax, str.CSIDL_FONTS
mov qword [rbp + 0x70], rax
mov dword [rbp + 0x78], SafeArrayUnaccessData
lea rax, str.CSIDL_HISTORY
mov qword [rbp + 0x80], rax
mov dword [rbp + 0x88], 0x22
lea rax, str.CSIDL_INTERNET
mov qword [rbp + 0x90], rax
mov dword [rbp + 0x98], 1
lea rax, str.CSIDL_INTERNET_CACHE
mov qword [rbp + 0xa0], rax
mov dword [rbp + 0xa8], 0x20
lea rax, str.CSIDL_LOCAL_APPDATA
mov qword [rbp + 0xb0], rax
mov dword [rbp + 0xb8], 0x1c
lea rax, str.CSIDL_LOCAL_APPDATA_LOW
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0xc8], 0x1c
lea rax, str.CSIDL_PERSONAL
mov qword [rbp + 0xd0], rax
mov dword [rbp + 0xd8], 5
lea rax, str.CSIDL_PROGRAM_FILES
mov qword [rbp + 0xe0], rax
mov dword [rbp + 0xe8], 0x26
lea rax, str.CSIDL_PROGRAM_FILESX86
mov qword [rbp + 0xf0], rax
mov dword [rbp + 0xf8], PathResolve
lea rax, str.CSIDL_PROGRAM_FILES_COMMON
mov qword [rbp + 0x100], rax
mov dword [rbp + 0x108], PathResolve
lea rax, str.CSIDL_PROGRAM_FILES_COMMONX86
mov qword [rbp + 0x110], rax
mov dword [rbp + 0x118], PathResolve
lea rax, str.CSIDL_PROGRAMS
mov qword [rbp + 0x120], rax
mov dword [rbp + 0x128], 2
lea rax, str.CSIDL_RECENT
mov qword [rbp + 0x130], rax
mov dword [rbp + 0x138], 8
lea rax, str.CSIDL_SENDTO
mov qword [rbp + 0x140], rax
mov dword [rbp + 0x148], 9
lea rax, str.CSIDL_STARTMENU
mov qword [rbp + 0x150], rax
mov dword [rbp + 0x158], SafeArrayGetDim
lea rax, str.CSIDL_STARTUP
mov qword [rbp + 0x160], rax
mov dword [rbp + 0x168], 7
lea rax, str.CSIDL_SYSTEM
mov qword [rbp + 0x170], rax
mov dword [rbp + 0x178], 0x25
lea rax, str.CSIDL_SYSTEMX86
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], 0x29
lea rax, str.CSIDL_TEMPLATES
mov qword [rbp + 0x190], rax
mov dword [rbp + 0x198], SafeArrayUnaccessData
lea rax, str.CSIDL_WINDOWS
mov qword [rbp + 0x1a0], rax
mov dword [rbp + 0x1a8], 0x24
lea rax, str.CSIDL_PROFILE
mov qword [rbp + 0x1b0], rax
mov dword [rbp + 0x1b8], 0x28
mov qword [rbp + 0x1c0], rbx
mov dword [rbp + 0x1c8], ebx
xor edx, edx
mov r8d, 0x820
lea rcx, [rbp + 0x210]
call fcn.140249b10
lea rdx, str._CSIDL_
mov rcx, rdi
call fcn.140249ef0
mov r15, rax
test rax, rax
je 0x1400db947
xor edx, edx
mov r8d, 0x820
lea rcx, [rbp + 0x1a70]
call fcn.140249b10
mov r8, r15
sub r8, rdi
sar r8, 1
mov rdx, rdi
lea rcx, [rbp + 0x210]
call fcn.1402496a0
lea rdx, [0x14029cd20]
lea rcx, [r15 + 2]
call fcn.140249ef0
mov r13, rax
mov r8, rax
sub r8, r15
sub r8, 2
lea rdx, [r15 + 2]
lea rcx, [rbp + 0x1a70]
call fcn.1402496a0
mov r8d, ebx
lea rcx, [rbp + 0x1a70]
sub rsi, rcx
nop dword [rax]
movzx edx, word [rcx]
movzx eax, word [rcx + rsi]
sub edx, eax
jne 0x1400db753
add rcx, 2
test eax, eax
jne 0x1400db740
test edx, edx
je 0x1400db76a
inc r8d
mov eax, r8d
add rax, rax
mov rsi, qword [rsp + rax*8 + 0x50]
test rsi, rsi
jne 0x1400db732
mov eax, r8d
add rax, rax
mov rsi, qword [rsp + rax*8 + 0x50]
test rsi, rsi
je 0x1400db921
mov edi, dword [rsp + rax*8 + 0x58]
lea r15, vtable.CSABStringW.0
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x40], ebx
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call fcn.140247068
mov qword [rsp + 0x38], rax
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov dword [rsp + 0x44], 1
lea r8, [rsp + 0x30]
mov edx, edi
mov rcx, r14
call fcn.1400dadb0
test eax, eax
je 0x1400db8e2
lea r8, [rbp + 0x210]
sub r8, 2
lea r8, [r8 + 2]
cmp word [r8], 0
jne 0x1400db7d4
mov rdi, qword [rsp + 0x38]
xor r9d, r9d
nop word [rax + rax]
movzx eax, word [rdi + r9*2]
mov word [r8 + r9*2], ax
lea r9, [r9 + 1]
test ax, ax
jne 0x1400db7f0
lea rdx, str.CSIDL_LOCAL_APPDATA_LOW
mov rcx, rsi
call fcn.140252b94
test eax, eax
jne 0x1400db837
lea rax, [rbp + 0x210]
sub rax, 2
lea rax, [rax + 2]
cmp word [rax], 0
jne 0x1400db821
movsd xmm0, qword [0x1402b2b18]
movsd qword [rax], xmm0
lea rdx, [rbp + 0x210]
sub rdx, 2
lea rdx, [rdx + 2]
cmp word [rdx], 0
jne 0x1400db842
xor r8d, r8d
nop
movzx eax, word [r13 + r8*2 + 2]
mov word [rdx + r8*2], ax
lea r8, [r8 + 1]
test ax, ax
jne 0x1400db850
cmp dword [rsp + 0x44], 1
jne 0x1400db878
test rdi, rdi
je 0x1400db878
mov rcx, rdi
call fcn.140247060
mov r13d, dword [rbp + 0x22d8]
xor edx, edx
mov r8d, 0x820
lea rcx, [rbp + 0x1250]
call fcn.140249b10
mov r8d, 0x820
lea rdx, [rbp + 0x1250]
lea rcx, [rbp + 0x210]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
jne 0x1400db97c
lea rax, [rbp + 0x210]
mov qword [rsp + 0x20], rax
lea r9, str.Failed_To_Expand_Environment_Strings_:__s
mov edx, 0x10000
mov ecx, 0x150
mov r8d, 2
call fcn.1400fd140
jmp 0x1400dbbaa
mov dword [rsp + 0x20], edi
lea r9, str.Failed_To_Get_Special_Folder_Path_:__x
mov edx, 0x10000
mov ecx, 0x13a
mov r8d, 2
call fcn.1400fd140
nop
cmp dword [rsp + 0x44], 1
jne 0x1400dbbaa
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400dbbaa
jmp 0x1400dbba4
mov qword [rsp + 0x20], rbx
lea r9, str.Failed_To_Find_Special_Folder_Path_:__s
mov edx, 0x10000
mov ecx, 0x141
mov r8d, 2
call fcn.1400fd140
jmp 0x1400dbbaa
lea rcx, [rbp + 0x210]
sub rcx, rdi
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdi]
mov word [rdi + rcx], ax
lea rdi, [rdi + 2]
test ax, ax
jne 0x1400db960
lea r15, vtable.CSABStringW.0
jmp 0x1400db87f
xor edx, edx
mov r8d, 0x820
lea rcx, [rbp + 0xa30]
call fcn.140249b10
mov r8d, 0x820
lea rdx, [rbp + 0xa30]
lea rcx, [rbp + 0x1250]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
jne 0x1400db9d9
mov rdx, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rbp + rdx + 0x1250]
mov word [rbp + rdx + 0xa30], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x1400db9c0
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x40], ebx
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call fcn.140247068
mov rdi, rax
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov dword [rsp + 0x44], 1
lea r9d, [rax + 1]
mov r8d, 0x10000
lea rdx, str.CSASSOUser::UpdateUserInPath
lea rcx, [rbp + 0x1d8]
call fcn.1400b30a0
nop
mov rcx, r14
call fcn.1400db1f0
test eax, eax
jne 0x1400dba40
lea rcx, [rbp + 0x1d8]
call fcn.1400b3190
jmp 0x1400dbb3f
mov r8d, dword [r14 + 0x98]
mov rdx, qword [r14 + 0x90]
lea rcx, [rbp + 0xa30]
call fcn.140252028
test eax, eax
jne 0x1400dbaba
mov rcx, qword [r14 + 0x68]
test rcx, rcx
jne 0x1400dbaa1
mov qword [rsp + 0x48], rbx
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14002a980
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [r14 + 0x98]
lea rdx, [rbp + 0xa30]
lea rdx, [rdx + rax*2]
lea rcx, [rsp + 0x30]
call fcn.1400b3a90
jmp 0x1400dbaf0
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400dbbe4
jmp 0x1400dba6c
lea rcx, [rbp + 0xa30]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400dbbd9
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14002a980
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
lea rcx, [rbp + 0x1d8]
call fcn.1400b3190
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x1400dbb3a
cmp eax, r13d
jae 0x1400dbb3a
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
mov rdx, r12
sub rdx, rdi
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400dbb20
mov rcx, r12
call fcn.14025f5f8
jmp 0x1400dbb70
mov rdi, qword [rsp + 0x38]
lea rcx, [rbp + 0xa30]
lea rax, [rbp + 0xa30]
mov rdx, r12
sub rdx, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400dbb60
mov qword [rsp + 0x20], r12
lea r9, str.Out____s
mov edx, 0x10000
mov ecx, 0x167
mov r8d, 8
call fcn.1400fd140
mov ebx, 1
cmp dword [rsp + 0x44], ebx
jne 0x1400dbbaa
test rdi, rdi
je 0x1400dbbaa
mov rcx, rdi
call fcn.140247060
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400b3190
mov eax, ebx
lea r11, [rsp + 0x2390]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x8007000e
call fcn.140004cd0
int3
mov ecx, 0x8007000e
call fcn.140004cd0
int3