Function at 0x180196310
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
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c2a0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c280]
xor r12d, r12d
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xa0], r12
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0xa0]
mov rcx, rbx
call rax
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c280]
mov rsi, rax
mov qword [rbp + 0xb0], rax
mov edi, r12d
mov dword [rbp + 0x180], r12d
mov qword [rbp + 0x188], r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x188]
mov rcx, rbx
call rax
cmp qword [rbp + 0x188], rdi
jbe 0x1801978a7
mov qword [rsp + 0x238], r13
mov ebx, r12d
mov qword [rsp + 0x230], r14
mov qword [rsp + 0x228], r15
mov qword [rbp + 0x58], rbx
nop word [rax + rax]
mov rax, qword [rsi + rbx*8]
lea rdx, [0x18017c248]
mov rcx, qword [0x1802eb010]
mov r15d, r12d
mov dword [rbp + 0x178], r12d
mov r14, qword [rax]
mov qword [rbp + 0xa8], r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
call rax
test rax, rax
je 0x180197845
mov rbx, r12
nop dword [rax]
mov rdx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r12
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x48], r12
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180196440
lea rcx, [rbp - 0x60]
call fcn.1801885e0
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c268]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rbx
mov rcx, r14
call rax
mov qword [rbp + 0x48], rax
mov r13, rax
test rax, rax
jne 0x1801964bf
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180197805
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801964b5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978e6
call fcn.18028b230
jmp 0x180197805
mov rdi, qword [rax + 0x10]
xorps xmm0, xmm0
mov rbx, qword [rax + 0x18]
mov r8, 0xffffffffffffffff
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
inc r8
cmp byte [rbx + r8], 0
jne 0x1801964e0
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1801885e0
cmp qword [rsp + 0x70], 0
mov r8, qword [rsp + 0x78]
sete sil
cmp r8, 0x10
jb 0x180196519
mov rdx, qword [rsp + 0x60]
inc r8
call fcn.1801885a0
mov rcx, qword [rbp - 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
test sil, sil
je 0x18019663e
cmp rax, 2
jb 0x1801978f9
cmp qword [rbp - 0x48], 0x10
lea rsi, [0x18017c2b4]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x60]
cmovae r9, qword [rbp - 0x60]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xc0]
call fcn.1801886a0
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x180196580
mov rdx, rdi
lea rcx, [rbp + 0xc0]
call fcn.1801daaa0
mov rdx, qword [rbp - 0x48]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp rdx, 0x10
jb 0x1801965fc
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801965ee
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978b5
call fcn.18028b230
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rbp - 0x40]
mov r8, qword [rbp + 0xd8]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
cmp r8, 0x10
jb 0x180196620
mov rdx, qword [rbp + 0xc0]
inc r8
call fcn.1801885a0
mov qword [rbp + 0xd0], r12
mov qword [rbp + 0xd8], 0xf
mov byte [rbp + 0xc0], 0
jmp 0x18019682e
cmp rax, 2
jb 0x1801978f3
cmp qword [rbp - 0x48], 0x10
lea rsi, [0x18017c2b4]
mov qword [rsp + 0x30], 2
lea r9, [rbp - 0x60]
cmovae r9, qword [rbp - 0x60]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x100]
call fcn.1801886a0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x180196683
mov rdx, rbx
lea rcx, [rbp + 0x100]
call fcn.1801daaa0
mov qword [rbp + 0x90], r12
lea rcx, [rbp + 0x80]
mov qword [rbp + 0x98], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov r8d, 2
mov rdx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x90], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
call fcn.1801daaa0
mov qword [rbp + 0x70], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x78], r12
mov r8, 0xffffffffffffffff
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x70], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
inc r8
cmp byte [rdi + r8], 0
jne 0x180196721
mov rdx, rdi
lea rcx, [rbp + 0x60]
call fcn.1801daaa0
mov rdx, qword [rbp - 0x48]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp rdx, 0x10
jb 0x18019679a
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18019678c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978bc
call fcn.18028b230
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rbp - 0x40]
mov r8, qword [rbp + 0x78]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
cmp r8, 0x10
jb 0x1801967b8
mov rdx, qword [rbp + 0x60]
inc r8
call fcn.1801885a0
mov rdx, qword [rbp + 0x98]
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], 0
cmp rdx, 0x10
jb 0x180196809
mov rcx, qword [rbp + 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180196804
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978bc
call fcn.18028b230
lea rcx, [rbp + 0x100]
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], 0
call fcn.180188500
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c210]
mov qword [rbp + 0x50], r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x50]
mov rcx, r13
call rax
mov qword [rbp], rax
mov r12, rax
test rax, rax
je 0x1801977c7
xor r15d, r15d
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c198]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
movabs rdi, 0x7fffffffffffffff
mov rbx, rax
mov rax, qword [rbp - 0x50]
mov rcx, rdi
sub rcx, rax
cmp rcx, 2
jb 0x1801978ed
cmp qword [rbp - 0x48], 0x10
lea r9, [rbp - 0x60]
mov qword [rsp + 0x30], 2
lea rcx, [rsp + 0x40]
cmovae r9, qword [rbp - 0x60]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.1801886a0
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rbx + r8], 0
jne 0x1801968d0
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1801daaa0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x58]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rdx, 0x10
jb 0x180196944
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18019693f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978c3
call fcn.18028b230
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c140]
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
test eax, eax
je 0x1801973ab
mov rcx, qword [rsp + 0x70]
mov rax, rdi
sub rax, rcx
cmp rax, 1
jb 0x180197923
cmp qword [rsp + 0x78], 0x10
lea rax, [0x18017c2b8]
mov qword [rsp + 0x30], 1
lea r9, [rsp + 0x60]
cmovae r9, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x40]
call fcn.1801886a0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1801969ff
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801969fa
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978d8
call fcn.18028b230
movups xmm0, xmmword [rsp + 0x40]
mov rcx, qword [0x1802eb010]
mov ebx, r15d
movups xmm1, xmmword [rsp + 0x50]
lea rdx, [0x18017c140]
mov dword [rbp + 0x170], ebx
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
test eax, eax
je 0x180196ede
nop dword [rax]
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c180]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, ebx
mov rcx, r12
call rax
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c128]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
xorps xmm0, xmm0
mov qword [rbp - 0x10], r15
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 8], r15
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180196a90
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.1801885e0
mov r13, qword [rbp - 8]
lea rsi, [rbp - 0x20]
mov r14, qword [rbp - 0x20]
cmp r13, 0x10
mov rbx, qword [rbp - 0x10]
cmovae rsi, r14
cmp rbx, 1
jb 0x180196b0e
mov r8, rbx
lea rdi, [rbx + rsi]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180196b04
nop dword [rax]
cmp byte [rax], 0x2e
je 0x180196b86
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180196ae0
movabs rdi, 0x7fffffffffffffff
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
cmp rbx, rcx
jb 0x180197911
sub rbx, rcx
lea r15, [rbp - 0x20]
mov rsi, 0xffffffffffffffff
cmp rbx, rsi
cmovb rsi, rbx
cmp r13, 0x10
cmovae r15, r14
add r15, rcx
cmp rsi, rdi
ja 0x18019790b
cmp rsi, 0x10
jae 0x180196b95
mov r8, rsi
mov qword [rbp - 0x70], rsi
mov rdx, r15
mov qword [rbp - 0x68], 0xf
lea rcx, [rbp - 0x80]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rsi - 0x80], 0
mov rbx, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x70]
mov rdi, qword [rbp - 0x80]
jmp 0x180196be5
sub rax, rsi
movabs rdi, 0x7fffffffffffffff
jmp 0x180196b15
mov rbx, rsi
or rbx, 0xf
cmp rbx, rdi
jbe 0x180196ba6
mov rbx, rdi
jmp 0x180196bb3
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rdx, [rbx + 1]
call fcn.1801887d0
mov r8, rsi
mov qword [rbp - 0x80], rax
mov rdx, r15
mov qword [rbp - 0x70], rsi
mov rcx, rax
mov qword [rbp - 0x68], rbx
mov rdi, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rdi], 0
mov r13, qword [rbp - 8]
mov r14, qword [rbp - 0x20]
cmp r13, 0x10
jb 0x180196c1c
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180196c14
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978d1
mov rcx, r14
call fcn.18028b230
mov r15, qword [rsp + 0x70]
movabs r8, 0x7fffffffffffffff
movups xmm0, xmmword [rbp - 0x80]
mov rax, r8
movups xmm1, xmmword [rbp - 0x70]
sub rax, r15
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm1
cmp rax, rsi
jb 0x180197905
mov r13, qword [rsp + 0x78]
lea rax, [rsp + 0x60]
mov r14, qword [rsp + 0x60]
lea rcx, [rbp - 0x20]
cmp r13, 0x10
lea r12, [r15 + rsi]
xorps xmm0, xmm0
cmovae rax, r14
cmp rbx, 0x10
mov ebx, 0xf
mov qword [rbp - 0x40], rax
cmovae rcx, rdi
xor edx, edx
mov qword [rsp + 0x40], rcx
lea rdi, [rbp - 0x80]
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x68], rdx
movups xmmword [rbp - 0x80], xmm0
cmp r12, rbx
jbe 0x180196d20
mov rbx, r12
or rbx, 0xf
cmp rbx, r8
jbe 0x180196cbc
movabs rax, 0x8000000000000000
mov rbx, r8
add rax, 0x27
jmp 0x180196ce3
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180196d06
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1801978ff
mov rcx, rax
call fcn.18028ae74
test rax, rax
je 0x1801978ca
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov rax, qword [rbp - 0x40]
jmp 0x180196d1c
test rcx, rcx
je 0x180196d19
call fcn.18028ae74
mov rdi, rax
mov rax, qword [rbp - 0x40]
jmp 0x180196d1c
mov rdi, rdx
mov qword [rbp - 0x80], rdi
mov r8, r15
mov qword [rbp - 0x70], r12
mov rdx, rax
mov qword [rbp - 0x68], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x40]
lea rcx, [r15 + rdi]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r12], 0
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x70]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x180196d81
lea rax, [rcx + 1]
cmp rdx, 0x10
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x80]
cmovae rax, qword [rbp - 0x80]
mov word [rax + rcx], 0x2c
lea rax, [rbp - 0x80]
jmp 0x180196d9f
lea r9, [0x18017c2bc]
mov qword [rsp + 0x20], 1
mov edx, 1
lea rcx, [rbp - 0x80]
call fcn.1801dce40
movups xmm0, xmmword [rax]
xor r15d, r15d
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x40], xmm1
cmp r13, 0x10
jb 0x180196e01
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180196df0
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978ca
mov rcx, r14
call fcn.18028b230
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rbp - 0x40]
mov rdx, qword [rbp - 0x68]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rdx, 0x10
jb 0x180196e46
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180196e41
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978ca
call fcn.18028b230
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], r15b
cmp rdx, 0x10
jb 0x180196e91
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180196e8c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978d1
call fcn.18028b230
mov ebx, dword [rbp + 0x170]
lea rdx, [0x18017c140]
mov rcx, qword [0x1802eb010]
inc ebx
mov dword [rbp + 0x170], ebx
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], r15b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, qword [rbp]
mov rcx, r12
call rax
movabs rdi, 0x7fffffffffffffff
cmp ebx, eax
jb 0x180196a40
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c160]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c128]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
xorps xmm0, xmm0
mov qword [rbp + 0x18], r15
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x20], r15
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180196f30
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.1801885e0
mov rax, qword [rsp + 0x70]
lea r15, [rsp + 0x60]
mov r13, qword [rsp + 0x78]
xorps xmm0, xmm0
mov r14, qword [rsp + 0x60]
movups xmmword [rsp + 0x40], xmm0
lea rsi, [rax - 1]
cmp rax, rsi
cmovb rsi, rax
cmp r13, 0x10
cmovae r15, r14
cmp rsi, rdi
ja 0x180197923
cmp rsi, 0x10
jae 0x180196fb3
mov r8, rsi
mov qword [rsp + 0x50], rsi
mov rdx, r15
mov qword [rsp + 0x58], 0xf
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rsi + 0x40], 0
movabs r12, 0x7fffffffffffffff
jmp 0x180197008
mov rdi, rsi
movabs r12, 0x7fffffffffffffff
or rdi, 0xf
cmp rdi, r12
jbe 0x180196fce
mov rdi, r12
jmp 0x180196fdb
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rdx, [rdi + 1]
call fcn.1801887d0
mov r8, rsi
mov qword [rsp + 0x40], rax
mov rdx, r15
mov qword [rsp + 0x50], rsi
mov rcx, rax
mov qword [rsp + 0x58], rdi
mov rbx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], 0
cmp r13, 0x10
jb 0x18019703f
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180197037
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978d8
mov rcx, r14
call fcn.18028b230
mov r15, qword [rbp + 0x20]
lea rdi, [rbp + 8]
movups xmm0, xmmword [rsp + 0x40]
mov r14, qword [rbp + 8]
cmp r15, 0x10
movups xmm1, xmmword [rsp + 0x50]
mov rbx, qword [rbp + 0x18]
cmovae rdi, r14
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rbx, 1
jb 0x1801970b4
mov r8, rbx
lea rsi, [rbx + rdi]
mov edx, 0x2e
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1801970b4
nop word [rax + rax]
cmp byte [rax], 0x2e
je 0x180197125
inc rax
mov r8, rsi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180197090
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
cmp rbx, rcx
jb 0x18019791d
sub rbx, rcx
lea rax, [rbp + 8]
mov rdi, 0xffffffffffffffff
cmp rbx, rdi
cmovb rdi, rbx
cmp r15, 0x10
cmovae rax, r14
lea r14, [rax + rcx]
cmp rdi, r12
ja 0x180197923
cmp rdi, 0x10
jae 0x18019712a
mov r8, rdi
mov qword [rsp + 0x50], rdi
mov rdx, r14
mov qword [rsp + 0x58], 0xf
lea rcx, [rsp + 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rdi + 0x40], 0
jmp 0x180197175
sub rax, rdi
jmp 0x1801970bb
mov rsi, rdi
or rsi, 0xf
cmp rsi, r12
jbe 0x18019713b
mov rsi, r12
jmp 0x180197148
cmp rsi, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rdx, [rsi + 1]
call fcn.1801887d0
mov r8, rdi
mov qword [rsp + 0x40], rax
mov rdx, r14
mov qword [rsp + 0x50], rdi
mov rcx, rax
mov qword [rsp + 0x58], rsi
mov rbx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rbx], 0
mov r14, qword [rsp + 0x70]
mov rax, r12
sub rax, r14
cmp rax, 3
jb 0x180197923
mov r13, qword [rsp + 0x78]
lea r12, [rsp + 0x60]
mov rsi, qword [rsp + 0x60]
lea r15, [r14 + 3]
cmp r13, 0x10
lea rdi, [rbp - 0x40]
mov ebx, 0xf
xorps xmm0, xmm0
cmovae r12, rsi
movups xmmword [rbp - 0x40], xmm0
cmp r15, rbx
jbe 0x180197242
mov rbx, r15
movabs rax, 0x7fffffffffffffff
or rbx, 0xf
cmp rbx, rax
jbe 0x1801971e7
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x18019720e
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18019722d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180197917
mov rcx, rax
call fcn.18028ae74
test rax, rax
je 0x1801978d8
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18019723e
test rcx, rcx
je 0x18019723c
call fcn.18028ae74
mov rdi, rax
jmp 0x18019723e
xor edi, edi
mov qword [rbp - 0x40], rdi
mov r8, r14
mov qword [rbp - 0x30], r15
mov rdx, r12
mov qword [rbp - 0x28], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x18017c2c0]
lea r9, [rsp + 0x40]
mov word [r14 + rdi], ax
lea r8, [rbp - 0x40]
movzx eax, byte [0x18017c2c2]
lea rcx, [rbp + 0xe0]
mov byte [r14 + rdi + 2], al
mov byte [rdi + r15], 0
call fcn.1801ddb80
cmp r13, 0x10
jb 0x1801972c0
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1801972b8
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978d8
mov rcx, rsi
call fcn.18028b230
movups xmm0, xmmword [rbp + 0xe0]
mov rdx, qword [rbp - 0x28]
movups xmm1, xmmword [rbp + 0xf0]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rdx, 0x10
jb 0x180197313
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18019730e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978d8
call fcn.18028b230
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x180197350
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18019734b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978d8
call fcn.18028b230
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x18019738b
mov rcx, qword [rbp + 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180197386
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978d8
call fcn.18028b230
mov r12, qword [rbp]
xor r15d, r15d
mov r13, qword [rbp + 0x48]
mov qword [rbp + 0x18], r15
mov byte [rbp + 8], r15b
mov qword [rbp + 0x20], 0xf
jmp 0x18019761d
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c160]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r12
call rax
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c128]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rbx
call rax
xorps xmm0, xmm0
mov qword [rbp + 0x38], r15
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x40], r15
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1801973f6
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.1801885e0
mov r15, qword [rbp + 0x40]
lea rsi, [rbp + 0x28]
mov r14, qword [rbp + 0x28]
cmp r15, 0x10
mov rbx, qword [rbp + 0x38]
cmovae rsi, r14
cmp rbx, 1
jb 0x180197471
mov r8, rbx
lea rdi, [rbx + rsi]
mov edx, 0x2e
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x180197467
cmp byte [rax], 0x2e
je 0x1801976c6
inc rax
mov r8, rdi
sub r8, rax
mov rcx, rax
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x180197443
movabs rdi, 0x7fffffffffffffff
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
cmp rbx, rcx
jb 0x180197935
sub rbx, rcx
lea rdx, [rbp + 0x28]
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
cmp r15, 0x10
cmovae rdx, r14
add rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.1801885e0
mov rcx, qword [rsp + 0x70]
mov rax, rdi
sub rax, rcx
cmp rax, 4
jb 0x18019792f
cmp qword [rsp + 0x78], 0x10
lea rax, [0x18017c2c4]
mov qword [rsp + 0x30], 4
lea r9, [rsp + 0x60]
cmovae r9, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x40]
call fcn.1801886a0
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x40]
lea rcx, [rbp + 0xe0]
call fcn.1801ddb80
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180197564
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18019755f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978df
call fcn.18028b230
movups xmm0, xmmword [rbp + 0xe0]
mov r8, qword [rbp - 0x28]
movups xmm1, xmmword [rbp + 0xf0]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp r8, 0x10
jb 0x180197592
mov rdx, qword [rbp - 0x40]
inc r8
call fcn.1801885a0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1801975cf
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801975ca
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978df
call fcn.18028b230
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x18019760a
mov rcx, qword [rbp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180197605
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978df
call fcn.18028b230
xor r15d, r15d
mov qword [rbp + 0x40], 0xf
mov qword [rbp + 0x38], r15
mov byte [rbp + 0x28], r15b
mov r14, qword [rsp + 0x78]
lea rcx, [rsp + 0x60]
mov rsi, qword [rsp + 0x60]
cmp r14, 0x10
mov rax, 0xffffffffffffffff
cmovae rcx, rsi
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180197640
cmp r14, 0x10
lea rdx, [rsp + 0x60]
mov ebx, 0xffffffff
cmovae rdx, rsi
test eax, eax
je 0x180197691
mov r8d, eax
lea r13, [0x180161190]
nop dword [rax]
movsx ecx, byte [rdx]
lea rdx, [rdx + 1]
mov eax, ebx
shr ebx, 8
xor rcx, rax
movzx eax, cl
xor ebx, dword [r13 + rax*4]
sub r8, 1
jne 0x180197670
mov r13, qword [rbp + 0x48]
mov rdi, qword [0x1802eb040]
not ebx
mov dword [rsp + 0x48], r15d
mov rcx, rdi
mov rax, qword [rdi + 8]
mov qword [rsp + 0x40], rax
cmp byte [rax + 0x19], 0
jne 0x1801976ec
mov qword [rsp + 0x40], rax
cmp dword [rax + 0x20], ebx
jae 0x1801976d8
mov rax, qword [rax + 0x10]
mov dword [rsp + 0x48], r15d
jmp 0x1801976e6
sub rax, rsi
movabs rdi, 0x7fffffffffffffff
jmp 0x180197478
mov rcx, rax
mov dword [rsp + 0x48], 1
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1801976b1
cmp byte [rcx + 0x19], 0
jne 0x1801976f7
cmp ebx, dword [rcx + 0x20]
jae 0x18019774e
movabs rax, 0x555555555555555
cmp qword [0x1802eb048], rax
je 0x180197929
mov ecx, 0x30
call fcn.18028ae74
movups xmm0, xmmword [rsp + 0x40]
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [0x1802eb040]
mov dword [rax + 0x20], ebx
mov qword [rax + 0x28], r12
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov word [rax + 0x18], 0
movaps xmmword [rsp + 0x40], xmm0
call fcn.1801dd8b0
cmp r14, 0x10
jb 0x180197785
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x18019777d
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978e6
mov rcx, rsi
call fcn.18028b230
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c210]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp + 0x50]
mov rcx, r13
call rax
mov qword [rbp], rax
mov r12, rax
lea rsi, [0x18017c2b4]
test rax, rax
jne 0x180196862
mov r14, qword [rbp + 0xa8]
mov r15d, dword [rbp + 0x178]
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180197802
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801977fd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801978e6
call fcn.18028b230
xor r12d, r12d
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c248]
inc r15d
mov dword [rbp + 0x178], r15d
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
movsxd rbx, r15d
call rax
cmp rbx, rax
jb 0x180196420
mov rbx, qword [rbp + 0x58]
mov edi, dword [rbp + 0x180]
mov rsi, qword [rbp + 0xb0]
mov rcx, qword [0x1802eb010]
lea rdx, [0x18017c280]
inc edi
mov qword [rbp + 0x188], r12
inc rbx
mov dword [rbp + 0x180], edi
mov qword [rbp + 0x58], rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbp + 0xb8]
lea rdx, [rbp + 0x188]
call rax
movsxd rax, edi
cmp rax, qword [rbp + 0x188]
jb 0x1801963e0
mov r14, qword [rsp + 0x230]
mov r13, qword [rsp + 0x238]
mov r15, qword [rsp + 0x228]
add rsp, 0x240
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
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
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
call fcn.180188110
int3
call fcn.180188110
int3
call fcn.180188110
int3
call fcn.180188050
int3
call fcn.180188110
int3
call fcn.180188110
int3
call fcn.1801db6f0
int3
call fcn.180188050
int3
call fcn.1801db6f0
int3
call fcn.180188110
int3
call fcn.1801880f0
int3
call fcn.180188110
int3
call fcn.1801db6f0
int3