Function at 0x1800ace30
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r13
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xa0
mov rax, qword [0x18021d4c0]
xor rax, rsp
mov qword [rbp + 0x3f], rax
xor r12d, r12d
call fcn.1801670a0
mov ecx, 4
call fcn.18003bf30
mov eax, dword [0x18026f990]
test eax, eax
jne 0x1800acebb
mov ecx, 3
call fcn.18003bf30
mov eax, dword [0x18026f990]
test eax, eax
jne 0x1800acebb
mov ecx, 2
call fcn.18003bf30
lea rdx, str._Kiero__Trying_d3d10
lea rcx, [rbp - 0x19]
call fcn.18005a4c0
mov rcx, rax
call fcn.180153b20
mov eax, dword [0x18026f990]
cdqe
shl rax, 5
lea rcx, [0x18026fbd0]
add rax, rcx
lea rcx, str._Kiero__Renderer:_
mov qword [rbp - 0x29], rcx
mov qword [rbp - 0x21], 0x14
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1800aceeb
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x39], rcx
mov qword [rbp - 0x31], rax
movups xmm0, xmmword [rbp - 0x39]
movups xmmword [rbp + 0x2f], xmm0
movabs rax, 0xc000000000000000
mov qword [rbp + 0x27], rax
mov qword [rbp - 0x39], 1
lea rax, [rbp + 0x27]
mov qword [rbp - 0x31], rax
movaps xmm0, xmmword [rbp - 0x39]
movdqa xmmword [rbp - 0x39], xmm0
movaps xmm1, xmmword [rbp - 0x29]
movdqa xmmword [rbp - 0x29], xmm1
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x19]
call fcn.180096020
lea rcx, [rbp - 0x19]
call fcn.180153b20
call fcn.1800ade10
call fcn.1800ade10
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800a35a0
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800acfc7
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800acfd1
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800acfff
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1800acfff
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.d2d1.dll_Ordinal_8]
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov r13d, 6
mov qword [rbp + 0x17], r13
mov r9d, 0xf
mov qword [rbp + 0x1f], r9
mov eax, dword [str.killdx]
mov dword [rbp + 7], eax
movzx eax, word [0x1801e1a54]
mov word [rbp + 0xb], ax
mov byte [rbp + 0xd], 0
lea r8, [rbp + 7]
mov rdi, qword [rbp + 7]
movabs rcx, 0xcbf29ce484222325
mov rdx, r12
movabs r10, 0x100000001b3
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, r10
inc rdx
cmp rdx, r13
jb 0x1800ad051
mov rdx, qword [0x1802e3a90]
and rdx, rcx
mov rax, rdx
add rax, rax
mov r14, qword [0x1802e3a78]
mov rbx, qword [r14 + rax*8 + 8]
cmp rbx, qword [0x1802e3a68]
je 0x1800ad0d1
add rdx, rdx
mov r14, qword [r14 + rdx*8]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1800ad0a3
mov rdx, qword [rdx]
lea rcx, [rbp + 7]
cmp r9, 0xf
cmova rcx, rdi
cmp r13, rax
jne 0x1800ad0c6
mov r8, r13
call fcn.1801a47f0
test eax, eax
je 0x1800ad0d4
mov r9d, 0xf
cmp rbx, r14
je 0x1800ad0d1
mov rbx, qword [rbx + 8]
jmp 0x1800ad091
mov rbx, r12
mov rax, qword [0x1802e3a68]
test rbx, rbx
cmovne rax, rbx
cmp rax, qword [0x1802e3a68]
je 0x1800ad0f1
mov rcx, qword [rax + 0x30]
jmp 0x1800ad0f4
mov rcx, r12
cmp byte [rcx + 0x28], 0
jne 0x1800ad0ff
call fcn.1800adee0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800a4e50
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad173
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad17d
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800ad1a6
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1800ad1a6
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.d2d1.dll_Ordinal_8]
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800a4240
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad21a
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad224
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800ad24d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1800ad24d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.d2d1.dll_Ordinal_8]
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800abe20
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad2c1
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad2cb
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800ad2f4
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1800ad2f4
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.d2d1.dll_Ordinal_8]
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800aa150
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad368
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad372
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800ad39b
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1800ad39b
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.d2d1.dll_Ordinal_8]
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800abbd0
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad40f
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad419
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800ad442
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, esi
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1800ad442
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.d2d1.dll_Ordinal_8]
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.180092380
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad4b6
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad4c0
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800aa370
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad53c
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad546
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.180091cd0
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad5c2
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad5cc
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800aa4f0
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad648
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad652
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800aad70
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad6ce
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad6d8
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800ac030
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad754
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad75e
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800ac320
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad7da
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad7e4
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800ac530
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad860
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad86a
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800ac6f0
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad8e6
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad8f0
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800ac9d0
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad96c
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad976
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800abd50
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ad9f2
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ad9fc
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov rcx, rdi
call fcn.1800037d0
call fcn.1800adfb0
mov ecx, 0x40
call fcn.18016efa4
mov rdi, rax
mov qword [rbp - 0x39], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, [0x1801ea028]
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
mov rcx, rbx
call fcn.1800a3d60
nop
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rdi
mov rdx, qword [0x1802e3f08]
cmp rdx, qword [0x1802e3f10]
je 0x1800ada7d
mov qword [rdx], r12
mov qword [rdx + 8], r12
lock inc dword [rdi + 8]
mov rax, qword [rbp - 0x39]
mov qword [rdx], rax
mov qword [rdx + 8], rdi
add qword [0x1802e3f08], 0x10
jmp 0x1800ada87
lea r8, [rbp - 0x39]
call fcn.1800aeed0
nop
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800adaae
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x1800adaae
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.d2d1.dll_Ordinal_8]
mov rdi, qword [0x1802e3f08]
mov rbx, qword [0x1802e3f00]
cmp rbx, rdi
je 0x1800adad3
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + reloc.d2d1.dll_Ordinal_8]
add rbx, 0x10
cmp rbx, rdi
jne 0x1800adac1
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.18016e810
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop rbp
ret