Function at 0x180001d50
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x580
mov rax, qword [0x180022010]
xor rax, rsp
mov qword [rsp + 0x570], rax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x60], rcx
xor edi, edi
movups xmm0, xmmword [str.Keet96vUkMdJThac]
movups xmmword [r11 - 0x58], xmm0
movzx eax, byte [0x18001ed38]
mov byte [r11 - 0x48], al
movups xmm0, xmmword [str.ivnpFrICQCEKklCi]
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0xa8], xmm0
movzx eax, byte [0x18001ed50]
mov byte [rsp + 0xb8], al
lea rcx, [r11 - 0x520]
call fcn.180001270
nop
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0x40], rbx
lea rcx, [rbx + 1]
call fcn.18000336c
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x88]
cmp qword [rsp + 0xa0], 0x10
cmovae rdx, qword [rsp + 0x88]
inc rbx
mov r8, rbx
mov rcx, rax
call fcn.180008940
mov rcx, rbx
call fcn.18000336c
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x88]
cmp qword [rsp + 0xa0], 0x10
cmovae rdx, qword [rsp + 0x88]
mov r8, rbx
mov rcx, rax
call fcn.180008940
lea rax, vtable.AES.0
mov qword [rsp + 0xd0], rax
mov byte [rsp + 0xd8], dil
mov qword [rsp + 0x49c], rdi
mov qword [rsp + 0x4a0], 0x10
mov eax, 0x10
mov dword [rsp + 0x49c], eax
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rsp + 0x4a8], xmm0
movsxd r8, eax
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x4c8]
call fcn.180008940
mov ecx, dword [rsp + 0x49c]
mov r12d, dword [rsp + 0x4a0]
cmp ecx, 0x10
je 0x180001ecd
lea esi, [rdi + 0xe]
cmp ecx, 0x18
jne 0x180001eeb
mov eax, 0xc
cmp r12d, 0x20
cmovne esi, eax
jmp 0x180001eeb
cmp r12d, 0x10
jne 0x180001eda
lea esi, [r12 - 6]
jmp 0x180001eeb
mov esi, 0xe
mov eax, 0xc
cmp r12d, 0x18
cmove esi, eax
mov dword [rsp + 0x4a4], esi
mov eax, r12d
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd r13, eax
test esi, esi
js 0x180001f50
lea r14, [rsp + 0xdc]
nop dword [rax]
lea rbx, [r13*4]
test r13d, r13d
jle 0x180001f35
mov r8, rbx
and r8, 0xfffffffffffffffc
xor edx, edx
mov rcx, r14
call fcn.180004d80
mov esi, dword [rsp + 0x4a4]
inc edi
add r14, 0x20
cmp edi, esi
jle 0x180001f10
mov r12d, dword [rsp + 0x4a0]
mov ecx, dword [rsp + 0x49c]
jmp 0x180001f58
lea rbx, [r13*4]
xor edi, edi
test esi, esi
js 0x180001f9c
lea r14, [rsp + 0x2bc]
test r13d, r13d
jle 0x180001f83
mov r8, rbx
and r8, 0xfffffffffffffffc
xor edx, edx
mov rcx, r14
call fcn.180004d80
mov esi, dword [rsp + 0x4a4]
inc edi
add r14, 0x20
cmp edi, esi
jle 0x180001f66
mov r12d, dword [rsp + 0x4a0]
mov ecx, dword [rsp + 0x49c]
lea r14d, [rsi + 1]
imul r14d, r13d
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd rbx, eax
lea r10, [rsp + 0x4e8]
lea r9, [rsp + 0x550]
test eax, eax
jle 0x180002018
mov r11d, ebx
nop dword [rax]
movzx r8d, byte [r9]
movzx eax, byte [r9 + 1]
movzx ecx, byte [r9 + 2]
movzx edx, byte [r9 + 3]
lea r9, [r9 + 4]
shl r8d, 8
or r8d, eax
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, edx
mov dword [r10], r8d
lea r10, [r10 + 4]
sub r11, 1
jne 0x180001fd0
mov esi, dword [rsp + 0x4a4]
mov r12d, dword [rsp + 0x4a0]
xor r11d, r11d
xor r10d, r10d
mov rdi, rbx
test ebx, ebx
jle 0x180002087
cmp r11d, r14d
jge 0x18000214e
mov eax, r11d
cdq
idiv r13d
movsxd r8, eax
movsxd r9, edx
lea rcx, [r9 + r8*8]
mov eax, dword [rsp + r10*4 + 0x4e8]
mov dword [rsp + rcx*4 + 0xdc], eax
mov eax, dword [rsp + 0x4a4]
sub eax, r8d
cdqe
lea rcx, [r9 + rax*8]
mov eax, dword [rsp + r10*4 + 0x4e8]
mov dword [rsp + rcx*4 + 0x2bc], eax
inc r10
inc r11d
cmp r10, rdi
jl 0x180002025
mov esi, dword [rsp + 0x4a4]
mov r12d, dword [rsp + 0x4a0]
cmp r11d, r14d
jge 0x18000215d
lea rsi, [0x18001e3c0]
lea rbx, [0x180000000]
nop
mov r10d, dword [rsp + rdi*4 + 0x4e4]
movzx edx, byte [rsi]
lea rsi, [rsi + 1]
movsxd r8, r10d
mov rax, r8
sar rax, 0x10
movzx ecx, al
movsx r9d, byte [rcx + rbx + 0x1ce60]
xor r9d, edx
shl r9d, 8
mov rax, r8
sar rax, 8
movzx ecx, al
movzx eax, byte [rcx + rbx + 0x1ce60]
xor r9d, eax
shl r9d, 8
movzx eax, r8b
movzx eax, byte [rax + rbx + 0x1ce60]
xor r9d, eax
shl r9d, 8
mov eax, r10d
shr rax, 0x18
movzx eax, byte [rax + rbx + 0x1ce60]
xor r9d, eax
xor dword [rsp + 0x4e8], r9d
mov ecx, 1
cmp edi, 8
je 0x180002630
cmp rcx, rdi
jge 0x1800026db
nop dword [rax]
mov eax, dword [rsp + rcx*4 + 0x4e4]
xor dword [rsp + rcx*4 + 0x4e8], eax
inc rcx
cmp rcx, rdi
jl 0x180002130
xor r10d, r10d
jmp 0x1800026e3
mov esi, dword [rsp + 0x4a4]
mov r12d, dword [rsp + 0x4a0]
lea rbx, [0x180000000]
mov r14d, 1
cmp esi, r14d
jle 0x1800021fc
lea rdi, [rsp + 0x2dc]
nop dword [rax + rax]
test r13d, r13d
jle 0x1800021e8
mov r10, rdi
mov r11, r13
nop dword [rax + rax]
mov eax, dword [r10]
movsxd r9, eax
mov edx, eax
shr rdx, 0x18
mov rax, r9
sar rax, 0x10
movzx ecx, al
mov r8d, dword [rbx + rdx*4 + 0x1e7e0]
xor r8d, dword [rbx + rcx*4 + 0x1cf60]
mov rax, r9
sar rax, 8
movzx ecx, al
xor r8d, dword [rbx + rcx*4 + 0x1d760]
movzx eax, r9b
xor r8d, dword [rbx + rax*4 + 0x1e3e0]
mov dword [r10], r8d
lea r10, [r10 + 4]
sub r11, 1
jne 0x180002190
mov esi, dword [rsp + 0x4a4]
inc r14d
add rdi, 0x20
cmp r14d, esi
jl 0x180002180
mov r12d, dword [rsp + 0x4a0]
mov byte [rsp + 0xd8], 1
mov r15, qword [rsp + 0x40]
test r15, r15
je 0x180002a93
movsxd rcx, r12d
xor edx, edx
mov rax, r15
div rcx
test rdx, rdx
jne 0x180002a93
xor r14d, r14d
mov dword [rsp + 0x24], r14d
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x48], rdi
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x30], rcx
test rax, rax
je 0x180002a93
nop dword [rax + rax]
mov r8, rdi
cmp byte [rsp + 0xd8], 0
je 0x180002a06
cmp r12d, 0x10
jne 0x18000274f
movzx r8d, byte [rdi]
lea r9, [rdi + 1]
movzx eax, byte [r9]
movzx ecx, byte [r9 + 1]
movzx edx, byte [r9 + 2]
shl r8d, 8
or r8d, eax
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, edx
mov edi, dword [rsp + 0x2bc]
xor edi, r8d
mov dword [rsp + 0x20], edi
movzx r8d, byte [r9 + 3]
movzx eax, byte [r9 + 4]
movzx ecx, byte [r9 + 5]
movzx edx, byte [r9 + 6]
shl r8d, 8
or r8d, eax
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, edx
mov r13d, dword [rsp + 0x2c0]
xor r13d, r8d
movzx r14d, byte [r9 + 7]
movzx eax, byte [r9 + 8]
movzx ecx, byte [r9 + 9]
movzx edx, byte [r9 + 0xa]
shl r14d, 8
or r14d, eax
shl r14d, 8
or r14d, ecx
shl r14d, 8
or r14d, edx
xor r14d, dword [rsp + 0x2c4]
movzx r15d, byte [r9 + 0xb]
movzx eax, byte [r9 + 0xc]
movzx ecx, byte [r9 + 0xd]
movzx edx, byte [r9 + 0xe]
shl r15d, 8
or r15d, eax
shl r15d, 8
or r15d, ecx
shl r15d, 8
or r15d, edx
xor r15d, dword [rsp + 0x2c8]
cmp esi, 1
jle 0x180002498
lea r8, [rsp + 0x2e4]
mov qword [rsp + 0x28], r8
lea ecx, [rsi - 1]
mov qword [rsp + 0x38], rcx
nop dword [rax + rax]
movsxd r9, r15d
movsxd r10, r14d
movsxd r11, r13d
mov edx, edi
shr rdx, 0x18
mov rax, r10
sar rax, 8
movzx ecx, al
mov edi, dword [rbx + rdx*4 + 0x1df60]
xor edi, dword [rbx + rcx*4 + 0x1ca60]
mov rax, r9
sar rax, 0x10
movzx ecx, al
xor edi, dword [rbx + rcx*4 + 0x1ba60]
movzx eax, r11b
xor edi, dword [rbx + rax*4 + 0x1db60]
xor edi, dword [r8 - 8]
movsxd r8, dword [rsp + 0x20]
mov edx, r13d
shr rdx, 0x18
mov rax, r9
sar rax, 8
movzx ecx, al
mov r13d, dword [rbx + rdx*4 + 0x1df60]
xor r13d, dword [rbx + rcx*4 + 0x1ca60]
mov rax, r8
sar rax, 0x10
movzx ecx, al
xor r13d, dword [rbx + rcx*4 + 0x1ba60]
movzx eax, r10b
xor r13d, dword [rbx + rax*4 + 0x1db60]
mov rax, qword [rsp + 0x28]
xor r13d, dword [rax - 4]
mov edx, r14d
shr rdx, 0x18
mov rax, r11
sar rax, 0x10
movzx ecx, al
mov r14d, dword [rbx + rdx*4 + 0x1df60]
xor r14d, dword [rbx + rcx*4 + 0x1ba60]
mov rax, r8
sar rax, 8
movzx ecx, al
xor r14d, dword [rbx + rcx*4 + 0x1ca60]
movzx eax, r9b
xor r14d, dword [rbx + rax*4 + 0x1db60]
mov rax, qword [rsp + 0x28]
xor r14d, dword [rax]
mov ecx, r15d
shr rcx, 0x18
sar r10, 0x10
movzx eax, r10b
mov r15d, dword [rbx + rcx*4 + 0x1df60]
xor r15d, dword [rbx + rax*4 + 0x1ba60]
sar r11, 8
movzx eax, r11b
xor r15d, dword [rbx + rax*4 + 0x1ca60]
movzx eax, r8b
xor r15d, dword [rbx + rax*4 + 0x1db60]
mov r8, qword [rsp + 0x28]
xor r15d, dword [r8 + 4]
mov dword [rsp + 0x20], edi
add r8, 0x20
mov qword [rsp + 0x28], r8
sub qword [rsp + 0x38], 1
jne 0x180002360
movsxd rax, esi
shl rax, 5
lea rdi, [rsp + 0x2bc]
add rdi, rax
mov edx, dword [rdi]
movsxd r8, dword [rsp + 0x20]
mov ecx, r8d
shr rcx, 0x18
mov eax, edx
sar eax, 0x18
xor al, byte [rcx + rbx + 0x1b960]
mov rsi, qword [rsp + 0x30]
mov byte [rsi], al
movsxd r9, r15d
mov rax, r9
sar rax, 0x10
movzx ecx, al
mov eax, edx
sar eax, 0x10
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 1], al
movsxd r11, r14d
mov rax, r11
sar rax, 8
movzx ecx, al
mov eax, edx
sar eax, 8
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 2], al
movsxd r10, r13d
movzx eax, r10b
xor dl, byte [rax + rbx + 0x1b960]
mov byte [rsi + 3], dl
mov edx, dword [rdi + 4]
mov ecx, r13d
shr rcx, 0x18
mov eax, edx
sar eax, 0x18
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 4], al
mov rax, r8
sar rax, 0x10
movzx ecx, al
mov eax, edx
sar eax, 0x10
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 5], al
mov rax, r9
sar rax, 8
movzx ecx, al
mov eax, edx
sar eax, 8
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 6], al
movzx eax, r11b
xor dl, byte [rax + rbx + 0x1b960]
mov byte [rsi + 7], dl
mov edx, dword [rdi + 8]
mov ecx, r14d
shr rcx, 0x18
mov eax, edx
sar eax, 0x18
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 8], al
mov rax, r10
sar rax, 0x10
movzx ecx, al
mov eax, edx
sar eax, 0x10
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 9], al
mov rax, r8
sar rax, 8
movzx ecx, al
mov eax, edx
sar eax, 8
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 0xa], al
movzx eax, r9b
xor dl, byte [rax + rbx + 0x1b960]
mov byte [rsi + 0xb], dl
mov edx, dword [rdi + 0xc]
mov ecx, r15d
shr rcx, 0x18
mov eax, edx
sar eax, 0x18
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 0xc], al
sar r11, 0x10
movzx ecx, r11b
mov eax, edx
sar eax, 0x10
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 0xd], al
sar r10, 8
movzx ecx, r10b
mov eax, edx
sar eax, 8
xor al, byte [rcx + rbx + 0x1b960]
mov byte [rsi + 0xe], al
movzx eax, r8b
xor dl, byte [rax + rbx + 0x1b960]
mov byte [rsi + 0xf], dl
mov rdi, qword [rsp + 0x48]
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x40]
jmp 0x180002a0b
mov eax, dword [rsp + rcx*4 + 0x4e4]
xor dword [rsp + rcx*4 + 0x4e8], eax
inc rcx
cmp rcx, 4
jl 0x180002630
mov eax, dword [rsp + 0x4f4]
movsxd rdx, eax
mov ecx, eax
shr rcx, 0x18
movsx r8d, byte [rcx + rbx + 0x1ce60]
shl r8d, 8
mov rax, rdx
sar rax, 0x10
movzx ecx, al
movzx eax, byte [rcx + rbx + 0x1ce60]
xor r8d, eax
shl r8d, 8
mov rax, rdx
sar rax, 8
movzx ecx, al
movzx eax, byte [rcx + rbx + 0x1ce60]
xor r8d, eax
shl r8d, 8
movzx eax, dl
movzx eax, byte [rax + rbx + 0x1ce60]
xor r8d, eax
xor dword [rsp + 0x4f8], r8d
mov ecx, 5
cmp rdi, rcx
jle 0x1800026db
nop word [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x4e4]
xor dword [rsp + rcx*4 + 0x4e8], eax
inc rcx
cmp rcx, rdi
jl 0x1800026c0
xor r10d, r10d
jmp 0x1800026e3
xor r10d, r10d
test rdi, rdi
jle 0x180002732
cmp r11d, r14d
jge 0x18000273b
mov eax, r11d
cdq
idiv r13d
movsxd r8, eax
movsxd r9, edx
lea rcx, [r9 + r8*8]
mov eax, dword [rsp + r10*4 + 0x4e8]
mov dword [rsp + rcx*4 + 0xdc], eax
mov eax, dword [rsp + 0x4a4]
sub eax, r8d
cdqe
lea rcx, [r9 + rax*8]
mov eax, dword [rsp + r10*4 + 0x4e8]
mov dword [rsp + rcx*4 + 0x2bc], eax
inc r10
inc r11d
cmp r10, rdi
jl 0x1800026e3
cmp r11d, r14d
jl 0x1800020a0
mov esi, dword [rsp + 0x4a4]
mov r12d, dword [rsp + 0x4a0]
jmp 0x180002164
mov eax, r12d
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd rdi, eax
xor eax, eax
cmp edi, 4
je 0x18000276e
cmp edi, 6
setne al
inc rax
shl rax, 5
mov r15d, dword [rax + rbx + 0x1e36c]
mov dword [rsp + 0x20], r15d
mov r13d, dword [rax + rbx + 0x1e374]
mov r11d, dword [rax + rbx + 0x1e37c]
mov dword [rsp + 0x28], r11d
lea r9, [rsp + 0x528]
xor r10d, r10d
test edi, edi
jle 0x180002801
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r8 + 1]
movzx ecx, byte [r8 + 2]
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
shl edx, 8
mov dword [r9], edx
movzx eax, byte [r8 + 3]
lea r8, [r8 + 4]
mov rcx, r9
add r9, 4
or edx, eax
xor edx, dword [rsp + r10*4 + 0x2bc]
mov dword [rcx], edx
inc r10
cmp r10, rdi
jl 0x1800027b0
mov esi, dword [rsp + 0x4a4]
mov r12d, dword [rsp + 0x4a0]
mov dword [rsp + 0x38], 1
cmp esi, 1
jle 0x18000292f
lea eax, [rdi*4]
cdqe
mov qword [rsp + 0x68], rax
mov r12, 0xfffffffffffffdb4
nop word [rax + rax]
xor r11d, r11d
test edi, edi
jle 0x1800028e8
mov r10d, r15d
mov esi, r13d
sub esi, r15d
mov r15d, dword [rsp + 0x28]
sub r15d, dword [rsp + 0x20]
nop
lea eax, [rsi + r10]
cdq
idiv edi
movsxd rax, edx
mov ecx, dword [rsp + rax*4 + 0x528]
sar rcx, 8
movzx r8d, cl
lea eax, [r15 + r10]
cdq
idiv edi
movsxd rax, edx
movzx ecx, byte [rsp + rax*4 + 0x528]
mov r9d, dword [rbx + r8*4 + 0x1ca60]
xor r9d, dword [rbx + rcx*4 + 0x1db60]
mov eax, r10d
cdq
idiv edi
movsxd rax, edx
mov ecx, dword [rsp + rax*4 + 0x528]
sar rcx, 0x10
movzx eax, cl
xor r9d, dword [rbx + rax*4 + 0x1ba60]
movzx eax, byte [rsp + r11*4 + 0x52b]
xor r9d, dword [rbx + rax*4 + 0x1df60]
lea rax, [r12 + r11*4]
xor r9d, dword [rsp + rax + 0x528]
mov dword [rsp + r11*4 + 0x508], r9d
inc r10d
inc r11
cmp r11, rdi
jl 0x180002850
mov r15d, dword [rsp + 0x20]
mov rax, qword [rsp + 0x68]
mov r8, rax
lea rdx, [rsp + 0x508]
lea rcx, [rsp + 0x528]
call fcn.180008940
mov ecx, dword [rsp + 0x38]
inc ecx
mov dword [rsp + 0x38], ecx
add r12, 0x20
mov esi, dword [rsp + 0x4a4]
cmp ecx, esi
mov rax, qword [rsp + 0x68]
jl 0x180002830
mov r12d, dword [rsp + 0x4a0]
mov r11d, dword [rsp + 0x28]
xor r10d, r10d
test edi, edi
jle 0x1800029f7
movsxd rsi, esi
mov r9, qword [rsp + 0x30]
shl rsi, 5
sub r15d, r13d
sub r11d, r13d
nop dword [rax]
lea rax, [rsi + r10*4]
mov r8d, dword [rsp + rax + 0x2bc]
movzx ecx, byte [rsp + r10*4 + 0x52b]
mov eax, r8d
sar eax, 0x18
xor al, byte [rcx + rbx + 0x1b960]
mov byte [r9], al
lea eax, [r15 + r13]
cdq
idiv edi
movsxd rax, edx
mov ecx, dword [rsp + rax*4 + 0x528]
sar rcx, 0x10
movzx edx, cl
mov eax, r8d
sar eax, 0x10
xor al, byte [rdx + rbx + 0x1b960]
mov byte [r9 + 1], al
mov eax, r13d
cdq
idiv edi
movsxd rax, edx
mov ecx, dword [rsp + rax*4 + 0x528]
sar rcx, 8
movzx edx, cl
mov eax, r8d
sar eax, 8
xor al, byte [rdx + rbx + 0x1b960]
mov byte [r9 + 2], al
lea eax, [r11 + r13]
cdq
idiv edi
movsxd rax, edx
movzx ecx, byte [rsp + rax*4 + 0x528]
xor r8b, byte [rcx + rbx + 0x1b960]
mov byte [r9 + 3], r8b
lea r9, [r9 + 4]
inc r13d
inc r10
cmp r10, rdi
jl 0x180002950
mov r15, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x24]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
cmp byte [rsp + 0xd8], 0
je 0x180002a41
test r12d, r12d
jle 0x180002a41
lea r8, [rsp + 0x4c8]
sub r8, rsi
mov edx, r12d
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180002a30
movsxd r8, r12d
mov rdx, rdi
lea rcx, [rsp + 0x4c8]
call fcn.180008940
movsxd r12, dword [rsp + 0x4a0]
add rdi, r12
mov qword [rsp + 0x48], rdi
add rsi, r12
mov qword [rsp + 0x30], rsi
inc r14d
mov dword [rsp + 0x24], r14d
xor edx, edx
mov rax, r15
div r12
mov rcx, rax
movsxd rax, r14d
cmp rax, rcx
jae 0x180002a93
mov esi, dword [rsp + 0x4a4]
jmp 0x180002250
mov rbx, qword [rsp + 0x50]
movzx r9d, byte [rbx + r15 - 1]
lea edx, [r15 - 1]
movsx rax, r9b
mov r8, r15
sub r8, rax
movsxd rax, edx
cmp rax, r8
jb 0x180002adc
lea rcx, [rax + rbx]
cmp byte [rcx], r9b
jne 0x180002acf
mov byte [rcx], 0
dec edx
dec rcx
movsxd rax, edx
cmp rax, r8
jae 0x180002ab8
jmp 0x180002adc
mov r8, r15
xor edx, edx
mov rcx, rbx
call fcn.180004d80
mov rdx, rbx
lea rcx, [rsp + 0xa8]
call fcn.180001650
mov rcx, qword [rsp + 0x58]
call fcn.180002ce0
mov rcx, rbx
call fcn.180002ce0
mov rbx, qword [rsp + 0x80]
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0xb8]
movups xmmword [rbx + 0x10], xmm1
mov rdx, qword [rsp + 0xa0]
cmp rdx, 0x10
jb 0x180002b6c
inc rdx
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002b67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180002ba3
call fcn.180002ce0
mov rax, rbx
jmp 0x180002b76
mov rcx, qword [rsp + 0x570]
xor rcx, rsp
call fcn.180002cc0
lea r11, [rsp + 0x580]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.180009478
int3