Function at 0x14016a160
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x390]
sub rsp, 0x490
mov rax, qword [0x140297200]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov rsi, qword [rcx + 0x80]
mov eax, 0x80
sub rax, rsi
mov qword [rbp - 0x30], rcx
mov r15, r8
mov r12, rdx
mov rdi, rcx
cmp r8, rax
jae 0x14016a1c1
add rcx, rsi
call fcn.140204a90
lea rax, [r15 + rsi]
mov qword [rdi + 0x80], rax
jmp 0x14016d312
movaps xmmword [rsp + 0x470], xmm6
movaps xmmword [rsp + 0x460], xmm7
movups xmm7, xmmword [rcx + 0xf8]
movups xmm0, xmmword [rcx + 0x88]
movups xmmword [rbp + 0x260], xmm7
movups xmmword [rbp + 0x1f0], xmm0
movups xmm1, xmmword [rcx + 0x98]
movups xmm2, xmmword [rcx + 0xa8]
movups xmmword [rbp + 0x200], xmm1
movups xmmword [rbp + 0x210], xmm2
movups xmm3, xmmword [rcx + 0xb8]
movups xmm4, xmmword [rcx + 0xc8]
movups xmmword [rbp + 0x220], xmm3
movups xmmword [rbp + 0x230], xmm4
movups xmm5, xmmword [rcx + 0xd8]
movups xmm6, xmmword [rcx + 0xe8]
movups xmmword [rbp + 0x240], xmm5
movups xmmword [rbp + 0x250], xmm6
test r15, r15
je 0x14016d2c3
mov qword [rsp + 0x4d8], rbx
mov qword [rsp + 0x488], r13
mov qword [rsp + 0x480], r14
mov r14d, dword [0x140297250]
movaps xmmword [rsp + 0x450], xmm8
movaps xmmword [rsp + 0x440], xmm9
movaps xmmword [rsp + 0x430], xmm10
movaps xmmword [rsp + 0x420], xmm11
movaps xmmword [rsp + 0x410], xmm12
movaps xmmword [rsp + 0x400], xmm13
nop
mov eax, 0x80
lea rcx, [rdi + rsi]
sub rax, rsi
mov rbx, r15
cmp rax, r15
mov rdx, r12
cmovbe rbx, rax
mov r8, rbx
call fcn.140204a90
add r12, rbx
sub r15, rbx
add rsi, rbx
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x28], r15
cmp rsi, 0x80
jne 0x14016d234
mov rax, qword [rdi]
xor edx, edx
mov rcx, qword [rdi + 8]
mov rbx, qword [rbp + 0x1f0]
mov qword [rsp + 0x38], rax
xor rbx, rax
mov rax, qword [rbp + 0x1f8]
xor rax, rcx
mov qword [rsp + 0x30], rcx
mov qword [rbp + 0x178], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x28], rax
xor rax, qword [rbp + 0x200]
mov qword [rbp + 0x180], rax
mov rax, qword [rdi + 0x18]
mov qword [rbp - 0x38], rax
xor rax, qword [rbp + 0x208]
mov qword [rbp + 0x188], rax
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x78], rax
xor rax, qword [rbp + 0x210]
mov qword [rbp + 0x190], rax
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x70], rax
xor rax, qword [rbp + 0x218]
mov qword [rbp + 0x198], rax
mov rax, qword [rdi + 0x30]
mov qword [rbp - 0x68], rax
xor rax, qword [rbp + 0x220]
mov qword [rbp + 0x1a0], rax
mov rax, qword [rdi + 0x38]
mov qword [rbp - 0x60], rax
xor rax, qword [rbp + 0x228]
mov qword [rbp + 0x1a8], rax
mov rax, qword [rdi + 0x40]
mov qword [rbp - 0x58], rax
xor rax, qword [rbp + 0x230]
mov qword [rbp + 0x1b0], rax
mov rax, qword [rdi + 0x48]
mov qword [rbp - 0x50], rax
xor rax, qword [rbp + 0x238]
mov qword [rbp + 0x1b8], rax
mov rax, qword [rdi + 0x50]
mov qword [rbp - 0x48], rax
xor rax, qword [rbp + 0x240]
mov qword [rbp + 0x1c0], rax
mov rax, qword [rdi + 0x58]
mov qword [rbp - 0x40], rax
xor rax, qword [rbp + 0x248]
mov qword [rbp + 0x1c8], rax
mov rax, qword [rdi + 0x60]
mov qword [rsp + 0x60], rax
xor rax, qword [rbp + 0x250]
mov qword [rbp + 0x1d0], rax
mov rax, qword [rdi + 0x68]
mov qword [rsp + 0x50], rax
xor rax, qword [rbp + 0x258]
mov qword [rbp + 0x1d8], rax
mov rax, qword [rdi + 0x70]
mov qword [rsp + 0x48], rax
xor rax, qword [rbp + 0x260]
mov qword [rbp + 0x1e0], rax
mov rax, qword [rdi + 0x78]
mov qword [rsp + 0x58], rax
xor rax, qword [rbp + 0x268]
mov qword [rbp + 0x1e8], rax
xor eax, eax
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x20], edx
xor rbx, rax
movd xmm0, edx
pshufd xmm0, xmm0, 0
xor eax, eax
xor r8d, r8d
movq qword [rbp + 0xc0], xmm0
movq qword [rbp + 0xe0], xmm0
movq qword [rbp + 0x90], xmm0
movq qword [rbp + 0x50], xmm0
movq qword [rbp + 0x100], xmm0
movq qword [rbp + 0xf0], xmm0
movq qword [rbp + 0x20], xmm0
movq qword [rbp - 0x10], xmm0
mov qword [rbp + 0x170], rbx
cmp r14d, 2
jl 0x14016a615
movdqa xmm3, xmmword [0x140277070]
mov eax, 8
movdqa xmm4, xmmword [0x1402770c0]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [rbp]
mov r8d, eax
movdqa xmm2, xmmword [rbp - 0x10]
pslld xmm1, 4
movsd xmm0, xmm1
paddd xmm2, xmm0
movdqa xmmword [rbp], xmm0
movdqa xmm0, xmmword [rbp + 0x10]
movsd xmm0, xmm4
paddd xmm2, xmm0
movdqa xmmword [rbp + 0x10], xmm0
movdqu xmm0, xmmword [rbp + 0x178]
pmovsxdq xmm1, xmm2
movdqa xmm2, xmmword [0x140277060]
xorps xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x30]
paddd xmm2, xmm3
movdqu xmmword [rbp + 0x178], xmm1
movdqa xmm1, xmmword [rbp + 0x20]
pslld xmm2, 4
movsd xmm0, xmm2
movdqa xmm2, xmmword [0x140277090]
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x30], xmm0
movdqa xmm0, xmmword [rbp + 0x40]
paddd xmm2, xmm3
movsd xmm0, xmm4
pslld xmm2, 4
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x40], xmm0
movdqu xmm0, xmmword [rbp + 0x188]
pmovsxdq xmm1, xmm1
xorps xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x60]
movsd xmm0, xmm2
movdqu xmmword [rbp + 0x188], xmm1
movdqa xmm1, xmmword [rbp + 0x50]
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x60], xmm0
movdqa xmm0, xmmword [rbp + 0x70]
movsd xmm0, xmm4
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x70], xmm0
movq xmm0, xmm1
movdqu xmm1, xmmword [rbp + 0x198]
pmovsxdq xmm2, xmm0
movdqa xmm0, xmmword [0x1402770b0]
xorps xmm2, xmm1
movdqa xmm1, xmmword [rbp + 0x80]
paddd xmm0, xmm3
pslld xmm0, 4
movsd xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x80], xmm1
movsd xmm0, xmm4
paddd xmm1, xmmword [rbp + 0x90]
paddd xmm1, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
movq xmm0, xmm1
movdqu xmm1, xmmword [rbp + 0x1a8]
movdqu xmmword [rbp + 0x198], xmm2
pmovsxdq xmm2, xmm0
xorps xmm2, xmm1
movdqu xmmword [rbp + 0x1a8], xmm2
lea rcx, [rbp + 0x178]
lea rcx, [rcx + rax*8]
lea eax, [r8 + 1]
shl eax, 4
add eax, edx
movsxd rdx, eax
mov eax, reloc.WS2_32.dll_ntohs
sub eax, r8d
mov r8d, eax
nop word [rax + rax]
xor qword [rcx], rdx
lea rcx, [rcx + 8]
add rdx, 0x10
sub r8, 1
jne 0x14016a640
mov rcx, qword [rbp + 0x1c8]
lea rdi, [0x140000000]
shr rcx, 0x38
mov r10, qword [rbp + 0x170]
mov r9, qword [rbp + 0x178]
mov r8, qword [rbp + 0x180]
mov rcx, qword [rdi + rcx*8 + 0x22dc50]
mov rdx, qword [rbp + 0x188]
mov r11, qword [rbp + 0x190]
movzx eax, r10b
xor rcx, qword [rdi + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x179]
xor rcx, qword [rdi + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x182]
xor rcx, qword [rdi + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x18b]
xor rcx, qword [rdi + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x194]
xor rcx, qword [rdi + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x19d]
xor rcx, qword [rdi + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1a6]
xor rcx, qword [rdi + rax*8 + 0x22e450]
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp + 0x1d0]
shr rcx, 0x38
movzx eax, r9b
mov rcx, qword [rdi + rcx*8 + 0x22dc50]
xor rcx, qword [rdi + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x181]
xor rcx, qword [rdi + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x18a]
xor rcx, qword [rdi + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x193]
xor rcx, qword [rdi + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x19c]
xor rcx, qword [rdi + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1a5]
xor rcx, qword [rdi + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1ae]
xor rcx, qword [rdi + rax*8 + 0x22e450]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rbp + 0x1d8]
shr rcx, 0x38
movzx eax, r8b
mov rcx, qword [rdi + rcx*8 + 0x22dc50]
xor rcx, qword [rdi + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x189]
xor rcx, qword [rdi + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x192]
xor rcx, qword [rdi + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x19b]
xor rcx, qword [rdi + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1a4]
xor rcx, qword [rdi + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1ad]
xor rcx, qword [rdi + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1b6]
xor rcx, qword [rdi + rax*8 + 0x22e450]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rbp + 0x1e0]
shr rcx, 0x38
movzx eax, dl
mov rcx, qword [rdi + rcx*8 + 0x22dc50]
xor rcx, qword [rdi + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x191]
xor rcx, qword [rdi + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x19a]
xor rcx, qword [rdi + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1a3]
xor rcx, qword [rdi + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1ac]
xor rcx, qword [rdi + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1b5]
xor rcx, qword [rdi + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1be]
xor rcx, qword [rdi + rax*8 + 0x22e450]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rbp + 0x1e8]
shr rcx, 0x38
movzx eax, r11b
mov r13, qword [rdi + rcx*8 + 0x22dc50]
xor r13, qword [rdi + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x199]
mov rbx, qword [rbp + 0x198]
shr r10, 0x38
shr r9, 0x38
xor r13, qword [rdi + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1a2]
mov r12, qword [rdi + r10*8 + 0x22dc50]
mov r15, qword [rdi + r9*8 + 0x22dc50]
mov r10, qword [rbp + 0x1a0]
xor r13, qword [rdi + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1ab]
mov r9, qword [rbp + 0x1a8]
shr r8, 0x38
shr rdx, 0x38
xor r13, qword [rdi + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1b4]
mov r14, qword [rdi + r8*8 + 0x22dc50]
mov r8, qword [rbp + 0x1b0]
mov rsi, qword [rdi + rdx*8 + 0x22dc50]
xor r13, qword [rdi + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1bd]
xor r13, qword [rdi + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1c6]
xor r13, qword [rdi + rax*8 + 0x22e450]
movzx eax, bl
xor r12, qword [rdi + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1a1]
xor r12, qword [rdi + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1aa]
xor r12, qword [rdi + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1b3]
xor r12, qword [rdi + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1bc]
xor r12, qword [rdi + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1c5]
xor r12, qword [rdi + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1ce]
xor r12, qword [rdi + rax*8 + 0x22e450]
movzx eax, r10b
xor r15, qword [rdi + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1a9]
xor r15, qword [rdi + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1b2]
xor r15, qword [rdi + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1bb]
xor r15, qword [rdi + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1c4]
xor r15, qword [rdi + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1cd]
xor r15, qword [rdi + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1d6]
xor r15, qword [rdi + rax*8 + 0x22e450]
movzx eax, r9b
xor r14, qword [rdi + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1b1]
xor r14, qword [rdi + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1ba]
xor r14, qword [rdi + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1c3]
xor r14, qword [rdi + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1cc]
xor r14, qword [rdi + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1d5]
xor r14, qword [rdi + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1de]
xor r14, qword [rdi + rax*8 + 0x22e450]
movzx eax, r8b
xor rsi, qword [rdi + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1b9]
xor rsi, qword [rdi + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1c2]
xor rsi, qword [rdi + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1cb]
xor rsi, qword [rdi + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1d4]
xor rsi, qword [rdi + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1dd]
xor rsi, qword [rdi + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1e6]
xor rsi, qword [rdi + rax*8 + 0x22e450]
mov rdx, qword [rbp + 0x1b8]
mov rcx, qword [rbp + 0x1c0]
shr r11, 0x38
shr r10, 0x38
shr r9, 0x38
movzx eax, dl
mov rdi, qword [rdi + r11*8 + 0x22dc50]
lea r11, [0x140000000]
shr rbx, 0x38
shr r8, 0x38
xor rdi, qword [r11 + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1c1]
xor rdi, qword [r11 + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1ca]
xor rdi, qword [r11 + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1d3]
xor rdi, qword [r11 + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1dc]
xor rdi, qword [r11 + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1e5]
xor rdi, qword [r11 + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1ee]
xor rdi, qword [r11 + rax*8 + 0x22e450]
mov r11, qword [r11 + rbx*8 + 0x22dc50]
lea rbx, [0x140000000]
mov r10, qword [rbx + r10*8 + 0x22dc50]
mov r9, qword [rbx + r9*8 + 0x22dc50]
mov r8, qword [rbx + r8*8 + 0x22dc50]
movzx eax, cl
xor r11, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1c9]
xor r11, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1d2]
xor r11, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1db]
xor r11, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1e4]
xor r11, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x176]
xor r11, qword [rbx + rax*8 + 0x22e450]
movzx eax, byte [rbp + 0x1ed]
xor r11, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1d1]
xor r10, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1da]
xor r10, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1e3]
xor r10, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x175]
xor r10, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1ec]
xor r10, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x17e]
xor r10, qword [rbx + rax*8 + 0x22e450]
movzx eax, byte [rbp + 0x1c8]
xor r10, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1d9]
xor r9, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1e2]
xor r9, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x174]
xor r9, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1eb]
xor r9, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x17d]
xor r9, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x186]
xor r9, qword [rbx + rax*8 + 0x22e450]
movzx eax, byte [rbp + 0x1d0]
xor r9, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1e1]
xor r8, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x173]
xor r8, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1ea]
xor r8, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x17c]
xor r8, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x185]
xor r8, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x18e]
shr rdx, 0x38
shr rcx, 0x38
mov qword [rbp + 0x1a0], r15
xor r8, qword [rbx + rax*8 + 0x22e450]
mov rdx, qword [rbx + rdx*8 + 0x22dc50]
mov rcx, qword [rbx + rcx*8 + 0x22dc50]
movzx eax, byte [rbp + 0x1d8]
mov qword [rbp + 0x1a8], r14
mov qword [rbp + 0x1b0], rsi
mov qword [rbp + 0x1b8], rdi
xor r8, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x172]
mov qword [rbp + 0x1c0], r11
mov qword [rbp + 0x1c8], r10
mov qword [rbp + 0x1d0], r9
xor rdx, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1e9]
mov qword [rbp + 0x1d8], r8
xor rdx, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x17b]
xor rdx, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x184]
xor rdx, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x18d]
xor rdx, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x196]
xor rdx, qword [rbx + rax*8 + 0x22e450]
movzx eax, byte [rbp + 0x1e0]
xor rdx, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x171]
mov qword [rbp + 0x1e0], rdx
xor rcx, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x17a]
xor rcx, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x183]
xor rcx, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x18c]
xor rcx, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x195]
mov qword [rbp + 0x190], r13
xor rcx, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x19e]
mov qword [rbp + 0x198], r12
xor rcx, qword [rbx + rax*8 + 0x22e450]
movzx eax, byte [rbp + 0x1e8]
xor rcx, qword [rbx + rax*8 + 0x22ec50]
cmp dword [0x140297250], 2
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x170], rax
mov rax, qword [rsp + 0x78]
mov qword [rbp + 0x178], rax
mov rax, qword [rsp + 0x70]
mov qword [rbp + 0x180], rax
mov rax, qword [rsp + 0x68]
mov qword [rbp + 0x188], rax
mov qword [rbp + 0x1e8], rcx
jl 0x14016b078
movdqa xmm6, xmmword [0x140277030]
lea rax, [rbp + 0x180]
movdqa xmm7, xmmword [0x140277070]
mov edx, 4
movdqa xmm9, xmmword [rbp + 0xc0]
movdqa xmm11, xmmword [rbp + 0xe0]
movdqa xmm12, xmmword [rbp + 0xf0]
movdqa xmm13, xmmword [rbp + 0x100]
movq qword [rbp + 0xb0], xmm6
movdqa xmm8, xmmword [rbp + 0xb0]
movq qword [rbp + 0xd0], xmm6
movdqa xmm10, xmmword [rbp + 0xd0]
nop word [rax + rax]
movdqa xmm0, xmmword [rbp + 0x110]
lea ecx, [rdx - 4]
movd xmm2, ecx
lea rax, [rax + 0x40]
pshufd xmm2, xmm2, 0
lea ecx, [rdx - 2]
movq xmm5, xmm7
movq xmm1, xmm6
paddd xmm2, xmm5
movdqa xmm3, xmm12
pslld xmm2, 4
movq xmm4, xmm6
movsd xmm0, xmm2
movd xmm2, ecx
paddd xmm3, xmm0
movdqa xmmword [rbp + 0x110], xmm0
movdqa xmm0, xmmword [rbp + 0x120]
lea ecx, [rdx + 2]
movsd xmm0, xmm1
pshufd xmm2, xmm2, 0
paddd xmm3, xmm0
movdqa xmmword [rbp + 0x120], xmm0
movdqu xmm0, xmmword [rax - 0x50]
paddd xmm2, xmm5
pslld xmm2, 4
pmovsxdq xmm1, xmm3
xorps xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x130]
movdqu xmmword [rax - 0x50], xmm1
movsd xmm0, xmm2
movdqa xmm1, xmm13
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x130], xmm0
movdqa xmm0, xmmword [rbp + 0x140]
movsd xmm0, xmm4
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x140], xmm0
movdqu xmm0, xmmword [rax - 0x40]
pmovsxdq xmm1, xmm1
xorps xmm1, xmm0
movd xmm0, edx
movdqu xmmword [rax - 0x40], xmm1
add edx, 8
movdqa xmm1, xmmword [rbp + 0x150]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm5
pslld xmm0, 4
movsd xmm1, xmm0
movdqa xmmword [rbp + 0x150], xmm1
paddd xmm1, xmm11
paddd xmm1, xmm10
movq xmm0, xmm1
movdqu xmm1, xmmword [rax - 0x30]
pmovsxdq xmm2, xmm0
xorps xmm2, xmm1
movd xmm0, ecx
movdqa xmm1, xmmword [rbp + 0x160]
lea ecx, [rdx - 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm5
pslld xmm0, 4
movsd xmm1, xmm0
movdqa xmmword [rbp + 0x160], xmm1
paddd xmm1, xmm9
paddd xmm1, xmm8
movq xmm0, xmm1
movdqu xmmword [rax - 0x30], xmm2
movdqu xmm1, xmmword [rax - 0x20]
pmovsxdq xmm2, xmm0
xorps xmm2, xmm1
movdqu xmmword [rax - 0x20], xmm2
cmp ecx, 0x10
jl 0x14016af10
jmp 0x14016b0a1
mov rcx, qword [rsp + 0x40]
lea rax, [rbp + 0x170]
inc rcx
mov edx, 0x10
nop dword [rax]
xor qword [rax], rcx
lea rax, [rax + 8]
add rcx, 0x10
sub rdx, 1
jne 0x14016b090
mov rcx, qword [rbp + 0x1c8]
shr rcx, 0x38
mov r10, qword [rbp + 0x170]
mov r9, qword [rbp + 0x178]
mov r8, qword [rbp + 0x180]
mov rcx, qword [rbx + rcx*8 + 0x22dc50]
mov rdx, qword [rbp + 0x188]
mov r11, qword [rbp + 0x190]
movzx eax, r10b
xor rcx, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x179]
xor rcx, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x182]
xor rcx, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x18b]
xor rcx, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x194]
xor rcx, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x19d]
xor rcx, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1a6]
xor rcx, qword [rbx + rax*8 + 0x22e450]
mov qword [rbp - 0x80], rcx
mov rcx, qword [rbp + 0x1d0]
shr rcx, 0x38
movzx eax, r9b
mov rcx, qword [rbx + rcx*8 + 0x22dc50]
xor rcx, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x181]
xor rcx, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x18a]
xor rcx, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x193]
xor rcx, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x19c]
xor rcx, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1a5]
xor rcx, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1ae]
xor rcx, qword [rbx + rax*8 + 0x22e450]
mov qword [rsp + 0x78], rcx
mov rcx, qword [rbp + 0x1d8]
shr rcx, 0x38
movzx eax, r8b
mov rcx, qword [rbx + rcx*8 + 0x22dc50]
xor rcx, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x189]
xor rcx, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x192]
xor rcx, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x19b]
xor rcx, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1a4]
xor rcx, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1ad]
xor rcx, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1b6]
xor rcx, qword [rbx + rax*8 + 0x22e450]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rbp + 0x1e0]
shr rcx, 0x38
movzx eax, dl
mov rcx, qword [rbx + rcx*8 + 0x22dc50]
xor rcx, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x191]
xor rcx, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x19a]
xor rcx, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1a3]
xor rcx, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1ac]
xor rcx, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1b5]
xor rcx, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1be]
xor rcx, qword [rbx + rax*8 + 0x22e450]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rbp + 0x1e8]
shr rcx, 0x38
movzx eax, r11b
mov r13, qword [rbx + rcx*8 + 0x22dc50]
xor r13, qword [rbx + rax*8 + 0x22ec50]
lea rcx, [0x140000000]
movzx eax, byte [rbp + 0x199]
shr r10, 0x38
shr r9, 0x38
shr r8, 0x38
xor r13, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1a2]
mov r12, qword [rcx + r10*8 + 0x22dc50]
mov r15, qword [rcx + r9*8 + 0x22dc50]
mov r10, qword [rbp + 0x1a0]
xor r13, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1ab]
mov r14, qword [rcx + r8*8 + 0x22dc50]
mov r9, qword [rbp + 0x1a8]
mov r8, qword [rbp + 0x1b0]
xor r13, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1b4]
shr rdx, 0x38
xor r13, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1bd]
mov rsi, qword [rcx + rdx*8 + 0x22dc50]
xor r13, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1c6]
xor r13, qword [rbx + rax*8 + 0x22e450]
mov rbx, qword [rbp + 0x198]
movzx eax, bl
xor r12, qword [rcx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1a1]
xor r12, qword [rcx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1aa]
xor r12, qword [rcx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1b3]
xor r12, qword [rcx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1bc]
xor r12, qword [rcx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1c5]
xor r12, qword [rcx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1ce]
xor r12, qword [rcx + rax*8 + 0x22e450]
movzx eax, r10b
xor r15, qword [rcx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1a9]
xor r15, qword [rcx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1b2]
xor r15, qword [rcx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1bb]
xor r15, qword [rcx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1c4]
xor r15, qword [rcx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1cd]
xor r15, qword [rcx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1d6]
xor r15, qword [rcx + rax*8 + 0x22e450]
movzx eax, r9b
xor r14, qword [rcx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1b1]
xor r14, qword [rcx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1ba]
xor r14, qword [rcx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1c3]
xor r14, qword [rcx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1cc]
xor r14, qword [rcx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1d5]
xor r14, qword [rcx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1de]
xor r14, qword [rcx + rax*8 + 0x22e450]
movzx eax, r8b
xor rsi, qword [rcx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1b9]
xor rsi, qword [rcx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1c2]
xor rsi, qword [rcx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1cb]
xor rsi, qword [rcx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1d4]
xor rsi, qword [rcx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1dd]
xor rsi, qword [rcx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1e6]
xor rsi, qword [rcx + rax*8 + 0x22e450]
mov rdx, qword [rbp + 0x1b8]
shr r11, 0x38
shr r10, 0x38
shr r9, 0x38
movzx eax, dl
mov rdi, qword [rcx + r11*8 + 0x22dc50]
lea r11, [0x140000000]
shr rbx, 0x38
shr r8, 0x38
xor rdi, qword [rcx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1c1]
mov r11, qword [r11 + rbx*8 + 0x22dc50]
lea rbx, [0x140000000]
mov r10, qword [rbx + r10*8 + 0x22dc50]
mov r9, qword [rbx + r9*8 + 0x22dc50]
xor rdi, qword [rcx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1ca]
mov r8, qword [rbx + r8*8 + 0x22dc50]
xor rdi, qword [rcx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1d3]
xor rdi, qword [rcx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1dc]
xor rdi, qword [rcx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1e5]
xor rdi, qword [rcx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1ee]
xor rdi, qword [rcx + rax*8 + 0x22e450]
mov rcx, qword [rbp + 0x1c0]
movzx eax, cl
xor r11, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1c9]
xor r11, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1d2]
xor r11, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1db]
xor r11, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1e4]
xor r11, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x176]
xor r11, qword [rbx + rax*8 + 0x22e450]
movzx eax, byte [rbp + 0x1ed]
xor r11, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1d1]
xor r10, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1da]
xor r10, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1e3]
xor r10, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x175]
xor r10, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x1ec]
xor r10, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x17e]
xor r10, qword [rbx + rax*8 + 0x22e450]
movzx eax, byte [rbp + 0x1c8]
xor r10, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1d9]
xor r9, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x1e2]
xor r9, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x174]
xor r9, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x1eb]
xor r9, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x17d]
xor r9, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x186]
xor r9, qword [rbx + rax*8 + 0x22e450]
movzx eax, byte [rbp + 0x1d0]
xor r9, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x1e1]
xor r8, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x173]
xor r8, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x1ea]
xor r8, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x17c]
xor r8, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x185]
xor r8, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x18e]
shr rdx, 0x38
shr rcx, 0x38
mov qword [rbp + 0x1a8], r14
xor r8, qword [rbx + rax*8 + 0x22e450]
mov rdx, qword [rbx + rdx*8 + 0x22dc50]
mov rcx, qword [rbx + rcx*8 + 0x22dc50]
movzx eax, byte [rbp + 0x1d8]
mov r14d, dword [0x140297250]
mov qword [rbp + 0x1a0], r15
mov qword [rbp + 0x1b0], rsi
xor r8, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x172]
mov qword [rbp + 0x1b8], rdi
mov qword [rbp + 0x1c0], r11
mov qword [rbp + 0x1c8], r10
xor rdx, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x1e9]
mov qword [rbp + 0x1d0], r9
mov qword [rbp + 0x1d8], r8
xor rdx, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x17b]
xor rdx, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x184]
xor rdx, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x18d]
xor rdx, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x196]
xor rdx, qword [rbx + rax*8 + 0x22e450]
movzx eax, byte [rbp + 0x1e0]
xor rdx, qword [rbx + rax*8 + 0x22ec50]
movzx eax, byte [rbp + 0x171]
mov qword [rbp + 0x1e0], rdx
mov edx, dword [rsp + 0x20]
add edx, 2
xor rcx, qword [rbx + rax*8 + 0x22f450]
movzx eax, byte [rbp + 0x17a]
mov dword [rsp + 0x20], edx
xor rcx, qword [rbx + rax*8 + 0x22fc50]
movzx eax, byte [rbp + 0x183]
xor rcx, qword [rbx + rax*8 + 0x22d450]
movzx eax, byte [rbp + 0x18c]
xor rcx, qword [rbx + rax*8 + 0x230c50]
movzx eax, byte [rbp + 0x195]
mov qword [rbp + 0x190], r13
xor rcx, qword [rbx + rax*8 + 0x230450]
movzx eax, byte [rbp + 0x19e]
mov qword [rbp + 0x198], r12
xor rcx, qword [rbx + rax*8 + 0x22e450]
movzx eax, byte [rbp + 0x1e8]
xor rcx, qword [rbx + rax*8 + 0x22ec50]
mov rax, qword [rsp + 0x78]
mov rbx, qword [rbp - 0x80]
mov qword [rbp + 0x178], rax
mov rax, qword [rsp + 0x70]
mov qword [rbp + 0x180], rax
mov rax, qword [rsp + 0x68]
mov qword [rbp + 0x188], rax
mov rax, qword [rsp + 0x40]
add rax, 2
mov qword [rbp + 0x1e8], rcx
mov qword [rsp + 0x40], rax
mov qword [rbp + 0x170], rbx
cmp edx, 0xe
jl 0x14016a451
mov r8, qword [rsp + 0x28]
xor edx, edx
mov r9, qword [rbp - 0x38]
mov r10, qword [rbp - 0x78]
mov r11, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x68]
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
mov r15, qword [rbp - 0x48]
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x80], 7
mov rcx, rdx
shl rcx, 0x38
mov rax, rcx
mov r12, rcx
xor r12, qword [rsp + 0x30]
not rax
xor rax, qword [rsp + 0x38]
mov r14, rcx
xor r14, qword [rbp - 0x50]
mov r13, rcx
mov qword [rsp + 0x38], rax
xor r13, r15
movabs rax, 0xefffffffffffffff
lea r15, [rdx + 1]
xor r12, rax
shl r15, 0x38
mov rax, rcx
mov qword [rbp - 0x48], r12
xor rax, r8
movabs r8, 0xdfffffffffffffff
xor rax, r8
movabs r8, 0xcfffffffffffffff
mov qword [rsp + 0x28], rax
mov rax, rcx
xor rax, r9
mov r9, rcx
xor rax, r8
xor r9, rbx
mov qword [rsp + 0x40], rax
mov rbx, rcx
xor rbx, qword [rsp + 0x50]
mov rax, rcx
xor rax, r10
movabs r8, 0xbfffffffffffffff
xor rax, r8
mov r10, rcx
xor r10, qword [rsp + 0x60]
movabs r8, 0xafffffffffffffff
mov qword [rsp + 0x30], rax
mov rax, rcx
xor rax, r11
mov r11, rcx
xor rax, r8
xor r11, rdi
mov qword [rsp + 0x20], rax
mov rdi, rcx
xor rdi, rsi
mov r8, rcx
xor r8, qword [rbp - 0x40]
mov rsi, rcx
xor rsi, qword [rsp + 0x48]
movabs rax, 0x9fffffffffffffff
xor rcx, qword [rsp + 0x58]
xor r9, rax
movabs rax, 0x8fffffffffffffff
mov qword [rbp - 0x40], r15
xor r11, rax
movabs rax, 0x7fffffffffffffff
xor rdi, rax
movabs rax, 0x6fffffffffffffff
xor r14, rax
movabs rax, 0x5fffffffffffffff
xor r13, rax
movabs rax, 0x4fffffffffffffff
xor r8, rax
movabs rax, 0x3fffffffffffffff
xor r10, rax
movabs rax, 0x2fffffffffffffff
xor rbx, rax
movabs rax, 0x1fffffffffffffff
xor rsi, rax
movabs rax, 0xfffffffffffffff
xor rcx, rax
mov rax, r8
shr rax, 0x18
movzx edx, al
mov rax, qword [rsp + 0x20]
shr rax, 0x10
mov qword [rsp + 0x48], rcx
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22d450]
xor rdx, qword [rax + rcx*8 + 0x22fc50]
mov rax, qword [rsp + 0x30]
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, qword [rsp + 0x40]
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, qword [rsp + 0x28]
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, qword [rsp + 0x38]
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
lea rcx, [0x140000000]
mov rax, r9
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, r12b
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r15
not rax
xor rdx, rax
mov rax, r12
shr rax, 0x20
mov qword [rsp + 0x50], rdx
movzx edx, al
mov rax, r10
shr rax, 0x18
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x230c50]
xor rdx, qword [rax + rcx*8 + 0x22d450]
mov rax, r9
shr rax, 0x10
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22fc50]
mov rax, qword [rsp + 0x20]
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, qword [rsp + 0x30]
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, qword [rsp + 0x40]
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
lea rcx, [0x140000000]
mov rax, r11
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, byte [rsp + 0x28]
xor rdx, qword [rcx + rax*8 + 0x22ec50]
movabs rax, 0xefffffffffffffff
xor rdx, r15
xor rdx, rax
mov rax, rbx
shr rax, 0x18
mov qword [rsp + 0x58], rdx
movzx edx, al
mov rax, r11
shr rax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22d450]
xor rdx, qword [rax + rcx*8 + 0x22fc50]
mov rax, r9
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, qword [rsp + 0x20]
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, qword [rsp + 0x30]
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, qword [rsp + 0x28]
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
lea rcx, [0x140000000]
mov rax, rdi
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, byte [rsp + 0x40]
xor rdx, qword [rcx + rax*8 + 0x22ec50]
movabs rax, 0xdfffffffffffffff
xor rdx, r15
xor rdx, rax
mov rax, rsi
shr rax, 0x18
mov qword [rsp + 0x60], rdx
movzx edx, al
mov rax, rdi
shr rax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22d450]
xor rdx, qword [rax + rcx*8 + 0x22fc50]
mov rax, r11
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, r9
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, qword [rsp + 0x20]
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, qword [rsp + 0x40]
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
lea rcx, [0x140000000]
mov rax, r14
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, byte [rsp + 0x30]
xor rdx, qword [rcx + rax*8 + 0x22ec50]
movabs rax, 0xcfffffffffffffff
xor rdx, r15
xor rdx, rax
mov rax, qword [rsp + 0x48]
shr rax, 0x18
mov qword [rsp + 0x68], rdx
movzx edx, al
mov rax, r14
shr rax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22d450]
xor rdx, qword [rax + rcx*8 + 0x22fc50]
mov rax, rdi
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, r11
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r9
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, qword [rsp + 0x30]
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
lea rcx, [0x140000000]
mov rax, r13
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, byte [rsp + 0x20]
xor rdx, qword [rcx + rax*8 + 0x22ec50]
movabs rax, 0xbfffffffffffffff
xor rdx, r15
xor rdx, rax
mov rax, r13
shr rax, 0x10
mov qword [rsp + 0x70], rdx
movzx edx, al
mov rax, r14
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22fc50]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, rdi
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r11
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, qword [rsp + 0x20]
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
mov rax, qword [rsp + 0x38]
shr rax, 0x18
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22d450]
lea rcx, [0x140000000]
mov rax, r8
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, r9b
xor rdx, qword [rcx + rax*8 + 0x22ec50]
movabs rax, 0xafffffffffffffff
xor rdx, r15
xor rdx, rax
mov rax, r12
shr rax, 0x18
lea r12, [0x140000000]
mov qword [rbp - 0x50], rdx
movzx edx, al
mov rax, r8
shr rax, 0x10
movzx ecx, al
mov rax, r13
shr rax, 0x30
mov rdx, qword [r12 + rdx*8 + 0x22d450]
xor rdx, qword [r12 + rcx*8 + 0x22fc50]
movzx ecx, al
mov rax, r14
xor rdx, qword [r12 + rcx*8 + 0x22e450]
shr rax, 8
movzx ecx, al
xor rdx, qword [r12 + rcx*8 + 0x22f450]
mov rax, rdi
shr rax, 0x28
movzx ecx, al
mov rax, r9
shr rax, 0x20
xor rdx, qword [r12 + rcx*8 + 0x230450]
movzx ecx, al
mov rax, r10
shr rax, 0x38
xor rdx, qword [r12 + rcx*8 + 0x230c50]
xor rdx, qword [r12 + rax*8 + 0x22dc50]
movzx eax, r11b
xor rdx, qword [r12 + rax*8 + 0x22ec50]
movabs rax, 0x9fffffffffffffff
xor rdx, r15
xor rdx, rax
mov rax, r10
shr rax, 0x10
mov qword [rbp - 0x58], rdx
movzx edx, al
mov rax, r8
shr rax, 0x30
movzx ecx, al
mov rax, r13
shr rax, 8
mov rdx, qword [r12 + rdx*8 + 0x22fc50]
xor rdx, qword [r12 + rcx*8 + 0x22e450]
movzx ecx, al
mov rax, r14
shr rax, 0x28
xor rdx, qword [r12 + rcx*8 + 0x22f450]
movzx ecx, al
mov rax, r11
shr rax, 0x20
xor rdx, qword [r12 + rcx*8 + 0x230450]
movzx ecx, al
mov rax, qword [rsp + 0x28]
shr rax, 0x18
xor rdx, qword [r12 + rcx*8 + 0x230c50]
movzx ecx, al
mov rax, rbx
shr rax, 0x38
xor rdx, qword [r12 + rcx*8 + 0x22d450]
xor rdx, qword [r12 + rax*8 + 0x22dc50]
movzx eax, dil
xor rdx, qword [r12 + rax*8 + 0x22ec50]
movabs rax, 0x8fffffffffffffff
xor rdx, r15
xor rdx, rax
mov rax, rbx
shr rax, 0x10
mov qword [rbp - 0x60], rdx
movzx edx, al
mov rax, r10
shr rax, 0x30
movzx ecx, al
mov rax, r8
shr rax, 8
mov rdx, qword [r12 + rdx*8 + 0x22fc50]
xor rdx, qword [r12 + rcx*8 + 0x22e450]
movzx ecx, al
mov rax, r13
shr rax, 0x28
xor rdx, qword [r12 + rcx*8 + 0x22f450]
movzx ecx, al
mov rax, rdi
shr rax, 0x20
xor rdx, qword [r12 + rcx*8 + 0x230450]
movzx ecx, al
mov rax, qword [rsp + 0x40]
shr rax, 0x18
xor rdx, qword [r12 + rcx*8 + 0x230c50]
movzx ecx, al
mov rax, rsi
shr rax, 0x38
xor rdx, qword [r12 + rcx*8 + 0x22d450]
xor rdx, qword [r12 + rax*8 + 0x22dc50]
movzx eax, r14b
xor rdx, qword [r12 + rax*8 + 0x22ec50]
xor rdx, r15
movabs rax, 0x7fffffffffffffff
xor rdx, rax
mov rax, rsi
shr rax, 0x10
mov qword [rbp - 0x68], rdx
movzx edx, al
mov rax, rbx
shr rax, 0x30
movzx ecx, al
mov rax, r10
shr rax, 8
mov rdx, qword [r12 + rdx*8 + 0x22fc50]
xor rdx, qword [r12 + rcx*8 + 0x22e450]
movzx ecx, al
mov rax, r8
shr rax, 0x28
xor rdx, qword [r12 + rcx*8 + 0x22f450]
movzx ecx, al
mov rax, r14
shr rax, 0x20
xor rdx, qword [r12 + rcx*8 + 0x230450]
movzx ecx, al
mov rax, qword [rsp + 0x30]
shr rax, 0x18
xor rdx, qword [r12 + rcx*8 + 0x230c50]
movzx ecx, al
xor rdx, qword [r12 + rcx*8 + 0x22d450]
lea rcx, [0x140000000]
mov r12, qword [rsp + 0x48]
mov rax, r12
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, r13b
xor rdx, qword [rcx + rax*8 + 0x22ec50]
movabs rax, 0x6fffffffffffffff
xor rdx, r15
xor rdx, rax
mov rax, r12
shr rax, 0x10
mov qword [rbp - 0x70], rdx
movzx edx, al
mov rax, rsi
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22fc50]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, rbx
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r10
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, r13
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
mov rax, qword [rsp + 0x20]
shr rax, 0x18
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22d450]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x38]
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, r8b
xor rdx, qword [rcx + rax*8 + 0x22ec50]
movabs rax, 0x5fffffffffffffff
xor rdx, r15
xor rdx, rax
mov rax, r12
shr rax, 0x30
mov qword [rbp - 0x78], rdx
movzx edx, al
mov rax, rsi
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
mov r12, qword [rax + rdx*8 + 0x22e450]
lea rdx, [0x140000000]
shr r8, 0x20
mov rax, rbx
shr rax, 0x28
xor r12, qword [rdx + rcx*8 + 0x22f450]
movzx ecx, al
movzx eax, r8b
mov r8, qword [rbp - 0x48]
shr r9, 0x18
xor r12, qword [rdx + rcx*8 + 0x230450]
xor r12, qword [rdx + rax*8 + 0x230c50]
movzx eax, r9b
lea r9, [0x140000000]
shr r11, 0x18
shr rdi, 0x18
xor r12, qword [rdx + rax*8 + 0x22d450]
mov rax, qword [rsp + 0x38]
shr rax, 0x10
movzx ecx, al
mov rax, r8
shr rax, 0x38
xor r12, qword [rdx + rcx*8 + 0x22fc50]
xor r12, qword [rdx + rax*8 + 0x22dc50]
movzx eax, r10b
shr r10, 0x20
xor r12, qword [rdx + rax*8 + 0x22ec50]
movabs rax, 0x4fffffffffffffff
xor r12, r15
xor r12, rax
mov rax, r8
shr rax, 0x10
movzx edx, al
mov rax, qword [rsp + 0x48]
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
mov r15, qword [rax + rdx*8 + 0x22fc50]
lea rdx, [0x140000000]
mov rax, rsi
shr rax, 0x28
xor r15, qword [rdx + rcx*8 + 0x22f450]
movzx ecx, al
movzx eax, r10b
xor r15, qword [rdx + rcx*8 + 0x230450]
xor r15, qword [rdx + rax*8 + 0x230c50]
movzx eax, r11b
mov r11, qword [rbp - 0x40]
xor r15, qword [rdx + rax*8 + 0x22d450]
mov rax, qword [rsp + 0x38]
shr rax, 0x30
movzx ecx, al
mov rax, qword [rsp + 0x28]
shr rax, 0x38
xor r15, qword [rdx + rcx*8 + 0x22e450]
xor r15, qword [rdx + rax*8 + 0x22dc50]
movzx eax, bl
shr rbx, 0x20
xor r15, qword [rdx + rax*8 + 0x22ec50]
movabs rax, 0x3fffffffffffffff
xor r15, r11
xor r15, rax
mov rax, r8
shr rax, 0x30
movzx edx, al
mov rax, qword [rsp + 0x48]
shr rax, 0x28
movzx ecx, al
mov r10, qword [r9 + rdx*8 + 0x22e450]
movzx eax, bl
xor r10, qword [r9 + rcx*8 + 0x230450]
xor r10, qword [r9 + rax*8 + 0x230c50]
movzx eax, dil
xor r10, qword [r9 + rax*8 + 0x22d450]
mov rax, qword [rsp + 0x28]
shr rax, 0x10
movzx ecx, al
xor r10, qword [r9 + rcx*8 + 0x22fc50]
mov rdi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x48]
shr rax, 8
movzx ecx, al
mov rax, rdi
shr rax, 0x38
shr r14, 0x18
shr r13, 0x18
xor r10, qword [r9 + rcx*8 + 0x22f450]
xor r10, qword [r9 + rax*8 + 0x22dc50]
movzx eax, sil
shr rsi, 0x20
xor r10, qword [r9 + rax*8 + 0x22ec50]
movabs rax, 0x2fffffffffffffff
xor r10, r11
xor r10, rax
mov rax, r8
shr rax, 8
movzx ecx, al
shr r8, 0x28
movzx eax, sil
mov rsi, qword [rsp + 0x28]
mov r9, qword [r9 + rcx*8 + 0x22f450]
lea rcx, [0x140000000]
xor r9, qword [rcx + rax*8 + 0x230c50]
movzx eax, r14b
lea r14, [0x140000000]
xor r9, qword [r14 + rax*8 + 0x22d450]
mov rax, rdi
shr rax, 0x10
movzx ecx, al
mov rax, rsi
shr rax, 0x30
shr rdi, 0x30
shr rsi, 8
xor r9, qword [r14 + rcx*8 + 0x22fc50]
movzx ecx, al
mov rax, qword [rsp + 0x38]
shr rax, 0x28
xor r9, qword [r14 + rcx*8 + 0x22e450]
movzx ecx, al
mov rax, rdx
shr rax, 0x38
shr rdx, 0x10
xor r9, qword [r14 + rcx*8 + 0x230450]
xor r9, qword [r14 + rax*8 + 0x22dc50]
movzx ecx, r8b
movzx eax, bl
shr rbx, 0x20
mov r8, qword [r14 + rcx*8 + 0x230450]
xor r9, qword [r14 + rax*8 + 0x22ec50]
movabs rax, 0x1fffffffffffffff
xor r9, r11
xor r9, rax
movzx eax, bl
xor r8, qword [r14 + rax*8 + 0x230c50]
movzx eax, r13b
mov r13, qword [rbp - 0x50]
xor r8, qword [r14 + rax*8 + 0x22d450]
movzx eax, dl
xor r8, qword [r14 + rax*8 + 0x22fc50]
movzx eax, dil
xor r8, qword [r14 + rax*8 + 0x22e450]
movzx eax, sil
xor r8, qword [r14 + rax*8 + 0x22f450]
mov rax, qword [rsp + 0x20]
shr rax, 0x38
xor r8, qword [r14 + rax*8 + 0x22dc50]
movzx eax, byte [rsp + 0x38]
xor r8, qword [r14 + rax*8 + 0x22ec50]
movabs rax, 0xfffffffffffffff
xor r8, r11
xor r8, rax
mov rax, r12
shr rax, 0x18
movzx edx, al
mov rax, r13
shr rax, 0x10
movzx ecx, al
mov rdx, qword [r14 + rdx*8 + 0x22d450]
lea rsi, [0x140000000]
xor rdx, qword [r14 + rcx*8 + 0x22fc50]
mov r11, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov rax, r11
shr rax, 0x30
movzx ecx, al
mov rax, rbx
shr rax, 8
mov rdi, qword [rsp + 0x60]
xor rdx, qword [r14 + rcx*8 + 0x22e450]
movzx ecx, al
mov rax, rdi
shr rax, 0x28
xor rdx, qword [r14 + rcx*8 + 0x22f450]
movzx ecx, al
mov rax, qword [rsp + 0x50]
shr rax, 0x20
xor rdx, qword [r14 + rcx*8 + 0x230450]
movzx ecx, al
xor rdx, qword [r14 + rcx*8 + 0x230c50]
mov r14, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x58]
mov rax, r14
shr rax, 0x38
xor rdx, qword [rsi + rax*8 + 0x22dc50]
movzx eax, cl
xor rdx, qword [rsi + rax*8 + 0x22ec50]
mov rax, rcx
shr rax, 0x20
mov qword [rsp + 0x38], rdx
movzx edx, al
mov rax, r15
shr rax, 0x18
movzx ecx, al
mov rax, r14
shr rax, 0x10
mov rdx, qword [rsi + rdx*8 + 0x230c50]
xor rdx, qword [rsi + rcx*8 + 0x22d450]
movzx ecx, al
mov rax, r13
shr rax, 0x30
xor rdx, qword [rsi + rcx*8 + 0x22fc50]
movzx ecx, al
mov rax, r11
shr rax, 8
xor rdx, qword [rsi + rcx*8 + 0x22e450]
movzx ecx, al
mov rax, rbx
shr rax, 0x28
xor rdx, qword [rsi + rcx*8 + 0x22f450]
movzx ecx, al
xor rdx, qword [rsi + rcx*8 + 0x230450]
lea rcx, [0x140000000]
mov rsi, qword [rbp - 0x60]
mov rax, rsi
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, dil
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r10
shr rax, 0x18
mov qword [rsp + 0x30], rdx
movzx edx, al
mov rax, rsi
shr rax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22d450]
xor rdx, qword [rax + rcx*8 + 0x22fc50]
mov rax, r14
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, r13
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r11
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, rdi
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
mov rdi, qword [rbp - 0x68]
xor rdx, qword [rax + rcx*8 + 0x230c50]
lea rcx, [0x140000000]
mov rax, rdi
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, bl
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r9
shr rax, 0x18
mov qword [rsp + 0x28], rdx
movzx edx, al
mov rax, rdi
shr rax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22d450]
xor rdx, qword [rax + rcx*8 + 0x22fc50]
mov rax, rsi
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, r14
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r13
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, rbx
mov rbx, qword [rbp - 0x70]
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
lea rcx, [0x140000000]
mov rax, rbx
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, r11b
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r8
shr rax, 0x18
mov qword [rbp - 0x38], rdx
movzx edx, al
mov rax, rbx
shr rax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22d450]
xor rdx, qword [rax + rcx*8 + 0x22fc50]
mov rax, rdi
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, rsi
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r14
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, r11
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
mov r11, qword [rbp - 0x78]
xor rdx, qword [rax + rcx*8 + 0x230c50]
lea rcx, [0x140000000]
mov rax, r11
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, r13b
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r11
shr rax, 0x10
mov qword [rbp - 0x78], rdx
movzx edx, al
mov rax, rbx
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22fc50]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, rdi
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, rsi
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, r13
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
mov rax, qword [rsp + 0x50]
shr rax, 0x18
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22d450]
lea rcx, [0x140000000]
mov rax, r12
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, r14b
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, qword [rsp + 0x58]
shr rax, 0x18
mov qword [rbp - 0x70], rdx
movzx edx, al
mov rax, r12
shr rax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22d450]
xor rdx, qword [rax + rcx*8 + 0x22fc50]
mov rax, r11
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, rbx
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, rdi
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, r14
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
mov rax, r15
shr rax, 0x38
lea rcx, [0x140000000]
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, sil
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r15
shr rax, 0x10
mov qword [rbp - 0x68], rdx
movzx edx, al
mov rax, r12
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22fc50]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, r11
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, rbx
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, rsi
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
mov rax, qword [rsp + 0x60]
shr rax, 0x18
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22d450]
lea rcx, [0x140000000]
mov rax, r10
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, dil
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r10
shr rax, 0x10
mov qword [rbp - 0x60], rdx
movzx edx, al
mov rax, r15
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22fc50]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, r12
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r11
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, rdi
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
mov rax, qword [rsp + 0x68]
shr rax, 0x18
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22d450]
lea rcx, [0x140000000]
mov rax, r9
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, bl
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r9
shr rax, 0x10
mov qword [rbp - 0x58], rdx
movzx edx, al
mov rax, r10
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22fc50]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, r15
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r12
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, rbx
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
mov rax, qword [rsp + 0x70]
shr rax, 0x18
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22d450]
lea rcx, [0x140000000]
mov rax, r8
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, r11b
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r8
shr rax, 0x10
mov qword [rbp - 0x50], rdx
movzx edx, al
mov rax, r9
shr rax, 0x30
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22fc50]
xor rdx, qword [rax + rcx*8 + 0x22e450]
mov rax, r10
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r15
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
mov rax, r11
shr rax, 0x20
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230c50]
mov rax, r13
shr rax, 0x18
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22d450]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x50]
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, r12b
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r8
shr rax, 0x30
mov qword [rbp - 0x48], rdx
movzx edx, al
mov rax, r9
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22e450]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r10
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
shr r12, 0x20
movzx eax, r12b
mov r12, qword [rsp + 0x50]
lea rcx, [0x140000000]
xor rdx, qword [rcx + rax*8 + 0x230c50]
shr r14, 0x18
movzx eax, r14b
mov r14, qword [rsp + 0x58]
shr rsi, 0x18
shr rdi, 0x18
xor rdx, qword [rcx + rax*8 + 0x22d450]
mov rax, r12
shr rax, 0x10
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x22fc50]
lea rcx, [0x140000000]
mov rax, r14
shr rax, 0x38
xor rdx, qword [rcx + rax*8 + 0x22dc50]
movzx eax, r15b
shr r15, 0x20
xor rdx, qword [rcx + rax*8 + 0x22ec50]
mov rax, r14
shr rax, 0x10
mov qword [rbp - 0x40], rdx
movzx edx, al
mov rax, r8
shr rax, 8
movzx ecx, al
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*8 + 0x22fc50]
xor rdx, qword [rax + rcx*8 + 0x22f450]
mov rax, r9
shr rax, 0x28
movzx ecx, al
lea rax, [0x140000000]
xor rdx, qword [rax + rcx*8 + 0x230450]
movzx eax, r15b
lea r15, [0x140000000]
xor rdx, qword [r15 + rax*8 + 0x230c50]
movzx eax, sil
mov rsi, qword [rsp + 0x60]
xor rdx, qword [r15 + rax*8 + 0x22d450]
mov rax, r12
shr rax, 0x30
movzx ecx, al
mov rax, rsi
shr rax, 0x38
xor rdx, qword [r15 + rcx*8 + 0x22e450]
xor rdx, qword [r15 + rax*8 + 0x22dc50]
movzx eax, r10b
shr r10, 0x20
xor rdx, qword [r15 + rax*8 + 0x22ec50]
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0x60], rdx
movzx edx, al
mov rax, r8
shr rax, 0x28
movzx ecx, al
movzx eax, r10b
mov rdx, qword [r15 + rdx*8 + 0x22e450]
mov r10, qword [rsp + 0x68]
xor rdx, qword [r15 + rcx*8 + 0x230450]
xor rdx, qword [r15 + rax*8 + 0x230c50]
movzx eax, dil
xor rdx, qword [r15 + rax*8 + 0x22d450]
mov rax, rsi
shr rax, 0x10
movzx ecx, al
mov rax, r12
shr rax, 8
xor rdx, qword [r15 + rcx*8 + 0x22fc50]
movzx ecx, al
mov rax, r10
shr rax, 0x38
xor rdx, qword [r15 + rcx*8 + 0x22f450]
xor rdx, qword [r15 + rax*8 + 0x22dc50]
movzx eax, r9b
xor rdx, qword [r15 + rax*8 + 0x22ec50]
mov rax, r14
mov qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x70]
mov rdi, qword [rbp - 0x60]
shr rax, 8
movzx ecx, al
shr r9, 0x20
movzx eax, r9b
shr rbx, 0x18
mov r9, qword [r15 + rcx*8 + 0x22f450]
shr r14, 0x28
xor r9, qword [r15 + rax*8 + 0x230c50]
movzx eax, bl
mov rbx, qword [rbp - 0x68]
shr r11, 0x18
shr r13, 0x38
xor r9, qword [r15 + rax*8 + 0x22d450]
mov rax, r10
shr rax, 0x10
movzx ecx, al
mov rax, rsi
shr rax, 0x30
shr r10, 0x30
shr rsi, 8
xor r9, qword [r15 + rcx*8 + 0x22fc50]
movzx ecx, al
mov rax, r12
shr rax, 0x28
mov qword [rbp + 0x2a0], rbx
mov qword [rbp + 0x2a8], rdi
xor r9, qword [r15 + rcx*8 + 0x22e450]
movzx ecx, al
mov rax, rdx
shr rax, 0x38
shr rdx, 0x10
xor r9, qword [r15 + rcx*8 + 0x230450]
xor r9, qword [r15 + rax*8 + 0x22dc50]
movzx eax, r8b
shr r8, 0x20
movzx ecx, r14b
mov r14, qword [rbp - 0x50]
xor r9, qword [r15 + rax*8 + 0x22ec50]
movzx eax, r8b
mov rcx, qword [r15 + rcx*8 + 0x230450]
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x48], r9
xor rcx, qword [r15 + rax*8 + 0x230c50]
mov r9, qword [rbp - 0x38]
movzx eax, r11b
mov r11, qword [rbp - 0x70]
mov qword [rbp + 0x280], r8
mov qword [rbp + 0x288], r9
xor rcx, qword [r15 + rax*8 + 0x22d450]
movzx eax, dl
mov rdx, qword [rsp + 0x78]
add rdx, 2
mov qword [rbp + 0x298], r11
mov qword [rsp + 0x78], rdx
xor rcx, qword [r15 + rax*8 + 0x22fc50]
movzx eax, r10b
mov r10, qword [rbp - 0x78]
mov qword [rbp + 0x290], r10
mov qword [rbp + 0x2b8], r14
xor rcx, qword [r15 + rax*8 + 0x22e450]
movzx eax, sil
mov rsi, qword [rbp - 0x58]
mov qword [rbp + 0x2b0], rsi
xor rcx, qword [r15 + rax*8 + 0x22f450]
xor rcx, qword [r15 + r13*8 + 0x22dc50]
mov r13, qword [rsp + 0x60]
movzx eax, r12b
mov r12, qword [rbp - 0x40]
mov qword [rbp + 0x2c8], r12
mov qword [rbp + 0x2d0], r13
xor rcx, qword [r15 + rax*8 + 0x22ec50]
mov rax, qword [rsp + 0x38]
mov r15, qword [rbp - 0x48]
sub qword [rbp - 0x80], 1
mov qword [rsp + 0x58], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rbp + 0x278], rcx
mov qword [rbp + 0x270], rax
mov qword [rbp + 0x2c0], r15
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x2d8], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp + 0x2e0], rax
mov rax, qword [rsp + 0x58]
mov qword [rbp + 0x2e8], rax
jne 0x14016b940
xor eax, eax
movdqu xmm0, xmmword [rbp + rax + 0x270]
movdqu xmm1, xmmword [rbp + rax + 0x170]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x1f0]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x280]
movdqu xmmword [rbp + rax + 0x1f0], xmm1
movdqu xmm1, xmmword [rbp + rax + 0x180]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x200]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x190]
movdqu xmmword [rbp + rax + 0x200], xmm1
movdqu xmm1, xmmword [rbp + rax + 0x290]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x210]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x2a0]
movdqu xmmword [rbp + rax + 0x210], xmm1
movdqu xmm1, xmmword [rbp + rax + 0x1a0]
xorps xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x220]
xorps xmm1, xmm0
movdqu xmmword [rbp + rax + 0x220], xmm1
add rax, 0x40
cmp rax, 0x80
jb 0x14016d160
mov rdi, qword [rbp - 0x30]
mov r15, qword [rbp - 0x28]
mov r12, qword [rbp - 0x20]
inc qword [rdi + 0x108]
mov r14d, dword [0x140297250]
xor esi, esi
test r15, r15
jne 0x14016a2a0
movaps xmm13, xmmword [rsp + 0x400]
movaps xmm12, xmmword [rsp + 0x410]
movaps xmm11, xmmword [rsp + 0x420]
movaps xmm10, xmmword [rsp + 0x430]
movaps xmm9, xmmword [rsp + 0x440]
movaps xmm8, xmmword [rsp + 0x450]
mov r14, qword [rsp + 0x480]
mov r13, qword [rsp + 0x488]
mov rbx, qword [rsp + 0x4d8]
movups xmm7, xmmword [rbp + 0x260]
movups xmm6, xmmword [rbp + 0x250]
movups xmm5, xmmword [rbp + 0x240]
movups xmm4, xmmword [rbp + 0x230]
movups xmm3, xmmword [rbp + 0x220]
movups xmm2, xmmword [rbp + 0x210]
movups xmm1, xmmword [rbp + 0x200]
movups xmm0, xmmword [rbp + 0x1f0]
movups xmmword [rdi + 0x88], xmm0
movups xmmword [rdi + 0x98], xmm1
movups xmmword [rdi + 0xa8], xmm2
movups xmmword [rdi + 0xb8], xmm3
movups xmmword [rdi + 0xc8], xmm4
movups xmmword [rdi + 0xd8], xmm5
movups xmmword [rdi + 0xe8], xmm6
movups xmmword [rdi + 0xf8], xmm7
mov qword [rdi + 0x80], rsi
movaps xmm7, xmmword [rsp + 0x460]
movaps xmm6, xmmword [rsp + 0x470]
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.1401d5dd0
add rsp, 0x490
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret