Function at 0x180002600
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 - 0x130]
sub rsp, 0x230
lea rcx, [rsp + 0x70]
mov dword [rbp + 0x140], 0xc566d10
call fcn.180024120
mov edx, 0xc566d10
mov rcx, rax
call fcn.180024280
test al, al
je 0x180002650
lea rdx, [rbp + 0x140]
call fcn.180024040
mov eax, dword [rax]
add rsp, 0x230
pop rbp
ret
mov qword [rsp + 0x228], rbx
mov qword [rsp + 0x220], rsi
mov qword [rsp + 0x218], rdi
mov qword [rsp + 0x210], r12
mov qword [rsp + 0x208], r13
mov qword [rsp + 0x200], r14
mov qword [rsp + 0x1f8], r15
movaps xmmword [rsp + 0x1e0], xmm6
movaps xmmword [rsp + 0x1d0], xmm7
call fcn.180002400
mov rcx, rax
mov qword [rbp + 0x60], rax
mov rbx, rax
call fcn.1800021f0
mov esi, dword [0x180096008]
xor r14d, r14d
xor edi, edi
mov qword [rbp + 0x68], rax
mov r15, rax
movups xmm0, xmmword [0x18008c430]
mov eax, dword [0x18008c448]
xor r8d, r8d
mov dword [rbp + 0x88], eax
movzx eax, byte [0x18008c44c]
mov qword [rbp + 0x28], rdi
mov dword [rbp + 0x150], r14d
mov qword [rbp + 0x20], 0
mov byte [rbp + 0x8c], al
movups xmmword [rbp + 0x70], xmm0
movsd xmm0, qword [0x18008c440]
movsd qword [rbp + 0x80], xmm0
cmp esi, 2
jl 0x18000284f
movdqa xmm0, xmmword [0x18008dbb0]
lea rcx, [rbp + 0x74]
movdqa xmm5, xmmword [0x18008db30]
movdqa xmm4, xmmword [0x18008e050]
movdqa xmm6, xmmword [0x18008db80]
movdqa xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x70]
nop
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18008dba0]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18008dba0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180002740
cmp r8d, 0x1d
jge 0x180002894
movsxd rax, r8d
lea r9, [rbp + 0x70]
add r9, rax
nop dword [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, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x1d
jl 0x180002860
mov rcx, qword [0x1801afb40]
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 0x180003b82
mov rax, qword [r15 + rdi*8]
xor edi, edi
mov ebx, edi
mov r13, qword [rax]
mov qword [rbp + 0x58], r13
mov eax, dword [0x18008c2c8]
mov r8d, edi
mov dword [rbp + 0x18], eax
movzx eax, byte [0x18008c2cc]
mov dword [rbp + 0x148], ebx
mov byte [rbp + 0x1c], al
movups xmm0, xmmword [0x18008c2b0]
movups xmmword [rbp], xmm0
movsd xmm0, qword [0x18008c2c0]
movsd qword [rbp + 0x10], xmm0
cmp esi, 2
jl 0x180002a4f
movdqa xmm0, xmmword [0x18008dbb0]
lea rcx, [rbp + 4]
movdqa xmm5, xmmword [0x18008db30]
movdqa xmm4, xmmword [0x18008e050]
movdqa xmm6, xmmword [0x18008db80]
movdqa xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x70]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18008dba0]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18008dba0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x18
jl 0x180002940
cmp r8d, 0x1d
jge 0x180002a94
movsxd rax, r8d
lea r9, [rbp]
add r9, rax
nop dword [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, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x1d
jl 0x180002a60
mov rcx, qword [0x1801afb40]
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 0x180003aaa
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 0x180002ad3
lea rcx, [rsp + 0x30]
call fcn.180024860
mov r15, qword [rsp + 0x48]
lea rdi, [rsp + 0x30]
mov r14, qword [rsp + 0x30]
cmp r15, 0xf
mov rbx, qword [rsp + 0x40]
cmova rdi, r14
cmp rbx, 4
jb 0x180002b62
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 0x180002b5c
nop dword [rax]
cmp dword [r9], 0x6c6c642e
je 0x180002e8b
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 0x180002b30
mov esi, dword [0x180096008]
mov r9, 0xffffffffffffffff
cmp rbx, r9
jb 0x180003bd5
mov rax, rbx
lea rcx, [rsp + 0x30]
sub rax, r9
mov edx, 4
cmp rax, rdx
cmovb rdx, rax
cmp r15, 0xf
cmova 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 [0x18008c810]
xor edi, edi
mov dword [rbp + 0x10], eax
mov r8d, edi
movzx eax, word [0x18008c814]
mov word [rbp + 0x14], ax
movzx eax, byte [0x18008c816]
mov byte [rbp + 0x16], al
mov qword [rsp + 0x40], rbx
movups xmm0, xmmword [0x18008c800]
movups xmmword [rbp], xmm0
cmp esi, 2
jl 0x180002d21
movdqa xmm0, xmmword [0x18008dbb0]
lea rcx, [rbp + 4]
movdqa xmm5, xmmword [0x18008db30]
movdqa xmm4, xmmword [0x18008e050]
movdqa xmm6, xmmword [0x18008db80]
movdqa xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x70]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18008dba0]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18008dba0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x180002c12
cmp r8d, 0x17
jge 0x180002d64
movsxd rax, r8d
lea r9, [rbp]
add r9, rax
nop dword [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, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x17
jl 0x180002d30
mov rcx, qword [0x1801afb40]
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 + 0x158], 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 0x180002db0
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.180024860
cmp qword [rsp + 0x60], rdi
mov rdx, qword [rsp + 0x68]
sete bl
cmp rdx, 0xf
jbe 0x180002e0b
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002e06
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003b7b
call fcn.18005c614
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
test bl, bl
je 0x18000303a
mov rsi, qword [rsp + 0x40]
sub rax, rsi
cmp rax, 2
jb 0x180003be1
cmp qword [rsp + 0x48], 0xf
lea r12, [rsp + 0x30]
lea r15, [rsi + 2]
mov qword [rsp + 0x60], rdi
cmova 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 0x180002ef5
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x180002e99
movabs rax, 0x8000000000000000
mov rbx, rcx
add rax, 0x27
jmp 0x180002ec0
mov esi, dword [0x180096008]
sub r9, rdi
jmp 0x180002b69
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180002edf
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180003bdb
mov rcx, rax
call fcn.18005c5d8
test rax, rax
je 0x180003ac8
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180002ef0
test rcx, rcx
je 0x180002eee
call fcn.18005c5d8
mov rdi, rax
jmp 0x180002ef0
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 0x180002f20
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x180002f73
cmp rdx, 0xf
lea rax, [rdi + rcx]
lea rbx, [rsp + 0x50]
mov qword [rsp + 0x60], rax
cmova 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 [rdi + rbx], 0
jmp 0x180002f88
mov r9, r14
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.180024970
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, 0xf
jbe 0x180002fdc
mov rcx, qword [rsp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002fd7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003ac8
call fcn.18005c614
mov rdx, qword [rsp + 0x68]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x40], xmm7
cmp rdx, 0xf
jbe 0x180003023
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000301e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003ac8
call fcn.18005c614
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], bl
jmp 0x1800033e7
mov r15, qword [rsp + 0x40]
sub rax, r15
cmp rax, 2
jb 0x180003bf9
cmp qword [rsp + 0x48], 0xf
lea r13, [rsp + 0x30]
lea r12, [r15 + 2]
mov qword [rbp - 0x70], rdi
cmova 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 0x1800030f8
mov rbx, r12
or rbx, 0xf
cmp rbx, rcx
jbe 0x18000309d
movabs rax, 0x8000000000000000
mov rbx, rcx
add rax, 0x27
jmp 0x1800030c4
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800030e3
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180003be7
mov rcx, rax
call fcn.18005c5d8
test rax, rax
je 0x180003acf
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1800030f4
test rcx, rcx
je 0x1800030f2
call fcn.18005c5d8
mov rdi, rax
jmp 0x1800030f4
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 0x180003125
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x70]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x180003171
cmp rdx, 0xf
lea rax, [rcx + rdi]
lea rbx, [rbp - 0x80]
mov qword [rbp - 0x70], rax
cmova 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 0x180003185
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.180024970
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 0x1800031eb
lea rax, [rcx + 2]
cmp rdx, 0xf
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x20]
cmova rax, qword [rbp - 0x20]
mov word [rax + rcx], r13w
mov byte [rax + rcx + 2], bl
lea rax, [rbp - 0x20]
jmp 0x180003209
lea r9, [0x18005f7a4]
mov qword [rsp + 0x20], 2
mov edx, 2
lea rcx, [rbp - 0x20]
call fcn.180024970
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 0x180003240
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x18000328e
cmp rdx, 0xf
lea rax, [rcx + rdi]
lea rbx, [rbp - 0x40]
mov qword [rbp - 0x30], rax
cmova 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 0x1800032a2
mov r9, r14
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.180024970
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, 0xf
jbe 0x1800032f5
mov rcx, qword [rsp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800032f0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003acf
call fcn.18005c614
mov rdx, qword [rbp - 0x28]
movups xmmword [rsp + 0x30], xmm6
movups xmmword [rsp + 0x40], xmm7
cmp rdx, 0xf
jbe 0x18000333a
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003335
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003acf
call fcn.18005c614
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
cmp rdx, 0xf
jbe 0x180003385
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003380
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003acf
call fcn.18005c614
mov rdx, qword [rbp - 0x68]
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
cmp rdx, 0xf
jbe 0x1800033d0
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800033cb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003acf
call fcn.18005c614
mov r13, qword [rbp + 0x158]
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 [0x18008c93f], 0
movups xmm0, xmmword [0x18008c928]
mov esi, dword [0x180096008]
movups xmmword [rbp + 0x8d], xmm0
movsd xmm0, qword [0x18008c938]
movsd qword [rbp + 0x9d], xmm0
je 0x1800035b4
cmp esi, 2
jl 0x180003569
movdqa xmm0, xmmword [0x18008dbb0]
lea rcx, [rbp + 0x91]
movdqa xmm5, xmmword [0x18008db30]
mov edx, ebx
movdqa xmm4, xmmword [0x18008e050]
movdqa xmm6, xmmword [0x18008db80]
movdqa xmmword [rsp + 0x70], xmm0
mov r8d, dword [rsp + 0x70]
nop
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18008dba0]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18008dba0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp edx, 0x18
jl 0x180003460
jmp 0x1800035b4
lea r9, [rbp + 0x8d]
mov r8d, ebx
nop dword [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, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x18
jl 0x180003580
mov rcx, qword [0x1801afb40]
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 0x180003a47
cmp byte [0x18008cbbd], 0
mov ecx, dword [0x18008cbb8]
movups xmm0, xmmword [0x18008cba8]
mov dword [rbp + 0x40], ecx
movzx ecx, word [0x18008cbbc]
movups xmmword [rbp + 0x30], xmm0
mov word [rbp + 0x44], cx
je 0x1800037a4
mov r8d, ebx
cmp esi, 2
jl 0x18000375f
movdqa xmm0, xmmword [0x18008dbb0]
lea rcx, [rbp + 0x34]
movdqa xmm5, xmmword [0x18008db30]
movdqa xmm4, xmmword [0x18008e050]
movdqa xmm6, xmmword [0x18008db80]
movdqa xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x70]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18008dba0]
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, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18008dba0]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r8d, 0x10
jl 0x180003650
cmp r8d, 0x16
jge 0x1800037a4
movsxd rax, r8d
lea r9, [rbp + 0x30]
add r9, rax
nop dword [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, 0x35
xor byte [r9 - 1], al
cmp r8d, 0x16
jl 0x180003770
mov rcx, qword [0x1801afb40]
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 0x180003bf3
cmp qword [rsp + 0x48], 0xf
lea r12, [rsp + 0x30]
mov qword [rbp - 0x50], rbx
lea r14, [r15 + 2]
cmova 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 0x180003888
mov rbx, r14
or rbx, 0xf
cmp rbx, rax
jbe 0x18000382d
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180003854
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180003873
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180003bed
mov rcx, rax
call fcn.18005c5d8
test rax, rax
je 0x180003ad6
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180003884
test rcx, rcx
je 0x180003882
call fcn.18005c5d8
mov rdi, rax
jmp 0x180003884
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 0x1800038b1
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x1800038fd
cmp rdx, 0xf
lea rax, [rcx + rdi]
lea rbx, [rbp - 0x60]
mov qword [rbp - 0x50], rax
cmova 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 0x180003911
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.180024970
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, 0xf
jbe 0x180003971
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000396c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003ad6
call fcn.18005c614
psrldq xmm6, 8
lea rax, [rbp + 0xa8]
movq rsi, xmm6
mov qword [rbp - 0x50], rbx
cmp rsi, 0xf
mov qword [rbp - 0x48], 0xf
movq rdi, xmm7
mov byte [rbp - 0x60], bl
cmova rax, rdi
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], bl
jne 0x1800039a5
cmp rsi, 0xf
lea r8, [rbp + 0xa8]
mov eax, 0xffffffff
cmova r8, rdi
test ecx, ecx
je 0x1800039f2
mov r9d, ecx
lea r13, [0x180087d90]
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 0x1800039d0
mov r13, qword [rbp + 0x50]
not eax
cmp eax, dword [rbp + 0x140]
je 0x180003add
mov r13, qword [rbp + 0x158]
cmp rsi, 0xf
jbe 0x1800033f0
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180003a3a
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003b7b
mov rcx, rdi
call fcn.18005c614
jmp 0x1800033f0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x180003a84
mov rcx, qword [rsp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003a7f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003b7b
call fcn.18005c614
mov r13, qword [rbp + 0x58]
mov qword [rsp + 0x40], rbx
mov ebx, dword [rbp + 0x148]
inc ebx
mov qword [rsp + 0x48], 0xf
xor edi, edi
mov byte [rsp + 0x30], 0
jmp 0x1800028ca
mov r14d, dword [rbp + 0x150]
mov rdi, qword [rbp + 0x28]
inc r14d
mov rbx, qword [rbp + 0x60]
inc rdi
mov r15, qword [rbp + 0x68]
jmp 0x1800026be
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.180001ff0
mov ecx, dword [rbp + 0x140]
lea r8, [rbp + 0x148]
mov ebx, eax
lea rdx, [rsp + 0x70]
mov dword [rbp + 0x14c], ebx
mov dword [rbp + 0x148], ecx
call fcn.1800243e0
cmp rsi, 0xf
jbe 0x180003b3d
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180003b35
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003b7b
mov rcx, rdi
call fcn.18005c614
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x180003b76
mov rcx, qword [rsp + 0x30]
inc rdx
mov r8, rcx
cmp rdx, 0x1000
jb 0x180003b71
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x180003b7b
call fcn.18005c614
mov rax, rbx
jmp 0x180003b84
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor eax, eax
movaps xmm6, xmmword [rsp + 0x1e0]
mov r15, qword [rsp + 0x1f8]
mov r14, qword [rsp + 0x200]
mov r13, qword [rsp + 0x208]
mov r12, qword [rsp + 0x210]
mov rdi, qword [rsp + 0x218]
mov rsi, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x228]
movaps xmm7, xmmword [rsp + 0x1d0]
add rsp, 0x230
pop rbp
ret
call fcn.180001ef0
int3
call fcn.180001c40
int3
call fcn.180001ce0
int3
call fcn.180001c40
int3
call fcn.180001c40
int3
call fcn.180001ce0
int3
call fcn.180001ce0
int3