Function at 0x40c050
Capabilities:
Query environment variable

Disassembly:
mov eax, 0x12e8
call fcn.004573e0
sub rsp, rax
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x1308], rbx
mov qword [rsp + 0x12e0], rbp
mov qword [rsp + 0x12d8], rsi
mov qword [rsp + 0x12d0], rdi
mov qword [rsp + 0x12c8], r12
mov rax, qword [0x00472618]
xor rax, rsp
mov qword [rsp + 0x12b0], rax
mov rbp, r8
mov rsi, rdx
mov r12, rcx
mov qword [rsp + 0x28], rcx
lea rax, [0x00459c80]
mov qword [rcx], rax
lea rax, [0x00459430]
mov qword [rcx + 8], rax
xor ebx, ebx
mov qword [rcx + 0x10], rbx
mov qword [rcx + 0x28], rbx
mov qword [rcx + 0x20], rbx
mov qword [rcx + 0x18], rbx
lea rax, [0x00459c60]
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], rbx
mov qword [rcx + 0x50], rbx
mov qword [rcx + 0x48], rbx
mov qword [rcx + 0x40], rbx
lea rcx, str.PATH
call fcn.004355d0
mov r11, rax
lea rcx, [rsp + 0x2b0]
mov eax, dword [0x00459be0]
mov dword [rcx], eax
movzx eax, word [0x00459be4]
mov word [rcx + 4], ax
lea rdi, [rsp + 0x2b0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rax, qword [str.bin_jvm_bin_]
mov qword [rdi - 1], rax
mov eax, dword [0x00459bd8]
mov dword [rdi + 7], eax
movzx eax, byte [0x00459bdc]
mov byte [rdi + 0xb], al
lea rdi, [rsp + 0x2b0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor edx, edx
movzx eax, byte [r11 + rdx]
mov byte [rdi + rdx - 1], al
add rdx, 1
test al, al
jne 0x40c160
lea rcx, [rsp + 0x2b0]
call fcn.0043a4d0
lea rdx, [r12 + 0x98c]
mov rcx, rbp
call fcn.00404380
lea rdx, [r12 + 0x78c]
mov rcx, rbp
call fcn.004043a0
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.004043c0
mov edx, 0x5c
mov rcx, rsi
call fcn.00434b70
sub eax, esi
add eax, 1
movsxd rdi, eax
mov byte [rdi + rsi - 1], 0
mov rcx, rsi
lea rdx, [r12 + 0x378]
sub rdx, rsi
nop
nop
nop
nop
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
add rcx, 1
test al, al
jne 0x40c1e0
mov byte [rdi + rsi - 4], al
lea rcx, [r12 + 0x178]
sub rcx, rsi
nop
movzx eax, byte [rsi]
mov byte [rcx + rsi], al
add rsi, 1
test al, al
jne 0x40c200
lea rcx, str.USERPROFILE
call fcn.004355d0
mov r11, rax
test rax, rax
je 0x40c235
lea rdi, [0x00458e4b]
mov rsi, rax
mov ecx, 1
repe cmpsb byte [rsi], byte [rdi]
jne 0x40c244
lea rcx, str.WinDir
call fcn.004355d0
mov r11, rax
mov byte [r12 + 0x58c], 0
lea rdi, [r12 + 0x58c]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
nop
nop
nop
nop
movzx eax, byte [r11 + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x40c270
lea rdi, [r12 + 0x58c]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x30]
xor ecx, ecx
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x40c2a0
mov byte [rsp + 0xb0], al
lea rdi, [rsp + 0xb0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [rcx + r12 + 0x178]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x40c2d0
lea rdi, [rsp + 0xb0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
mov rax, qword [str._binX64]
mov qword [rdi - 1], rax
mov dword [rdi - 1], eax
movzx eax, byte [0x00459cb8]
mov byte [rdi + 7], al
lea rcx, str.PATH
invalid
fadd dword [rax + rax]
call fcn.004355d0
mov rsi, rax
nop
movzx eax, byte [rsp + rbx + 0xb0]
mov byte [rsp + rbx + 0x2b0], al
add rbx, 1
test al, al
jne method..virtual_616
lea rdi, [rsp + 0x2b0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [0x00459bf0]
mov word [rdi - 1], ax
lea rdi, [rsp + 0x2b0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
nop
nop
movzx edx, byte [rsi + rax]
mov byte [rdi + rax - 1], dl
add rax, 1
test dl, dl
jne 0x40c370
lea rdx, [rsp + 0x2b0]
lea rcx, str.PATH
call fcn.0043a530
nop
mov rax, r12
mov rcx, qword [rsp + 0x12b0]
xor rcx, rsp
call fcn.00434a90
mov rbx, qword [rsp + 0x1308]
mov rbp, qword [rsp + 0x12e0]
mov rsi, qword [rsp + 0x12d8]
mov rdi, qword [rsp + 0x12d0]
mov r12, qword [rsp + 0x12c8]
add rsp, 0x12e8
ret