Function at 0x180012560
Capabilities:
Encode data using xor
Hash data with crc32
Link many functions at runtime

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x310]
sub rsp, 0x410
call fcn.180009650
mov rcx, rax
mov qword [rbp + 0x1b8], rax
mov rbx, rax
call fcn.180009530
mov rdi, rax
mov qword [rbp + 0x1c0], rax
xor r12d, r12d
lea rdx, [rbp - 0x70]
mov qword [rbp + 0x360], r12
movabs rax, 0x1a29c22c0e20938a
mov qword [rbp + 0x350], rax
movabs r15, 0xb92be44dbaf03cb4
mov rcx, qword [rbp + 0x350]
movabs rax, 0xdc4cbb23d39151db
mov qword [rbp - 0x70], rcx
movabs r13, 0x1f43e28fbe483a26
mov qword [rbp + 0x350], rax
mov esi, r12d
mov rcx, qword [rbp + 0x350]
movabs rax, 0x9c9065fd74d5cf11
mov qword [rbp - 0x68], rcx
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
mov qword [rbp - 0x60], rax
movabs rax, 0x1f43e28fcd2d534a
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
mov qword [rbp - 0x58], rax
movabs rax, 0x7e76b25c6d12ffe3
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x350], r15
mov rax, qword [rbp + 0x350]
mov qword [rbp + 0x48], rax
movabs rax, 0xfefd008e07b49065
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x350], r13
mov rax, qword [rbp + 0x350]
movdqa xmm0, xmmword [rbp - 0x70]
movdqa xmm1, xmmword [rbp - 0x60]
xorps xmm0, xmmword [rbp + 0x40]
mov rcx, qword [0x180398e38]
mov qword [rbp + 0x58], rax
xorps xmm1, xmmword [rbp + 0x50]
movdqa xmmword [rbp - 0x60], xmm1
mov dword [rbp + 0x358], r12d
movdqa xmmword [rbp - 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x360]
mov rcx, rbx
call rax
cmp qword [rbp + 0x360], rsi
jbe 0x180013b16
mov qword [rsp + 0x408], r14
mov ebx, r12d
movaps xmmword [rsp + 0x3f0], xmm6
movabs r14, 0x7fffffffffffffff
movaps xmmword [rsp + 0x3e0], xmm7
mov qword [rbp + 0x18], rbx
mov rax, qword [rdi + rbx*8]
movabs rcx, 0x1729c22c0e20938a
movabs rdx, 0xcd4e8312df975dd9
mov dword [rbp + 0x350], r12d
movabs r8, 0x9da273fd66d8f33a
movabs r9, 0x1f43e28fca264f49
mov rdi, qword [rax]
mov qword [rbp + 0x368], rcx
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x50], rax
mov qword [rbp + 0x368], rdx
lea rdx, [rbp - 0x50]
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x368], r8
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x40], rax
mov qword [rbp + 0x368], r9
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x38], rax
movabs rax, 0x7e76b25c6d12ffe3
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x368], r15
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x28], rax
movabs rax, 0xfefd008e07b49065
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x368], r13
mov rax, qword [rbp + 0x368]
movdqa xmm0, xmmword [rbp - 0x50]
movdqa xmm1, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x20]
mov rcx, qword [0x180398e38]
mov qword [rbp + 0x38], rax
xorps xmm1, xmmword [rbp + 0x30]
movdqa xmmword [rbp - 0x40], xmm1
mov qword [rbp + 0x1b0], rdi
movdqa xmmword [rbp - 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rdi
call rax
test rax, rax
je 0x1800139ab
mov rbx, r12
nop dword [rax]
mov rdx, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r12
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x60], r12
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180012840
lea rcx, [rsp + 0x48]
call fcn.1800073e0
movabs rax, 0x1729c22c0e20938a
lea rdx, [rbp + 0x130]
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x130], rax
movabs rax, 0xcd4e8312df975dd9
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x138], rax
movabs rax, 0xfefd73fd66d8f33a
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x368], r13
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x148], rax
movabs rax, 0x7e76b25c6d12ffe3
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x230], rax
mov qword [rbp + 0x368], r15
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x238], rax
movabs rax, 0xfefd008e07b49065
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x240], rax
mov qword [rbp + 0x368], r13
mov rax, qword [rbp + 0x368]
movdqa xmm0, xmmword [rbp + 0x130]
movdqa xmm1, xmmword [rbp + 0x140]
xorps xmm0, xmmword [rbp + 0x230]
mov rcx, qword [0x180398e38]
mov qword [rbp + 0x248], rax
xorps xmm1, xmmword [rbp + 0x240]
movdqa xmmword [rbp + 0x140], xmm1
movdqa xmmword [rbp + 0x130], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rbx
mov rcx, rdi
call rax
xorps xmm0, xmm0
mov qword [rbp + 0x10], rax
movups xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0x120], r12
mov r8, 0xffffffffffffffff
mov rsi, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
mov qword [rsp + 0x40], rsi
mov qword [rbp + 0x128], r12
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x1800129b0
mov rdx, rbx
lea rcx, [rbp + 0x110]
call fcn.1800073e0
cmp qword [rbp + 0x120], 0
mov rdx, qword [rbp + 0x128]
sete dil
cmp rdx, 0xf
jbe 0x180012a16
mov rcx, qword [rbp + 0x110]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012a11
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013af7
call fcn.180114e9c
mov qword [rbp + 0x120], r12
mov qword [rbp + 0x128], 0xf
mov byte [rbp + 0x110], 0
test dil, dil
je 0x180012cbe
movabs rax, 0x7e76b25c6d12c5d9
mov rbx, 0xffffffffffffffff
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x368], r15
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x78], rax
movabs rax, 0x7e76b25c6d12ffe3
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x368], r15
mov rax, qword [rbp + 0x368]
movdqa xmm0, xmmword [rbp + 0x70]
mov qword [rbp + 0x1f8], rax
lea rax, [rbp + 0x70]
xorps xmm0, xmmword [rbp + 0x1f0]
movdqa xmmword [rbp + 0x70], xmm0
inc rbx
cmp byte [rax + rbx], 0
jne 0x180012ab6
mov rax, r14
mov r14, qword [rsp + 0x58]
sub rax, r14
cmp rax, rbx
jb 0x180013b34
cmp qword [rsp + 0x60], 0xf
lea r13, [rsp + 0x48]
mov r15, qword [rsp + 0x48]
lea rsi, [rbp - 0x10]
mov qword [rbp], r12
mov edi, 0xf
mov qword [rbp + 8], r12
cmova r13, r15
lea r12, [r14 + rbx]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
cmp r12, rdi
jbe 0x180012b90
mov rdi, r12
movabs rax, 0x7fffffffffffffff
or rdi, 0xf
cmp rdi, rax
jbe 0x180012b35
mov rdi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180012b5c
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x180012b7b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180013b2e
mov rcx, rax
call fcn.180114e60
test rax, rax
je 0x180013ae2
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180012b8c
test rcx, rcx
je 0x180012b87
call fcn.180114e60
jmp 0x180012b89
xor eax, eax
mov rsi, rax
mov qword [rbp - 0x10], rsi
mov r8, r14
mov qword [rbp], r12
mov rdx, r13
mov qword [rbp + 8], rdi
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [r14 + rsi]
mov r8, rbx
lea rdx, [rbp + 0x70]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x40]
mov r8, 0xffffffffffffffff
mov byte [rsi + r12], 0
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180012bd0
lea rcx, [rbp - 0x10]
call fcn.180064ba0
xor r12d, r12d
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], r12b
mov rax, qword [rsp + 0x60]
movups xmmword [rbp + 0x2a0], xmm6
movups xmmword [rbp + 0x2b0], xmm7
cmp rax, 0xf
jbe 0x180012c46
lea rdx, [rax + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x180012c3e
mov r15, qword [r15 - 8]
add rdx, 0x27
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013ae2
mov rcx, r15
call fcn.180114e9c
mov rdx, qword [rbp + 8]
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x58], xmm7
cmp rdx, 0xf
jbe 0x180012c8b
mov rcx, qword [rbp - 0x10]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012c86
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013ae2
call fcn.180114e9c
mov qword [rbp], r12
movabs rdi, 0x7e76b25c6d12ffe3
mov qword [rbp + 8], 0xf
movabs r15, 0xb92be44dbaf03cb4
mov byte [rbp - 0x10], r12b
movabs r13, 0x1f43e28fbe483a26
jmp 0x180013065
movabs rcx, 0x7e76b25c6d12c5d9
movabs rdi, 0x7e76b25c6d12ffe3
mov qword [rbp + 0x368], rcx
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x368], r15
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0x368], rdi
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x368], r15
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x368]
movdqa xmm0, xmmword [rbp + 0x90]
mov qword [rbp + 0x208], rax
xorps xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0x368], rcx
mov rcx, 0xffffffffffffffff
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x368], r15
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x88], rax
mov qword [rbp + 0x368], rdi
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x368], r15
mov rax, qword [rbp + 0x368]
movdqa xmm0, xmmword [rbp + 0x80]
mov qword [rbp + 0x218], rax
lea rax, [rbp + 0x80]
xorps xmm0, xmmword [rbp + 0x210]
movdqa xmmword [rbp + 0x80], xmm0
inc rcx
cmp byte [rax + rcx], 0
jne 0x180012db6
mov rdx, qword [rsp + 0x58]
mov rax, r14
sub rax, rdx
cmp rax, rcx
jb 0x180013b28
cmp qword [rsp + 0x60], 0xf
lea rax, [rbp + 0x80]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x48]
cmova r9, qword [rsp + 0x48]
lea rcx, [rbp + 0x1c8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
call fcn.1800074f0
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x180012e10
mov rdx, rbx
lea rcx, [rbp + 0x1c8]
call fcn.180064ba0
mov qword [rbp + 0x100], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x108], r12
mov r8, 0xffffffffffffffff
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xf0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x100], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rax, [rbp + 0x90]
inc r8
cmp byte [rax + r8], 0
jne 0x180012e73
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0xf0]
call fcn.180064ba0
mov qword [rbp + 0xe0], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe8], r12
mov r8, 0xffffffffffffffff
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xd0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xe0], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
inc r8
cmp byte [rsi + r8], 0
jne 0x180012ed3
mov rdx, rsi
lea rcx, [rbp + 0xd0]
call fcn.180064ba0
mov rdx, qword [rsp + 0x60]
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
movups xmmword [rbp + 0x2c0], xmm6
movups xmmword [rbp + 0x2d0], xmm7
cmp rdx, 0xf
jbe 0x180012f4d
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012f48
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013ae9
call fcn.180114e9c
mov rdx, qword [rbp + 0xe8]
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x58], xmm7
cmp rdx, 0xf
jbe 0x180012f98
mov rcx, qword [rbp + 0xd0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012f93
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013ae9
call fcn.180114e9c
mov rdx, qword [rbp + 0x108]
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xe8], 0xf
mov byte [rbp + 0xd0], 0
cmp rdx, 0xf
jbe 0x180012ff2
mov rcx, qword [rbp + 0xf0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180012fed
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013ae9
call fcn.180114e9c
mov rdx, qword [rbp + 0x1e0]
mov qword [rbp + 0x100], r12
mov qword [rbp + 0x108], 0xf
mov byte [rbp + 0xf0], 0
cmp rdx, 0xf
jbe 0x18001304c
mov rcx, qword [rbp + 0x1c8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180013047
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013ae9
call fcn.180114e9c
mov qword [rbp + 0x1d8], r12
mov qword [rbp + 0x1e0], 0xf
mov byte [rbp + 0x1c8], 0
mov qword [rbp + 0x60], r12
lea rdx, [rsp + 0x70]
movabs rax, 0x1d29c22c0e20938a
movabs r14, 0xfefd008e07b49065
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rsp + 0x70], rax
movabs rax, 0xcd4e8312c9835dd8
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rsp + 0x78], rax
movabs rax, 0xfe8e64e262ddf63a
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x368], r13
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x78], rax
mov qword [rbp + 0x368], rdi
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x368], r15
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0x368], r14
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x368], r13
mov rax, qword [rbp + 0x368]
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmm1, xmmword [rbp - 0x80]
xorps xmm0, xmmword [rbp + 0xb0]
mov rcx, qword [0x180398e38]
mov qword [rbp + 0xc8], rax
xorps xmm1, xmmword [rbp + 0xc0]
movdqa xmmword [rbp - 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0x10]
lea rdx, [rbp + 0x60]
call rax
mov qword [rbp + 0x368], rax
mov rbx, rax
test rax, rax
je 0x18001383c
movabs rax, 0x1829c22c0e20938a
lea rdx, [rbp + 0x150]
mov qword [rsp + 0x40], rax
movabs rax, 0xcd4e8312de9c59dd
mov rcx, qword [rsp + 0x40]
mov qword [rbp + 0x150], rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x158], rax
movabs rax, 0xfefd00eb6ad5fe3a
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x160], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x168], rax
mov qword [rsp + 0x40], rdi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], r15
mov qword [rbp + 0x250], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x258], rax
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x260], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x150]
movdqa xmm1, xmmword [rbp + 0x160]
xorps xmm0, xmmword [rbp + 0x250]
mov rcx, qword [0x180398e38]
mov qword [rbp + 0x268], rax
xorps xmm1, xmmword [rbp + 0x260]
movdqa xmmword [rbp + 0x160], xmm1
movdqa xmmword [rbp + 0x150], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
mov r13, rax
mov rbx, 0xffffffffffffffff
movabs rax, 0x7e76b25c6d12c5d9
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
mov qword [rbp + 0xa0], rcx
mov qword [rsp + 0x40], r15
mov rcx, qword [rsp + 0x40]
mov qword [rbp + 0xa8], rcx
mov qword [rsp + 0x40], rdi
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x40], r15
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0xa0]
mov qword [rbp + 0x228], rax
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x220], rcx
xorps xmm0, xmmword [rbp + 0x220]
movdqa xmmword [rbp + 0xa0], xmm0
inc rbx
cmp byte [rax + rbx], 0
jne 0x1800132e5
mov r14, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r14
cmp rax, rbx
jb 0x180013b46
cmp qword [rsp + 0x60], 0xf
lea r12, [rsp + 0x48]
lea r15, [r14 + rbx]
mov edi, 0xf
cmova r12, qword [rsp + 0x48]
lea rsi, [rbp - 0x30]
xor eax, eax
xorps xmm0, xmm0
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
movups xmmword [rbp - 0x30], xmm0
cmp r15, rdi
jbe 0x1800133b6
mov rdi, r15
or rdi, 0xf
cmp rdi, rcx
jbe 0x18001335f
movabs rax, 0x8000000000000000
mov rdi, rcx
add rax, 0x27
jmp 0x180013386
cmp rdi, 0x16
mov ecx, 0x16
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1800133a5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180013b3a
mov rcx, rax
call fcn.180114e60
test rax, rax
je 0x180013af0
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1800133b2
test rcx, rcx
je 0x1800133af
call fcn.180114e60
mov rsi, rax
mov qword [rbp - 0x30], rsi
mov r8, r14
mov qword [rbp - 0x20], r15
mov rdx, r12
mov qword [rbp - 0x18], rdi
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [r14 + rsi]
mov r8, rbx
lea rdx, [rbp + 0xa0]
call sub.VCRUNTIME140.dll_memcpy
mov r8, 0xffffffffffffffff
mov byte [rsi + r15], 0
nop dword [rax + rax]
inc r8
cmp byte [r8 + r13], 0
jne 0x1800133f0
mov rdx, r13
lea rcx, [rbp - 0x30]
call fcn.180064ba0
xor r12d, r12d
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], r12b
mov rdx, qword [rbp - 0x18]
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm1
cmp rdx, 0xf
jbe 0x180013468
mov rcx, qword [rbp - 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180013463
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013af0
call fcn.180114e9c
mov qword [rbp - 0x20], r12
lea rdx, [rbp + 0x170]
mov qword [rbp - 0x18], 0xf
movabs rax, 0x1829c22c0e20938a
mov byte [rbp - 0x30], r12b
movabs r13, 0x1f43e28fbe483a26
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x170], rax
movabs rax, 0xcd4e8312de9c59dd
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x178], rax
movabs rax, 0xfe8965fd61d2ff3a
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x180], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x188], rax
movabs rax, 0x7e76b25c6d12ffe3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x270], rax
movabs rax, 0xb92be44dbaf03cb4
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x278], rax
movabs rax, 0xfefd008e07b49065
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x280], rax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rbp + 0x170]
movdqa xmm1, xmmword [rbp + 0x180]
xorps xmm0, xmmword [rbp + 0x270]
mov rcx, qword [0x180398e38]
mov qword [rbp + 0x288], rax
xorps xmm1, xmmword [rbp + 0x280]
movdqa xmmword [rbp + 0x180], xmm1
movdqa xmmword [rbp + 0x170], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0x368]
call rax
mov r14, qword [rbp + 0x1a8]
lea rdx, [rbp + 0x190]
mov rsi, qword [rbp + 0x190]
cmp r14, 0xf
mov r15d, eax
mov rcx, 0xffffffffffffffff
cmova rdx, rsi
nop dword [rax + rax]
inc rcx
cmp byte [rdx + rcx], r12b
jne 0x1800135c0
cmp r14, 0xf
lea rdx, [rbp + 0x190]
mov ebx, 0xffffffff
cmova rdx, rsi
test ecx, ecx
je 0x18001360f
mov r8d, ecx
lea r12, [0x180136340]
nop dword [rax + rax]
movsx ecx, byte [rdx]
lea rdx, [rdx + 1]
mov eax, ebx
shr ebx, 8
xor rcx, rax
movzx eax, cl
xor ebx, dword [r12 + rax*4]
sub r8, 1
jne 0x1800135f0
xor r12d, r12d
mov rdi, qword [0x180398eb0]
not ebx
mov dword [rsp + 0x78], r12d
mov rcx, rdi
mov rax, qword [rdi + 8]
mov qword [rsp + 0x70], rax
cmp byte [rax + 0x19], 0
jne 0x180013659
nop
mov qword [rsp + 0x70], rax
cmp dword [rax + 0x20], ebx
jae 0x180013645
mov rax, qword [rax + 0x10]
mov dword [rsp + 0x78], r12d
jmp 0x180013653
mov rcx, rax
mov dword [rsp + 0x78], 1
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180013630
cmp byte [rcx + 0x19], 0
jne 0x180013664
cmp ebx, dword [rcx + 0x20]
jae 0x1800136bf
movabs rax, 0x555555555555555
cmp qword [0x180398eb8], rax
je 0x180013b40
mov ecx, 0x30
call fcn.180114e60
movups xmm0, xmmword [rsp + 0x70]
mov r8, rax
lea rdx, [rbp + 0x290]
lea rcx, [0x180398eb0]
mov dword [rax + 0x20], ebx
mov qword [rax + 0x28], r15
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movaps xmmword [rbp + 0x290], xmm0
call fcn.180067c20
cmp r14, 0xf
jbe 0x1800136f6
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1800136ee
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013af7
mov rcx, rsi
call fcn.180114e9c
mov qword [rbp + 0x1a0], r12
lea rdx, [rsp + 0x70]
mov qword [rbp + 0x1a8], 0xf
movabs rax, 0x1d29c22c0e20938a
mov byte [rbp + 0x190], 0
movabs rdi, 0x7e76b25c6d12ffe3
mov qword [rbp + 0x368], rax
movabs r15, 0xb92be44dbaf03cb4
mov rax, qword [rbp + 0x368]
movabs r14, 0xfefd008e07b49065
mov qword [rsp + 0x70], rax
movabs rax, 0xcd4e8312c9835dd8
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rsp + 0x78], rax
movabs rax, 0xfe8e64e262ddf63a
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x368], r13
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x78], rax
mov qword [rbp + 0x368], rdi
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x368], r15
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0x368], r14
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x368], r13
mov rax, qword [rbp + 0x368]
movdqa xmm0, xmmword [rsp + 0x70]
movdqa xmm1, xmmword [rbp - 0x80]
xorps xmm0, xmmword [rbp + 0xb0]
mov rcx, qword [0x180398e38]
mov qword [rbp + 0xc8], rax
xorps xmm1, xmmword [rbp + 0xc0]
movdqa xmmword [rbp - 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0x10]
lea rdx, [rbp + 0x60]
call rax
mov qword [rbp + 0x368], rax
mov rbx, rax
test rax, rax
jne 0x180013182
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x180013879
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180013874
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180013af7
call fcn.180114e9c
mov esi, dword [rbp + 0x350]
lea rdx, [rbp - 0x50]
mov qword [rsp + 0x58], r12
movabs rax, 0x1729c22c0e20938a
mov qword [rsp + 0x60], 0xf
inc esi
mov byte [rsp + 0x48], 0
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x50], rax
movabs rax, 0xcd4e8312df975dd9
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x48], rax
movabs rax, 0x9da273fd66d8f33a
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x40], rax
movabs rax, 0x1f43e28fca264f49
mov qword [rbp + 0x368], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x368], rdi
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x368], r15
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x368], r14
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x368], r13
mov rax, qword [rbp + 0x368]
movdqa xmm0, xmmword [rbp - 0x50]
movdqa xmm1, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x20]
mov rcx, qword [0x180398e38]
mov qword [rbp + 0x38], rax
xorps xmm1, xmmword [rbp + 0x30]
movdqa xmmword [rbp - 0x40], xmm1
mov dword [rbp + 0x350], esi
movdqa xmmword [rbp - 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, qword [rbp + 0x1b0]
mov rcx, rdi
movsxd rbx, esi
call rax
movabs r14, 0x7fffffffffffffff
cmp rbx, rax
jb 0x180012820
mov rbx, qword [rbp + 0x18]
mov esi, dword [rbp + 0x358]
mov qword [rbp + 0x360], r12
lea rdx, [rbp - 0x70]
movabs rax, 0x1a29c22c0e20938a
inc esi
mov qword [rbp + 0x350], rax
inc rbx
mov rax, qword [rbp + 0x350]
mov qword [rbp - 0x70], rax
movabs rax, 0xdc4cbb23d39151db
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
mov qword [rbp - 0x68], rax
movabs rax, 0x9c9065fd74d5cf11
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
mov qword [rbp - 0x60], rax
movabs rax, 0x1f43e28fcd2d534a
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
mov qword [rbp - 0x58], rax
movabs rax, 0x7e76b25c6d12ffe3
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x350], r15
mov rax, qword [rbp + 0x350]
mov qword [rbp + 0x48], rax
movabs rax, 0xfefd008e07b49065
mov qword [rbp + 0x350], rax
mov rax, qword [rbp + 0x350]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x350], r13
mov rax, qword [rbp + 0x350]
movdqa xmm0, xmmword [rbp - 0x70]
movdqa xmm1, xmmword [rbp - 0x60]
xorps xmm0, xmmword [rbp + 0x40]
mov rcx, qword [0x180398e38]
mov qword [rbp + 0x58], rax
xorps xmm1, xmmword [rbp + 0x50]
movdqa xmmword [rbp - 0x60], xmm1
mov dword [rbp + 0x358], esi
mov qword [rbp + 0x18], rbx
movdqa xmmword [rbp - 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0x1b8]
lea rdx, [rbp + 0x360]
call rax
movsxd rax, esi
cmp rax, qword [rbp + 0x360]
jae 0x180013afe
mov rdi, qword [rbp + 0x1c0]
jmp 0x1800126fe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movaps xmm6, xmmword [rsp + 0x3f0]
mov r14, qword [rsp + 0x408]
movaps xmm7, xmmword [rsp + 0x3e0]
add rsp, 0x410
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180007290
int3
call fcn.180007180
int3
call fcn.180007290
int3
call fcn.180007180
int3
call fcn.180008b40
int3
call fcn.180007290
int3