Function at 0x140051bd0
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x310]
sub rsp, 0x410
mov rax, qword [0x14009d080]
xor rax, rsp
mov qword [rbp + 0x300], rax
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor esi, esi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rsi
lea rdx, [rsp + 0x30]
lea ecx, [rsi + 0x73]
call fcn.140051290
lea rdx, [rsp + 0x30]
lea ecx, [rsi + 0x74]
call fcn.140051290
mov r8d, 0x104
lea rdx, [rbp + 0x1f0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea r8, str..vmoptions
mov edx, 0x104
lea rcx, [rbp + 0x1f0]
call fcn.140067218
mov r9d, 0x104
lea r8, [rbp - 0x30]
lea edx, [rsi + 0x71]
mov rcx, qword [0x1400a1a30]
call qword [sym.imp.USER32.dll_LoadStringA]
mov r8d, 0x104
lea rdx, [rbp + 0xe0]
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea r14, [rsi - 1]
test eax, eax
je 0x140051cd1
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0xe0]
call fcn.140050880
test al, al
je 0x140051cd1
lea r12, [rbp + 0xe0]
mov r13, qword [rsp + 0x58]
jmp 0x140052029
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x1f0]
call fcn.140050880
lea rbx, [rbp + 0x1f0]
test al, al
cmove rbx, rsi
lea r8, [rbp + 0x1f0]
mov edx, 0x104
lea rcx, [rbp - 0x30]
call fcn.140067120
mov edx, 0x5c
lea rcx, [rbp - 0x30]
call fcn.14005ed00
sub rax, 4
lea rdx, [rbp + 0xd4]
sub rdx, rax
lea r8, str..vmoptions
mov rcx, rax
call fcn.140067120
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x30]
call fcn.140050880
test al, al
je 0x140051d47
lea r12, [rbp - 0x30]
jmp 0x140051dbd
mov r9d, 0x104
lea r8, [rbp - 0x30]
mov edx, 0x69
mov rcx, qword [0x1400a1a30]
call qword [sym.imp.USER32.dll_LoadStringA]
mov r8d, 0x104
lea rdx, [rbp + 0xe0]
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
mov edx, 0x5c
lea rcx, [rbp + 0x1f0]
call fcn.14005ed00
mov r8, rax
mov edx, 0x104
lea rcx, [rbp + 0xe0]
call fcn.140067218
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xe0]
call fcn.140050880
lea r12, [rbp + 0xe0]
test al, al
cmove r12, rbx
mov r15, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
cmp r15, r13
je 0x140052020
mov rax, qword [rsp + 0x38]
cmp qword [rsp + 0x30], rax
je 0x140052009
mov rbx, r15
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140051df0
mov rcx, qword [rbx]
mov r8d, 8
lea rdx, str._XX:Use
call fcn.140067190
test eax, eax
jne 0x140051e2b
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140051e13
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp byte [rax + rcx - 2], 0x47
jne 0x140051e2b
cmp byte [rax + rcx - 1], 0x43
jne 0x140051e2b
cmp byte [rax + rcx], 0
je 0x140051e3a
add rbx, 0x20
cmp rbx, r13
je 0x140052009
jmp 0x140051de3
cmp rbx, r13
je 0x140052009
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
cmp rdi, rbx
je 0x140052004
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140051e63
mov rcx, qword [rdi]
mov r8d, 8
lea rdx, str._XX:Use
call fcn.140067190
test eax, eax
jne 0x140051e9e
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140051e86
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
cmp byte [rax + rcx - 2], 0x47
jne 0x140051e9e
cmp byte [rax + rcx - 1], 0x43
jne 0x140051e9e
cmp byte [rax + rcx], 0
je 0x140051ea7
add rdi, 0x20
cmp rdi, rbx
jne 0x140051e56
cmp rdi, rbx
je 0x140052004
lea rsi, [rdi + 0x20]
cmp rsi, rbx
je 0x140051f89
nop dword [rax]
mov rcx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140051ecd
mov rcx, qword [rsi]
mov r8d, 8
lea rdx, str._XX:Use
call fcn.140067190
test eax, eax
jne 0x140051f08
mov rcx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140051ef0
mov rcx, qword [rsi]
mov rax, qword [rsi + 0x10]
cmp byte [rax + rcx - 2], 0x47
jne 0x140051f08
cmp byte [rax + rcx - 1], 0x43
jne 0x140051f08
cmp byte [rax + rcx], 0
je 0x140051f77
cmp rdi, rsi
je 0x140051f73
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x140051f47
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140051f42
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005255c
mov rcx, r8
call fcn.14005cdb0
xor eax, eax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], 0xf
mov byte [rdi], al
movups xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], 0xf
mov byte [rsi], al
add rdi, 0x20
add rsi, 0x20
cmp rsi, rbx
jne 0x140051ec0
cmp rdi, rbx
je 0x140052004
mov r8, rdi
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.140059bc0
mov rsi, rax
mov rdi, qword [rsp + 0x38]
mov rbx, rax
cmp rax, rdi
je 0x140051fff
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140051fe3
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140051fde
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14005255c
mov rcx, r8
call fcn.14005cdb0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
add rbx, 0x20
cmp rbx, rdi
jmp 0x140051fa7
mov qword [rsp + 0x38], rsi
mov rdi, qword [rsp + 0x48]
mov r9, r13
mov r8, r15
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x30]
call fcn.14005af20
xor esi, esi
test r12, r12
je 0x14005216d
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
mov ecx, 0x20
call fcn.14005cdb8
mov qword [rsp + 0x78], 0x13
mov qword [rbp - 0x80], 0x1f
movups xmm0, xmmword [str._Djb.vmOptionsFile]
movups xmmword [rax], xmm0
movzx ecx, word [0x140094138]
mov word [rax + 0x10], cx
movzx ecx, byte [0x14009413a]
mov byte [rax + 0x12], cl
mov byte [rax + 0x13], 0
mov qword [rsp + 0x68], rax
mov r8, r14
inc r8
cmp byte [r12 + r8], 0
jne 0x140052086
mov rdx, r12
lea rcx, [rsp + 0x68]
call fcn.1400590b0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x40]
je 0x1400520df
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov edx, 0xf
mov byte [rbp - 0x70], 0
add qword [rsp + 0x38], 0x20
jmp 0x1400520f1
lea r8, [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.140059c80
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x140052129
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052123
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052562
call fcn.14005cdb0
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x14005221a
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052215
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052556
jmp 0x140052215
mov qword [rsp + 0x48], rsi
xor r9d, r9d
lea r8, [rsp + 0x48]
lea edx, [r9 + 0x72]
mov rcx, qword [0x1400a1a30]
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x14005221a
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], 7
movsxd r8, eax
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x68]
call fcn.140058b80
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r8, qword [rsp + 0x68]
xor r9d, r9d
lea rdx, str.Cannot_find_VM_options_file
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14005221a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052215
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052568
call fcn.14005cdb0
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.140050e30
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.140051060
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.140051440
mov r9, qword [0x1400a1a68]
test r9, r9
je 0x140052317
lea r8, str._Djcef.sandbox.ptr_p
mov edx, 0x40
lea rcx, [rbp - 0x70]
call fcn.14004e4d0
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
lea rax, [rbp - 0x70]
inc r14
cmp byte [rax + r14], 0
jne 0x140052281
mov r8, r14
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x68]
call fcn.140058f50
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x40]
je 0x1400522cc
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [rdx + 0x10], xmm1
mov edx, 0xf
mov byte [rsp + 0x68], 0
add qword [rsp + 0x38], 0x20
jmp 0x1400522df
lea r8, [rsp + 0x68]
lea rcx, [rsp + 0x30]
call fcn.140059c80
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x140052317
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140052312
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005256e
call fcn.14005cdb0
mov rax, qword [rsp + 0x38]
sub rax, qword [rsp + 0x30]
sar rax, 5
inc eax
mov dword [0x1400a1a4c], eax
movsxd rcx, eax
mov r15d, 0x10
mov edx, r15d
call fcn.1400620d8
mov r14, rax
mov qword [0x1400a1a50], rax
lea rax, str.exit
mov qword [r14], rax
lea rax, [0x140051bc0]
mov qword [r14 + 8], rax
mov r12d, esi
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
sub rcx, rbx
sar rcx, 5
test rcx, rcx
je 0x1400523d0
nop dword [rax]
lea rcx, [rsi + rbx]
cmp qword [rcx + 0x18], 0x10
jb 0x14005238e
mov rcx, qword [rcx]
call fcn.1400632f8
mov qword [r15 + r14], rax
mov qword [r15 + r14 + 8], 0
inc r12d
add r15, 0x10
add rsi, 0x20
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
sub rcx, rbx
sar rcx, 5
movsxd rax, r12d
cmp rax, rcx
jae 0x1400523d0
mov r14, qword [0x1400a1a50]
jmp 0x140052380
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x14005247f
mov rbx, rsi
cmp rsi, r13
je 0x14005243c
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140052420
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14005241b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140052574
mov rcx, r8
call fcn.14005cdb0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
add rbx, 0x20
cmp rbx, r13
jne 0x1400523e6
mov rdx, qword [rsp + 0x60]
sub rdx, rsi
and rdx, 0xffffffffffffffe0
mov rax, rsi
cmp rdx, 0x1000
jb 0x14005246d
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052574
mov rcx, rsi
call fcn.14005cdb0
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x140052520
cmp rbx, rdi
je 0x1400524eb
nop dword [rax]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400524ca
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1400524c5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140052550
mov rcx, r8
call fcn.14005cdb0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
add rbx, 0x20
cmp rbx, rdi
jne 0x140052490
mov rbx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x40]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140052518
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140052550
mov rcx, rbx
call fcn.14005cdb0
mov rcx, qword [rbp + 0x300]
xor rcx, rsp
call fcn.14005cd90
lea r11, [rsp + 0x410]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400674bc
nop
call fcn.1400674bc
nop
call fcn.1400674bc
nop
call fcn.1400674bc
nop
call fcn.1400674bc
int3
call fcn.1400674bc
nop
call fcn.1400674bc
int3