Function at 0x140351250
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov rax, qword [rcx + 0x30]
cmp rax, qword [rcx + 0x28]
je 0x140351291
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, rcx
mov rdi, qword [rcx]
lea rdx, [rdi + 0x370]
mov dword [rsp + 0x28], 0x575244b3
mov dword [rsp + 0x20], 0x12be28ad
lea r8, [rsp + 0x60]
lea r9, [rsp + 0x58]
mov rcx, rdi
call fcn.1403538e0
mov rax, qword [rsp + 0x60]
sub rax, qword [rsp + 0x58]
movabs rcx, 0xbf8f5604ef70aefd
add rcx, rax
lea rdx, [rsp + 0x58]
mov r8d, 0xd9fbcafe
mov r9d, 0xc2155392
call fcn.140353ef0
mov r15, qword [rsp + 0x58]
lea rbx, [0x140480270]
movsxd rsi, dword [0x140480270]
mov ebp, dword [0x140480278]
mov rax, qword [rdi + 0x350]
sub rax, qword [rdi + 0x348]
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rcx, rax
mov qword [rsp + 0xa0], rcx
lea eax, [r15 + 0x1f]
cdq
idiv r15d
cmp eax, 3
mov ecx, 2
cmovge ecx, eax
mov qword [rsp + 0xc8], rcx
lea eax, [rcx + 6]
mov dword [r14 + 8], eax
lea rax, [r14 + 0x10]
mov qword [rsp + 0x70], rax
movsxd rdi, r15d
mov r12, qword [r14 + 0x10]
mov qword [rsp + 0x68], r14
mov r14, qword [r14 + 0x18]
movabs rax, 0x25701bc7632b5b7e
mov rcx, r14
xor rcx, rax
and rax, r14
lea rax, [rcx + rax*2]
sub rax, r12
movabs rcx, 0xda8fe4389cd4a482
add rcx, rax
lea rdx, [rsp + 0x58]
mov r8d, 0x23520831
mov r9d, 0xa689108a
call fcn.140354170
mov rax, qword [rsp + 0x58]
cmp rdi, rax
mov qword [rsp + 0x90], r15
jae 0x1403513ff
lea rcx, [rdi + rdi*4]
shl rcx, 4
lea rax, [r12 + rcx]
cmp rax, r14
je 0x140351462
add rcx, r12
add rcx, 0x50
xorps xmm0, xmm0
nop word [rax + rax]
movups xmmword [rcx - 0x14], xmm0
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x30], xmm0
movups xmmword [rcx - 0x40], xmm0
movups xmmword [rcx - 0x50], xmm0
cmp rcx, r14
je 0x140351462
add rcx, 0x50
jmp 0x1403513e0
mov r15, qword [rsp + 0x68]
jbe 0x14035146b
movabs rcx, 0xaf0e06909144997c
sub rcx, r12
movabs rdx, 0x50f1f96f6ebb6684
mov r8, rcx
xor r8, rdx
and rcx, rdx
lea rcx, [r8 + rcx*2]
add rcx, qword [r15 + 0x20]
sar rcx, 4
movabs rdx, 0xcccccccccccccccd
imul rdx, rcx
cmp rdx, rdi
jae 0x1403514dc
lea r8, [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov rdx, rdi
call fcn.140352b70
mov r15, qword [rsp + 0x68]
jmp 0x14035146b
mov r15, qword [rsp + 0x68]
mov qword [r15 + 0x18], rax
lea rdi, [r15 + 0x28]
lea rax, [r15 + 0x30]
mov qword [rsp + 0xa8], rax
add rbx, rsi
lea rax, [r15 + 8]
mov qword [rsp + 0xc0], rax
mov r13, qword [r15 + 0x10]
mov rsi, qword [r15 + 0x18]
sub rsi, r13
lea r12, [rsp + 0x58]
mov rcx, r12
mov edx, 0x260c6c10
mov r8d, 0x934c51b5
call fcn.140353e60
mov r14d, dword [rsp + 0x58]
mov ecx, dword [0x1405a98c0]
lea edx, [rcx - 1]
mov r8d, 0x20905a31
mov r9d, 0x34489f5a
call fcn.140353f30
mov r11, r14
test al, 1
jne 0x14035173e
jmp 0x140351784
mov r15, rdi
sub r15, rax
je 0x14035155b
not rax
add rdi, rax
mov rax, r15
and rax, 7
je 0x140351555
add r14, 0x50
xor ecx, ecx
xorps xmm0, xmm0
movabs rdx, 0x7ffffffffffffffe
nop word cs:[rax + rax]
movups xmmword [r14 - 0x14], xmm0
movups xmmword [r14 - 0x20], xmm0
movups xmmword [r14 - 0x30], xmm0
movups xmmword [r14 - 0x40], xmm0
movups xmmword [r14 - 0x50], xmm0
mov r8, r15
not r8
lea r15, [r8 + r15*2]
mov r8, rcx
xor r8, 1
not rcx
and rcx, rdx
or rcx, r8
not rcx
lea rcx, [r8 + rcx*2]
cmp rcx, rax
je 0x140351555
add r14, 0x50
jmp 0x140351510
cmp rdi, 7
jae 0x140351569
mov r15, qword [rsp + 0x68]
mov qword [r15 + 0x18], r14
jmp 0x14035146b
add r14, 0x280
xorps xmm6, xmm6
movabs rdi, 0x362487231018d667
movabs r12, 0x7ffffffffffffff8
movabs r13, 0xc68df7ca4cc26c08
nop word cs:[rax + rax]
lea rcx, [r14 - 0x280]
movups xmmword [r14 - 0x244], xmm6
movups xmmword [r14 - 0x250], xmm6
movups xmmword [r14 - 0x260], xmm6
movups xmmword [r14 - 0x270], xmm6
movups xmmword [r14 - 0x280], xmm6
movups xmmword [r14 - 0x230], xmm6
movups xmmword [r14 - 0x220], xmm6
movups xmmword [r14 - 0x210], xmm6
movups xmmword [r14 - 0x200], xmm6
movups xmmword [r14 - 0x1f4], xmm6
movups xmmword [r14 - 0x1e0], xmm6
movups xmmword [r14 - 0x1d0], xmm6
movups xmmword [r14 - 0x1c0], xmm6
movups xmmword [r14 - 0x1b0], xmm6
movups xmmword [r14 - 0x1a4], xmm6
lea rdx, [rsp + 0x58]
mov r8d, 0x3331e083
mov r9d, 0xab424f6d
call fcn.140353880
mov rax, qword [rsp + 0x58]
movups xmmword [rax + 0x3c], xmm6
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
movups xmmword [r14 - 0x104], xmm6
movups xmmword [r14 - 0x110], xmm6
movups xmmword [r14 - 0x120], xmm6
movups xmmword [r14 - 0x130], xmm6
movups xmmword [r14 - 0x140], xmm6
movups xmmword [r14 - 0xf0], xmm6
movups xmmword [r14 - 0xe0], xmm6
movups xmmword [r14 - 0xd0], xmm6
movups xmmword [r14 - 0xc0], xmm6
movups xmmword [r14 - 0xb4], xmm6
movups xmmword [r14 - 0xa0], xmm6
movups xmmword [r14 - 0x90], xmm6
movups xmmword [r14 - 0x80], xmm6
movups xmmword [r14 - 0x70], xmm6
movups xmmword [r14 - 0x64], xmm6
movups xmmword [r14 - 0x50], xmm6
movups xmmword [r14 - 0x40], xmm6
movups xmmword [r14 - 0x30], xmm6
movups xmmword [r14 - 0x20], xmm6
movups xmmword [r14 - 0x14], xmm6
mov rax, qword [0x140584b10]
mov rcx, rax
movabs rdx, 0xf0b29198fb4f6d42
xor rcx, rdx
movabs rdx, 0x70b29198fb4f6d42
and rax, rdx
lea rax, [rcx + rax*2]
sub r15, rax
add r15, rdi
mov rax, r15
not rax
mov rcx, rax
and rcx, 0xfffffffffffffff8
mov edx, r15d
and edx, 7
or rdx, rcx
xor r15, r12
and eax, 7
or rax, r15
not rax
lea r15, [rdx + rax*2]
add r15, r13
je 0x14035155b
add r14, 0x280
jmp 0x1403515a0
mov eax, dword [0x140584b08]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x4783867c
mov r8d, ecx
and r8d, 0xb87c7983
or r8d, edx
xor eax, 0x387c7983
and ecx, 0x4783867c
or ecx, eax
not ecx
lea ecx, [r8 + rcx*2]
add ecx, r11d
mov dword [0x140584410], ecx
mov eax, dword [0x1405a98c4]
cmp eax, 0x35
jl 0x1403517f1
lea eax, [r11 - 1]
mov ecx, eax
xor ecx, 0xdf
mov edx, eax
and edx, 0x5f
lea ecx, [rcx + rdx*2]
nop dword [rax + rax]
mov edx, eax
shl edx, cl
mov r8d, eax
sub r8d, edx
imul r8d, edx
mov r9d, r8d
sub r9d, edx
lea edx, [r8 + r9]
imul r9d, r8d
mov r8d, 0xe8230c16
sub r8d, edx
mov r10d, r8d
xor r10d, r9d
and r8d, r9d
lea r8d, [r10 + r8*2]
add edx, r8d
add edx, 0x17dcf3ea
mov dword [0x140584410], edx
mov edx, dword [0x1405a98c4]
cmp edx, 0x4c
jge 0x1403517a0
jmp 0x14035173e
mov dword [rsp + 0x9c], ecx
mov qword [rsp + 0xb8], r11
mov eax, dword [0x140584b08]
mov ecx, eax
xor ecx, 0xb87c7982
and eax, 0x387c7982
add eax, eax
add eax, ecx
jne 0x140352570
jmp 0x14035254d
mov dword [rsp + 0x28], 0x48a6bc6a
mov dword [rsp + 0x20], 0x8488aff1
lea r8, [rsp + 0x60]
lea r9, [rsp + 0x58]
mov rcx, r15
mov rdx, qword [rsp + 0xa0]
call fcn.140353900
mov r12, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov r13, qword [r15 + 0x48]
mov rbx, qword [r12]
mov rcx, r13
sub rcx, rbx
mov dword [rsp + 0x20], 0xd30da859
lea rbp, [rsp + 0x58]
mov rdx, r14
mov r8, rbp
mov r9d, 0x9454fa99
call fcn.140353f60
test al, 1
je 0x140351893
lea rax, [rbx + r14*2]
mov qword [r15 + 0x48], rax
jmp 0x14035191b
mov r15, r14
sub r15, qword [rsp + 0x58]
jbe 0x14035191b
lea rdx, [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
mov rcx, rsi
mov r8d, 0xde5a9b9
mov r9d, 0x2b446518
call fcn.1402da5f0
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x20], 0x6f7cb34
mov rdx, rbx
mov r8, r14
mov r9d, 0xe617a34b
call fcn.140353ff0
test al, 1
je 0x1403518f2
lea r8, [rsp + 0x80]
mov rcx, r12
mov rdx, r14
call fcn.140352fb0
jmp 0x14035191b
lea rbx, [r15*2]
add rbx, r13
movzx ecx, byte [0x140584b10]
add cl, 0xd4
shl r15, cl
mov rcx, r13
xor edx, edx
mov r8, r15
call fcn.140440780
mov qword [rsi + 0x48], rbx
cmp dword [rsp + 0x90], 0
jle 0x140351a21
mov rax, qword [rsp + 0x90]
mov rsi, rax
movabs rcx, 0xffffffff00000000
xor rsi, rcx
and rsi, rax
dec rsi
mov r15d, 0x44
xor ebx, ebx
mov r13, qword [rsp + 0x68]
nop word cs:[rax + rax]
mov rax, qword [r13]
mov r14, qword [rax + 0x370]
mov dword [rsp + 0x20], 0xee219309
mov rcx, r14
mov rdx, rbx
mov r8, rbp
mov r9d, 0xae5ee1bd
call fcn.140353f20
mov rax, qword [rsp + 0x58]
mov ecx, dword [r14 + r15*2 - 0x70]
mov rdx, qword [r13 + 0x10]
mov qword [rdx + r15 - 0x44], 1
add rdx, r15
mov qword [rsp + 0x40], rbp
lea r8, [rsp + 0x60]
mov qword [rsp + 0x38], r8
mov r8, qword [rsp + 0xc0]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], 0x55f3ed00
mov dword [rsp + 0x48], 0x43a77977
mov r8, qword [rsp + 0x70]
mov r9, rbx
call fcn.140353f80
movsxd rax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x58]
mov rdx, qword [r12]
movzx r8d, word [rdx + rax*2]
mov r9d, ecx
xor r9d, ecx
not r9d
and r9d, r8d
xor r9d, ecx
and r8d, ecx
lea ecx, [r9 + r8*2]
mov word [rdx + rax*2], cx
cmp rsi, rbx
je 0x140351a21
add r15, 0x50
inc rbx
jmp 0x140351960
xor r15d, r15d
mov rsi, qword [rsp + 0xa0]
test esi, esi
jle 0x140351c61
mov dword [rsp + 0x20], 0xc9ef8f30
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0x58]
mov rcx, rsi
mov r9d, 0xa2b725d8
call fcn.140353910
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x20], 0x494a0720
lea rbx, [rsp + 0x58]
mov rcx, rsi
mov r8, rbx
mov r9d, 0xc50d6d86
call fcn.140353da0
mov rcx, qword [rsp + 0x58]
test al, 1
mov qword [rsp + 0xa0], rcx
je 0x140351a9a
xor r13d, r13d
jmp 0x140351bd3
sub qword [rsp + 0x70], rcx
xor r13d, r13d
movabs rsi, 0x7ffffffffffffffe
xor r15d, r15d
xor ebp, ebp
nop word cs:[rax + rax]
mov rax, qword [r12]
movzx ecx, word [rax + r13*2]
add ecx, r15d
mov word [rax + r13*2], cx
mov rax, r13
xor rax, rsi
and rax, r13
mov edx, r13d
not edx
and edx, 1
mov r8, r13
and r8, rsi
or r8, rdx
xor r8, rax
mov rax, qword [r12]
movzx edx, word [rax + r8*2]
add edx, ecx
mov word [rax + r8*2], dx
mov rax, qword [0x140584b10]
movabs rcx, 0xf40012ab9e742ad5
add rax, rcx
or rax, r13
mov rcx, qword [r12]
movzx r15d, word [rcx + rax*2]
add r15d, edx
mov word [rcx + rax*2], r15w
mov r14, qword [0x140584b10]
movabs rax, 0xf40012ab9e742ad6
add r14, rax
mov rax, r13
and rax, r14
xor r14, r13
xor r14, rax
add r14, r14
add r14, qword [r12]
mov rcx, r14
mov rdx, rbx
mov r8d, 0x95000eb5
mov r9d, 0x8cd7c1a8
call fcn.140112040
movzx ecx, word [rsp + 0x58]
mov dword [rsp + 0x20], 0xefd4ea6e
mov edx, r15d
mov r8, rbx
mov r9d, 0x84aac234
call fcn.140353a50
mov r15d, dword [rsp + 0x58]
mov qword [rsp + 0x30], rbx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], 0x7dbf74a4
mov dword [rsp + 0x38], 0xf66d32db
mov ecx, r15d
mov rdx, r14
mov r8, r13
mov r9, rbp
call fcn.140353d50
mov r13, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
test al, 1
je 0x140351ac0
mov rsi, qword [rsp + 0xa0]
mov rcx, rsi
mov edx, 0xc2ffe6ac
mov r8d, 0xdcf86882
call fcn.140353980
test al, 1
jne 0x140351c43
xor eax, eax
movabs rcx, 0xf40012ab9e742ad4
movabs rdx, 0x740012ab9e742ad4
nop dword [rax + rax]
mov r8, qword [r12]
movzx r9d, word [r8 + r13*2]
add r15d, r9d
mov word [r8 + r13*2], r15w
mov r8, qword [0x140584b10]
add r13, rcx
add r13, r8
mov r9, r8
xor r9, rcx
and r8, rdx
lea r8, [r9 + r8*2]
add rax, r8
cmp rax, rsi
jne 0x140351c10
lea rdx, [rsp + 0x58]
mov ecx, r15d
mov r8d, 0x272e1316
mov r9d, 0x6ed926ba
call fcn.1400b1c10
mov r15, qword [rsp + 0x58]
mov rax, qword [rsp + 0xa8]
mov r14, qword [rax]
mov rsi, qword [rdi]
mov rax, r14
sub rax, rsi
movabs rdx, 0xf40012ab9e742b23
mov rcx, qword [0x140584b10]
add rcx, rdx
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x140351c9f
cqo
idiv rcx
mov rbx, rax
jmp 0x140351ca5
xor edx, edx
div ecx
mov ebx, eax
mov r9d, dword [0x140584b08]
mov eax, r9d
xor eax, 0xd9028a79
mov ecx, r9d
and ecx, 0x59028a79
lea r8d, [rax + rcx*2]
add r9d, 0xcdaab6da
mov rcx, r15
mov rdx, rbx
call fcn.140162820
test al, 1
je 0x140351d1f
lea rax, [r15 + r15*4]
shl rax, 4
lea rcx, [rsi + rax]
cmp rcx, r14
je 0x140351d7a
add rax, rsi
add rax, 0x50
xorps xmm0, xmm0
nop word cs:[rax + rax]
movups xmmword [rax - 0x14], xmm0
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x30], xmm0
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x50], xmm0
cmp rax, r14
je 0x140351d7a
add rax, 0x50
jmp 0x140351d00
cmp r15, rbx
jbe 0x140351d93
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov r8d, 0xa8710e2
mov r9d, 0x7383bfce
call fcn.1401ece20
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
sub rax, rsi
sar rax, 4
movabs rcx, 0xcccccccccccccccd
imul rcx, rax
cmp rcx, r15
jae 0x1403521f9
lea r8, [rsp + 0x88]
mov rcx, rdi
mov rdx, r15
call fcn.140352b70
jmp 0x140351d93
mov rdx, qword [rsp + 0xa8]
mov r8d, 0x2ad8e784
mov r9d, 0x153c3254
call fcn.1400b1f80
mov rax, qword [rsp + 0x90]
test eax, eax
jle 0x14035213c
movabs rcx, 0xffffffff00000000
xor rcx, rax
and rcx, rax
mov qword [rsp + 0x70], rcx
mov rax, qword [rsp + 0xc8]
mov ebp, eax
and ebp, 0x7ffffffe
test al, 1
sete al
movzx ecx, byte [0x1405a6be0]
mov r8d, ecx
xor r8b, al
or al, cl
xor al, 1
or al, r8b
mov ecx, eax
xor cl, 1
mov edx, ecx
and dl, r8b
and al, r8b
xor r8b, 1
and r8b, cl
or r8b, al
xor r8b, dl
mov byte [rsp + 0x90], r8b
xor r14d, r14d
lea r15, [rsp + 0x58]
movabs rsi, 0x4005d5a1844d6240
xor ebx, ebx
jmp 0x140351e34
add ebx, dword [0x1405a711c]
inc r14
cmp r14, qword [rsp + 0x70]
je 0x14035213c
mov rdx, qword [rsp + 0x68]
mov rax, qword [rdx]
mov rcx, qword [rax + 0x370]
cmp dword [rdx + 8], 0
movsxd r12, ebx
mov r10, qword [rsp + 0xc0]
jle 0x140351ea0
lea rax, [r14 + r14*4]
shl rax, 5
add rax, rcx
lea rdx, [r12 + r12*4]
shl rdx, 4
add rdx, 0x10
mov r8d, 1
nop word cs:[rax + rax]
mov r9, qword [rdi]
mov qword [r9 + rdx], rax
movsxd r9, dword [r10]
cmp r8, r9
jge 0x140351ea0
add rdx, 0x50
inc r8
jmp 0x140351e80
mov dword [rsp + 0x20], 0x6008327c
mov rdx, r14
mov r8, r15
mov r9d, 0x9d21c523
call fcn.140353960
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
mov eax, edx
not eax
mov r8d, edx
and r8d, 0x30000000
mov ecx, dword [0x140584b08]
lea r9d, [rcx - 0x4783867f]
xor r9d, edx
mov r10d, eax
and r10d, 0xffbfc000
mov r11d, edx
and r11d, 0x403fff
or r11d, r10d
and r9d, 0x403fff
xor eax, r11d
and eax, r9d
xor eax, r11d
and r11d, r9d
or eax, r11d
not eax
cmp r8d, 0x20000000
cmove eax, edx
lea edx, [rcx - 0x47c3867f]
not eax
xor edx, eax
not edx
mov r13d, 0x47c3867e
sub r13d, ecx
and r13d, edx
or r13d, eax
not r13d
mov rax, qword [rdi]
lea rcx, [r12 + r12*4]
shl rcx, 4
mov qword [rax + rcx], 6
lea rdx, [rax + rcx]
add rdx, 0x44
mov dword [rsp + 0x28], 0xe9b8fd33
mov dword [rsp + 0x20], 0x3c5f5205
mov ecx, r13d
mov r8d, r12d
mov r9, r15
call fcn.1403540a0
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rdi]
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rcx + rax], 2
mov dword [rcx + rax + 0x44], r13d
mov ecx, r12d
mov rdx, r15
mov r8d, 0x45eca86b
mov r9d, 0x1d12aae1
call fcn.140353950
mov rax, qword [rsp + 0x58]
mov rcx, qword [rdi]
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rcx + rax], 3
lea rdx, [rcx + rax]
add rdx, 0x44
mov dword [rsp + 0x28], 0xce3303bd
mov dword [rsp + 0x20], 0x433e01c1
mov ecx, r13d
mov r8d, r12d
mov r9, r15
call fcn.140353a60
mov rax, qword [rsp + 0x58]
mov rcx, qword [rdi]
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rcx + rax], 7
mov dword [rcx + rax + 0x44], r13d
lea eax, [r12 + 4]
cdqe
mov rcx, qword [rdi]
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rcx + rax], 5
mov dword [rcx + rax + 0x44], r13d
lea eax, [r12 + 5]
cdqe
mov rcx, qword [rdi]
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rcx + rax], 1
mov dword [rcx + rax + 0x44], r13d
mov eax, r12d
not eax
mov ecx, r12d
mov edx, r12d
xor r12d, 0xfffffff9
and r12d, eax
and eax, 6
and ecx, 0xfffffff9
or ecx, eax
xor edx, 6
or r12d, edx
not r12d
mov eax, dword [0x140584b08]
mov edx, 0xb87c7984
add eax, edx
imul eax, r12d
add eax, ecx
movsxd rbx, eax
xor r12d, r12d
nop word [rax + rax]
mov rax, qword [rdi]
lea rcx, [rbx + rbx*4]
shl rcx, 4
mov qword [rax + rcx], 1
mov dword [rax + rcx + 0x44], r13d
mov rax, qword [0x140584b10]
add rax, rbx
lea rax, [rax + rax*4]
shl rax, 4
add rax, qword [rdi]
mov qword [rsi + rax], 1
mov dword [rsi + rax + 0x44], r13d
mov rcx, rbx
mov rdx, r15
mov r8d, 0x1f0ba55e
mov r9d, 0xc2ffe6ac
call fcn.1400b3c20
mov rbx, qword [rsp + 0x58]
mov dword [rsp + 0x20], 0xe6d6f3db
mov ecx, r12d
mov edx, ebp
mov r8, r15
mov r9d, 0xd5e2f754
call fcn.140353620
mov r12d, dword [rsp + 0x58]
test al, 1
je 0x140352080
test byte [rsp + 0x90], 1
jne 0x140351e20
mov rcx, qword [rdi]
lea rax, [rbx + rbx*4]
shl rax, 4
mov qword [rcx + rax], 1
mov dword [rsp + 0x20], 0x13b125e9
mov rdx, rbx
mov r8d, r13d
mov r9d, 0xc1e395d6
call fcn.140354160
inc rbx
jmp 0x140351e20
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov rcx, qword [rdi]
sub rax, rcx
mov r8, qword [0x140584b10]
movabs rsi, 0xf40012ab9e742b23
add r8, rsi
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x140352174
cqo
idiv r8
jmp 0x140352179
xor edx, edx
div r8d
mov r11, qword [rsp + 0x68]
test eax, eax
jle 0x140351275
mov r8d, 0x18
mov r9d, 1
nop word cs:[rax + rax]
mov rax, qword [r11]
mov rax, qword [rax + 0x3a8]
mov qword [rcx + r8], rax
mov rcx, qword [r11 + 0x28]
mov rax, qword [r11 + 0x30]
sub rax, rcx
mov r10, qword [0x140584b10]
add r10, rsi
mov rdx, rax
or rdx, r10
shr rdx, 0x20
je 0x1403521e0
cqo
idiv r10
jmp 0x1403521e5
xor edx, edx
div r10d
cdqe
cmp r9, rax
jge 0x140351275
add r8, 0x50
inc r9
jmp 0x1403521a0
mov rsi, r15
sub rsi, rbx
je 0x140352286
movabs rax, 0xf40012ab9e742ad2
add rax, qword [0x140584b10]
xor rax, rbx
add rax, r15
mov rdx, rsi
not rdx
mov rcx, rsi
xor rcx, 7
and rdx, 0xfffffffffffffff8
or rdx, rcx
cmp rdx, 0xffffffffffffffff
je 0x140352280
add r14, 0x50
mov rcx, 0xfffffffffffffffe
sub rcx, rdx
xor esi, esi
xorps xmm0, xmm0
nop dword [rax]
movups xmmword [r14 - 0x14], xmm0
movups xmmword [r14 - 0x20], xmm0
movups xmmword [r14 - 0x30], xmm0
movups xmmword [r14 - 0x40], xmm0
movups xmmword [r14 - 0x50], xmm0
cmp rcx, rsi
je 0x140352277
inc rsi
add r14, 0x50
jmp 0x140352250
sub r15, rbx
not rsi
add rsi, r15
cmp rax, 7
jae 0x140352296
mov rax, qword [rsp + 0xa8]
mov qword [rax], r14
jmp 0x140351d93
xorps xmm6, xmm6
lea r15, [rsp + 0x58]
mov ebp, 0xb87c79ac
jmp 0x14035233a
movups xmmword [r13 + 0x3c], xmm6
movups xmmword [r13 + 0x30], xmm6
movups xmmword [r13 + 0x20], xmm6
movups xmmword [r13 + 0x10], xmm6
movups xmmword [r13], xmm6
movups xmmword [r14 + 0x21c], xmm6
movups xmmword [r14 + 0x210], xmm6
movups xmmword [r14 + 0x200], xmm6
movups xmmword [r14 + 0x1f0], xmm6
movups xmmword [r14 + 0x1e0], xmm6
movups xmmword [r14 + 0x230], xmm6
movups xmmword [r14 + 0x240], xmm6
movups xmmword [r14 + 0x250], xmm6
movups xmmword [r14 + 0x260], xmm6
movups xmmword [r14 + 0x26c], xmm6
add r14, 0x280
add rsi, qword [0x140584b10]
movabs rax, 0xf40012ab9e742acb
add rsi, rax
je 0x140352286
movups xmmword [r14 + 0x3c], xmm6
movups xmmword [r14 + 0x30], xmm6
movups xmmword [r14 + 0x20], xmm6
movups xmmword [r14 + 0x10], xmm6
movups xmmword [r14], xmm6
movups xmmword [r14 + 0x50], xmm6
movups xmmword [r14 + 0x60], xmm6
movups xmmword [r14 + 0x70], xmm6
movups xmmword [r14 + 0x80], xmm6
movups xmmword [r14 + 0x8c], xmm6
movups xmmword [r14 + 0xa0], xmm6
movups xmmword [r14 + 0xb0], xmm6
movups xmmword [r14 + 0xc0], xmm6
movups xmmword [r14 + 0xd0], xmm6
movups xmmword [r14 + 0xdc], xmm6
movups xmmword [r14 + 0xf0], xmm6
movups xmmword [r14 + 0x100], xmm6
movups xmmword [r14 + 0x110], xmm6
movups xmmword [r14 + 0x120], xmm6
movups xmmword [r14 + 0x12c], xmm6
mov rcx, r14
mov rdx, r15
mov r8d, 0xe3ec8e1a
mov r9d, 0xa385b372
call fcn.140353940
mov rax, qword [rsp + 0x58]
movups xmmword [rax + 0x3c], xmm6
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
lea r13, [r14 + 0x190]
mov ecx, 0xae4770f8
mov edx, 0x95000eb5
call fcn.140099e00
test al, 1
je 0x140352470
nop word [rax + rax]
movzx r12d, byte [0x140480274]
mov ebx, dword [0x1405a98c0]
mov ecx, ebx
mov rdx, r15
mov r8d, 0x8c3e7f24
mov r9d, 0xdf887db0
call fcn.1400aeab0
imul ebx, dword [rsp + 0x58]
mov ecx, ebx
mov edx, 0xfaaaa78b
mov r8d, 0x5147ec9b
call fcn.14013f8c0
test al, 1
je 0x140352470
mov eax, dword [0x1405a98c4]
cmp eax, 0x50
mov rdx, qword [rsp + 0xb8]
mov r8d, dword [rsp + 0x9c]
jg 0x1403524e0
jmp 0x140352490
movzx eax, byte [0x140480274]
cmp dword [0x140584b08], 0x4783867e
jne 0x140352470
jmp 0x140352410
test edx, r8d
setne bl
mov eax, dword [0x1405a98c4]
mov ecx, dword [0x140584b08]
add ecx, ebp
cmp eax, ecx
jge 0x1403524e0
lea eax, [rbx - 1]
mov ecx, dword [rsp + 0xb4]
sub cl, r12b
mov edx, ecx
neg dl
xor dl, al
dec cl
neg bl
and bl, cl
or bl, dl
not bl
mov eax, dword [0x1405a98c4]
cmp eax, 0x39
jg 0x140352520
jmp 0x1403524f0
mov eax, dword [0x1405a98c4]
cmp eax, 0x37
jge 0x1403524e0
jmp 0x140352490
test bl, bl
setne cl
or cl, byte [0x1405a6be0]
mov edx, 0x9343c0dd
mov r8d, 0x6c9c307e
call fcn.1403540b0
test al, 1
jne 0x1403522b0
nop word cs:[rax + rax]
test bl, bl
setne dl
movzx eax, byte [0x1405a6be0]
mul dl
mov ecx, eax
sub al, dl
mul dl
add cl, al
mul cl
and al, 1
mov byte [0x1405a6be0], al
mov eax, dword [0x1405a98c4]
cmp eax, 0x32
jge 0x140352520
jmp 0x1403524f0
movabs rax, 0xf40012ab9e742ad3
add rax, qword [0x140584b10]
cmp r15, rax
jne 0x14035258f
nop word cs:[rax + rax]
mov dword [0x1405a98c4], 0x4a
mov ecx, 0xcfcfb872
mov edx, 0xd9fbcafe
call fcn.140353890
test al, 1
je 0x140352570
jmp 0x14035254d
mov eax, dword [rsp + 0x9c]
test dword [rsp + 0xb8], eax
je 0x1403525a7
xor r9d, r9d
jmp 0x14035269f
mov r14d, 0xb87c7983
mov eax, dword [0x140584b08]
add eax, r14d
lea rcx, [fcn.140351250]
add ecx, ecx
add ecx, 0x2a60
mov edx, ecx
xor edx, eax
or eax, ecx
not eax
or eax, edx
cmp eax, 0xffffffff
jne 0x140352608
lea rdx, [rsp + 0x58]
mov ecx, ebp
mov r8d, 0x62a6caca
mov r9d, 0x7d36c250
call fcn.140353e20
mov eax, dword [0x140584b08]
add eax, r14d
lea rcx, [fcn.140351250]
add ecx, ecx
add ecx, 0x3a80
test ecx, eax
je 0x140352637
lea rax, [fcn.140351250]
lea ecx, [rax + rax]
add ecx, 0x3d81
add eax, eax
add eax, 0x3d80
not eax
mov edx, eax
and edx, ecx
and eax, 0xfffffffe
xor eax, ecx
or eax, edx
nop dword [rax]
cmp eax, 0xffffffff
jne 0x140352630
jmp 0x1403525d4
xor eax, eax
test byte [rsp + 0x58], 1
mov r9d, 0
jne 0x14035269f
xor r9d, r9d
nop dword [rax]
cdqe
xor r9b, byte [rbx + rax]
mov ecx, dword [0x140584b08]
mov edx, ecx
xor edx, 0x487d6d01
not ecx
and ecx, 0x378292fe
or ecx, edx
not ecx
add ecx, ecx
mov r8d, edx
xor r8d, ecx
and ecx, edx
lea ecx, [r8 + rcx*2]
mov edx, ecx
not edx
mov r8d, edx
xor r8d, ecx
and r8d, eax
xor r8d, ecx
xor edx, eax
and edx, eax
lea eax, [r8 + rdx*2]
add eax, 0x6fff0c82
cmp eax, ebp
jl 0x140352650
mov dword [rsp + 0xb4], r9d
shr rsi, 4
imul eax, esi, 0xcccccccd
test eax, eax
jle 0x140351822
xor ebx, ebx
lea rbp, [rsp + 0x60]
movabs rsi, 0xbdfd8868de9a9109
movabs r14, 0x4202779721656ef6
nop word cs:[rax + rax]
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x30], 0x6804bee6
mov dword [rsp + 0x28], 0x575244b3
mov rcx, r15
mov rdx, r13
mov r8, rbx
mov r9, rbp
call fcn.140353df0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
inc rbx
mov r13, qword [r15 + 0x10]
mov rdx, qword [r15 + 0x18]
mov dword [rsp + 0x28], 0x5f69b5c0
mov dword [rsp + 0x20], 0x194e6671
mov rcx, r13
mov r8, rbp
mov r9, r12
call fcn.140353e70
mov rax, qword [rsp + 0x58]
sub rax, qword [rsp + 0x60]
mov rcx, rax
xor rcx, rsi
not rax
and rax, r14
or rax, rcx
not rax
lea rax, [rcx + rax*2]
shr rax, 4
imul eax, eax, 0xcccccccd
cdqe
cmp rbx, rax
jl 0x1403526e0
jmp 0x140351822