Function at 0x1800a2ab0
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0x1d8
mov rax, qword [0x1803c1370]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
cmp dword [0x1803da43c], 0
jne 0x1800a2e17
lea rcx, str.XML_DEBUG_CATALOG
mov qword [rsp + 0x1b0], r15
call qword [sym.imp.MSVCR100.dll_getenv]
mov edx, dword [0x1803da438]
mov r15d, 1
test rax, rax
cmovne edx, r15d
mov dword [0x1803da438], edx
call sym.VBoxRT.dll_xmlNewRMutex
mov dword [0x1803da43c], r15d
mov rcx, rax
mov qword [0x1803da450], rax
call sym.VBoxRT.dll_xmlRMutexLock
lea rcx, str.XML_DEBUG_CATALOG
call qword [sym.imp.MSVCR100.dll_getenv]
mov ecx, dword [0x1803da438]
test rax, rax
cmovne ecx, r15d
cmp qword [0x1803da448], 0
mov dword [0x1803da438], ecx
jne 0x1800a2e03
mov qword [rsp + 0x1e0], rbx
lea rcx, str.XML_CATALOG_FILES
mov qword [rsp + 0x1d0], rdi
mov qword [rsp + 0x1c0], r13
call qword [sym.imp.MSVCR100.dll_getenv]
mov rbx, rax
test rax, rax
jne 0x1800a2c3a
lea rcx, str.libxml2.dll
call sub.KERNEL32.dll_GetModuleHandleA
lea rbx, str.file:___etc_xml_catalog
test rax, rax
jne 0x1800a2ba6
xor ecx, ecx
call sub.KERNEL32.dll_GetModuleHandleA
test rax, rax
je 0x1800a2c3a
lea rdx, [rsp + 0xa0]
mov r8d, 0xff
mov rcx, rax
call sub.KERNEL32.dll_GetModuleFileNameA
test eax, eax
je 0x1800a2c3a
mov eax, eax
lea rcx, [rsp + rax + 0xa0]
cmp byte [rcx], 0x5c
je 0x1800a2be5
nop
lea rax, [rsp + 0xa0]
cmp rcx, rax
jbe 0x1800a2be5
dec rcx
cmp byte [rcx], 0x5c
jne 0x1800a2bd0
lea rax, [rsp + 0xa0]
cmp rcx, rax
je 0x1800a2c3a
lea r8, [rsp + 0x19f]
lea rdx, str...etccatalog
sub r8, rcx
call qword [sym.imp.MSVCR100.dll_strncpy]
lea rcx, [rsp + 0xa0]
call sym.VBoxRT.dll_xmlCanonicPath
mov rdi, rax
test rax, rax
je 0x1800a2c3a
mov r8d, 0xff
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_strncpy]
mov rcx, rdi
call qword [sym.VBoxRT.dll_xmlFree]
mov edx, dword [reloc.WS2_32.dll_accept]
mov ecx, r15d
call fcn.18009eb50
mov r13, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x1800a2deb
cmp byte [rbx], 0
mov qword [rsp + 0x1c8], r12
lea r12, [rax + 0x70]
je 0x1800a2ddc
mov qword [rsp + 0x1b8], r14
mov qword [rsp + 0x1e8], rbp
lea r13, str.Memory_allocation_failed_:__s_n
mov qword [rsp + 0x1f0], rsi
xor r14d, r14d
movzx eax, byte [rbx]
cmp al, 0x20
je 0x1800a2ca6
cmp al, 9
jl 0x1800a2ca2
cmp al, 0xa
jle 0x1800a2ca6
cmp al, 0xd
jne 0x1800a2cab
inc rbx
jmp 0x1800a2c93
movzx eax, byte [rbx]
test al, al
je 0x1800a2dbc
mov rcx, rbx
nop dword [rax]
cmp al, 0x20
je 0x1800a2cdb
cmp al, 9
jl 0x1800a2ccc
cmp al, 0xa
jle 0x1800a2cdb
cmp al, 0xd
je 0x1800a2cdb
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x1800a2cc0
mov edx, ebx
sub edx, ecx
call sym.VBoxRT.dll_xmlStrndup
mov rsi, rax
test rax, rax
je 0x1800a2db3
mov ebp, dword [reloc.WS2_32.dll_accept]
mov ecx, 0x50
call qword [sym.VBoxRT.dll_xmlMalloc]
mov rdi, rax
test rax, rax
jne 0x1800a2d71
lea rbp, str.allocating_catalog_entry
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], 2
mov dword [rsp + 0x30], 2
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], reloc.WS2_32.dll_sendto
mov qword [rsp + 0x20], r14
call sym.VBoxRT.dll___xmlRaiseError
mov rdi, r14
jmp 0x1800a2d9f
mov rcx, rsi
mov qword [rax], r14
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
mov dword [rax + 0x18], r15d
mov qword [rax + 0x20], r14
mov qword [rax + 0x28], r14
call sym.VBoxRT.dll_xmlStrdup
mov dword [rdi + 0x38], ebp
mov qword [rdi + 0x3c], r14
mov qword [rdi + 0x48], r14
mov qword [rdi + 0x30], rax
test rdi, rdi
mov qword [r12], rdi
mov rcx, rsi
cmovne r12, rdi
call qword [sym.VBoxRT.dll_xmlFree]
cmp byte [rbx], r14b
jne 0x1800a2c93
mov r13, qword [rsp + 0x90]
mov r14, qword [rsp + 0x1b8]
mov rsi, qword [rsp + 0x1f0]
mov rbp, qword [rsp + 0x1e8]
mov r12, qword [rsp + 0x1c8]
mov qword [0x1803da448], r13
mov rdi, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x1e0]
mov r13, qword [rsp + 0x1c0]
mov rcx, qword [0x1803da450]
call sym.VBoxRT.dll_xmlRMutexUnlock
mov r15, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.180227610
add rsp, 0x1d8
ret