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

Disassembly:
mov dword [rsp + 8], ecx
push rbp
lea rbp, [rsp - 0x140]
sub rsp, 0x240
lea rcx, [rsp + 0x70]
mov dword [rbp + 0x150], 0xc566d10
call fcn.1800245c0
mov rdx, qword [rax]
mov rcx, qword [rdx + 8]
cmp byte [rcx + 0x19], 0
jne 0x1800029c0
cmp dword [rcx + 0x20], 0xc566d10
jae 0x1800029b4
mov rcx, qword [rcx + 0x10]
jmp 0x1800029ba
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1800029a5
cmp byte [rdx + 0x19], 0
jne 0x1800029f1
cmp dword [rdx + 0x20], 0xc566d10
ja 0x1800029f1
mov rdx, rax
mov rcx, rax
call fcn.180024c80
lea rdx, [rbp + 0x150]
call fcn.1800244e0
mov eax, dword [rax]
add rsp, 0x240
pop rbp
ret
mov qword [rsp + 0x238], rbx
mov rdx, rax
mov qword [rsp + 0x230], rsi
mov rcx, rax
mov qword [rsp + 0x228], rdi
mov qword [rsp + 0x220], r12
mov qword [rsp + 0x218], r13
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x208], r15
movaps xmmword [rsp + 0x1f0], xmm6
movaps xmmword [rsp + 0x1e0], xmm7
movaps xmmword [rsp + 0x1d0], xmm8
call fcn.180024c80
call fcn.180002740
mov rcx, rax
mov qword [rbp + 0x60], rax
mov rbx, rax
call fcn.180002500
mov esi, dword [0x180096008]
xor r14d, r14d
xor edi, edi
mov qword [rbp + 0x68], rax
mov r15, rax
movups xmm0, xmmword [0x18008c9a0]
mov eax, dword [0x18008c9b8]
mov r12d, 5
mov dword [rbp + 0x88], eax
xor r8d, r8d
movzx eax, byte [0x18008c9bc]
mov qword [rbp + 0x28], rdi
mov dword [rbp + 0x160], r14d
lea ecx, [r12 + 0x1a]
mov qword [rbp + 0x20], 0
mov byte [rbp + 0x8c], al
movups xmmword [rbp + 0x70], xmm0
movsd xmm0, qword [0x18008c9b0]
movsd qword [rbp + 0x80], xmm0
cmp esi, 2
jl 0x180002c1d
movdqa xmm0, xmmword [str.2222222222222222]
movdqa xmm5, xmmword [0x18008db20]
movdqa xmm4, xmmword [0x18008e040]
movdqa xmm7, xmmword [0x18008db70]
movdqa xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x70]
movd xmm8, ecx
lea rcx, [rbp + 0x74]
movd xmm6, r12d
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18008db90]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18008db90]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180002b10
cmp r8d, 0x1d
jge 0x180002c64
movsxd rax, r8d
lea r9, [rbp + 0x70]
add r9, rax
nop word [rax + rax]
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0x1d
jl 0x180002c30
mov rcx, qword [0x1801afaf0]
lea rdx, [rbp + 0x70]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
lea rdx, [rbp + 0x20]
mov rcx, rbx
call rax
movsxd rax, r14d
cmp rax, qword [rbp + 0x20]
jae 0x180003fa2
mov rax, qword [r15 + rdi*8]
xor edi, edi
mov ebx, edi
mov r13, qword [rax]
mov qword [rbp + 0x58], r13
mov eax, dword [0x18008c408]
mov r8d, edi
mov dword [rbp + 0x18], eax
movzx eax, byte [0x18008c40c]
mov dword [rbp + 0x158], ebx
mov byte [rbp + 0x1c], al
movups xmm0, xmmword [0x18008c3f0]
movups xmmword [rbp], xmm0
movsd xmm0, qword [0x18008c400]
movsd qword [rbp + 0x10], xmm0
cmp esi, 2
jl 0x180002e2d
movdqa xmm0, xmmword [str.2222222222222222]
lea rcx, [rbp + 4]
movdqa xmm5, xmmword [0x18008db20]
mov eax, 0x1f
movdqa xmm4, xmmword [0x18008e040]
movdqa xmm7, xmmword [0x18008db70]
movdqa xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x70]
movd xmm8, eax
movd xmm6, r12d
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18008db90]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18008db90]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180002d20
cmp r8d, 0x1d
jge 0x180002e74
movsxd rax, r8d
lea r9, [rbp]
add r9, rax
nop word [rax + rax]
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0x1d
jl 0x180002e40
mov rcx, qword [0x1801afaf0]
lea rdx, [rbp]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
mov rcx, r13
movsxd r12, ebx
call rax
cmp r12, rax
jae 0x180003eca
mov rdx, qword [r13]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rdi
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x48], rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x180002eb3
lea rcx, [rsp + 0x30]
call fcn.180024d00
mov r15, qword [rsp + 0x48]
lea rdi, [rsp + 0x30]
mov r14, qword [rsp + 0x30]
cmp r15, 0x10
mov rbx, qword [rsp + 0x40]
cmovae rdi, r14
cmp rbx, 4
jb 0x180002f42
lea rsi, [rbx + rdi]
mov edx, 0x2e
lea r8, [rsi - 3]
mov rcx, rdi
sub r8, rdi
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
je 0x180002f3c
nop dword [rax]
cmp dword [r9], 0x6c6c642e
je 0x18000328b
inc r9
lea r8, [rsi - 3]
sub r8, r9
mov rcx, r9
mov edx, 0x2e
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
jne 0x180002f10
mov esi, dword [0x180096008]
mov r9, 0xffffffffffffffff
cmp rbx, r9
jb 0x180003ffe
mov rax, rbx
lea rcx, [rsp + 0x30]
sub rax, r9
mov edx, 4
cmp rax, rdx
cmovb rdx, rax
cmp r15, 0x10
cmovae rcx, r14
sub rbx, rdx
add rcx, r9
mov r8, rbx
sub r8, r9
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [0x18008ca18]
xor edi, edi
mov dword [rbp + 0x10], eax
mov r8d, edi
movzx eax, word [0x18008ca1c]
mov word [rbp + 0x14], ax
movzx eax, byte [0x18008ca1e]
mov byte [rbp + 0x16], al
mov qword [rsp + 0x40], rbx
movups xmm0, xmmword [0x18008ca08]
movups xmmword [rbp], xmm0
cmp esi, 2
jl 0x18000311d
movdqa xmm0, xmmword [str.2222222222222222]
lea rcx, [rbp + 4]
movdqa xmm5, xmmword [0x18008db20]
mov eax, 5
movdqa xmm4, xmmword [0x18008e040]
movdqa xmm7, xmmword [0x18008db70]
movdqa xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x70]
movd xmm6, eax
mov eax, 0x1f
movd xmm8, eax
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18008db90]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18008db90]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x180003010
cmp r8d, 0x17
jge 0x180003164
movsxd rax, r8d
lea r9, [rbp]
add r9, rax
nop word [rax + rax]
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0x17
jl 0x180003130
mov rcx, qword [0x1801afaf0]
lea rdx, [rbp]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
mov rdx, r12
mov rcx, r13
call rax
xorps xmm0, xmm0
mov qword [rbp + 0x168], rax
mov r13, rax
mov qword [rsp + 0x60], rdi
movups xmmword [rsp + 0x50], xmm0
mov r14, qword [rax + 0x10]
mov r8, 0xffffffffffffffff
mov rsi, qword [rax + 0x18]
mov qword [rsp + 0x68], rdi
nop dword [rax + rax]
inc r8
cmp byte [rsi + r8], dil
jne 0x1800031b0
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.180024d00
cmp qword [rsp + 0x60], rdi
mov rdx, qword [rsp + 0x68]
sete bl
cmp rdx, 0x10
jb 0x18000320b
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003206
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f9b
call fcn.18005c434
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
test bl, bl
je 0x18000343a
mov rsi, qword [rsp + 0x40]
sub rax, rsi
cmp rax, 2
jb 0x18000400a
cmp qword [rsp + 0x48], 0x10
lea r12, [rsp + 0x30]
lea r15, [rsi + 2]
mov qword [rsp + 0x60], rdi
cmovae r12, qword [rsp + 0x30]
mov ebx, 0xf
mov qword [rsp + 0x68], rdi
xorps xmm0, xmm0
lea rdi, [rsp + 0x50]
movups xmmword [rsp + 0x50], xmm0
cmp r15, rbx
jbe 0x1800032f5
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x180003299
movabs rax, 0x8000000000000000
mov rbx, rcx
add rax, 0x27
jmp 0x1800032c0
mov esi, dword [0x180096008]
sub r9, rdi
jmp 0x180002f49
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800032df
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180004004
mov rcx, rax
call fcn.18005c3f8
test rax, rax
je 0x180003ee8
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1800032f0
test rcx, rcx
je 0x1800032ee
call fcn.18005c3f8
mov rdi, rax
jmp 0x1800032f0
xor edi, edi
mov qword [rsp + 0x50], rdi
mov r8, rsi
mov qword [rsp + 0x60], r15
mov rdx, r12
mov qword [rsp + 0x68], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + rsi], 0x3a3a
mov byte [rdi + r15], 0
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [r14 + rdi], 0
jne 0x180003320
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x180003373
cmp rdx, 0x10
lea rax, [rdi + rcx]
lea rbx, [rsp + 0x50]
mov qword [rsp + 0x60], rax
cmovae rbx, qword [rsp + 0x50]
mov r8, rdi
add rbx, rcx
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rsp + 0x50]
mov byte [rbx + rdi], 0
jmp 0x180003388
mov r9, r14
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.180024dc0
movups xmm6, xmmword [rax]
xor ebx, ebx
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov byte [rax], bl
mov qword [rax + 0x18], 0xf
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1800033dc
mov rcx, qword [rsp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800033d7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003ee8
call fcn.18005c434
mov rdx, qword [rsp + 0x68]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x40], xmm7
cmp rdx, 0x10
jb 0x180003423
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000341e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003ee8
call fcn.18005c434
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], bl
jmp 0x1800037e7
mov r15, qword [rsp + 0x40]
sub rax, r15
cmp rax, 2
jb 0x180004022
cmp qword [rsp + 0x48], 0x10
lea r13, [rsp + 0x30]
lea r12, [r15 + 2]
mov qword [rbp - 0x70], rdi
cmovae r13, qword [rsp + 0x30]
mov ebx, 0xf
mov qword [rbp - 0x68], rdi
xorps xmm0, xmm0
lea rdi, [rbp - 0x80]
movups xmmword [rbp - 0x80], xmm0
cmp r12, rbx
jbe 0x1800034f8
mov rbx, r12
or rbx, 0xf
cmp rbx, rcx
jbe 0x18000349d
movabs rax, 0x8000000000000000
mov rbx, rcx
add rax, 0x27
jmp 0x1800034c4
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800034e3
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180004010
mov rcx, rax
call fcn.18005c3f8
test rax, rax
je 0x180003eef
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1800034f4
test rcx, rcx
je 0x1800034f2
call fcn.18005c3f8
mov rdi, rax
jmp 0x1800034f4
xor edi, edi
mov qword [rbp - 0x80], rdi
mov r8, r15
mov qword [rbp - 0x70], r12
mov rdx, r13
mov qword [rbp - 0x68], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r13d, 0x3a3a
mov word [rdi + r15], r13w
mov byte [rdi + r12], 0
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rsi + rdi], 0
jne 0x180003525
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x70]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x180003571
cmp rdx, 0x10
lea rax, [rcx + rdi]
lea rbx, [rbp - 0x80]
mov qword [rbp - 0x70], rax
cmovae rbx, qword [rbp - 0x80]
mov r8, rdi
add rbx, rcx
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbp - 0x80]
mov byte [rdi + rbx], 0
jmp 0x180003585
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.180024dc0
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x1800035eb
lea rax, [rcx + 2]
cmp rdx, 0x10
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x20]
cmovae rax, qword [rbp - 0x20]
mov word [rax + rcx], r13w
mov byte [rax + rcx + 2], bl
lea rax, [rbp - 0x20]
jmp 0x180003609
lea r9, [0x18005f7a4]
mov qword [rsp + 0x20], 2
mov edx, 2
lea rcx, [rbp - 0x20]
call fcn.180024dc0
mov qword [rbp - 0x30], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x28], rbx
mov rdi, 0xffffffffffffffff
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
nop dword [rax]
inc rdi
cmp byte [r14 + rdi], bl
jne 0x180003640
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x18000368e
cmp rdx, 0x10
lea rax, [rcx + rdi]
lea rbx, [rbp - 0x40]
mov qword [rbp - 0x30], rax
cmovae rbx, qword [rbp - 0x40]
mov r8, rdi
add rbx, rcx
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
lea rax, [rbp - 0x40]
xor ebx, ebx
jmp 0x1800036a2
mov r9, r14
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.180024dc0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1800036f5
mov rcx, qword [rsp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800036f0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003eef
call fcn.18005c434
mov rdx, qword [rbp - 0x28]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x40], xmm7
cmp rdx, 0x10
jb 0x18000373a
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003735
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003eef
call fcn.18005c434
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
cmp rdx, 0x10
jb 0x180003785
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003780
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003eef
call fcn.18005c434
mov rdx, qword [rbp - 0x68]
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
cmp rdx, 0x10
jb 0x1800037d0
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800037cb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003eef
call fcn.18005c434
mov r13, qword [rbp + 0x168]
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov qword [rbp + 0x48], rbx
nop dword [rax + rax]
cmp byte [0x18008cb57], 0
movups xmm0, xmmword [0x18008cb40]
mov esi, dword [0x180096008]
movups xmmword [rbp + 0x8d], xmm0
movsd xmm0, qword [0x18008cb50]
movsd qword [rbp + 0x9d], xmm0
je 0x1800039c5
cmp esi, 2
jl 0x180003987
movdqa xmm0, xmmword [str.2222222222222222]
lea rcx, [rbp + 0x91]
movdqa xmm5, xmmword [0x18008db20]
mov r12d, 5
movdqa xmm4, xmmword [0x18008e040]
mov edi, 0x1f
movdqa xmm7, xmmword [0x18008db70]
mov edx, ebx
movdqa xmmword [rsp + 0x70], xmm0
mov r8d, dword [rsp + 0x70]
movd xmm6, r12d
movd xmm8, edi
nop dword [rax]
nop word [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18008db90]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18008db90]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x18
jl 0x180003880
jmp 0x1800039d0
lea r9, [rbp + 0x8d]
mov r8d, ebx
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0x18
jl 0x180003991
mov r12d, 5
lea edi, [r12 + 0x1a]
mov rcx, qword [0x1801afaf0]
lea rdx, [rbp + 0x8d]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
lea rdx, [rbp + 0x48]
mov rcx, r13
call rax
mov qword [rbp + 0x50], rax
mov r13, rax
test rax, rax
je 0x180003e67
cmp byte [0x18008c4e5], 0
mov ecx, dword [0x18008c4e0]
movups xmm0, xmmword [0x18008c4d0]
mov dword [rbp + 0x40], ecx
movzx ecx, word [0x18008c4e4]
movups xmmword [rbp + 0x30], xmm0
mov word [rbp + 0x44], cx
je 0x180003bc4
mov r8d, ebx
cmp esi, 2
jl 0x180003b7d
movdqa xmm0, xmmword [str.2222222222222222]
lea rcx, [rbp + 0x34]
movdqa xmm5, xmmword [0x18008db20]
movdqa xmm4, xmmword [0x18008e040]
movdqa xmm7, xmmword [0x18008db70]
movdqa xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x70]
movd xmm6, r12d
movd xmm8, edi
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18008db90]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 0xc]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 0xc], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18008db90]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x180003a70
cmp r8d, 0x16
jge 0x180003bc4
movsxd rax, r8d
lea r9, [rbp + 0x30]
add r9, rax
nop word [rax + rax]
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9 - 1], al
cmp r8d, 0x16
jl 0x180003b90
mov rcx, qword [0x1801afaf0]
lea rdx, [rbp + 0x30]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetProcAddress]
mov rcx, r13
call rax
mov r15, qword [rsp + 0x40]
mov rsi, rax
movabs rax, 0x7fffffffffffffff
mov rcx, rax
sub rcx, r15
cmp rcx, 2
jb 0x18000401c
cmp qword [rsp + 0x48], 0x10
lea r12, [rsp + 0x30]
mov qword [rbp - 0x50], rbx
lea r14, [r15 + 2]
cmovae r12, qword [rsp + 0x30]
lea rdi, [rbp - 0x60]
mov qword [rbp - 0x48], rbx
xorps xmm0, xmm0
mov ebx, 0xf
movups xmmword [rbp - 0x60], xmm0
cmp r14, rbx
jbe 0x180003ca8
mov rbx, r14
or rbx, 0xf
cmp rbx, rax
jbe 0x180003c4d
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180003c74
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180003c93
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180004016
mov rcx, rax
call fcn.18005c3f8
test rax, rax
je 0x180003ef6
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180003ca4
test rcx, rcx
je 0x180003ca2
call fcn.18005c3f8
mov rdi, rax
jmp 0x180003ca4
xor edi, edi
mov qword [rbp - 0x60], rdi
mov r8, r15
mov qword [rbp - 0x50], r14
mov rdx, r12
mov qword [rbp - 0x48], rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov word [rdi + r15], 0x3a3a
mov byte [rdi + r14], 0
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rsi + rdi], 0
jne 0x180003cd1
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x180003d1d
cmp rdx, 0x10
lea rax, [rcx + rdi]
lea rbx, [rbp - 0x60]
mov qword [rbp - 0x50], rax
cmovae rbx, qword [rbp - 0x60]
mov r8, rdi
add rbx, rcx
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbp - 0x60]
mov byte [rbx + rdi], 0
jmp 0x180003d31
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.180024dc0
movups xmm7, xmmword [rax]
xor ebx, ebx
movups xmm6, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov byte [rax], bl
mov qword [rax + 0x18], 0xf
mov rdx, qword [rbp - 0x48]
movups xmmword [rbp + 0xa8], xmm7
movups xmmword [rbp + 0xb8], xmm6
cmp rdx, 0x10
jb 0x180003d91
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003d8c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003ef6
call fcn.18005c434
psrldq xmm6, 8
lea rax, [rbp + 0xa8]
movq rsi, xmm6
mov qword [rbp - 0x50], rbx
cmp rsi, 0x10
mov qword [rbp - 0x48], 0xf
movq rdi, xmm7
mov byte [rbp - 0x60], bl
cmovae rax, rdi
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], bl
jne 0x180003dc5
cmp rsi, 0x10
lea r8, [rbp + 0xa8]
mov eax, 0xffffffff
cmovae r8, rdi
test ecx, ecx
je 0x180003e12
mov r9d, ecx
lea r13, [0x180087dc0]
nop
movsx edx, byte [r8]
lea r8, [r8 + 1]
mov ecx, eax
shr eax, 8
xor rdx, rcx
movzx ecx, dl
xor eax, dword [r13 + rcx*4]
sub r9, 1
jne 0x180003df0
mov r13, qword [rbp + 0x50]
not eax
cmp eax, dword [rbp + 0x150]
je 0x180003efd
mov r13, qword [rbp + 0x168]
cmp rsi, 0x10
jb 0x1800037f0
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180003e5a
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f9b
mov rcx, rdi
call fcn.18005c434
jmp 0x1800037f0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180003ea4
mov rcx, qword [rsp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003e9f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f9b
call fcn.18005c434
mov r13, qword [rbp + 0x58]
mov qword [rsp + 0x40], rbx
mov ebx, dword [rbp + 0x158]
inc ebx
mov qword [rsp + 0x48], 0xf
xor edi, edi
mov byte [rsp + 0x30], 0
jmp 0x180002c9a
mov r14d, dword [rbp + 0x160]
mov rdi, qword [rbp + 0x28]
inc r14d
mov rbx, qword [rbp + 0x60]
inc rdi
mov r15, qword [rbp + 0x68]
jmp 0x180002a73
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
mov rcx, r13
call fcn.180002090
mov ecx, dword [rbp + 0x150]
lea r8, [rbp + 0x158]
mov ebx, eax
lea rdx, [rsp + 0x70]
mov dword [rbp + 0x15c], ebx
mov dword [rbp + 0x158], ecx
call fcn.180024880
cmp rsi, 0x10
jb 0x180003f5d
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180003f55
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f9b
mov rcx, rdi
call fcn.18005c434
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180003f96
mov rcx, qword [rsp + 0x30]
inc rdx
mov r8, rcx
cmp rdx, 0x1000
jb 0x180003f91
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x180003f9b
call fcn.18005c434
mov rax, rbx
jmp 0x180003fa4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor eax, eax
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm6, xmmword [rsp + 0x1f0]
mov r15, qword [rsp + 0x208]
mov r14, qword [rsp + 0x210]
mov r13, qword [rsp + 0x218]
mov r12, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x228]
mov rsi, qword [rsp + 0x230]
mov rbx, qword [rsp + 0x238]
movaps xmm8, xmmword [rsp + 0x1d0]
add rsp, 0x240
pop rbp
ret
call fcn.180001ec0
int3
call fcn.180001c70
int3
call fcn.180001d10
int3
call fcn.180001c70
int3
call fcn.180001c70
int3
call fcn.180001d10
int3
call fcn.180001d10
int3