Function at 0x18004f8e0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rbx
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x158]
sub rsp, 0x220
mov r9, qword [0x180209730]
xor r12d, r12d
mov r10, qword [0x180209728]
mov r13d, r12d
movzx r11d, byte [0x180209720]
mov edi, r12d
mov qword [rax - 0x40], rsi
mov r15d, r12d
mov dword [rbp + 0x160], r12d
movaps xmmword [rax - 0x58], xmm6
nop dword [rax]
test r11b, r11b
je 0x18004f940
test r10, r10
je 0x18004f94b
mov eax, dword [r10 + 0x14]
jmp 0x18004f94e
test r9, r9
je 0x18004f94b
mov eax, dword [r9 + 0xc]
jmp 0x18004f94e
mov eax, r12d
cmp edi, eax
jge 0x1800509ba
test r11b, r11b
je 0x18004f99d
test r10, r10
je 0x18004fa12
test edi, edi
js 0x18004f9b5
cmp edi, dword [r10 + 0x14]
jg 0x18004f9b5
movzx ecx, di
mov eax, edi
test edi, edi
jns 0x18004f983
lea eax, [rdi + 0xffff]
sub ecx, 0x10000
mov rdx, qword [r10]
sar eax, 0x10
movsxd r8, eax
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + r8*8]
mov rsi, qword [rax + rcx*8]
jmp 0x18004f9b8
test r9, r9
je 0x18004fa12
test edi, edi
js 0x18004f9b5
cmp edi, dword [r9 + 0xc]
jg 0x18004f9b5
mov rax, qword [r9]
mov rsi, qword [r15 + rax]
jmp 0x18004f9b8
mov rsi, r12
test rsi, rsi
je 0x18004fa12
call fcn.1800287d0
mov rbx, qword [rsi + 0x10]
mov r14, rax
test rbx, rbx
je 0x18004f9fc
nop
cmp rbx, r14
je 0x18004f9f2
mov rcx, rbx
call fcn.18004b6f0
test al, al
je 0x18004f9fc
mov eax, dword [0x180209710]
mov rbx, qword [rax + rbx]
test rbx, rbx
jne 0x18004f9d0
jmp 0x18004f9fc
mov eax, dword [rsi + 8]
shr eax, 4
test al, 1
je 0x18004fa1d
mov r9, qword [0x180209730]
mov r10, qword [0x180209728]
movzx r11d, byte [0x180209720]
inc edi
add r15, 0x18
jmp 0x18004f930
mov rcx, qword [rsi]
mov qword [rbp + 0x178], rcx
test rcx, rcx
je 0x1800509ba
mov rax, qword [rbp + 0x170]
mov rdx, r12
movss xmm6, dword [0x1800f8ae4]
mov r9d, r12d
mov dword [rbp + 0x160], r12d
mov r14, qword [rbp + 0x160]
mov r15, qword [rbp + 0x160]
mov rsi, qword [rbp + 0x160]
mov qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x168], rax
mov qword [rsp + 0x20], rdx
nop dword [rax + rax]
mov rdx, qword [rcx + rdx*8]
test rdx, rdx
je 0x18005076e
mov rax, qword gs:[0x60]
mov r8, qword [rax + 0x10]
cmp rdx, r8
jbe 0x18005076e
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x50]
add rcx, r8
cmp rdx, rcx
jae 0x180050767
cmp byte [rdx], 0xe9
jne 0x18004faeb
mov rax, qword gs:[0x60]
movsxd rbx, dword [rdx + 1]
add rbx, 5
add rbx, rdx
mov r8, qword [rax + 0x10]
cmp rbx, r8
jbe 0x18004faeb
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x50]
add rcx, r8
cmp rbx, rcx
jb 0x18004faee
mov rbx, rdx
movdqa xmm0, xmmword [0x1800f8ff0]
mov ecx, 0x1c
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r12
mov dword [rbp + 0x20], 3
call fcn.1800b2a54
mov r8d, 0x1c
mov qword [rbp], rax
lea rdx, [rbp + 8]
mov rcx, rax
mov rdi, rax
call fcn.1800da380
or r13d, 1
mov r9d, r12d
mov r10, r12
mov edx, r12d
mov rax, r12
nop dword [rax]
mov r8d, dword [rdi + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rbx]
cmp eax, r8d
je 0x18004fb5b
cmp r8d, 0xffffffff
jne 0x18004fbe7
inc edx
mov eax, edx
cmp rax, 7
jb 0x18004fb40
lea rax, [r10 + rbx]
test rax, rax
je 0x18004fdce
mov r8, qword [rsp + 0x20]
mov rax, qword [rbp + 0x178]
mov r8, qword [rax + r8*8]
cmp byte [r8], 0xe9
jne 0x18004fbfc
mov rax, qword gs:[0x60]
movsxd rbx, dword [r8 + 1]
add rbx, 5
add rbx, r8
mov rdx, qword [rax + 0x10]
cmp rbx, rdx
jbe 0x18004fbfc
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rax + rdx + 0x50]
add rcx, rdx
cmp rbx, rcx
jae 0x18004fbfc
mov ecx, 8
mov dword [rsp + 0x30], 0x84
mov dword [rsp + 0x34], 0xc0
call fcn.1800b2a54
mov rcx, qword [rsp + 0x30]
mov r11, rax
mov qword [rbp + 0x168], rax
mov qword [rax], rcx
add rax, 8
jmp 0x18004fc32
inc r9d
inc r10
cmp r9d, 0x69
jae 0x18004fdce
jmp 0x18004fb33
mov ecx, 8
mov dword [rsp + 0x30], 0x84
mov rbx, r8
mov dword [rsp + 0x34], 0xc0
call fcn.1800b2a54
mov rcx, rax
mov qword [rbp + 0x168], rax
mov rax, qword [rsp + 0x30]
mov r11, rcx
mov qword [rcx], rax
lea rax, [rcx + 8]
mov r10d, 2
mov qword [rbp + 0x170], rax
or r13d, r10d
mov edx, r12d
mov r9d, r12d
mov rdi, r12
test r10, r10
je 0x18004fc80
mov rax, r12
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [r11 + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rbx]
cmp eax, r8d
je 0x18004fc77
cmp r8d, 0xffffffff
jne 0x18004fcf2
inc edx
mov eax, edx
cmp rax, r10
jb 0x18004fc60
lea rax, [rdi + rbx]
test rax, rax
je 0x18004fdce
mov rax, qword [rsp + 0x20]
mov rdx, qword [rbp + 0x178]
mov rdx, qword [rdx + rax*8]
cmp byte [rdx], 0xe9
jne 0x18004fd27
mov rax, qword gs:[0x60]
movsxd rbx, dword [rdx + 1]
add rbx, 5
add rbx, rdx
mov r8, qword [rax + 0x10]
cmp rbx, r8
jbe 0x18004fd27
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x50]
add rcx, r8
cmp rbx, rcx
jae 0x18004fd27
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0x170], rax
jmp 0x18004fd2a
inc r9d
inc rdi
cmp r9d, 0x6e
jae 0x18004fd06
mov edx, r12d
jmp 0x18004fc50
mov rax, qword [rbp + 0x168]
mov rcx, qword [rbp + 0x170]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x170], rcx
jmp 0x18004fdce
mov rbx, rdx
mov ecx, 0xc
mov dword [rsp + 0x40], 0x48
mov dword [rsp + 0x44], 0x8b
mov dword [rsp + 0x48], 0xcb
call fcn.1800b2a54
mov rdi, rax
mov qword [rbp - 0x10], rax
add rax, 0xc
lea rdx, [rsp + 0x40]
mov rcx, rdi
mov qword [rbp - 8], rax
mov r8d, 0xc
call fcn.1800da380
or r13d, 4
mov r10, r12
mov r9d, r12d
mov edx, r12d
mov rax, r12
nop
mov r8d, dword [rdi + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rbx]
cmp eax, r8d
je 0x18004fd9b
cmp r8d, 0xffffffff
jne 0x1800503e9
inc edx
mov eax, edx
cmp rax, 3
jb 0x18004fd80
mov rdi, qword [rbp + 0x168]
lea rax, [r10 + rbx]
mov rcx, qword [rbp + 0x170]
mov qword [rbp + 0x168], rdi
mov qword [rbp + 0x170], rcx
test rax, rax
jne 0x1800504a9
mov rax, qword [rsp + 0x20]
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rcx + rax*8]
cmp byte [rdx], 0xe9
jne 0x18004fe11
mov rax, qword gs:[0x60]
movsxd rbx, dword [rdx + 1]
add rbx, 5
add rbx, rdx
mov r8, qword [rax + 0x10]
cmp rbx, r8
jbe 0x18004fe11
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x50]
add rcx, r8
cmp rbx, rcx
jb 0x18004fe14
mov rbx, rdx
movdqa xmm0, xmmword [0x1800f8cd0]
mov ecx, 0x44
movdqa xmm1, xmmword [0x1800f8f90]
movdqu xmmword [rbp + 0xb0], xmm0
movdqa xmm0, xmmword [0x1800f8d80]
movdqu xmmword [rbp + 0xc0], xmm1
movdqa xmm1, xmmword [0x1800f8da0]
movdqu xmmword [rbp + 0xd0], xmm0
movdqu xmmword [rbp + 0xe0], xmm1
mov dword [rbp + 0xf0], 0xc0
call fcn.1800b2a54
mov rdi, rax
mov qword [rbp - 0x20], rax
add rax, 0x44
lea rdx, [rbp + 0xb0]
mov rcx, rdi
mov qword [rbp - 0x18], rax
mov r8d, 0x44
call fcn.1800da380
or r13d, 8
mov r9d, r12d
mov r10, r12
mov edx, r12d
mov rax, r12
nop dword [rax]
mov r8d, dword [rdi + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rbx]
cmp eax, r8d
je 0x18004febb
cmp r8d, 0xffffffff
jne 0x18005041a
inc edx
mov eax, edx
cmp rax, 0x11
jb 0x18004fea0
lea rax, [r10 + rbx]
test rax, rax
jne 0x1800504a9
mov rdi, qword [rsp + 0x20]
mov rax, qword [rbp + 0x178]
mov rdx, qword [rax + rdi*8]
cmp byte [rdx], 0xe9
jne 0x18004ff15
mov rax, qword gs:[0x60]
movsxd rbx, dword [rdx + 1]
add rbx, 5
add rbx, rdx
mov r8, qword [rax + 0x10]
cmp rbx, r8
jbe 0x18004ff15
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x50]
add rcx, r8
cmp rbx, rcx
jb 0x18004ff18
mov rbx, rdx
movdqa xmm0, xmmword [0x1800f8fa0]
mov ecx, 0x1c
movdqu xmmword [rbp + 0x28], xmm0
mov dword [rbp + 0x38], 0xffffffff
mov qword [rbp + 0x3c], r12
call fcn.1800b2a54
mov rsi, rax
lea rdx, [rbp + 0x28]
add rax, 0x1c
mov rcx, rsi
mov r8d, 0x1c
mov qword [rbp - 0x28], rax
call fcn.1800da380
or r13d, 0x10
mov r10, r12
mov r9d, r12d
mov edx, r12d
mov rax, r12
nop word [rax + rax]
mov r8d, dword [rsi + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rbx]
cmp eax, r8d
je 0x18004ff8b
cmp r8d, 0xffffffff
jne 0x18005042f
inc edx
mov eax, edx
cmp rax, 7
jb 0x18004ff70
lea rax, [r10 + rbx]
test rax, rax
je 0x180050077
mov rax, qword [rbp + 0x178]
mov rdx, qword [rax + rdi*8]
cmp byte [rdx], 0xe9
jne 0x18004ffe0
mov rax, qword gs:[0x60]
movsxd rbx, dword [rdx + 1]
add rbx, 5
add rbx, rdx
mov r8, qword [rax + 0x10]
cmp rbx, r8
jbe 0x18004ffe0
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x50]
add rcx, r8
cmp rbx, rcx
jb 0x18004ffe3
mov rbx, rdx
movdqa xmm0, xmmword [0x1800f9000]
mov ecx, 0x20
movdqa xmm1, xmm0
movdqu xmmword [rsp + 0x50], xmm0
movdqu xmmword [rsp + 0x60], xmm0
call fcn.1800b2a54
mov rdi, rax
mov qword [rbp - 0x38], rax
add rax, 0x20
lea rdx, [rsp + 0x50]
mov rcx, rdi
mov qword [rbp - 0x30], rax
mov r8d, 0x20
call fcn.1800da380
or r13d, 0x20
mov r10, r12
mov r9d, r12d
mov edx, r12d
mov rax, r12
nop word [rax + rax]
mov r8d, dword [rdi + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rbx]
cmp eax, r8d
je 0x18005005b
cmp r8d, 0xffffffff
jne 0x180050444
inc edx
mov eax, edx
cmp rax, 8
jb 0x180050040
lea rax, [rbx + r10]
test rax, rax
jne 0x1800504a9
mov rdi, qword [rsp + 0x20]
call fcn.180029fc0
comiss xmm0, xmm6
jb 0x180050469
mov rax, qword [rbp + 0x178]
mov rdx, qword [rax + rdi*8]
cmp byte [rdx], 0xe9
jne 0x1800500c3
mov rax, qword gs:[0x60]
movsxd rbx, dword [rdx + 1]
add rbx, 5
add rbx, rdx
mov r8, qword [rax + 0x10]
cmp rbx, r8
jbe 0x1800500c3
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x50]
add rcx, r8
cmp rbx, rcx
jb 0x1800500c6
mov rbx, rdx
movdqa xmm0, xmmword [0x1800f8fc0]
mov ecx, 0x1c
movdqu xmmword [rbp + 0x48], xmm0
mov dword [rbp + 0x58], 0xffffffff
mov qword [rbp + 0x5c], r12
call fcn.1800b2a54
mov rdi, rax
mov qword [rbp - 0x48], rax
add rax, 0x1c
lea rdx, [rbp + 0x48]
mov rcx, rdi
mov qword [rbp - 0x40], rax
mov r8d, 0x1c
call fcn.1800da380
or r13d, 0x40
mov r10, r12
mov r9d, r12d
mov edx, r12d
mov rax, r12
nop dword [rax]
mov r8d, dword [rdi + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rbx]
cmp eax, r8d
je 0x18005013b
cmp r8d, 0xffffffff
jne 0x180050459
inc edx
mov eax, edx
cmp rax, 7
jb 0x180050120
lea rax, [r10 + rbx]
test rax, rax
je 0x180050469
mov rax, qword [rsp + 0x20]
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rcx + rax*8]
cmp byte [rdx], 0xe9
jne 0x180050195
mov rax, qword gs:[0x60]
movsxd rbx, dword [rdx + 1]
add rbx, 5
add rbx, rdx
mov r8, qword [rax + 0x10]
cmp rbx, r8
jbe 0x180050195
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x50]
add rcx, r8
cmp rbx, rcx
jb 0x180050198
mov rbx, rdx
movdqa xmm0, xmmword [0x1800f8fe0]
mov ecx, 0x18
movdqu xmmword [rbp + 0x88], xmm0
mov dword [rbp + 0x98], 0x48
mov dword [rbp + 0x9c], 0x8b
call fcn.1800b2a54
mov rdi, rax
mov qword [rsp + 0x28], rax
add rax, 0x18
lea rdx, [rbp + 0x88]
mov rcx, rdi
mov qword [rbp - 0x50], rax
mov r8d, 0x18
call fcn.1800da380
bts r13d, 7
mov r10, r12
mov r9d, r12d
mov edx, r12d
mov rax, r12
nop dword [rax]
mov r8d, dword [rdi + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rbx]
cmp eax, r8d
je 0x18005021b
cmp r8d, 0xffffffff
jne 0x180050472
inc edx
mov eax, edx
cmp rax, 6
jb 0x180050200
lea rax, [rbx + r10]
test rax, rax
je 0x18005046e
mov rax, qword [rsp + 0x20]
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rcx + rax*8]
cmp byte [rdx], 0xe9
jne 0x180050275
mov rax, qword gs:[0x60]
movsxd rbx, dword [rdx + 1]
add rbx, 5
add rbx, rdx
mov r8, qword [rax + 0x10]
cmp rbx, r8
jbe 0x180050275
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x50]
add rcx, r8
cmp rbx, rcx
jb 0x180050278
mov rbx, rdx
movdqa xmm0, xmmword [0x1800f8fd0]
mov ecx, 0x1c
movdqu xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x78], 0xffffffffffffffff
mov dword [rbp + 0x80], 0x44
call fcn.1800b2a54
mov r15, rax
lea rdx, [rbp + 0x68]
add rax, 0x1c
mov rcx, r15
mov r8d, 0x1c
mov qword [rbp - 0x58], rax
call fcn.1800da380
bts r13d, 8
mov r10, r12
mov r9d, r12d
mov edx, r12d
mov rax, r12
nop
mov r8d, dword [r15 + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rbx]
cmp eax, r8d
je 0x1800502eb
cmp r8d, 0xffffffff
jne 0x180050483
inc edx
mov eax, edx
cmp rax, 7
jb 0x1800502d0
lea rax, [r10 + rbx]
test rax, rax
jne 0x1800504ae
mov rax, qword [rsp + 0x20]
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rcx + rax*8]
cmp byte [rdx], 0xe9
jne 0x180050345
mov rax, qword gs:[0x60]
movsxd rbx, dword [rdx + 1]
add rbx, 5
add rbx, rdx
mov r8, qword [rax + 0x10]
cmp rbx, r8
jbe 0x180050345
movsxd rax, dword [r8 + 0x3c]
mov ecx, dword [rax + r8 + 0x50]
add rcx, r8
cmp rbx, rcx
jb 0x180050348
mov rbx, rdx
movdqa xmm0, xmmword [0x1800f8fd0]
mov rax, 0xffffffffffffffff
movdqu xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x6c], 0x44
lea ecx, [rax + 0x1d]
mov dword [rbp - 0x68], 0xf
call fcn.1800b2a54
mov r14, rax
lea rdx, [rbp - 0x80]
add rax, 0x1c
mov rcx, r14
mov r8d, 0x1c
mov qword [rbp - 0x60], rax
call fcn.1800da380
bts r13d, 9
mov r10, r12
mov r9d, r12d
mov edx, r12d
mov rax, r12
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [r14 + rax*4]
lea eax, [rdx + r9]
movzx eax, byte [rax + rbx]
cmp eax, r8d
je 0x1800503cb
cmp r8d, 0xffffffff
jne 0x180050498
inc edx
mov eax, edx
cmp rax, 7
jb 0x1800503b0
lea rax, [r10 + rbx]
test rax, rax
jne 0x1800504ae
xor bl, bl
jmp 0x1800504b0
inc r9d
inc r10
cmp r9d, 0x6d
jb 0x18004fd78
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0x170], rax
jmp 0x18004fdce
inc r9d
inc r10
cmp r9d, 0x5f
jae 0x18004fed2
jmp 0x18004fe96
inc r9d
inc r10
cmp r9d, 0x69
jae 0x180050077
jmp 0x18004ff61
inc r9d
inc r10
cmp r9d, 0x68
jae 0x180050072
jmp 0x180050031
inc r9d
inc r10
cmp r9d, 0x69
jb 0x180050113
mov rdi, qword [rsp + 0x28]
xor bl, bl
jmp 0x1800504b0
inc r9d
inc r10
cmp r9d, 0x6a
jae 0x18005046e
jmp 0x1800501f6
inc r9d
inc r10
cmp r9d, 0x69
jae 0x180050302
jmp 0x1800502c9
inc r9d
inc r10
cmp r9d, 0x69
jae 0x18005046e
jmp 0x18005039d
mov rdi, qword [rsp + 0x28]
mov bl, 1
bt r13d, 9
jae 0x1800504f9
btr r13d, 9
test r14, r14
je 0x1800504f9
mov rdx, qword [rbp - 0x60]
mov rcx, r14
sub rdx, r14
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x1800504f4
mov rcx, qword [r14 - 8]
mov rax, r14
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180050be8
call fcn.1800b2a4c
bt r13d, 8
jae 0x180050542
btr r13d, 8
test r15, r15
je 0x180050542
mov rdx, qword [rbp - 0x58]
mov rcx, r15
sub rdx, r15
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x18005053d
mov rcx, qword [r15 - 8]
mov rax, r15
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180050be8
call fcn.1800b2a4c
test r13b, r13b
jns 0x180050589
btr r13d, 7
test rdi, rdi
je 0x180050589
mov rdx, qword [rbp - 0x50]
mov rcx, rdi
sub rdx, rdi
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x180050584
mov rcx, qword [rdi - 8]
mov rax, rdi
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180050be8
call fcn.1800b2a4c
test r13b, 0x40
je 0x1800505d1
mov rax, qword [rbp - 0x48]
and r13d, 0xffffffbf
test rax, rax
je 0x1800505d1
mov rdx, qword [rbp - 0x40]
mov rcx, rax
sub rdx, rax
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x1800505cc
mov rcx, qword [rax - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180050be8
call fcn.1800b2a4c
test r13b, 0x20
je 0x180050619
mov rax, qword [rbp - 0x38]
and r13d, 0xffffffdf
test rax, rax
je 0x180050619
mov rdx, qword [rbp - 0x30]
mov rcx, rax
sub rdx, rax
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x180050614
mov rcx, qword [rax - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180050be8
call fcn.1800b2a4c
test r13b, 0x10
je 0x180050660
and r13d, 0xffffffef
test rsi, rsi
je 0x180050660
mov rdx, qword [rbp - 0x28]
mov rcx, rsi
sub rdx, rsi
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x18005065b
mov rcx, qword [rsi - 8]
mov rax, rsi
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180050be8
call fcn.1800b2a4c
test r13b, 8
je 0x1800506a8
mov rax, qword [rbp - 0x20]
and r13d, 0xfffffff7
test rax, rax
je 0x1800506a8
mov rdx, qword [rbp - 0x18]
mov rcx, rax
sub rdx, rax
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x1800506a3
mov rcx, qword [rax - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180050be8
call fcn.1800b2a4c
test r13b, 4
je 0x1800506f0
mov rax, qword [rbp - 0x10]
and r13d, 0xfffffffb
test rax, rax
je 0x1800506f0
mov rdx, qword [rbp - 8]
mov rcx, rax
sub rdx, rax
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x1800506eb
mov rcx, qword [rax - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180050be8
call fcn.1800b2a4c
test r13b, 2
je 0x180050741
mov rdi, qword [rbp + 0x168]
and r13d, 0xfffffffd
test rdi, rdi
je 0x180050741
mov rdx, qword [rbp + 0x170]
mov rcx, rdi
sub rdx, rdi
and rdx, 0xfffffffffffffffc
cmp rdx, 0x1000
jb 0x18005073c
mov rcx, qword [rdi - 8]
mov rax, rdi
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180050be8
call fcn.1800b2a4c
mov rcx, qword [rbp]
and r13d, 0xfffffffe
test rcx, rcx
je 0x180050758
mov edx, 0x1c
call fcn.1800b2a4c
test bl, bl
jne 0x1800509a7
mov r9d, dword [rbp + 0x160]
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rsp + 0x20]
inc r9d
inc rdx
mov dword [rbp + 0x160], r9d
mov qword [rsp + 0x20], rdx
cmp r9d, 0x150
jl 0x18004fa80
cmp qword [0x180209b00], r12
jne 0x180050bc5
cmp dword [0x18010a088], 2
movups xmm0, xmmword [0x1800e9318]
mov eax, dword [0x1800e9340]
movups xmm1, xmmword [0x1800e9328]
mov dword [rsp + 0x78], eax
movzx eax, byte [0x1800e9344]
movups xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x7c], al
movsd xmm0, qword [0x1800e9338]
movsd qword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x60], xmm1
jl 0x18005092a
movdqa xmm0, xmmword [0x1800f8e40]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x1800f8c90]
movdqa xmm4, xmmword [0x1800f8e20]
movdqa xmm6, xmmword [0x1800f8d20]
movdqa xmmword [rsp + 0x40], xmm0
mov edx, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, r12d
lea eax, [r12 + 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 r12d, 8
pmuldq xmm1, xmm4
mov eax, r12d
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
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 [0x1800f8e10]
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
psrad xmm1, 1
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 [0x1800f8e10]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r12d, 0x28
jl 0x180050820
cmp eax, 0x2d
jge 0x180050972
movsxd rax, r12d
lea r8, [rsp + 0x50]
add r8, rax
nop word [rax + rax]
mov eax, 0x94f2095
lea r8, [r8 + 1]
imul r12d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r12b
inc r12d
xor byte [r8 - 1], cl
cmp r12d, 0x2d
jl 0x180050940
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
xorps xmm1, xmm1
mov r9, 0xffffffffffffffff
movups xmmword [rbp - 0x80], xmm0
movdqu xmmword [rbp - 0x70], xmm1
nop dword [rax]
inc r9
cmp byte [rax + r9], 0
jne 0x180050990
mov r8, r9
lea rdx, [rsp + 0x50]
jmp 0x180050bb1
movsxd rax, dword [rbp + 0x160]
mov qword [0x180209b00], rax
jmp 0x180050bc5
cmp dword [0x18010a088], 2
movups xmm0, xmmword [0x1800e99d8]
movzx eax, word [0x1800e9a00]
movups xmm1, xmmword [0x1800e99e8]
mov word [rsp + 0x78], ax
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x1800e99f8]
movsd qword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x60], xmm1
jl 0x180050b3a
movdqa xmm0, xmmword [0x1800f8e40]
lea rcx, [rsp + 0x54]
movdqa xmm5, xmmword [0x1800f8c90]
movdqa xmm4, xmmword [0x1800f8e20]
movdqa xmm6, xmmword [0x1800f8d20]
movdqa xmmword [rsp + 0x40], xmm0
mov edx, dword [rsp + 0x40]
nop dword [rax + rax]
movd xmm2, r12d
lea eax, [r12 + 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 r12d, 8
pmuldq xmm1, xmm4
mov eax, r12d
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
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 [0x1800f8e10]
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
psrad xmm1, 1
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 [0x1800f8e10]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movd dword [rcx - 8], xmm2
cmp r12d, 0x28
jl 0x180050a30
cmp eax, 0x2a
jge 0x180050b82
movsxd rax, r12d
lea r8, [rsp + 0x50]
add r8, rax
nop word [rax + rax]
mov eax, 0x94f2095
lea r8, [r8 + 1]
imul r12d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x37
add cl, r12b
inc r12d
xor byte [r8 - 1], cl
cmp r12d, 0x2a
jl 0x180050b50
xorps xmm0, xmm0
lea rcx, [rsp + 0x50]
xorps xmm1, xmm1
mov rax, 0xffffffffffffffff
movups xmmword [rbp - 0x80], xmm0
movdqu xmmword [rbp - 0x70], xmm1
nop dword [rax]
inc rax
cmp byte [rcx + rax], r13b
jne 0x180050ba0
mov r8, rax
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.180013f10
xor edx, edx
lea rcx, [rbp - 0x80]
call fcn.1800279c0
movaps xmm6, xmmword [rsp + 0x200]
mov rsi, qword [rsp + 0x218]
add rsp, 0x220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
call fcn.1800b96fc
int3