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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov rax, qword [0x1801150d0]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov r14, r8
mov r13, rdx
mov rsi, rcx
xor ebx, ebx
mov rax, qword [rdx + 8]
mov qword [r8 + 0x88], rax
movzx edi, byte [rdx + 0x24]
mov r15d, ebx
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x40], ebx
movzx ecx, dil
dec ecx
je 0x18000af9c
cmp ecx, 0x17
je case.0x18000a94f.3
cmp byte [r8 + 0x74], bl
jne 0x18000a8d1
mov byte [rsp + 0x50], 0x80
movzx eax, byte [rdx + 0x2c]
mov byte [rsp + 0x51], al
movzx eax, word [rdx + 0x34]
mov word [rsp + 0x52], ax
mov eax, dword [rdx + 0x3c]
mov dword [rsp + 0x54], eax
mov qword [rsp + 0x58], rbx
xor eax, eax
mov qword [rsp + 0x68], rax
mov r9, r8
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x20], 1
mov rax, qword [rsi]
mov r8d, 0x20
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [rax + VariantCopy]
jmp case.0x18000a94f.3
movzx eax, dil
mov rcx, qword [rsi + rax*8 + 0x558]
test rcx, rcx
je 0x18000a8fa
mov rax, qword [rcx]
mov r8, r14
mov rdx, r13
call qword [rax + VariantCopy]
mov r15d, eax
mov dword [rsp + 0x40], eax
jmp case.0x18000a94f.3
test dil, dil
jne 0x18000a92c
mov ecx, 0x2138
call fcn.1800bfab0
mov qword [rsp + 0x38], rax
test rax, rax
je 0x18000a920
mov rdx, rsi
mov rcx, rax
call fcn.1800b42f0
jmp 0x18000a923
mov rax, rbx
mov qword [rsi + 0x558], rax
jmp 0x18000a8d1
movzx eax, dil
add eax, 0xfffffffe
cmp eax, 0x1c
ja case.0x18000a94f.3
cdqe
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0xb018]
add rcx, rdx
jmp rcx
mov rdx, r14
mov rcx, rsi
call fcn.18000b180
jmp case.0x18000a94f.3
cmp dword [r14 + 0x70], 0x12
je 0x18000a986
mov rcx, qword [0x18011d1f8]
mov rax, qword [rcx]
lea rdx, [r14 + 0x4c]
mov r9d, 1
lea r8d, [r9 + 0x12]
call qword [rax + 0x30]
mov r14, rax
test r14, r14
je case.0x18000a94f.3
mov byte [r13 + 0x24], 0x90
mov byte [r14 + 0x74], 1
mov rax, qword [r13 + 0x34]
mov qword [r14 + 0x88], rax
mov qword [r14 + 0x90], rsi
mov rax, qword [rsi]
mov qword [rsp + 0x20], 1
mov r9, r14
mov r8d, 0x20
lea rdx, [r13 + 0x24]
mov rcx, rsi
call qword [rax + VariantCopy]
jmp case.0x18000a94f.3
movzx eax, byte [r13 + 0x25]
cmp al, 0xb
jne 0x18000abc3
movzx ecx, byte [r13 + 0x47]
dec ecx
je 0x18000aad7
sub ecx, 2
je 0x18000aa54
dec ecx
jne 0x18000ab24
xor eax, eax
mov qword [rsp + 0x52], rax
mov qword [rsp + 0x5a], rax
mov qword [rsp + 0x62], rax
mov word [rsp + 0x6a], ax
mov r15d, 0x17
mov word [rsp + 0x50], r15w
movzx eax, word [r13 + 0x58]
mov word [rsp + 0x52], ax
mov rax, qword [r13 + 0x48]
mov qword [rsp + 0x58], rax
mov rax, qword [r13 + 0x50]
mov qword [rsp + 0x60], rax
mov rcx, qword [0x18011d1f8]
mov rax, qword [rcx]
xor r9d, r9d
mov r8d, r15d
lea rdx, [rsp + 0x50]
call qword [rax + 0x30]
mov rbx, rax
jmp 0x18000ab1f
movzx eax, byte [r13 + 0x48]
movzx ecx, word [rax + r13 + 0x49]
mov word [rsp + 0x30], cx
mov byte [rax + r13 + 0x49], 0
mov qword [rsp + 0x38], rbx
mov ecx, 0x53a39ff2
call fcn.1800b85d0
lea rcx, [r13 + 0x49]
lea r9, [rsp + 0x38]
xor r8d, r8d
xor edx, edx
call rax
test eax, eax
jne 0x18000ab24
mov rdi, qword [rsp + 0x38]
lea r15d, [rax + 0x17]
nop word [rax + rax]
test rdi, rdi
je 0x18000ab1f
mov rax, qword [rdi + 0x20]
movzx ecx, word [rsp + 0x30]
mov word [rax + 2], cx
mov rcx, qword [0x18011d1f8]
mov rax, qword [rcx]
xor r9d, r9d
mov r8d, r15d
mov rdx, qword [rdi + 0x20]
call qword [rax + 0x30]
mov rbx, rax
test rax, rax
jne 0x18000ab1f
mov rdi, qword [rdi + 0x28]
jmp 0x18000aaa0
xor eax, eax
mov qword [rsp + 0x72], rax
mov dword [rsp + 0x7a], eax
mov word [rsp + 0x7e], ax
mov eax, 2
mov word [rsp + 0x70], ax
mov eax, dword [r13 + 0x48]
mov dword [rsp + 0x74], eax
movzx eax, word [r13 + 0x4c]
mov word [rsp + 0x72], ax
mov rcx, qword [0x18011d1f8]
mov rax, qword [rcx]
xor r9d, r9d
lea r8d, [r9 + 0x17]
lea rdx, [rsp + 0x70]
call qword [rax + 0x30]
mov rbx, rax
mov r15d, dword [rsp + 0x34]
mov byte [r13 + 0x25], 0x12
mov qword [r13 + 0x3c], rbx
mov rax, qword [rsi]
mov qword [rsp + 0x20], 1
mov r9, r14
mov r8d, 0x20
lea rdx, [r13 + 0x24]
mov rcx, rsi
call qword [rax + VariantCopy]
test eax, eax
je 0x18000aba2
test rbx, rbx
je case.0x18000a94f.3
mov rax, qword [r13 + 8]
mov qword [rbx + 0x88], rax
mov qword [rbx + 0x90], rsi
mov qword [rbx + 0x98], r14
mov rax, qword [r13 + 0x34]
mov qword [rbx + 0xa0], rax
mov ecx, 0x53a89ffd
call fcn.1800b4250
mov ecx, 0x64
call rax
mov rdx, rbx
mov rcx, qword [0x18011d1f8]
call fcn.1800b2420
jmp case.0x18000a94f.3
test rbx, rbx
je case.0x18000a94f.3
mov rcx, qword [0x18011d1f8]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, rbx
call qword [rax + 0x18]
jmp case.0x18000a94f.3
cmp al, 0xa
jne 0x18000ac2c
mov rbx, qword [r13 + 0x34]
mov rcx, rbx
call fcn.1800097b0
test eax, eax
je 0x18000abf6
lea rdx, [r13 + 0x44]
mov r9, rbx
mov r8d, dword [r13 + 0x40]
mov rcx, qword [0x18011d1f8]
call fcn.1800b3350
test eax, eax
jne case.0x18000a94f.3
xor eax, eax
mov qword [rsp + 0x51], rax
mov qword [rsp + 0x59], rax
mov qword [rsp + 0x61], rax
mov dword [rsp + 0x69], eax
mov word [rsp + 0x6d], ax
mov byte [rsp + 0x6f], al
mov word [rsp + 0x50], 0x100d
mov rax, qword [r13 + 0x3c]
mov qword [rsp + 0x68], rbx
mov r9, r14
jmp 0x18000a8aa
cmp al, 0x10
jne case.0x18000a94f.3
mov rdi, qword [r13 + 0x34]
mov rcx, rdi
call fcn.1800097b0
test eax, eax
je case.0x18000a94f.3
cmp byte [rdi + 0x75], 0
je case.0x18000a94f.3
mov rax, qword [r13 + 0x3c]
cmp qword [rdi + 0xa0], rax
jne case.0x18000a94f.3
mov qword [rdi + 0xa0], rbx
mov rcx, qword [0x18011d1f8]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, rdi
call qword [rax + 0x18]
jmp case.0x18000a94f.3
call fcn.180009c40
mov ecx, 0x53a89f0b
call fcn.1800b4250
lea rcx, [r13 + 0x28]
xor edx, edx
call rax
cmp eax, 0x1f
seta bl
call fcn.1800ba050
jmp 0x18000af85
cmp dword [r13 + 0x20], 0x94
jbe 0x18000af85
lea rcx, [rsi + 0x348]
lea rdx, [r13 + 0x25]
mov r8d, DllRegisterServer
call fcn.1800bf720
mov edx, 5
movabs r8, 0x27ae2ef280
lea rcx, [rsp + 0x80]
call fcn.1800068a0
mov r11, rax
lea rax, [rsi + 0x378]
sub r11, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r11]
sub edx, ecx
jne 0x18000ad14
add rax, 2
test ecx, ecx
jne 0x18000ad00
test edx, edx
jne 0x18000ad22
or dword [rsi + 0x34c], 0x400
lea rcx, [rsi + 0x10]
lea r8, [rcx + 0x338]
mov dword [r8], 0x50000ee
xor edx, edx
mov r9d, DllRegisterServer
call fcn.180020910
test eax, eax
sete bl
jmp 0x18000af85
lea rcx, [r13 + 0x28]
or edx, 0xffffffff
call fcn.1800247d0
mov ebx, eax
jmp 0x18000af85
mov edx, 7
movabs r8, 0x3a363ab0b332a200
lea rcx, [rsp + 0xa0]
call fcn.1800068a0
mov rdi, rax
lea rax, [r13 + 0x28]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
mov ecx, 0x53a79fc2
call fcn.1800b85d0
mov r9d, 0x2000000
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call rax
mov rbx, rax
test rax, rax
je 0x18000add7
mov ecx, 0x53a79fba
call fcn.1800b85d0
lea r8, [rsp + 0x70]
lea rdx, [0x1800248d0]
mov rcx, rbx
call rax
mov ecx, 0x53a79fb4
call fcn.1800b85d0
mov rcx, rbx
call rax
mov ebx, dword [rsp + 0x78]
jmp 0x18000af85
mov ecx, 0x53a89f91
call fcn.180002610
lea rdx, [r13 + 1]
xor ecx, ecx
call rax
mov rdi, rax
test rax, rax
je 0x18000af85
mov ecx, 0x53a89f82
call fcn.180002610
xor edx, edx
mov rcx, rdi
call rax
mov ebx, eax
mov ecx, 0x53a89f83
call fcn.180002610
mov rcx, rdi
call rax
jmp 0x18000af85
mov ecx, 0x53a09fe0
call fcn.1800b85d0
lea r9, [rsp + 0x30]
xor r8d, r8d
mov dl, 1
lea ecx, [r8 + 0x13]
call rax
cmp dword [r13 + 0x40], 0xffffffff
jne 0x18000ae5c
mov ecx, 0x53a09f9b
call fcn.1800b85d0
mov ecx, 1
call rax
jmp 0x18000af85
mov ecx, 0x53a79fbb
call fcn.1800b85d0
mov edx, 0x80000000
mov ecx, dword [r13 + 0x40]
call rax
mov ebx, eax
jmp 0x18000af85
mov ecx, 0x53bb9f1a
call fcn.1800b85d0
xor r8d, r8d
mov dl, 1
movzx ecx, byte [r13 + 0x40]
call rax
mov ebx, eax
jmp 0x18000af85
cmp dword [0x18011cb28], 0
je case.0x18000a94f.3
mov dword [0x18011cb28], ebx
call fcn.1800b8bd0
mov ebx, 1
jmp 0x18000af85
lea rcx, [0x18011cb28]
lea rdx, [r13 + 0x40]
mov r8d, 0x38
call fcn.1800bf720
call fcn.1800b8c40
mov ebx, eax
jmp 0x18000af85
mov edx, 6
movabs r8, 0x3636ba3439b680
lea rcx, [rsp + 0x90]
call fcn.1800068a0
mov rcx, rax
call fcn.1800b5e90
mov rdi, rax
mov qword [rsp + 0x20], rbx
mov edx, 0x10
movabs r9, 0x22b3b7b630b4a23c
movabs r8, 0x26aa243bb7b429a6
lea rcx, [rsp + 0xb0]
call fcn.1800068a0
mov rdx, rax
mov rcx, rdi
call qword [0x18011d278]
mov rdi, rax
test rax, rax
je 0x18000af85
mov ecx, 0x53ad9f9f
call fcn.1800b85d0
lea rdx, [r13 + 0x28]
lea r8, [rsp + 0x38]
xor ecx, ecx
call rax
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x18000af85
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor ecx, ecx
lea r8d, [r9 + 0x50]
call rdi
test eax, eax
sete bl
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r9d, ebx
mov r8b, 0x93
mov rdx, r14
mov rcx, qword [rsi + 0x548]
call fcn.1800b6cc0
jmp case.0x18000a94f.3
cmp dword [rdx + 0x20], 0x20
jb case.0x18000a94f.3
mov rax, qword [rsi + 0xd94]
cmp qword [rdx + 0x3c], rax
jne case.0x18000a94f.3
cmp dword [rdx + 0x28], 0x38676
jbe case.0x18000a94f.3
mov byte [r8 + 0x74], 1
xor ecx, ecx
call fcn.1800bf4ac
mov dword [rsi + 0x3d8], eax
lea rcx, [rsi + 0x10]
lea r8, [rcx + 0x338]
mov dword [r8], 0x50000ee
xor edx, edx
mov r9d, DllRegisterServer
call fcn.180020910
nop
mov eax, r15d
jmp 0x18000aff3
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.1800bf350
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret