Function at 0x18003cb60
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x448]
sub rsp, 0x520
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1801ad040]
xor rax, rsp
mov qword [rbp + 0x3f0], rax
mov ebx, ecx
mov dword [rbp + 0x2e0], ecx
xor r13d, r13d
mov r12d, r13d
mov dword [rsp + 0x40], r13d
lea rcx, [rbp + 0x168]
call fcn.180096720
mov edx, ebx
mov rcx, rax
call fcn.180099360
test al, al
je 0x18003cbe0
lea rdx, [rbp + 0x2e0]
call fcn.180096620
mov rax, qword [rax]
jmp 0x18003dff4
call fcn.18003b8b0
mov rdi, rax
mov qword [rsp + 0x68], rax
mov rcx, rax
call fcn.18003b780
mov rsi, rax
mov qword [rbp + 0x60], rax
mov ebx, r13d
mov dword [rsp + 0x4c], ebx
mov rcx, rdi
call fcn.18003b640
test rax, rax
je 0x18003dff2
mov rdi, r13
mov qword [rsp + 0x60], r13
nop dword [rax]
mov rax, qword [rsi + rdi*8]
mov r15, qword [rax]
mov qword [rbp + 0x58], r15
mov r14d, r13d
mov dword [rsp + 0x48], r13d
mov rcx, r15
call fcn.18003b2d0
test rax, rax
je 0x18003dfce
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r15]
xorps xmm0, xmm0
movups xmmword [rbp + 0x2c0], xmm0
mov qword [rbp + 0x2d0], r13
mov qword [rbp + 0x2d8], r13
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x18003cc72
lea rcx, [rbp + 0x2c0]
call fcn.180010f30
nop
movabs rax, 0x193737960121cc8d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x80], rax
movabs rcx, 0x6876da3333fadd88
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
movabs rax, 0x193737966d4da8a3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3a0], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3a8], rax
movdqa xmm0, xmmword [rbp - 0x80]
xorps xmm0, xmmword [rbp + 0x3a0]
movdqa xmmword [rbp - 0x80], xmm0
lea rax, [rbp - 0x80]
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rax + rdx], 0
jne 0x18003cd01
lea rcx, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
seta sil
mov rdi, qword [rbp + 0x2c0]
cmova rcx, rdi
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x80]
mov rbx, qword [rbp + 0x2d0]
mov rdx, rbx
call fcn.18009a9a0
cmp rbx, rax
jb 0x18003e0b0
mov rcx, rbx
sub rcx, rax
mov edx, 4
cmp rcx, rdx
cmovb rdx, rcx
lea rcx, [rbp + 0x2c0]
test sil, sil
cmovne rcx, rdi
add rcx, rax
sub rbx, rdx
mov r8, rbx
sub r8, rax
inc r8
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x2d0], rbx
movsxd rdx, r14d
mov rcx, r15
call fcn.18003b3f0
mov r15, rax
mov qword [rbp + 0x50], rax
test rax, rax
jne 0x18003cda3
jmp 0x18003df95
mov rsi, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rbp + 0x178], xmm0
mov qword [rbp + 0x188], r13
mov qword [rbp + 0x190], r13
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x18003cdd0
mov rdx, rdi
lea rcx, [rbp + 0x178]
call fcn.180010f30
cmp qword [rbp + 0x188], 0
sete bl
lea rcx, [rbp + 0x178]
call fcn.180010460
test bl, bl
je 0x18003cfb5
movabs rax, 0x193737966d4d9299
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x70], rax
movabs rcx, 0x6876da3333fadd88
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x68], rax
movabs rax, 0x193737966d4da8a3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3e0], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3e8], rax
movdqa xmm0, xmmword [rbp - 0x70]
xorps xmm0, xmmword [rbp + 0x3e0]
movdqa xmmword [rbp - 0x70], xmm0
lea rax, [rbp - 0x70]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x18003ce80
movabs rax, 0x7fffffffffffffff
mov rdx, qword [rbp + 0x2d0]
sub rax, rdx
cmp rax, rcx
jb 0x18003e0b6
lea r9, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
cmova r9, qword [rbp + 0x2c0]
mov qword [rsp + 0x30], rcx
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x1d8]
call fcn.180011d10
bts r12d, 0xe
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rsi + r8], 0
jne 0x18003cef0
mov rdx, rsi
lea rcx, [rbp + 0x1d8]
call fcn.1800104c0
movups xmm6, xmmword [rax]
movups xmmword [rbp + 0x198], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1a8], xmm7
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
bts r12d, 0xd
mov rdx, qword [rbp + 0x2d8]
cmp rdx, 0xf
jbe 0x18003cf75
inc rdx
mov rcx, qword [rbp + 0x2c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003cf70
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003e036
call fcn.180149c8c
movups xmmword [rbp + 0x2c0], xmm6
movups xmmword [rbp + 0x2d0], xmm7
mov qword [rbp + 0x1a8], rdi
mov qword [rbp + 0x1b0], 0xf
mov byte [rbp + 0x198], dil
lea rcx, [rbp + 0x198]
call fcn.180010460
nop
lea rcx, [rbp + 0x1d8]
jmp 0x18003d28a
movabs rdx, 0x193737966d4d9299
mov qword [rsp + 0x40], rdx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x60], rax
movabs rbx, 0x6876da3333fadd88
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x58], rax
movabs rcx, 0x193737966d4da8a3
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x390], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x398], rax
movdqa xmm0, xmmword [rbp - 0x60]
xorps xmm0, xmmword [rbp + 0x390]
movdqa xmmword [rbp - 0x60], xmm0
mov qword [rsp + 0x40], rdx
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x380], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x388], rax
movdqa xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rbp + 0x380]
movdqa xmmword [rsp + 0x50], xmm0
lea rax, [rsp + 0x50]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x18003d081
movabs rax, 0x7fffffffffffffff
mov rdx, qword [rbp + 0x2d0]
sub rax, rdx
cmp rax, rcx
jb 0x18003e0aa
lea r9, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
cmova r9, qword [rbp + 0x2c0]
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x1f8]
call fcn.180011d10
bts r12d, 0xf
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x18003d0f0
mov rdx, rdi
lea rcx, [rbp + 0x1f8]
call fcn.1800104c0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
xor edi, edi
mov qword [rbp + 0xd8], rdi
mov qword [rbp + 0xe0], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xc8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xd8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
lea rax, [rbp - 0x60]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18003d152
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0xc8]
call fcn.1800104c0
xorps xmm0, xmm0
movups xmmword [rbp + 0xe8], xmm0
mov qword [rbp + 0xf8], rdi
mov qword [rbp + 0x100], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xe8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xf8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rsi + r8], 0
jne 0x18003d1b0
mov rdx, rsi
lea rcx, [rbp + 0xe8]
call fcn.1800104c0
movups xmm6, xmmword [rax]
movups xmmword [rbp + 0x1b8], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rbp + 0x1c8], xmm7
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r12d, 0x70000
mov rdx, qword [rbp + 0x2d8]
cmp rdx, 0xf
jbe 0x18003d235
inc rdx
mov rcx, qword [rbp + 0x2c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d230
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003e03d
call fcn.180149c8c
movups xmmword [rbp + 0x2c0], xmm6
movups xmmword [rbp + 0x2d0], xmm7
mov qword [rbp + 0x1c8], rdi
mov qword [rbp + 0x1d0], 0xf
mov byte [rbp + 0x1b8], 0
lea rcx, [rbp + 0x1b8]
call fcn.180010460
nop
lea rcx, [rbp + 0xe8]
call fcn.180010460
nop
lea rcx, [rbp + 0xc8]
call fcn.180010460
nop
lea rcx, [rbp + 0x1f8]
call fcn.180010460
mov qword [rbp + 0x298], rdi
lea rdx, [rbp + 0x298]
mov rcx, r15
call fcn.18003b070
mov r13, rax
test rax, rax
je 0x18003df92
movabs rsi, 0x6876da3333fadd88
nop dword [rax + rax]
mov rcx, r13
call fcn.18003abf0
mov rbx, rax
movabs rax, 0x193737966d4d9299
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
mov qword [rbp - 0x50], rcx
mov qword [rsp + 0x40], rsi
mov rcx, qword [rsp + 0x40]
mov qword [rbp - 0x48], rcx
movabs rax, 0x193737966d4da8a3
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
mov qword [rbp + 0x370], rcx
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x378], rax
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp + 0x370]
movdqa xmmword [rbp - 0x50], xmm0
lea rax, [rbp - 0x50]
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x18003d340
movabs r14, 0x7fffffffffffffff
mov rax, r14
mov rdx, qword [rbp + 0x2d0]
sub rax, rdx
cmp rax, rcx
jb 0x18003e0e6
lea r9, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
cmova r9, qword [rbp + 0x2c0]
mov qword [rsp + 0x30], rcx
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x218]
call fcn.180011d10
nop
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18003d3b0
mov rdx, rbx
lea rcx, [rbp + 0x218]
call fcn.1800104c0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x2a0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x2b0], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rbp + 0x218]
call fcn.180010460
mov rcx, r13
call fcn.18003a890
test eax, eax
je 0x18003dc1b
movabs rax, 0x193737966d4da88b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x38], rax
movabs rbx, 0x193737966d4da8a3
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x360], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x368], rax
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x360]
movdqa xmmword [rbp - 0x40], xmm0
lea rax, [rbp - 0x40]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x18003d477
mov rax, r14
mov rdx, qword [rbp + 0x2b0]
sub rax, rdx
cmp rax, rcx
jb 0x18003e0d4
lea r9, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova r9, qword [rbp + 0x2a0]
mov qword [rsp + 0x30], rcx
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0xa8]
call fcn.180011d10
or r12d, 0x1180
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0xf
jbe 0x18003d514
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d50f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003e044
call fcn.180149c8c
movups xmm0, xmmword [rbp + 0xa8]
movups xmmword [rbp + 0x2a0], xmm0
movups xmm1, xmmword [rbp + 0xb8]
movups xmmword [rbp + 0x2b0], xmm1
mov qword [rbp + 0xb8], rdi
mov qword [rbp + 0xc0], 0xf
mov byte [rbp + 0xa8], 0
lea rcx, [rbp + 0xa8]
call fcn.180010460
mov r14d, edi
mov rcx, r13
call fcn.18003a890
test eax, eax
je 0x18003d8e4
nop dword [rax + rax]
mov edx, r14d
mov rcx, r13
call fcn.18003aad0
mov rcx, rax
call fcn.18003a770
xorps xmm0, xmm0
movups xmmword [rbp + 0x2e8], xmm0
mov qword [rbp + 0x2f8], rdi
mov qword [rbp + 0x300], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18003d5a2
mov rdx, rax
lea rcx, [rbp + 0x2e8]
call fcn.180010f30
nop
movabs rax, 0x193737966d4da88d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x30], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x28], rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x350], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x358], rax
movdqa xmm0, xmmword [rbp - 0x30]
xorps xmm0, xmmword [rbp + 0x350]
movdqa xmmword [rbp - 0x30], xmm0
lea rax, [rbp - 0x30]
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rax + rdx], 0
jne 0x18003d620
lea rcx, [rbp + 0x2e8]
cmp qword [rbp + 0x300], 0xf
seta sil
mov rdi, qword [rbp + 0x2e8]
cmova rcx, rdi
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x30]
mov rbx, qword [rbp + 0x2f8]
mov rdx, rbx
call fcn.18009a9a0
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xor eax, eax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
cmp rbx, rcx
jb 0x18003e0c2
sub rbx, rcx
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
lea rdx, [rbp + 0x2e8]
test sil, sil
cmovne rdx, rdi
add rdx, rcx
lea rcx, [rbp + 0x30]
call fcn.180010f30
mov rdx, qword [rbp + 0x300]
cmp rdx, 0xf
jbe 0x18003d6e9
inc rdx
mov rcx, qword [rbp + 0x2e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d6e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003e04b
call fcn.180149c8c
movups xmm0, xmmword [rbp + 0x30]
movups xmmword [rbp + 0x2e8], xmm0
movups xmm1, xmmword [rbp + 0x40]
movups xmmword [rbp + 0x2f8], xmm1
xor edi, edi
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], dil
lea rcx, [rbp + 0x30]
call fcn.180010460
movabs rax, 0x193737966d4da88f
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x20], rax
movabs rsi, 0x6876da3333fadd88
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x18], rax
movabs rbx, 0x193737966d4da8a3
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3d0], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3d8], rax
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rbp + 0x3d0]
movdqa xmmword [rbp - 0x20], xmm0
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rbp + 0x2b0]
sub rax, rcx
mov rdx, qword [rbp + 0x2f8]
cmp rax, rdx
jb 0x18003e0bc
lea r9, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova r9, qword [rbp + 0x2a0]
lea rax, [rbp + 0x2e8]
cmp qword [rbp + 0x300], 0xf
cmova rax, qword [rbp + 0x2e8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x238]
call fcn.180011d10
nop
lea rax, [rbp - 0x20]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18003d800
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x238]
call fcn.1800104c0
movups xmm6, xmmword [rax]
movups xmmword [rbp + 0x108], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rbp + 0x118], xmm7
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or r12d, 0x43
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0xf
jbe 0x18003d883
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d87e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003e052
call fcn.180149c8c
movups xmmword [rbp + 0x2a0], xmm6
movups xmmword [rbp + 0x2b0], xmm7
mov qword [rbp + 0x118], rdi
mov qword [rbp + 0x120], 0xf
mov byte [rbp + 0x108], 0
lea rcx, [rbp + 0x108]
call fcn.180010460
nop
lea rcx, [rbp + 0x238]
call fcn.180010460
nop
lea rcx, [rbp + 0x2e8]
call fcn.180010460
inc r14d
mov rcx, r13
call fcn.18003a890
cmp r14d, eax
jb 0x18003d570
mov rcx, r13
call fcn.18003a9b0
mov rcx, rax
call fcn.18003a770
xorps xmm0, xmm0
movups xmmword [rbp + 0x308], xmm0
mov qword [rbp + 0x318], rdi
mov qword [rbp + 0x320], rdi
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18003d913
mov rdx, rax
lea rcx, [rbp + 0x308]
call fcn.180010f30
nop
mov rax, qword [rbp + 0x2b0]
lea r8, [rax - 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], rdi
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova rdx, qword [rbp + 0x2a0]
lea rcx, [rbp + 0x10]
call fcn.180010f30
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0xf
jbe 0x18003d9af
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003d9aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003e059
call fcn.180149c8c
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rbp + 0x2a0], xmm0
movups xmm1, xmmword [rbp + 0x20]
movups xmmword [rbp + 0x2b0], xmm1
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
lea rcx, [rbp + 0x10]
call fcn.180010460
lea rcx, [rbp + 0x308]
cmp qword [rbp + 0x320], 0xf
seta sil
mov rdi, qword [rbp + 0x308]
cmova rcx, rdi
mov qword [rsp + 0x20], 1
lea r9, [0x180191318]
mov rbx, qword [rbp + 0x318]
mov rdx, rbx
call fcn.18009a9a0
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x128], xmm0
xor eax, eax
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], rax
cmp rbx, rcx
jb 0x18003e0ce
sub rbx, rcx
mov r8, 0xffffffffffffffff
cmp rbx, r8
cmovb r8, rbx
lea rdx, [rbp + 0x308]
test sil, sil
cmovne rdx, rdi
add rdx, rcx
lea rcx, [rbp + 0x128]
call fcn.180010f30
nop
movabs rax, 0x193737966d6d928a
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x10], rax
movabs rsi, 0x6876da3333fadd88
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp - 8], rax
movabs rax, 0x193737966d4da8a3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3c0], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3c8], rax
movdqa xmm0, xmmword [rbp - 0x10]
xorps xmm0, xmmword [rbp + 0x3c0]
movdqa xmmword [rbp - 0x10], xmm0
lea rax, [rbp - 0x10]
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x18003daf0
movabs rax, 0x7fffffffffffffff
mov rdx, qword [rbp + 0x2b0]
sub rax, rdx
cmp rax, rcx
jb 0x18003e0c8
lea r9, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova r9, qword [rbp + 0x2a0]
mov qword [rsp + 0x30], rcx
lea rax, [rbp - 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x258]
call fcn.180011d10
nop
lea r9, [rbp + 0x128]
lea r8, [rbp + 0x258]
lea rcx, [rbp + 0x88]
call fcn.18009ae60
or r12d, 0x3c
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0xf
jbe 0x18003dbac
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003dba7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003e060
call fcn.180149c8c
movups xmm7, xmmword [rbp + 0x88]
movups xmmword [rbp + 0x2a0], xmm7
movups xmm6, xmmword [rbp + 0x98]
movups xmmword [rbp + 0x2b0], xmm6
xor edi, edi
mov qword [rbp + 0x98], rdi
mov qword [rbp + 0xa0], 0xf
mov byte [rbp + 0x88], dil
lea rcx, [rbp + 0x88]
call fcn.180010460
nop
lea rcx, [rbp + 0x258]
call fcn.180010460
nop
lea rcx, [rbp + 0x128]
call fcn.180010460
nop
lea rcx, [rbp + 0x308]
call fcn.180010460
jmp 0x18003decf
mov rcx, r13
call fcn.18003a9b0
mov rcx, rax
call fcn.18003a770
xorps xmm0, xmm0
movups xmmword [rbp + 0x328], xmm0
mov qword [rbp + 0x338], rdi
mov qword [rbp + 0x340], rdi
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18003dc50
mov rdx, rax
lea rcx, [rbp + 0x328]
call fcn.180010f30
nop
lea rdi, [rbp + 0x328]
cmp qword [rbp + 0x340], 0xf
seta r15b
mov r14, qword [rbp + 0x328]
cmova rdi, r14
mov rsi, qword [rbp + 0x338]
cmp rsi, 1
jb 0x18003dce1
lea rbx, [rdi + rsi]
mov r8, rsi
mov edx, 0x2e
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18003dce1
nop
cmp byte [rax], 0x2e
jne 0x18003dcb9
xor ecx, ecx
jmp 0x18003dcbe
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18003e02e
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x2e
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18003dcb0
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x148], xmm0
xor edi, edi
mov qword [rbp + 0x158], rdi
mov qword [rbp + 0x160], rdi
cmp rsi, rcx
jb 0x18003e0e0
sub rsi, rcx
mov r8, 0xffffffffffffffff
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0x328]
test r15b, r15b
cmovne rdx, r14
add rdx, rcx
lea rcx, [rbp + 0x148]
call fcn.180010f30
nop
movabs rax, 0x193737964d77818b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp], rax
movabs rsi, 0x6876da3333fadd88
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 8], rax
movabs rax, 0x193737966d4da8a3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3b0], rax
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x3b8], rax
movdqa xmm0, xmmword [rbp]
xorps xmm0, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp], xmm0
lea rax, [rbp]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x18003ddb6
movabs rax, 0x7fffffffffffffff
mov rdx, qword [rbp + 0x2b0]
sub rax, rdx
cmp rax, rcx
jb 0x18003e0da
lea r9, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova r9, qword [rbp + 0x2a0]
mov qword [rsp + 0x30], rcx
lea rax, [rbp]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x278]
call fcn.180011d10
nop
lea r9, [rbp + 0x148]
lea r8, [rbp + 0x278]
lea rcx, [rbp + 0x68]
call fcn.18009ae60
or r12d, 0xf80
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0xf
jbe 0x18003de72
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003de6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003e067
call fcn.180149c8c
movups xmm7, xmmword [rbp + 0x68]
movups xmmword [rbp + 0x2a0], xmm7
movups xmm6, xmmword [rbp + 0x78]
movups xmmword [rbp + 0x2b0], xmm6
mov qword [rbp + 0x78], rdi
mov qword [rbp + 0x80], 0xf
mov byte [rbp + 0x68], 0
lea rcx, [rbp + 0x68]
call fcn.180010460
nop
lea rcx, [rbp + 0x278]
call fcn.180010460
nop
lea rcx, [rbp + 0x148]
call fcn.180010460
nop
lea rcx, [rbp + 0x328]
call fcn.180010460
mov r15, qword [rbp + 0x50]
lea rcx, [rbp + 0x2a0]
psrldq xmm6, 8
movq rax, xmm6
cmp rax, 0xf
seta r9b
movq rdx, xmm7
cmova rcx, rdx
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18003df00
lea r8, [rbp + 0x2a0]
test r9b, r9b
cmovne r8, rdx
mov edx, 0xffffffff
test eax, eax
je 0x18003df56
mov r9d, eax
lea rsi, [0x18018bdd0]
nop word [rax + rax]
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
movzx eax, cl
shr edx, 8
xor edx, dword [rsi + rax*4]
lea r8, [r8 + 1]
sub r9, 1
jne 0x18003df30
movabs rsi, 0x6876da3333fadd88
not edx
mov eax, dword [rbp + 0x2e0]
cmp edx, eax
je 0x18003e06e
lea rcx, [rbp + 0x2a0]
call fcn.180010460
lea rdx, [rbp + 0x298]
mov rcx, r15
call fcn.18003b070
mov r13, rax
test rax, rax
jne 0x18003d2c0
mov r14d, dword [rsp + 0x48]
xor r13d, r13d
lea rcx, [rbp + 0x2c0]
call fcn.180010460
inc r14d
mov dword [rsp + 0x48], r14d
mov r15, qword [rbp + 0x58]
mov rcx, r15
call fcn.18003b2d0
movsxd rcx, r14d
cmp rcx, rax
jb 0x18003cc50
mov ebx, dword [rsp + 0x4c]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rbp + 0x60]
inc ebx
mov dword [rsp + 0x4c], ebx
inc rdi
mov qword [rsp + 0x60], rdi
mov rcx, qword [rsp + 0x68]
call fcn.18003b640
movsxd rcx, ebx
cmp rcx, rax
jb 0x18003cc20
xor eax, eax
mov rcx, qword [rbp + 0x3f0]
xor rcx, rsp
call fcn.1801493c0
lea r11, [rsp + 0x520]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
sub rax, rdi
jmp 0x18003dce8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x70], r13
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0x168]
call fcn.1800993d0
nop
lea rcx, [rbp + 0x2a0]
call fcn.180010460
nop
lea rcx, [rbp + 0x2c0]
call fcn.180010460
mov rax, r13
jmp 0x18003dff4
call fcn.1800051a0
int3
call fcn.1800105c0
int3
call fcn.1800051a0
nop
call fcn.1800051a0
int3
call fcn.1800105c0
nop
call fcn.1800051a0
nop
call fcn.1800105c0
nop
call fcn.1800051a0
nop
call fcn.1800051a0
nop
call fcn.1800105c0
nop
call fcn.1800051a0
int3