Function at 0x180090720
Capabilities:
Query environment variable

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0x4f]
sub rsp, 0xb8
mov rax, qword [0x1803c1370]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov rbx, rcx
test rcx, rcx
je 0x18009074f
mov rax, qword [0x1803d9910]
mov qword [rcx], rax
mov eax, dword [0x1803d9920]
mov ecx, eax
inc eax
mov dword [0x1803d9920], eax
test ecx, ecx
je 0x18009076a
xor eax, eax
jmp 0x180090ba7
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xb0], r12
xor r12d, r12d
cmp dword [0x1803c138c], 0xffffffff
jne 0x1800907d0
lea rcx, str.VBOX_SUPLIB_FAKE
call sym.VBoxRT.dll_RTEnvGet
test rax, rax
je 0x1800907c4
lea rdi, str.fake
mov rsi, rax
mov ecx, 5
repe cmpsb byte [rsi], byte [rdi]
jne 0x1800907c4
mov ecx, 1
or eax, 0xffffffff
lock cmpxchg dword [0x1803c138c], ecx
jmp 0x1800907d0
or eax, 0xffffffff
lock cmpxchg dword [0x1803c138c], r12d
cmp dword [0x1803c138c], r12d
je 0x1800907e6
mov rcx, rbx
call fcn.18008d7f0
jmp 0x180090b8f
movzx edx, byte [0x1803d9924]
lea rcx, [0x1803d9928]
call fcn.180091c80
mov edi, eax
test eax, eax
js 0x180090b87
mov qword [rbp - 0x29], 0xffffffffffffffff
mov qword [rbp - 0x21], 0xffffffffffffffff
mov qword [rbp - 0x19], 0xffffffffffffffff
mov dword [rbp - 0x29], 0x69726f74
mov qword [rbp - 0x11], 0xffffffffffffffff
mov qword [rbp - 9], 0xffffffffffffffff
mov qword [rbp - 1], 0xffffffffffffffff
mov qword [rbp + 7], 0xffffffffffffffff
call sym.VBoxRT.dll_RTRandU32
mov dword [rbp - 0x25], eax
mov rax, qword [str.The_Magic_Word_]
lea r8, [rbp - 0x29]
mov qword [rbp - 0x11], rax
mov rax, qword [0x180308648]
lea rcx, [0x1803d9928]
mov r9d, 0x38
mov edx, 0x228204
mov dword [rbp - 0x21], gethostbyname
mov qword [rbp - 9], rax
mov dword [rbp - 0x1d], 0x38
mov dword [rbp - 0x19], 0x42000042
mov dword [rbp - 0x15], 0xffffff1f
mov dword [rbp - 1], 0x1a0005
mov dword [rbp + 3], 0x1a0000
call fcn.180091db0
test eax, eax
js 0x180090b41
mov edi, dword [rbp - 0x15]
test edi, edi
js 0x180090af7
mov ecx, dword [rbp - 9]
mov eax, ecx
and eax, 0xffff0000
cmp eax, 0x1a0000
jne 0x180090aa2
cmp ecx, eax
jb 0x180090aa2
mov eax, dword [rbp - 1]
lea rdx, str.D:_tinderboxwin_4.2_srcVBoxHostDriversSupportSUPLib.cpp
lea rcx, [rax + rax*4]
lea rcx, [rcx*8 + 0x20]
call sym.VBoxRT.dll_RTMemAllocZTag
mov rsi, rax
test rax, rax
je 0x180090a98
mov ecx, dword [rbp - 0x11]
mov r8, rsi
mov dword [rax], ecx
mov ecx, dword [rbp - 0xd]
mov dword [rax + 8], 0x18
mov dword [rax + 4], ecx
mov ecx, dword [rbp - 1]
mov dword [rax + 0x10], 0x42000042
lea edx, [rcx + rcx*4]
mov dword [rax + 0x14], 0xffffff1f
lea rcx, [0x1803d9928]
lea edx, [rdx*8 + 0x20]
mov dword [rax + 0xc], edx
mov eax, dword [rbp - 1]
mov edx, 0x228208
lea r9, [rax + rax*4]
lea r9, [r9*8 + 0x20]
call fcn.180091db0
mov edi, eax
test eax, eax
js 0x180090a8b
mov edi, dword [rsi + 0x14]
test edi, edi
js 0x180090a8b
mov eax, dword [rbp - 0x11]
lea r8, [rbp + 0xf]
lea rcx, [0x1803d9928]
mov dword [rbp + 0xf], eax
mov eax, dword [rbp - 0xd]
mov r9d, gethostbyname
mov edx, 0x228250
mov dword [rbp + 0x17], 0x18
mov dword [rbp + 0x1b], gethostbyname
mov dword [rbp + 0x13], eax
mov dword [rbp + 0x1f], 0x42000042
mov dword [rbp + 0x23], 0xffffff1f
mov qword [rbp + 0x27], 0xffffffffffffffff
mov qword [rbp + 0x37], r12
mov qword [rbp + 0x2f], r12
call fcn.180091db0
mov edi, eax
test eax, eax
js 0x180090a8b
mov edi, dword [rbp + 0x23]
test edi, edi
js 0x180090a8b
mov rax, qword [rbp + 0x2f]
cmp dword [rax], 0x19590106
je 0x180090a01
lea r9, str.int___cdecl_SUPR3Init_unsigned___int64__
lea r8, str.D:_tinderboxwin_4.2_srcVBoxHostDriversSupportSUPLib.cpp
lea rcx, str.GipMapReq.u.Out.pGipR3__u32Magic__SUPGLOBALINFOPAGE_MAGIC
mov edx, 0x13d
call sym.VBoxRT.dll_RTAssertMsg1Weak
call sym.VBoxRT.dll_RTAssertShouldPanic
int3
cmp dword [rax + 4], 0x30000
jae 0x180090a2f
lea r9, str.int___cdecl_SUPR3Init_unsigned___int64__
lea r8, str.D:_tinderboxwin_4.2_srcVBoxHostDriversSupportSUPLib.cpp
lea rcx, str.GipMapReq.u.Out.pGipR3__u32Version___SUPGLOBALINFOPAGE_VERSION
mov edx, 0x13e
call sym.VBoxRT.dll_RTAssertMsg1Weak
call sym.VBoxRT.dll_RTAssertShouldPanic
int3
mov rax, qword [rbp + 0x27]
xchg qword [0x1803c1380], rax
mov rcx, qword [rbp + 0x2f]
xor eax, eax
lock cmpxchg qword [sym.VBoxRT.dll_g_pSUPGlobalInfoPage], rcx
mov rcx, qword [rbp + 0x37]
xor eax, eax
lock cmpxchg qword [0x1803d9918], rcx
mov eax, dword [rbp - 0xd]
mov ecx, dword [rbp - 0x11]
mov qword [0x1803d9900], rsi
mov dword [0x1803d98f8], eax
mov rax, qword [rbp + 7]
mov dword [0x1803d9930], ecx
mov qword [0x1803d9910], rax
test rbx, rbx
je 0x180090a84
mov qword [rbx], rax
xor eax, eax
jmp 0x180090b8f
mov rcx, rsi
call sym.VBoxRT.dll_RTMemFree
jmp 0x180090b7b
mov edi, 0xfffffff8
jmp 0x180090b7b
call sym.VBoxRT.dll_RTLogRelDefaultInstance
test rax, rax
je 0x180090b76
test byte [rax + 0xc008], 1
jne 0x180090b76
mov ecx, dword [rbp - 5]
mov dword [rsp + 0x38], 0x1a0000
mov dword [rsp + 0x30], 0x1a0005
mov dword [rsp + 0x28], ecx
mov ecx, dword [rbp - 9]
lea r9, str.Support_driver_version_mismatch:_SessionVersion_x_DriverVersion_x_ClientVersion_x_MinVersion_x_n
mov dword [rsp + 0x20], ecx
mov edx, 2
mov r8d, 0xa4
mov rcx, rax
call sym.VBoxRT.dll_RTLogLoggerEx
jmp 0x180090b76
call sym.VBoxRT.dll_RTLogRelDefaultInstance
test rax, rax
je 0x180090b37
test byte [rax + 0xc008], 1
jne 0x180090b37
mov ecx, dword [rbp - 5]
mov dword [rsp + 0x30], edi
lea r9, str.Support_driver_version_mismatch:_DriverVersion_x_ClientVersion_x_rc_Rrc_n
mov dword [rsp + 0x28], 0x1a0005
mov dword [rsp + 0x20], ecx
mov edx, 2
mov rcx, rax
mov r8d, 0xa4
call sym.VBoxRT.dll_RTLogLoggerEx
cmp edi, 0xfffff888
je 0x180090b7b
jmp 0x180090b76
call sym.VBoxRT.dll_RTLogRelDefaultInstance
test rax, rax
je 0x180090b76
test byte [rax + 0xc008], 1
jne 0x180090b76
lea r9, str.Support_driver_version_mismatch:_DriverVersiontoo_old_ClientVersion_x_n
mov edx, 2
mov r8d, 0xa4
mov rcx, rax
mov dword [rsp + 0x20], 0x1a0005
call sym.VBoxRT.dll_RTLogLoggerEx
mov edi, 0xfffff888
lea rcx, [0x1803d9928]
call fcn.180091bd0
dec dword [0x1803d9920]
mov eax, edi
mov rdi, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xb0]
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.180227610
add rsp, 0xb8
pop rbx
pop rbp
ret