Function at 0x140046d90
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x140091088]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov r15, rdx
mov qword [rsp + 0x38], rdx
mov r13, rcx
mov edx, 0x81
lea rcx, [rbp - 0x78]
call fcn.140044f80
nop
mov r12d, 0xf
mov rbx, qword [rbp - 0x68]
test rbx, rbx
mov rsi, 0xffffffffffffffff
je 0x14004727d
lea rdi, [rbp - 0x78]
mov r14, qword [rbp - 0x78]
mov r15, qword [rbp - 0x60]
cmp r15, 0x10
cmovae rdi, r14
test rbx, rbx
je 0x140046e25
mov r8, rbx
lea edx, [rsi + 0x21]
mov rcx, rdi
call fcn.140055480
test rax, rax
je 0x140046e25
sub rax, rdi
jmp 0x140046e28
mov rax, rsi
mov rsi, rbx
cmp rax, 0xffffffffffffffff
cmovne rsi, rax
mov qword [rsp + 0x40], rsi
xor edi, edi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], r12
mov byte [rsp + 0x48], dil
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
lea rdx, [rbp - 0x78]
cmp r15, 0x10
cmovae rdx, r14
lea rcx, [rsp + 0x48]
call fcn.14004e9d0
nop
mov qword [rbp - 0x80], r12
mov edx, 0xa
mov qword [rsp + 0x78], rdx
movsd xmm0, qword [str._IDE_HOME_]
movsd qword [rsp + 0x68], xmm0
movzx eax, word [0x140087e48]
mov word [rsp + 0x70], ax
mov byte [rsp + 0x72], dil
mov ebx, edi
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x30], rcx
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140046fa1
mov rsi, rcx
nop dword [rax]
lea rdi, [rsp + 0x68]
cmp r12, 0x10
cmovae rdi, rsi
lea r12, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae r12, qword [rsp + 0x48]
cmp rdx, rax
ja 0x140046f8f
sub rax, rdx
cmp rbx, rax
ja 0x140046f8f
test rdx, rdx
je 0x140046f47
lea r14, [r12 + rax]
lea rcx, [r12 + rbx]
movsx r15d, byte [rdi]
lea r8, [r14 + 1]
sub r8, rcx
mov edx, r15d
call fcn.140055480
test rax, rax
mov rbx, rax
je 0x140046f8f
mov r8d, 0xa
mov rdx, rdi
mov rcx, rax
call fcn.140055120
test eax, eax
je 0x140046f3f
inc rbx
lea r8, [r14 + 1]
sub r8, rbx
mov rcx, rbx
jmp 0x140046f0b
sub rbx, r12
mov edx, 0xa
cmp rbx, 0xffffffffffffffff
je 0x140046f8f
mov r9, r13
cmp qword [r13 + 0x18], 0x10
jb 0x140046f5b
mov r9, qword [r13]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x20], rax
mov r8, rdx
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.14004e830
add rbx, qword [r13 + 0x10]
mov rax, qword [rsp + 0x58]
cmp rbx, rax
mov edx, 0xa
lea r12d, [rdx + 5]
jb 0x140046ec0
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
xor edi, edi
mov r12d, 0xf
cmp r12, 0x10
jb 0x140046fd6
lea rdx, [r12 + 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046fd1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400474de
call fcn.140052820
mov r15, qword [rsp + 0x38]
mov rbx, qword [r15 + 8]
cmp rbx, qword [r15 + 0x10]
je 0x1400470a4
mov qword [rbx], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov r14, qword [rsp + 0x58]
lea r15, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae r15, qword [rsp + 0x48]
cmp r14, 0x10
jae 0x14004701c
movups xmm0, xmmword [r15]
movups xmmword [rbx], xmm0
mov rdi, r12
jmp 0x140047090
mov rdi, r14
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140047070
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400474d8
mov rcx, rax
call fcn.140052828
mov rcx, rax
test rax, rax
je 0x1400474de
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14004707e
test rcx, rcx
je 0x14004707c
call fcn.140052828
jmp 0x14004707e
xor eax, eax
mov qword [rbx], rax
lea r8, [r14 + 1]
mov rdx, r15
mov rcx, rax
call fcn.140054a90
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], rdi
mov r15, qword [rsp + 0x38]
add qword [r15 + 8], 0x20
jmp 0x1400470b4
lea r8, [rsp + 0x48]
mov rdx, rbx
mov rcx, r15
call fcn.14004f910
mov rdx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x68]
cmp rsi, rcx
jae 0x1400470ea
nop word [rax + rax]
lea rax, [rbp - 0x78]
cmp rdx, 0x10
cmovae rax, r8
cmp byte [rax + rsi], 0x20
jne 0x1400470ea
inc rsi
cmp rsi, rcx
jb 0x1400470d0
mov qword [rsp + 0x68], 0
mov qword [rbp - 0x80], r12
cmp rcx, rsi
jb 0x1400474f0
sub rcx, rsi
mov rdi, 0xffffffffffffffff
cmp rcx, rdi
cmovb rdi, rcx
lea r14, [rbp - 0x78]
cmp rdx, 0x10
cmovae r14, r8
add r14, rsi
cmp rdi, 0xf
ja 0x140047145
mov qword [rsp + 0x78], rdi
mov r8, rdi
mov rdx, r14
lea rcx, [rsp + 0x68]
call fcn.140054a90
mov byte [rsp + rdi + 0x68], 0
jmp 0x1400471ea
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x1400474ea
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x140047173
mov rbx, rax
movabs rax, 0x8000000000000027
jmp 0x14004719a
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400471b9
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400474d8
mov rcx, rax
call fcn.140052828
test rax, rax
je 0x1400474de
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400471ca
test rcx, rcx
je 0x1400471c8
call fcn.140052828
mov rsi, rax
jmp 0x1400471ca
xor esi, esi
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], rbx
mov r8, rdi
mov rdx, r14
mov rcx, rsi
call fcn.140054a90
mov byte [rsi + rdi], 0
mov qword [rsp + 0x68], rsi
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x140047225
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047220
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400474de
call fcn.140052820
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [rbp - 0x68], xmm1
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140046de0
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047273
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400474e4
call fcn.140052820
jmp 0x140046de0
mov edx, 0x70
lea rcx, [rsp + 0x68]
call fcn.140044f80
cmp qword [rax + 0x18], 0x10
jb 0x140047296
mov rax, qword [rax]
mov r8d, 0x104
lea rdx, [rbp - 0x50]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov ebx, eax
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1400472e7
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400472e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400474f6
call fcn.140052820
test ebx, ebx
je 0x140047471
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], r12
mov byte [rsp + 0x48], 0
mov ecx, 0x20
call fcn.140052828
mov rbx, rax
mov qword [rsp + 0x58], 0x17
mov qword [rsp + 0x60], 0x1f
movups xmm0, xmmword [str._Didea.properties.file]
movups xmmword [rax], xmm0
mov ecx, dword [0x140087e90]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x140087e94]
mov word [rax + 0x14], cx
movzx ecx, byte [0x140087e96]
mov byte [rax + 0x16], cl
mov byte [rax + 0x17], 0
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x50]
nop
inc rsi
cmp byte [rax + rsi], 0
jne 0x140047360
cmp rsi, 8
ja 0x140047394
lea rax, [rsi + 0x17]
mov qword [rsp + 0x58], rax
mov r8, rsi
lea rdx, [rbp - 0x50]
lea rcx, [rbx + 0x17]
call fcn.140054a90
mov byte [rsi + rbx + 0x17], 0
lea rax, [rsp + 0x48]
jmp 0x1400473aa
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x50]
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.14004fe50
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r12
mov byte [rax], 0
mov rdx, qword [r15 + 8]
cmp rdx, qword [r15 + 0x10]
je 0x1400473e7
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov byte [rsp + 0x68], 0
add qword [r15 + 8], 0x20
jmp 0x1400473f8
lea r8, [rsp + 0x68]
mov rcx, r15
call fcn.14004f780
mov r12, qword [rbp - 0x80]
cmp r12, 0x10
jb 0x140047433
lea rdx, [r12 + 1]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004742d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400474fc
call fcn.140052820
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140047471
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004746b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047502
call fcn.140052820
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1400474a8
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400474a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400474d2
call fcn.140052820
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.140052800
mov rbx, qword [rsp + 0x220]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14005cf1c
nop
call fcn.140044130
nop
call fcn.14005cf1c
nop
call fcn.14005cf1c
nop
call fcn.1400441d0
int3
call fcn.14004efa0
nop
call fcn.14005cf1c
nop
call fcn.14005cf1c
nop
call fcn.14005cf1c
int3