Function at 0x1801743d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x450]
sub rsp, 0x550
mov rax, qword [0x1804be628]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
mov rsi, qword [rcx + 0x80]
mov eax, 0x80
sub rax, rsi
mov qword [rbp + 0x80], rcx
mov r15, r8
mov r12, rdx
mov rdi, rcx
cmp r8, rax
jae 0x180174434
add rcx, rsi
call fcn.180321590
lea rax, [r15 + rsi]
mov qword [rdi + 0x80], rax
jmp 0x180177606
movaps xmmword [rsp + 0x530], xmm6
movaps xmmword [rsp + 0x520], xmm7
movups xmm7, xmmword [rcx + 0xf8]
movups xmm0, xmmword [rcx + 0x88]
movups xmmword [rbp + 0x310], xmm7
movups xmmword [rbp + 0x2a0], xmm0
movups xmm1, xmmword [rcx + 0x98]
movups xmm2, xmmword [rcx + 0xa8]
movups xmmword [rbp + 0x2b0], xmm1
movups xmmword [rbp + 0x2c0], xmm2
movups xmm3, xmmword [rcx + 0xb8]
movups xmm4, xmmword [rcx + 0xc8]
movups xmmword [rbp + 0x2d0], xmm3
movups xmmword [rbp + 0x2e0], xmm4
movups xmm5, xmmword [rcx + 0xd8]
movups xmm6, xmmword [rcx + 0xe8]
movups xmmword [rbp + 0x2f0], xmm5
movups xmmword [rbp + 0x300], xmm6
test r15, r15
je 0x1801775b7
mov qword [rsp + 0x598], rbx
movabs rax, 0xefffffffffffffff
mov qword [rbp + 0x30], rax
movabs rax, 0xdfffffffffffffff
mov qword [rsp + 0x548], r13
mov r13d, 4
mov qword [rbp + 0x38], rax
movabs rax, 0xcfffffffffffffff
mov qword [rsp + 0x540], r14
mov r14d, dword [0x1804be630]
mov qword [rbp + 0x40], rax
movabs rax, 0xbfffffffffffffff
mov qword [rbp + 0x48], rax
movabs rax, 0xafffffffffffffff
movaps xmmword [rsp + 0x510], xmm8
mov qword [rbp + 0x50], rax
movabs rax, 0x9fffffffffffffff
movaps xmmword [rsp + 0x500], xmm9
mov qword [rbp + 0x58], rax
movabs rax, 0x8fffffffffffffff
movaps xmmword [rsp + 0x4f0], xmm10
mov qword [rbp + 0x60], rax
movabs rax, 0x7fffffffffffffff
movaps xmmword [rsp + 0x4e0], xmm11
mov qword [rbp + 0x68], rax
movabs rax, 0x6fffffffffffffff
movaps xmmword [rsp + 0x4d0], xmm12
mov qword [rbp + 0x70], rax
movabs rax, 0x5fffffffffffffff
movaps xmmword [rsp + 0x4c0], xmm13
mov qword [rbp + 0x78], rax
movaps xmmword [rsp + 0x4b0], xmm14
nop dword [rax]
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.180321590
add r12, rbx
sub r15, rbx
add rsi, rbx
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x88], r15
cmp rsi, 0x80
jne 0x18017751f
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbp + 0x2a0]
xor rcx, rax
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x2a8]
xor rax, rdx
mov qword [rbp + 0x98], rdx
mov rdx, qword [rdi + 0x10]
mov qword [rbp + 0x228], rax
mov rax, qword [rbp + 0x2b0]
xor rax, rdx
mov qword [rbp - 0x10], rdx
mov rdx, qword [rdi + 0x18]
mov qword [rbp + 0x230], rax
mov rax, qword [rbp + 0x2b8]
xor rax, rdx
mov qword [rbp - 8], rdx
mov rdx, qword [rdi + 0x20]
mov qword [rbp + 0x238], rax
mov rax, qword [rbp + 0x2c0]
xor rax, rdx
mov qword [rbp], rdx
mov rdx, qword [rdi + 0x28]
mov qword [rbp + 0x240], rax
mov rax, qword [rbp + 0x2c8]
xor rax, rdx
mov qword [rbp + 8], rdx
mov rdx, qword [rdi + 0x30]
mov qword [rbp + 0x248], rax
mov rax, qword [rbp + 0x2d0]
xor rax, rdx
mov qword [rbp + 0x10], rdx
mov rdx, qword [rdi + 0x38]
mov qword [rbp + 0x250], rax
mov rax, qword [rbp + 0x2d8]
xor rax, rdx
mov qword [rbp + 0x18], rdx
mov rdx, qword [rdi + 0x40]
mov qword [rbp + 0x258], rax
mov rax, qword [rbp + 0x2e0]
xor rax, rdx
mov qword [rbp + 0x20], rdx
mov rdx, qword [rdi + 0x48]
mov qword [rbp + 0x260], rax
mov rax, qword [rbp + 0x2e8]
xor rax, rdx
mov qword [rbp + 0x28], rdx
mov rdx, qword [rdi + 0x50]
mov qword [rbp + 0x268], rax
mov rax, qword [rbp + 0x2f0]
xor rax, rdx
mov qword [rsp + 0x48], rdx
mov rdx, qword [rdi + 0x58]
mov qword [rbp + 0x270], rax
mov rax, qword [rbp + 0x2f8]
xor rax, rdx
mov qword [rsp + 0x30], rdx
mov rdx, qword [rdi + 0x60]
mov qword [rbp + 0x278], rax
mov rax, qword [rbp + 0x300]
xor rax, rdx
mov qword [rsp + 0x38], rdx
mov rdx, qword [rdi + 0x68]
mov qword [rbp + 0x280], rax
mov rax, qword [rbp + 0x308]
xor rax, rdx
mov qword [rsp + 0x28], rdx
mov rdx, qword [rdi + 0x70]
mov qword [rbp + 0x288], rax
mov rax, qword [rbp + 0x310]
xor rax, rdx
mov qword [rsp + 0x40], rdx
mov rdx, qword [rdi + 0x78]
mov qword [rbp + 0x290], rax
mov rax, qword [rbp + 0x318]
xor rax, rdx
mov qword [rsp + 0x20], rdx
xor edx, edx
mov qword [rbp + 0x298], rax
mov dword [rsp + 0x58], edx
xor eax, eax
lea rbx, [0x180000000]
mov qword [rsp + 0x50], rax
nop word [rax + rax]
xor rcx, rax
movd xmm0, edx
pshufd xmm0, xmm0, 0
xor eax, eax
xor r8d, r8d
movq qword [rbp + 0x1d0], xmm0
movq qword [rbp + 0x170], xmm0
movq qword [rbp + 0x120], xmm0
movq qword [rbp + 0xf0], xmm0
movq qword [rbp + 0x1a0], xmm0
movq qword [rbp + 0x190], xmm0
movq qword [rbp + 0xc0], xmm0
movq qword [rbp + 0x160], xmm0
mov qword [rbp + 0x220], rcx
cmp r14d, 2
jl 0x1801749a3
movdqa xmm3, xmmword [0x1804877e0]
mov eax, 8
movdqa xmm5, xmmword [0x180487830]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [rbp + 0xa0]
mov r8d, eax
movdqa xmm2, xmmword [rbp + 0x160]
movd xmm4, r13d
pslld xmm1, xmm4
movsd xmm0, xmm1
paddd xmm2, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
movdqa xmm0, xmmword [rbp + 0xb0]
movsd xmm0, xmm5
paddd xmm2, xmm0
movdqa xmmword [rbp + 0xb0], xmm0
movdqu xmm0, xmmword [rbp + 0x228]
pmovsxdq xmm1, xmm2
movdqa xmm2, xmmword [0x1804877d0]
pxor xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0xd0]
paddd xmm2, xmm3
movdqu xmmword [rbp + 0x228], xmm1
movdqa xmm1, xmmword [rbp + 0xc0]
pslld xmm2, xmm4
movsd xmm0, xmm2
movdqa xmm2, xmmword [0x180487800]
paddd xmm1, xmm0
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmm0, xmmword [rbp + 0xe0]
paddd xmm2, xmm3
movsd xmm0, xmm5
paddd xmm1, xmm0
movdqa xmmword [rbp + 0xe0], xmm0
movdqu xmm0, xmmword [rbp + 0x238]
pmovsxdq xmm1, xmm1
pxor xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x100]
pslld xmm2, xmm4
movdqu xmmword [rbp + 0x238], xmm1
movdqa xmm1, xmmword [rbp + 0xf0]
movsd xmm0, xmm2
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x100], xmm0
movdqa xmm0, xmmword [rbp + 0x110]
movsd xmm0, xmm5
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x110], xmm0
movq xmm0, xmm1
movdqu xmm1, xmmword [rbp + 0x248]
pmovsxdq xmm2, xmm0
movdqa xmm0, xmmword [rbp + 0x130]
pxor xmm2, xmm1
movdqa xmm1, xmmword [0x180487820]
movdqu xmmword [rbp + 0x248], xmm2
movdqa xmm2, xmmword [rbp + 0x120]
paddd xmm1, xmm3
pslld xmm1, xmm4
movsd xmm0, xmm1
movdqu xmm1, xmmword [rbp + 0x258]
paddd xmm2, xmm0
movdqa xmmword [rbp + 0x130], xmm0
movdqa xmm0, xmmword [rbp + 0x140]
movsd xmm0, xmm5
paddd xmm2, xmm0
movdqa xmmword [rbp + 0x140], xmm0
movq xmm0, xmm2
pmovsxdq xmm2, xmm0
pxor xmm2, xmm1
movdqu xmmword [rbp + 0x258], xmm2
lea rcx, [rbp + 0x228]
lea rcx, [rcx + rax*8]
lea eax, [r8 + 1]
shl eax, 4
add eax, edx
movsxd rdx, eax
mov eax, send
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 0x1801749d0
mov r13, qword [rbp + 0x278]
mov r11, qword [rbp + 0x220]
mov rcx, r13
mov r12, qword [rbp + 0x280]
mov r10, qword [rbp + 0x228]
mov r15, qword [rbp + 0x288]
mov r9, qword [rbp + 0x230]
mov r14, qword [rbp + 0x290]
mov r8, qword [rbp + 0x238]
mov rsi, qword [rbp + 0x298]
shr rcx, 0x38
movzx eax, r11b
mov rdx, qword [rbx + rcx*8 + 0x4415f0]
mov rcx, r12
xor rdx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x229]
shr rcx, 0x38
xor rdx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x232]
xor rdx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x23b]
xor rdx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x244]
xor rdx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x24d]
xor rdx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x256]
xor rdx, qword [rbx + rax*8 + 0x43e5f0]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rbx + rcx*8 + 0x4415f0]
mov rcx, r15
shr rcx, 0x38
movzx eax, r10b
xor rdx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x231]
xor rdx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x23a]
xor rdx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x243]
xor rdx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x24c]
xor rdx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x255]
xor rdx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x25e]
xor rdx, qword [rbx + rax*8 + 0x43e5f0]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rbx + rcx*8 + 0x4415f0]
mov rcx, r14
movzx eax, r9b
shr rcx, 0x38
xor rdx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x239]
xor rdx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x242]
xor rdx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x24b]
xor rdx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x254]
xor rdx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x25d]
xor rdx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x266]
xor rdx, qword [rbx + rax*8 + 0x43e5f0]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rbx + rcx*8 + 0x4415f0]
movzx eax, r8b
xor rdx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x241]
xor rdx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x24a]
xor rdx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x253]
xor rdx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x25c]
xor rdx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x265]
xor rdx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x26e]
xor rdx, qword [rbx + rax*8 + 0x43e5f0]
mov qword [rsp + 0x78], rdx
mov rbx, qword [rbp + 0x240]
lea rdi, [0x180000000]
movzx eax, bl
mov rcx, rsi
shr rcx, 0x38
shr r11, 0x38
shr r10, 0x38
shr r9, 0x38
mov rdx, qword [rdi + rcx*8 + 0x4415f0]
xor rdx, qword [rdi + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x249]
shr r8, 0x38
xor rdx, qword [rdi + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x252]
xor rdx, qword [rdi + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x25b]
xor rdx, qword [rdi + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x264]
xor rdx, qword [rdi + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x26d]
xor rdx, qword [rdi + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x276]
xor rdx, qword [rdi + rax*8 + 0x43e5f0]
mov rdi, qword [rbp + 0x248]
movzx eax, dil
mov qword [rbp - 0x80], rdx
lea rdx, [0x180000000]
mov rcx, qword [rdx + r11*8 + 0x4415f0]
mov r11, qword [rbp + 0x250]
xor rcx, qword [rdx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x251]
xor rcx, qword [rdx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x25a]
xor rcx, qword [rdx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x263]
xor rcx, qword [rdx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x26c]
xor rcx, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x275]
xor rcx, qword [rdx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x27e]
xor rcx, qword [rdx + rax*8 + 0x43e5f0]
mov qword [rbp - 0x78], rcx
mov rcx, qword [rdx + r10*8 + 0x4415f0]
mov r10, qword [rbp + 0x258]
movzx eax, r11b
xor rcx, qword [rdx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x259]
xor rcx, qword [rdx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x262]
xor rcx, qword [rdx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x26b]
xor rcx, qword [rdx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x274]
xor rcx, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x27d]
xor rcx, qword [rdx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x286]
xor rcx, qword [rdx + rax*8 + 0x43e5f0]
mov qword [rbp - 0x70], rcx
mov rcx, qword [rdx + r9*8 + 0x4415f0]
mov r9, qword [rbp + 0x260]
movzx eax, r10b
xor rcx, qword [rdx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x261]
xor rcx, qword [rdx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x26a]
xor rcx, qword [rdx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x273]
xor rcx, qword [rdx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x27c]
xor rcx, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x285]
xor rcx, qword [rdx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x28e]
xor rcx, qword [rdx + rax*8 + 0x43e5f0]
movzx eax, r9b
mov qword [rbp - 0x68], rcx
mov rcx, qword [rdx + r8*8 + 0x4415f0]
xor rcx, qword [rdx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x269]
xor rcx, qword [rdx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x272]
mov r8, qword [rbp + 0x268]
shr rbx, 0x38
shr rdi, 0x38
xor rcx, qword [rdx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x27b]
shr r11, 0x38
shr r10, 0x38
xor rcx, qword [rdx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x284]
xor rcx, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x28d]
xor rcx, qword [rdx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x296]
xor rcx, qword [rdx + rax*8 + 0x43e5f0]
mov qword [rbp - 0x60], rcx
mov rcx, qword [rdx + rbx*8 + 0x4415f0]
lea rbx, [0x180000000]
mov rdx, qword [rbp + 0x270]
movzx eax, r8b
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x271]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x27a]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x283]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x28c]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x295]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x29e]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
mov qword [rbp - 0x58], rcx
mov rcx, qword [rbx + rdi*8 + 0x4415f0]
movzx eax, dl
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x279]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x282]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x28b]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x294]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x226]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, byte [rbp + 0x29d]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x281]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbx + r11*8 + 0x4415f0]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x28a]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x293]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x225]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x29c]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x22e]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, r13b
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x289]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbx + r10*8 + 0x4415f0]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x292]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x224]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x29b]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x22d]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x236]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, r12b
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x291]
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
mov qword [rbp - 0x40], rcx
shr r9, 0x38
shr r8, 0x38
shr rdx, 0x38
mov rcx, qword [rbx + r9*8 + 0x4415f0]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x223]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x29a]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x22c]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x235]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x23e]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, r15b
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x222]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbx + r8*8 + 0x4415f0]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x299]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x22b]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x234]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x23d]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x246]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, r14b
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x221]
mov qword [rbp - 0x30], rcx
mov rcx, qword [rbx + rdx*8 + 0x4415f0]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x22a]
movups xmmword [rbp + 0x220], xmm0
movups xmm0, xmmword [rbp - 0x80]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x233]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x23c]
movups xmmword [rbp + 0x230], xmm1
movups xmm1, xmmword [rbp - 0x70]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x245]
movups xmmword [rbp + 0x250], xmm1
movups xmm1, xmmword [rbp - 0x50]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x24e]
movups xmmword [rbp + 0x240], xmm0
movups xmm0, xmmword [rbp - 0x60]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, sil
movups xmmword [rbp + 0x260], xmm0
movups xmm0, xmmword [rbp - 0x40]
xor rcx, qword [rbx + rax*8 + 0x43edf0]
cmp dword [0x1804be630], 2
mov qword [rbp - 0x28], rcx
movups xmmword [rbp + 0x270], xmm1
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rbp + 0x290], xmm1
movups xmmword [rbp + 0x280], xmm0
jl 0x180175421
movdqa xmm7, xmmword [0x1804877a0]
lea rax, [rbp + 0x230]
movdqa xmm8, xmmword [0x1804877e0]
mov edx, 4
movdqa xmm10, xmmword [rbp + 0x1d0]
movdqa xmm11, xmmword [rbp + 0x170]
movdqa xmm13, xmmword [rbp + 0x190]
movdqa xmm14, xmmword [rbp + 0x1a0]
movq qword [rbp + 0x150], xmm7
movdqa xmm9, xmmword [rbp + 0x150]
movq qword [rbp + 0x180], xmm7
movdqa xmm12, xmmword [rbp + 0x180]
movd xmm6, edx
nop word [rax + rax]
movq xmm5, xmm8
lea ecx, [rdx - 4]
movd xmm2, ecx
lea rax, [rax + 0x40]
pshufd xmm2, xmm2, 0
lea ecx, [rdx - 2]
paddd xmm2, xmm5
movq xmm0, xmm6
pslld xmm2, xmm0
movdqa xmm0, xmmword [rbp + 0x1b0]
movdqa xmm3, xmm13
movsd xmm0, xmm2
movd xmm2, ecx
paddd xmm3, xmm0
movdqa xmmword [rbp + 0x1b0], xmm0
movdqa xmm0, xmmword [rbp + 0x1c0]
lea ecx, [rdx + 2]
movsd xmm0, xmm7
pshufd xmm2, xmm2, 0
paddd xmm3, xmm0
movdqa xmmword [rbp + 0x1c0], xmm0
movdqu xmm0, xmmword [rax - 0x50]
paddd xmm2, xmm5
pmovsxdq xmm1, xmm3
pxor xmm1, xmm0
movq xmm0, xmm6
pslld xmm2, xmm0
movdqa xmm0, xmmword [rbp + 0x210]
movsd xmm0, xmm2
movd xmm2, edx
movdqu xmmword [rax - 0x50], xmm1
add edx, 8
movdqa xmmword [rbp + 0x210], xmm0
movdqa xmm1, xmm14
paddd xmm1, xmm0
pshufd xmm2, xmm2, 0
movdqa xmm0, xmmword [rbp + 0x1e0]
paddd xmm2, xmm5
movsd xmm0, xmm7
paddd xmm1, xmm0
movdqa xmmword [rbp + 0x1e0], xmm0
movdqu xmm0, xmmword [rax - 0x40]
pmovsxdq xmm1, xmm1
pxor xmm1, xmm0
movq xmm0, xmm6
pslld xmm2, xmm0
movdqa xmm0, xmmword [rbp + 0x1f0]
movsd xmm0, xmm2
movdqa xmmword [rbp + 0x1f0], xmm0
paddd xmm0, xmm11
movdqu xmmword [rax - 0x40], xmm1
movdqu xmm1, xmmword [rax - 0x30]
paddd xmm0, xmm12
movq xmm0, xmm0
pmovsxdq xmm2, xmm0
pxor xmm2, xmm1
movq xmm0, xmm6
movdqu xmmword [rax - 0x30], xmm2
movd xmm1, ecx
lea ecx, [rdx - 4]
pshufd xmm1, xmm1, 0
paddd xmm1, xmm5
pslld xmm1, xmm0
movdqa xmm0, xmmword [rbp + 0x200]
movsd xmm0, xmm1
movdqa xmmword [rbp + 0x200], xmm0
paddd xmm0, xmm10
paddd xmm0, xmm9
movq xmm0, xmm0
movdqu xmm1, xmmword [rax - 0x20]
pmovsxdq xmm2, xmm0
pxor xmm2, xmm1
movdqu xmmword [rax - 0x20], xmm2
cmp ecx, 0x10
jl 0x1801752b0
jmp 0x180175451
mov rcx, qword [rsp + 0x50]
lea rax, [rbp + 0x220]
inc rcx
mov edx, reloc.WS2_32.dll_recv
nop word [rax + rax]
xor qword [rax], rcx
lea rax, [rax + 8]
add rcx, 0x10
sub rdx, 1
jne 0x180175440
mov r13, qword [rbp + 0x278]
mov r11, qword [rbp + 0x220]
mov rcx, r13
mov r12, qword [rbp + 0x280]
mov r10, qword [rbp + 0x228]
mov r15, qword [rbp + 0x288]
mov r9, qword [rbp + 0x230]
mov r14, qword [rbp + 0x290]
mov r8, qword [rbp + 0x238]
mov rsi, qword [rbp + 0x298]
shr rcx, 0x38
movzx eax, r11b
mov rdx, qword [rbx + rcx*8 + 0x4415f0]
mov rcx, r12
xor rdx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x229]
shr rcx, 0x38
xor rdx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x232]
xor rdx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x23b]
xor rdx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x244]
xor rdx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x24d]
xor rdx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x256]
xor rdx, qword [rbx + rax*8 + 0x43e5f0]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rbx + rcx*8 + 0x4415f0]
mov rcx, r15
shr rcx, 0x38
movzx eax, r10b
xor rdx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x231]
xor rdx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x23a]
xor rdx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x243]
xor rdx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x24c]
xor rdx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x255]
xor rdx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x25e]
xor rdx, qword [rbx + rax*8 + 0x43e5f0]
mov qword [rsp + 0x68], rdx
mov rdx, qword [rbx + rcx*8 + 0x4415f0]
mov rcx, r14
movzx eax, r9b
shr rcx, 0x38
xor rdx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x239]
xor rdx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x242]
xor rdx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x24b]
xor rdx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x254]
xor rdx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x25d]
xor rdx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x266]
xor rdx, qword [rbx + rax*8 + 0x43e5f0]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rbx + rcx*8 + 0x4415f0]
movzx eax, r8b
xor rdx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x241]
xor rdx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x24a]
xor rdx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x253]
xor rdx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x25c]
xor rdx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x265]
xor rdx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x26e]
xor rdx, qword [rbx + rax*8 + 0x43e5f0]
mov qword [rsp + 0x78], rdx
mov rbx, qword [rbp + 0x240]
lea rdi, [0x180000000]
movzx eax, bl
mov rcx, rsi
shr rcx, 0x38
shr r11, 0x38
shr r10, 0x38
shr r9, 0x38
mov rdx, qword [rdi + rcx*8 + 0x4415f0]
xor rdx, qword [rdi + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x249]
shr r8, 0x38
xor rdx, qword [rdi + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x252]
xor rdx, qword [rdi + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x25b]
xor rdx, qword [rdi + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x264]
xor rdx, qword [rdi + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x26d]
xor rdx, qword [rdi + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x276]
xor rdx, qword [rdi + rax*8 + 0x43e5f0]
mov rdi, qword [rbp + 0x248]
movzx eax, dil
mov qword [rbp - 0x80], rdx
lea rdx, [0x180000000]
mov rcx, qword [rdx + r11*8 + 0x4415f0]
mov r11, qword [rbp + 0x250]
xor rcx, qword [rdx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x251]
xor rcx, qword [rdx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x25a]
xor rcx, qword [rdx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x263]
xor rcx, qword [rdx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x26c]
xor rcx, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x275]
xor rcx, qword [rdx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x27e]
xor rcx, qword [rdx + rax*8 + 0x43e5f0]
mov qword [rbp - 0x78], rcx
mov rcx, qword [rdx + r10*8 + 0x4415f0]
mov r10, qword [rbp + 0x258]
movzx eax, r11b
xor rcx, qword [rdx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x259]
xor rcx, qword [rdx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x262]
xor rcx, qword [rdx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x26b]
xor rcx, qword [rdx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x274]
xor rcx, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x27d]
xor rcx, qword [rdx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x286]
xor rcx, qword [rdx + rax*8 + 0x43e5f0]
mov qword [rbp - 0x70], rcx
mov rcx, qword [rdx + r9*8 + 0x4415f0]
mov r9, qword [rbp + 0x260]
movzx eax, r10b
xor rcx, qword [rdx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x261]
xor rcx, qword [rdx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x26a]
xor rcx, qword [rdx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x273]
xor rcx, qword [rdx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x27c]
xor rcx, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x285]
xor rcx, qword [rdx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x28e]
xor rcx, qword [rdx + rax*8 + 0x43e5f0]
movzx eax, r9b
mov qword [rbp - 0x68], rcx
mov rcx, qword [rdx + r8*8 + 0x4415f0]
xor rcx, qword [rdx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x269]
xor rcx, qword [rdx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x272]
mov r8, qword [rbp + 0x268]
shr rbx, 0x38
shr rdi, 0x38
xor rcx, qword [rdx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x27b]
shr r11, 0x38
shr r10, 0x38
xor rcx, qword [rdx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x284]
xor rcx, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x28d]
xor rcx, qword [rdx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x296]
xor rcx, qword [rdx + rax*8 + 0x43e5f0]
mov qword [rbp - 0x60], rcx
mov rcx, qword [rdx + rbx*8 + 0x4415f0]
lea rbx, [0x180000000]
mov rdx, qword [rbp + 0x270]
movzx eax, r8b
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x271]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x27a]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x283]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x28c]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x295]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x29e]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
mov qword [rbp - 0x58], rcx
mov rcx, qword [rbx + rdi*8 + 0x4415f0]
movzx eax, dl
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x279]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x282]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x28b]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x294]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x226]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, byte [rbp + 0x29d]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x281]
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbx + r11*8 + 0x4415f0]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x28a]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x293]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x225]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x29c]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x22e]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, r13b
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x289]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbx + r10*8 + 0x4415f0]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x292]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x224]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x29b]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x22d]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x236]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, r12b
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x291]
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
mov qword [rbp - 0x40], rcx
shr r9, 0x38
shr rdx, 0x38
shr r8, 0x38
mov rcx, qword [rbx + r9*8 + 0x4415f0]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x223]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x29a]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x22c]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x235]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x23e]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, r15b
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x222]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbx + r8*8 + 0x4415f0]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x299]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
movzx eax, byte [rbp + 0x22b]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x234]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x23d]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x246]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, r14b
xor rcx, qword [rbx + rax*8 + 0x43edf0]
movzx eax, byte [rbp + 0x221]
mov qword [rbp - 0x30], rcx
mov rcx, qword [rbx + rdx*8 + 0x4415f0]
mov edx, dword [rsp + 0x58]
xor rcx, qword [rbx + rax*8 + 0x43ddf0]
add edx, 2
movzx eax, byte [rbp + 0x22a]
movups xmmword [rbp + 0x220], xmm0
mov dword [rsp + 0x58], edx
movups xmm0, xmmword [rbp - 0x80]
xor rcx, qword [rbx + rax*8 + 0x43fdf0]
movzx eax, byte [rbp + 0x233]
xor rcx, qword [rbx + rax*8 + 0x440df0]
movzx eax, byte [rbp + 0x23c]
movups xmmword [rbp + 0x230], xmm1
movups xmm1, xmmword [rbp - 0x70]
xor rcx, qword [rbx + rax*8 + 0x43f5f0]
movzx eax, byte [rbp + 0x245]
movups xmmword [rbp + 0x250], xmm1
movups xmm1, xmmword [rbp - 0x50]
xor rcx, qword [rbx + rax*8 + 0x4405f0]
movzx eax, byte [rbp + 0x24e]
movups xmmword [rbp + 0x240], xmm0
movups xmm0, xmmword [rbp - 0x60]
xor rcx, qword [rbx + rax*8 + 0x43e5f0]
movzx eax, sil
movups xmmword [rbp + 0x260], xmm0
movups xmm0, xmmword [rbp - 0x40]
xor rcx, qword [rbx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x50]
add rax, 2
mov qword [rbp - 0x28], rcx
mov qword [rsp + 0x50], rax
movups xmmword [rbp + 0x270], xmm1
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rbp + 0x280], xmm0
movups xmmword [rbp + 0x290], xmm1
cmp edx, 0xe
jge 0x180175cd8
mov rcx, qword [rbp + 0x220]
mov r13d, 4
mov r14d, dword [0x1804be630]
jmp 0x1801747a0
mov r10, qword [rbp + 0x98]
xor r9d, r9d
mov r11, qword [rbp - 0x10]
mov rbx, qword [rbp - 8]
mov rdi, qword [rbp]
mov rsi, qword [rbp + 8]
mov r14, qword [rbp + 0x10]
mov r15, qword [rbp + 0x18]
mov r12, qword [rbp + 0x20]
mov r13, qword [rbp + 0x28]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov qword [rsp + 0x58], r9
mov qword [rbp - 0x20], 7
nop
mov rax, r9
shl rax, 0x38
xor rcx, rax
xor r8, rax
xor rcx, qword [rbp + 0x78]
xor rdx, rax
xor r10, rax
mov qword [rsp + 0x48], rcx
xor r10, qword [rbp + 0x30]
xor r11, rax
xor r11, qword [rbp + 0x38]
xor rbx, rax
xor rbx, qword [rbp + 0x40]
xor rdi, rax
xor rdi, qword [rbp + 0x48]
xor rsi, rax
xor rsi, qword [rbp + 0x50]
xor r14, rax
xor r14, qword [rbp + 0x58]
xor r15, rax
xor r15, qword [rbp + 0x60]
xor r12, rax
xor r12, qword [rbp + 0x68]
xor r13, rax
xor r13, qword [rbp + 0x70]
mov r9, rax
movabs rcx, 0x4fffffffffffffff
not r9
xor r9, qword [rbp - 0x18]
xor rdx, rcx
movabs rcx, 0x3fffffffffffffff
mov qword [rsp + 0x30], rdx
xor r8, rcx
mov rcx, qword [rsp + 0x28]
xor rcx, rax
mov qword [rsp + 0x38], r8
movabs r8, 0x2fffffffffffffff
xor rcx, r8
movabs r8, 0x1fffffffffffffff
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x40]
xor rcx, rax
xor rcx, r8
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x20]
xor rcx, rax
movabs rax, 0xfffffffffffffff
xor rcx, rax
mov rax, rdx
shr rax, 0x18
movzx edx, al
mov rax, rsi
shr rax, 0x10
mov qword [rsp + 0x20], rcx
movzx ecx, al
lea rax, [0x180000000]
mov r8, qword [rax + rdx*8 + 0x440df0]
lea rdx, [0x180000000]
mov rax, rdi
shr rax, 0x30
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
movzx ecx, al
mov rax, rbx
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, r11
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r9
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r14
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r10b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov qword [rsp + 0x60], r8
mov rax, r10
shr rax, 0x20
movzx edx, al
mov rax, qword [rsp + 0x38]
shr rax, 0x18
movzx ecx, al
lea rax, [0x180000000]
mov r8, qword [rax + rdx*8 + 0x43f5f0]
lea rdx, [0x180000000]
mov rax, r14
shr rax, 0x10
xor r8, qword [rdx + rcx*8 + 0x440df0]
movzx ecx, al
mov rax, rsi
shr rax, 0x30
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
movzx ecx, al
mov rax, rdi
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, rbx
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r15
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x4405f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r11b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x28]
shr rax, 0x18
movzx edx, al
mov rax, r15
shr rax, 0x10
movzx ecx, al
lea rax, [0x180000000]
mov qword [rsp + 0x68], r8
mov r8, qword [rax + rdx*8 + 0x440df0]
lea rdx, [0x180000000]
mov rax, r14
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
shr rax, 0x30
movzx ecx, al
mov rax, rsi
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, rdi
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r11
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r12
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, bl
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x40]
shr rax, 0x18
movzx edx, al
mov rax, r12
shr rax, 0x10
movzx ecx, al
lea rax, [0x180000000]
mov qword [rsp + 0x70], r8
mov r8, qword [rax + rdx*8 + 0x440df0]
lea rdx, [0x180000000]
mov rax, r15
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
shr rax, 0x30
movzx ecx, al
mov rax, r14
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
mov rax, rsi
shr rax, 0x28
movzx ecx, al
mov rax, rbx
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r13
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, dil
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x20]
shr rax, 0x18
movzx edx, al
mov rax, r13
shr rax, 0x10
movzx ecx, al
lea rax, [0x180000000]
mov qword [rsp + 0x78], r8
mov r8, qword [rax + rdx*8 + 0x440df0]
lea rdx, [0x180000000]
mov rax, r12
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
shr rax, 0x30
movzx ecx, al
mov rax, r15
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, r14
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, rdi
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, qword [rsp + 0x48]
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, sil
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x48]
shr rax, 0x10
movzx edx, al
mov rax, r13
shr rax, 0x30
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x80], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, r12
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
mov rax, r15
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, rsi
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r9
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
movzx ecx, al
mov rax, qword [rsp + 0x30]
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x440df0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r14b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, r10
shr rax, 0x18
mov qword [rbp - 0x78], r8
movzx edx, al
mov rax, qword [rsp + 0x30]
shr rax, 0x10
movzx ecx, al
lea rax, [0x180000000]
mov r8, qword [rax + rdx*8 + 0x440df0]
lea rdx, [0x180000000]
mov rax, qword [rsp + 0x48]
shr rax, 0x30
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
movzx ecx, al
mov rax, r13
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, r12
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r14
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, qword [rsp + 0x38]
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r15b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x38]
shr rax, 0x10
movzx edx, al
mov rax, qword [rsp + 0x30]
shr rax, 0x30
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x70], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, qword [rsp + 0x48]
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
mov rax, r13
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r15
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r11
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
movzx ecx, al
mov rax, qword [rsp + 0x28]
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x440df0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r12b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x28]
shr rax, 0x10
movzx edx, al
mov rax, qword [rsp + 0x38]
shr rax, 0x30
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x68], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, qword [rsp + 0x30]
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
mov rax, qword [rsp + 0x48]
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r12
xor r8, qword [rdx + rcx*8 + 0x4405f0]
shr rax, 0x20
movzx ecx, al
mov rax, rbx
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
movzx ecx, al
mov rax, qword [rsp + 0x40]
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x440df0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r13b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x40]
shr rax, 0x10
movzx edx, al
mov rax, qword [rsp + 0x28]
shr rax, 0x30
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x60], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, qword [rsp + 0x38]
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
mov rax, qword [rsp + 0x30]
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r13
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, rdi
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
movzx ecx, al
mov rax, qword [rsp + 0x20]
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x440df0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, byte [rsp + 0x48]
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x20]
shr rax, 0x10
movzx edx, al
mov rax, qword [rsp + 0x40]
shr rax, 0x30
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x58], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, qword [rsp + 0x28]
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
mov rax, qword [rsp + 0x38]
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, qword [rsp + 0x48]
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, rsi
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
movzx ecx, al
mov rax, r9
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x440df0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, byte [rsp + 0x30]
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x20]
shr rax, 0x30
movzx edx, al
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x50], r8
shr rax, 8
movzx ecx, al
lea rax, [0x180000000]
mov r8, qword [rax + rdx*8 + 0x43e5f0]
lea rdx, [0x180000000]
mov rax, qword [rsp + 0x28]
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, qword [rsp + 0x30]
shr rax, 0x20
movzx eax, al
xor r8, qword [rdx + rcx*8 + 0x4405f0]
shr r14, 0x18
shr r15, 0x18
xor r8, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, r14b
mov r14, qword [rsp + 0x38]
shr r12, 0x18
xor r8, qword [rdx + rax*8 + 0x440df0]
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r10
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r14b
shr r14, 0x20
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, r10
shr rax, 0x10
movzx edx, al
mov rax, qword [rsp + 0x20]
shr rax, 8
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x48], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, qword [rsp + 0x40]
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
shr rax, 0x28
movzx ecx, al
movzx eax, r14b
mov r14, qword [rsp + 0x28]
xor r8, qword [rdx + rcx*8 + 0x4405f0]
xor r8, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, r15b
mov r15, qword [rsp + 0x20]
xor r8, qword [rdx + rax*8 + 0x440df0]
mov rax, r9
shr rax, 0x30
movzx ecx, al
mov rax, r11
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r14b
shr r14, 0x20
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, r10
shr rax, 0x30
movzx edx, al
mov rax, r15
shr rax, 0x28
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x40], r8
mov r8, qword [rax + rdx*8 + 0x43e5f0]
xor r8, qword [rax + rcx*8 + 0x4405f0]
movzx eax, r14b
lea r14, [0x180000000]
xor r8, qword [r14 + rax*8 + 0x43f5f0]
movzx eax, r12b
xor r8, qword [r14 + rax*8 + 0x440df0]
mov rax, r11
shr rax, 0x10
movzx ecx, al
mov rax, r9
xor r8, qword [r14 + rcx*8 + 0x43fdf0]
mov rdx, qword [rsp + 0x40]
movups xmm0, xmmword [rsp + 0x60]
shr rax, 8
movups xmm1, xmmword [rsp + 0x70]
movzx ecx, al
mov rax, rbx
movups xmm2, xmmword [rbp - 0x80]
shr rax, 0x38
movups xmm3, xmmword [rbp - 0x70]
xor r8, qword [r14 + rcx*8 + 0x43ddf0]
movups xmm4, xmmword [rbp - 0x60]
xor r8, qword [r14 + rax*8 + 0x4415f0]
movups xmm5, xmmword [rbp - 0x50]
movzx eax, dl
shr rdx, 0x20
shr r13, 0x18
shr rsi, 0x38
xor r8, qword [r14 + rax*8 + 0x43edf0]
mov rax, r10
shr rax, 8
movzx ecx, al
movzx eax, dl
shr r10, 0x28
mov qword [rbp - 0x38], r8
mov rdx, qword [r14 + rcx*8 + 0x43ddf0]
xor rdx, qword [r14 + rax*8 + 0x43f5f0]
movups xmm6, xmmword [rbp - 0x40]
movzx eax, r13b
xor rdx, qword [r14 + rax*8 + 0x440df0]
mov rax, rbx
shr rax, 0x10
movzx ecx, al
mov rax, r11
shr rax, 0x30
shr rbx, 0x30
shr r11, 8
xor rdx, qword [r14 + rcx*8 + 0x43fdf0]
movzx ecx, al
mov rax, r9
shr rax, 0x28
xor rdx, qword [r14 + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, rdi
shr rax, 0x38
shr rdi, 0x10
xor rdx, qword [r14 + rcx*8 + 0x4405f0]
xor rdx, qword [r14 + rax*8 + 0x4415f0]
movzx eax, r15b
shr r15, 0x20
movzx ecx, r10b
xor rdx, qword [r14 + rax*8 + 0x43edf0]
mov qword [rbp - 0x30], rdx
mov rdx, qword [r14 + rcx*8 + 0x4405f0]
movzx eax, r15b
xor rdx, qword [r14 + rax*8 + 0x43f5f0]
mov rax, qword [rsp + 0x48]
shr rax, 0x18
movzx eax, al
xor rdx, qword [r14 + rax*8 + 0x440df0]
movzx eax, dil
xor rdx, qword [r14 + rax*8 + 0x43fdf0]
movzx eax, bl
xor rdx, qword [r14 + rax*8 + 0x43e5f0]
movzx eax, r11b
xor rdx, qword [r14 + rax*8 + 0x43ddf0]
xor rdx, qword [r14 + rsi*8 + 0x4415f0]
movzx eax, r9b
xor rdx, qword [r14 + rax*8 + 0x43edf0]
movq rax, xmm0
mov qword [rbp - 0x28], rdx
mov rdx, qword [rsp + 0x58]
movups xmm7, xmmword [rbp - 0x30]
inc rdx
psrldq xmm0, 8
shl rdx, 0x38
mov rcx, rdx
not rcx
xor rcx, rax
movq rax, xmm0
mov qword [rsp + 0x38], rcx
mov rcx, rdx
xor rcx, rax
mov r13, rdx
movabs rax, 0xefffffffffffffff
mov r11, rdx
xor rcx, rax
mov rdi, rdx
mov qword [rsp + 0x50], rcx
movq rax, xmm1
mov rcx, rdx
psrldq xmm1, 8
xor rcx, rax
mov r14, rdx
movabs rax, 0xdfffffffffffffff
mov r15, rdx
xor rcx, rax
mov r12, rdx
mov qword [rsp + 0x28], rcx
movq rax, xmm1
mov rcx, rdx
mov r9, rdx
xor rcx, rax
mov r10, rdx
movabs rax, 0xcfffffffffffffff
mov rbx, rdx
xor rcx, rax
mov rsi, rdx
movq rax, xmm2
mov qword [rsp + 0x30], rcx
xor r13, rax
psrldq xmm2, 8
movabs rax, 0xbfffffffffffffff
mov rcx, rdx
xor r13, rax
movq rax, xmm2
xor rcx, rax
movabs rax, 0xafffffffffffffff
xor rcx, rax
movq rax, xmm3
xor r11, rax
psrldq xmm3, 8
movabs rax, 0x9fffffffffffffff
mov qword [rsp + 0x20], rcx
xor r11, rax
movq rax, xmm3
xor rdi, rax
movabs rax, 0x8fffffffffffffff
xor rdi, rax
movq rax, xmm4
xor r14, rax
psrldq xmm4, 8
movabs rax, 0x7fffffffffffffff
xor r14, rax
movq rax, xmm4
xor r15, rax
movabs rax, 0x6fffffffffffffff
xor r15, rax
movq rax, xmm5
xor r12, rax
psrldq xmm5, 8
movabs rax, 0x5fffffffffffffff
xor r12, rax
movq rax, xmm5
xor r9, rax
movabs rax, 0x4fffffffffffffff
xor r9, rax
movq rax, xmm6
xor r10, rax
psrldq xmm6, 8
movabs rax, 0x3fffffffffffffff
xor r10, rax
movq rax, xmm6
xor rbx, rax
movabs rax, 0x2fffffffffffffff
xor rbx, rax
movq rax, xmm7
xor rsi, rax
psrldq xmm7, 8
movabs rax, 0x1fffffffffffffff
xor rsi, rax
movq rax, xmm7
xor rdx, rax
movabs rax, 0xfffffffffffffff
xor rdx, rax
mov rax, r9
shr rax, 0x18
mov qword [rsp + 0x40], rdx
movzx edx, al
mov rax, rcx
shr rax, 0x10
movzx ecx, al
lea rax, [0x180000000]
mov r8, qword [rax + rdx*8 + 0x440df0]
lea rdx, [0x180000000]
mov rax, r13
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
shr rax, 0x30
movzx ecx, al
mov rax, qword [rsp + 0x30]
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, qword [rsp + 0x28]
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, qword [rsp + 0x38]
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r11
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
mov rcx, qword [rsp + 0x50]
movzx eax, cl
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, rcx
shr rax, 0x20
movzx edx, al
mov rax, r10
shr rax, 0x18
movzx ecx, al
lea rax, [0x180000000]
mov qword [rsp + 0x60], r8
mov r8, qword [rax + rdx*8 + 0x43f5f0]
lea rdx, [0x180000000]
mov rax, r11
xor r8, qword [rdx + rcx*8 + 0x440df0]
shr rax, 0x10
movzx ecx, al
mov rax, qword [rsp + 0x20]
shr rax, 0x30
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
movzx ecx, al
mov rax, r13
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, qword [rsp + 0x30]
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, rdi
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x4405f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, byte [rsp + 0x28]
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, rbx
shr rax, 0x18
movzx edx, al
mov rax, rdi
shr rax, 0x10
movzx ecx, al
lea rax, [0x180000000]
mov qword [rsp + 0x68], r8
mov r8, qword [rax + rdx*8 + 0x440df0]
lea rdx, [0x180000000]
mov rax, r11
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
shr rax, 0x30
movzx ecx, al
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
mov rax, qword [rsp + 0x20]
shr rax, 8
movzx ecx, al
mov rax, r13
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, qword [rsp + 0x28]
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r14
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, byte [rsp + 0x30]
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, rsi
shr rax, 0x18
movzx edx, al
mov rax, r14
shr rax, 0x10
movzx ecx, al
lea rax, [0x180000000]
mov qword [rsp + 0x70], r8
mov r8, qword [rax + rdx*8 + 0x440df0]
lea rdx, [0x180000000]
mov rax, rdi
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
shr rax, 0x30
movzx ecx, al
mov rax, r11
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, qword [rsp + 0x20]
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, qword [rsp + 0x30]
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r15
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r13b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x40]
shr rax, 0x18
movzx edx, al
mov rax, r15
shr rax, 0x10
movzx ecx, al
lea rax, [0x180000000]
mov qword [rsp + 0x78], r8
mov r8, qword [rax + rdx*8 + 0x440df0]
lea rdx, [0x180000000]
mov rax, r14
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
shr rax, 0x30
movzx ecx, al
mov rax, rdi
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, r11
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r13
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r12
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, byte [rsp + 0x20]
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, r12
shr rax, 0x10
movzx edx, al
mov rax, r15
shr rax, 0x30
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x80], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, r14
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
mov rax, rdi
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, qword [rsp + 0x20]
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, qword [rsp + 0x38]
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
movzx ecx, al
mov rax, r9
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x440df0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r11b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x50]
shr rax, 0x18
movzx edx, al
mov rax, r9
shr rax, 0x10
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x78], r8
mov r8, qword [rax + rdx*8 + 0x440df0]
lea rdx, [0x180000000]
mov rax, r12
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
shr rax, 0x30
movzx ecx, al
mov rax, r15
shr rax, 8
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, r14
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r11
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r10
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, dil
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, r10
shr rax, 0x10
movzx edx, al
mov rax, r9
shr rax, 0x30
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x70], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, r12
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
mov rax, r15
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
shr rax, 0x28
movzx ecx, al
mov rax, rdi
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, qword [rsp + 0x28]
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
movzx ecx, al
mov rax, rbx
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x440df0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r14b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, rbx
shr rax, 0x10
movzx edx, al
mov rax, r10
shr rax, 0x30
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x68], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, r9
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
mov rax, r12
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r14
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, qword [rsp + 0x30]
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
movzx ecx, al
mov rax, rsi
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x440df0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r15b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, rsi
shr rax, 0x10
movzx edx, al
mov rax, rbx
shr rax, 0x30
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x60], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, r10
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
mov rax, r9
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r15
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, r13
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
movzx ecx, al
mov rax, qword [rsp + 0x40]
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x440df0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r12b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov qword [rbp - 0x58], r8
mov rax, qword [rsp + 0x40]
shr rax, 0x10
movzx edx, al
mov rax, rsi
shr rax, 0x30
movzx ecx, al
lea rax, [0x180000000]
shr r11, 0x18
mov r8, qword [rax + rdx*8 + 0x43fdf0]
lea rdx, [0x180000000]
mov rax, rbx
xor r8, qword [rdx + rcx*8 + 0x43e5f0]
shr rax, 8
movzx ecx, al
mov rax, r10
shr rax, 0x28
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
movzx ecx, al
mov rax, r12
shr rax, 0x20
xor r8, qword [rdx + rcx*8 + 0x4405f0]
movzx ecx, al
mov rax, qword [rsp + 0x20]
shr rax, 0x18
xor r8, qword [rdx + rcx*8 + 0x43f5f0]
movzx ecx, al
mov rax, qword [rsp + 0x38]
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x440df0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r9b
shr r9, 0x20
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, qword [rsp + 0x40]
shr rax, 0x30
movzx edx, al
mov rax, rsi
shr rax, 8
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x50], r8
mov r8, qword [rax + rdx*8 + 0x43e5f0]
lea rdx, [0x180000000]
mov rax, rbx
xor r8, qword [rdx + rcx*8 + 0x43ddf0]
shr rax, 0x28
movzx ecx, al
movzx eax, r9b
mov r9, qword [rsp + 0x50]
xor r8, qword [rdx + rcx*8 + 0x4405f0]
xor r8, qword [rdx + rax*8 + 0x43f5f0]
movzx eax, r11b
mov r11, qword [rsp + 0x40]
xor r8, qword [rdx + rax*8 + 0x440df0]
mov rax, qword [rsp + 0x38]
shr rax, 0x10
movzx ecx, al
mov rax, r9
shr rax, 0x38
xor r8, qword [rdx + rcx*8 + 0x43fdf0]
xor r8, qword [rdx + rax*8 + 0x4415f0]
movzx eax, r10b
xor r8, qword [rdx + rax*8 + 0x43edf0]
mov rax, r9
shr rax, 0x10
movzx edx, al
mov rax, r11
shr rax, 8
movzx ecx, al
lea rax, [0x180000000]
mov qword [rbp - 0x48], r8
mov r8, qword [rax + rdx*8 + 0x43fdf0]
xor r8, qword [rax + rcx*8 + 0x43ddf0]
mov rax, rsi
shr rax, 0x28
movzx ecx, al
lea rax, [0x180000000]
xor r8, qword [rax + rcx*8 + 0x4405f0]
shr r10, 0x20
movzx eax, r10b
lea r10, [0x180000000]
xor r8, qword [r10 + rax*8 + 0x43f5f0]
shr rdi, 0x18
movzx eax, dil
mov rdi, qword [rsp + 0x28]
shr r14, 0x18
shr r15, 0x18
xor r8, qword [r10 + rax*8 + 0x440df0]
mov rax, qword [rsp + 0x38]
shr rax, 0x30
movzx ecx, al
mov rax, rdi
shr rax, 0x38
xor r8, qword [r10 + rcx*8 + 0x43e5f0]
xor r8, qword [r10 + rax*8 + 0x4415f0]
movzx eax, bl
shr rbx, 0x20
xor r8, qword [r10 + rax*8 + 0x43edf0]
mov rax, r9
shr rax, 0x30
movzx edx, al
mov rax, r11
shr rax, 0x28
movzx ecx, al
mov qword [rbp - 0x40], r8
mov r8, qword [r10 + rdx*8 + 0x43e5f0]
movzx eax, bl
xor r8, qword [r10 + rcx*8 + 0x4405f0]
mov rbx, qword [rsp + 0x38]
xor r8, qword [r10 + rax*8 + 0x43f5f0]
mov r10, qword [rsp + 0x30]
movzx eax, r14b
lea r14, [0x180000000]
xor r8, qword [r14 + rax*8 + 0x440df0]
mov rax, rdi
shr rax, 0x10
movzx ecx, al
mov rax, rbx
shr rax, 8
xor r8, qword [r14 + rcx*8 + 0x43fdf0]
movzx ecx, al
mov rax, r10
shr rax, 0x38
xor r8, qword [r14 + rcx*8 + 0x43ddf0]
xor r8, qword [r14 + rax*8 + 0x4415f0]
movzx eax, sil
shr rsi, 0x20
xor r8, qword [r14 + rax*8 + 0x43edf0]
mov rax, r9
shr rax, 8
movzx ecx, al
movzx eax, sil
shr r9, 0x28
mov qword [rbp - 0x38], r8
mov rdx, qword [r14 + rcx*8 + 0x43ddf0]
xor rdx, qword [r14 + rax*8 + 0x43f5f0]
movzx eax, r15b
xor rdx, qword [r14 + rax*8 + 0x440df0]
mov rax, r10
shr rax, 0x10
movzx ecx, al
mov rax, rdi
shr rax, 0x30
xor rdx, qword [r14 + rcx*8 + 0x43fdf0]
movzx ecx, al
mov rax, rbx
shr rax, 0x28
xor rdx, qword [r14 + rcx*8 + 0x43e5f0]
movzx ecx, al
mov rax, r13
shr rax, 0x38
xor rdx, qword [r14 + rcx*8 + 0x4405f0]
xor rdx, qword [r14 + rax*8 + 0x4415f0]
movzx eax, r11b
shr r11, 0x20
movzx ecx, r9b
xor rdx, qword [r14 + rax*8 + 0x43edf0]
mov qword [rbp - 0x30], rdx
mov rdx, qword [r14 + rcx*8 + 0x4405f0]
movzx eax, r11b
xor rdx, qword [r14 + rax*8 + 0x43f5f0]
shr r12, 0x18
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
mov r9, qword [rsp + 0x58]
movzx eax, r12b
add r9, 2
movups xmmword [rbp + 0x320], xmm0
shr r13, 0x10
movups xmm0, xmmword [rbp - 0x80]
xor rdx, qword [r14 + rax*8 + 0x440df0]
movups xmmword [rbp + 0x330], xmm1
movzx eax, r13b
movups xmm1, xmmword [rbp - 0x70]
shr r10, 0x30
shr rdi, 8
xor rdx, qword [r14 + rax*8 + 0x43fdf0]
movzx eax, r10b
movups xmmword [rbp + 0x340], xmm0
mov qword [rsp + 0x58], r9
movups xmm0, xmmword [rbp - 0x60]
xor rdx, qword [r14 + rax*8 + 0x43e5f0]
movzx eax, dil
movups xmmword [rbp + 0x350], xmm1
movups xmm1, xmmword [rbp - 0x50]
xor rdx, qword [r14 + rax*8 + 0x43ddf0]
mov rax, qword [rsp + 0x20]
shr rax, 0x38
movups xmmword [rbp + 0x360], xmm0
movups xmm0, xmmword [rbp - 0x40]
xor rdx, qword [r14 + rax*8 + 0x4415f0]
movzx eax, bl
movups xmmword [rbp + 0x370], xmm1
movups xmmword [rbp + 0x380], xmm0
xor rdx, qword [r14 + rax*8 + 0x43edf0]
sub qword [rbp - 0x20], 1
mov qword [rbp - 0x28], rdx
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rbp + 0x390], xmm1
je 0x180177434
mov rax, qword [rbp + 0x398]
mov r8, qword [rbp + 0x380]
mov rdx, qword [rbp + 0x378]
mov rcx, qword [rbp + 0x370]
mov r13, qword [rbp + 0x368]
mov r12, qword [rbp + 0x360]
mov r15, qword [rbp + 0x358]
mov r14, qword [rbp + 0x350]
mov rsi, qword [rbp + 0x348]
mov rdi, qword [rbp + 0x340]
mov rbx, qword [rbp + 0x338]
mov r11, qword [rbp + 0x330]
mov r10, qword [rbp + 0x328]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x390]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x388]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x320]
mov qword [rbp - 0x18], rax
jmp 0x180175d20
xor eax, eax
movdqu xmm0, xmmword [rbp + rax + 0x320]
movdqu xmm1, xmmword [rbp + rax + 0x220]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x2a0]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x330]
movdqu xmmword [rbp + rax + 0x2a0], xmm1
movdqu xmm1, xmmword [rbp + rax + 0x230]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x2b0]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x340]
movdqu xmmword [rbp + rax + 0x2b0], xmm1
movdqu xmm1, xmmword [rbp + rax + 0x240]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x2c0]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x350]
movdqu xmmword [rbp + rax + 0x2c0], xmm1
movdqu xmm1, xmmword [rbp + rax + 0x250]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rbp + rax + 0x2d0]
pxor xmm1, xmm0
movdqu xmmword [rbp + rax + 0x2d0], xmm1
add rax, 0x40
cmp rax, 0x80
jb 0x180177436
mov rdi, qword [rbp + 0x80]
mov r15, qword [rbp + 0x88]
mov r12, qword [rbp + 0x90]
inc qword [rdi + 0x108]
mov r14d, dword [0x1804be630]
xor esi, esi
lea r13d, [rsi + 4]
test r15, r15
jne 0x1801745b0
movups xmm7, xmmword [rbp + 0x310]
movups xmm6, xmmword [rbp + 0x300]
movups xmm5, xmmword [rbp + 0x2f0]
movups xmm4, xmmword [rbp + 0x2e0]
movups xmm3, xmmword [rbp + 0x2d0]
movups xmm2, xmmword [rbp + 0x2c0]
movups xmm1, xmmword [rbp + 0x2b0]
movups xmm0, xmmword [rbp + 0x2a0]
movaps xmm14, xmmword [rsp + 0x4b0]
movaps xmm13, xmmword [rsp + 0x4c0]
movaps xmm12, xmmword [rsp + 0x4d0]
movaps xmm11, xmmword [rsp + 0x4e0]
movaps xmm10, xmmword [rsp + 0x4f0]
movaps xmm9, xmmword [rsp + 0x500]
movaps xmm8, xmmword [rsp + 0x510]
mov r14, qword [rsp + 0x540]
mov r13, qword [rsp + 0x548]
mov rbx, qword [rsp + 0x598]
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 + 0x520]
movaps xmm6, xmmword [rsp + 0x530]
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.18031edb0
add rsp, 0x550
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret