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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
sub rsp, 0x20
mov rbx, rcx
test rcx, rcx
je 0x18000831e
mov rax, qword [rcx + 0x30]
xor edi, edi
mov qword [rcx + 0x20], rdi
test rax, rax
jne 0x180008039
lea rax, [0x180009850]
mov qword [rcx + 0x40], rdi
mov qword [rcx + 0x30], rax
cmp qword [rcx + 0x38], rdi
jne 0x18000804a
lea rcx, [method.CMemFile.virtual_200]
mov qword [rbx + 0x38], rcx
cmp edx, 0xffffffff
mov ebp, 6
cmovne ebp, edx
cmp ebp, 9
ja 0x18000831e
mov rcx, qword [rbx + 0x40]
mov edx, 1
mov r8d, 0x1710
mov qword [rsp + 0x30], rsi
call rax
mov rsi, rax
test rax, rax
je 0x180008317
mov qword [rbx + 0x28], rax
mov edx, 0x8000
mov qword [rax], rbx
mov r8d, 2
mov dword [rax + 0x2c], edi
mov dword [rax + 0x3c], reloc.WS2_32.dll_ntohs
mov dword [rax + 0x38], 0x8000
mov dword [rax + 0x40], 0x7fff
mov dword [rax + 0x70], reloc.WS2_32.dll_ntohs
mov dword [rax + 0x6c], 0x8000
mov dword [rax + 0x74], 0x7fff
mov dword [rax + 0x78], 5
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov edx, dword [rsi + 0x38]
mov r8d, 2
mov qword [rsi + 0x48], rax
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov edx, dword [rsi + 0x6c]
mov r8d, 2
mov qword [rsi + 0x58], rax
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov dword [rsi + 0x16e8], 0x4000
mov edx, 0x4000
mov qword [rsi + 0x60], rax
mov r8d, 4
mov rcx, qword [rbx + 0x40]
call qword [rbx + 0x30]
mov rdx, rax
mov ecx, dword [rsi + 0x16e8]
mov qword [rsi + 0x10], rax
lea eax, [rcx*4]
mov dword [rsi + 0x18], eax
cmp qword [rsi + 0x48], rdi
je 0x180008304
cmp qword [rsi + 0x58], rdi
je 0x180008304
cmp qword [rsi + 0x60], rdi
je 0x180008304
test rdx, rdx
je 0x180008304
mov eax, ecx
mov dword [rsi + 0xa4], ebp
shr rax, 1
mov dword [rsi + 0xa8], edi
mov byte [rsi + 0x31], 8
lea rax, [rdx + rax*2]
mov qword [rsi + 0x16f0], rax
lea rax, [rdx + rcx*2]
add rcx, rax
mov qword [rsi + 0x16e0], rcx
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x1800082e8
cmp qword [rbx + 0x30], rdi
je 0x1800082e8
cmp qword [rbx + 0x38], rdi
je 0x1800082e8
mov dword [rbx + 0x1c], edi
mov dword [rbx + 0xc], edi
mov qword [rbx + 0x20], rdi
mov dword [rbx + 0x48], 2
mov rax, qword [rsi + 0x10]
mov ecx, dword [rsi + 0x2c]
mov qword [rsi + 0x20], rax
mov dword [rsi + 0x28], edi
test ecx, ecx
jns 0x1800081ca
mov dword [rsi + 0x2c], edi
mov ecx, edi
test ecx, ecx
mov eax, 0x2a
mov edx, VarBstrFromDisp
mov rcx, rsi
cmovne eax, edx
mov dword [rsi + 8], eax
lea rax, [rsi + 0xb4]
mov dword [rbx + 0x4c], 1
mov qword [rsi + 0xb38], rax
lea rax, [0x1803c6290]
mov qword [rsi + 0xb48], rax
lea rax, [rsi + 0x9a8]
mov qword [rsi + 0xb50], rax
lea rax, [0x1803c62b0]
mov qword [rsi + 0xb60], rax
lea rax, [rsi + 0xa9c]
mov qword [rsi + 0xb68], rax
lea rax, [0x1803c62d0]
mov qword [rsi + 0xb78], rax
mov dword [rsi + 0x34], edi
mov word [rsi + 0x1708], di
mov dword [rsi + 0x170c], edi
mov dword [rsi + 0x1704], 8
call fcn.18000a4e0
mov ecx, dword [rsi + 0x38]
xor edx, edx
mov rax, qword [rsi + 0x60]
add ecx, ecx
mov dword [rsi + 0x50], ecx
mov ecx, dword [rsi + 0x6c]
dec ecx
mov word [rax + rcx*2], di
mov r8d, dword [rsi + 0x6c]
mov rcx, qword [rsi + 0x60]
dec r8d
add r8, r8
call fcn.18027b320
movsxd rcx, dword [rsi + 0xa4]
lea rdx, [0x1803506f0]
add rcx, rcx
movzx eax, word [rdx + rcx*8 + 2]
mov dword [rsi + 0xa0], eax
movzx eax, word [rdx + rcx*8]
mov dword [rsi + 0xac], eax
movzx eax, word [rdx + rcx*8 + 4]
mov dword [rsi + 0xb0], eax
movzx eax, word [rdx + rcx*8 + 6]
mov dword [rsi + 0x9c], eax
mov qword [rsi + 0x88], rdi
mov dword [rsi + 0x7c], edi
mov dword [rsi + 0x94], edi
mov dword [rsi + 0x98], 2
mov dword [rsi + 0x80], 2
mov dword [rsi + 0x68], edi
jmp 0x1800082ed
mov edi, 0xfffffffe
mov eax, edi
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rax, qword [str.insufficient_memory]
mov rcx, rbx
mov qword [rbx + 0x20], rax
call fcn.180008680
mov eax, 0xfffffffc
jmp 0x1800082ef
mov rbx, qword [rsp + 0x38]
mov eax, 0xfffffffe
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret