Function at 0x18000ee00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rdi
push r12
push r15
sub rsp, 0xa0
mov rax, qword [0x180057098]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rdi, qword [rsp + 0xf0]
lea rax, [rcx + 0x1000]
mov dword [rsp + 0x40], r9d
mov r15, r8
mov r12, rdx
mov rbp, rcx
cmp rax, 0x2000
jb 0x18000ee8e
movabs rcx, 0xffff800000000000
test rcx, rbp
jne 0x18000ee8e
lea rax, [rdx + 0x1000]
cmp rax, 0x2000
jb 0x18000ee8e
test rcx, rdx
jne 0x18000ee8e
cmp byte [rdx], 0
je 0x18000ee8e
lea rax, [r8 + 0x1000]
cmp rax, 0x2000
jb 0x18000ee8e
test rcx, r8
jne 0x18000ee8e
cmp byte [r8], 0
je 0x18000ee8e
test r9d, 0xfffff800
je 0x18000ee98
mov eax, 0xfffffffe
jmp 0x18000f2c8
lea rdx, str.D:_tinderboxwin_4.2_srcVBoxStorageVD.cpp
mov ecx, 0x1c8
mov qword [rsp + 0x98], rsi
call qword [sym.imp.VBoxRT.dll_RTMemAllocZTag]
mov rsi, rax
test rax, rax
jne 0x18000eec2
lea eax, [rsi - 8]
jmp 0x18000f2c0
lea rdx, str.D:_tinderboxwin_4.2_srcVBoxStorageVD.cpp
mov rcx, r15
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x88], r14
call qword [sym.imp.VBoxRT.dll_RTStrDupTag]
mov qword [rsi], rax
test rax, rax
jne 0x18000eef2
lea ebx, [rax - 8]
jmp 0x18000f297
lea r13, [rsi + 0x20]
lea rdx, [rsi + 0x18]
mov rcx, r12
mov qword [r13], rdi
mov qword [rsi + 0x1b8], rbp
call fcn.18000e380
mov ebx, eax
test eax, eax
js 0x18000f297
cmp qword [rsi + 0x18], 0
jne 0x18000ef5c
lea rax, str.VD:_unknown_backend_name__s
lea rcx, str.int___cdecl_VDCacheOpen_struct_VBOXHDD__const_char__const_char__unsigned_int_struct_VDINTERFACE__
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, str.D:_tinderboxwin_4.2_srcVBoxStorageVD.cpp
mov rcx, rbp
mov r9d, 0x1651
mov edx, 0xfffffffe
call fcn.180004680
mov ebx, eax
jmp 0x18000f293
mov rax, rdi
test rdi, rdi
je 0x18000ef87
cmp dword [rax], 0x19701015
jne 0x18000ef87
cmp dword [rax + 0x18], 1
je 0x18000ef7d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18000ef64
jmp 0x18000ef87
cmp qword [rax + 0x20], 0xa0
je 0x18000ef89
xor eax, eax
lea r8, [rsi + 0x28]
mov qword [r8], rax
test rax, rax
jne 0x18000f09b
lea rax, [rsi + 0x110]
lea rcx, [0x1800087e0]
movabs r9, 0xffff800000000000
mov qword [rax + 0x30], rcx
lea rcx, [0x180008870]
mov qword [rax + 0x38], rcx
lea rcx, [0x1800088a0]
mov qword [rax + 0x40], rcx
lea rcx, [0x1800088b0]
mov qword [rax + 0x48], rcx
lea rcx, [0x1800088d0]
mov qword [rax + 0x50], rcx
lea rcx, [0x1800088f0]
mov qword [rax + 0x58], rcx
lea rcx, [0x180008950]
mov qword [rax + 0x60], rcx
lea rcx, [0x180008960]
mov qword [rax + 0x68], rcx
lea rcx, [0x1800089a0]
mov qword [rax + 0x78], rcx
lea rcx, [0x180008970]
mov qword [rax + 0x70], rcx
lea rcx, [0x1800089d0]
mov qword [rax + 0x80], rcx
lea rcx, [0x1800089e0]
mov qword [rax + 0x88], rcx
lea rcx, [0x1800089f0]
mov qword [rax + 0x90], rcx
lea rcx, [0x180008a00]
mov qword [rax + 0x98], rcx
lea rcx, [rsp + 0x1048]
cmp rcx, 0x2000
jb 0x18000f096
lea rcx, [rsp + 0x48]
test r9, rcx
jne 0x18000f096
lea rcx, str.VD_IO
mov qword [rax + 0x10], rdi
mov dword [rax], 0x19701015
mov qword [rax + 0x20], 0xa0
mov dword [rax + 0x18], 1
mov qword [rax + 0x28], rbp
mov qword [rax + 8], rcx
mov rdi, rax
mov qword [r8], rax
jmp 0x18000f0a5
movabs r9, 0xffff800000000000
test rdi, rdi
je 0x18000f0cb
nop word [rax + rax]
cmp dword [rdi], 0x19701015
jne 0x18000f0cb
cmp dword [rdi + 0x18], 7
je 0x18000f1d3
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x18000f0b0
lea rdx, [rsi + 0x30]
mov rcx, rdx
call fcn.18000a000
lea rcx, [r13 + 0x1000]
cmp rcx, 0x2000
jb 0x18000f11c
test r9, r13
jne 0x18000f11c
lea rax, str.VD_IOINT
mov dword [rdx], 0x19701015
mov qword [rdx + 0x20], 0xe0
mov dword [rdx + 0x18], 7
mov qword [rdx + 0x28], r8
mov qword [rdx + 8], rax
mov rax, qword [r13]
mov qword [rdx + 0x10], rax
mov qword [r13], rdx
mov r12d, dword [rsp + 0x40]
mov r9, qword [r13]
mov rcx, qword [rsi]
mov eax, r12d
mov ebx, r12d
lea rdi, [rsi + 8]
and eax, 4
and ebx, 0xfffffffb
mov qword [rsp + 0x20], rdi
mov dword [rsi + 0x14], eax
mov rax, qword [rsi + 0x18]
mov r8, qword [rbp + 0x50]
mov edx, ebx
call qword [rax + 0x38]
test eax, eax
jns 0x18000f1eb
test r12b, 1
jne 0x18000f190
cmp eax, 0xffffffda
je 0x18000f174
cmp eax, 0xfffffff6
je 0x18000f174
cmp eax, 0xffffff8f
je 0x18000f174
cmp eax, 0xffffff8e
je 0x18000f174
cmp eax, 0xffffff8d
jne 0x18000f190
mov rax, qword [rsi + 0x18]
mov r9, qword [r13]
mov r8, qword [rbp + 0x50]
mov rcx, qword [rsi]
or ebx, 1
mov qword [rsp + 0x20], rdi
mov edx, ebx
call qword [rax + 0x38]
test eax, eax
jns 0x18000f1eb
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], eax
lea rcx, str.VD:_error__Rrc_opening_image_file__s
mov qword [rsp + 0x28], rcx
lea rcx, str.int___cdecl_VDCacheOpen_struct_VBOXHDD__const_char__const_char__unsigned_int_struct_VDINTERFACE__
lea r8, str.D:_tinderboxwin_4.2_srcVBoxStorageVD.cpp
mov qword [rsp + 0x20], rcx
mov r9d, 0x167e
mov edx, eax
mov rcx, rbp
call fcn.180004680
mov ebx, eax
jmp 0x18000f293
cmp qword [rdi + 0x20], 0xe0
jne 0x18000f0cb
mov ebx, 0xfffffffe
jmp 0x18000f297
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x18000f1fb
mov rcx, qword [rax + 0x28]
call qword [rax + 0x40]
mov rax, qword [rsi + 0x18]
mov rcx, qword [rdi]
lea rdx, [rsp + 0x50]
call qword [rax + 0xb8]
mov ebx, eax
test eax, eax
js 0x18000f24b
mov rcx, qword [rbp + 0x18]
lea rdx, [rsp + 0x60]
mov rax, qword [rcx + 0x28]
mov rcx, qword [rcx + 0x18]
call qword [rax + 0xe0]
mov ebx, eax
test eax, eax
js 0x18000f24b
lea rdx, [rsp + 0x50]
mov byte [rax], al
add byte [rax], al
imul ecx, ecx, 4
lea ecx, [rsp + rcx + 0x60]
and al, 0x28
add byte [rax], al
add byte [rax], al
mov dword [rsp + 0x58], 0