Function at 0x1801b07b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov rax, qword [0x1804be628]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov r10d, dword [rcx + 4]
mov rsi, rcx
mov rdx, qword [rcx + 0xa0]
rol rdx, 0x20
mov r8, rdx
mov qword [rsp + 0x38], r9
shr r8, 0x10
mov rax, rdx
shl rax, 0x10
mov r9d, r10d
xor r8, rax
shl rdx, 0x10
movabs rax, 0xffff0000ffff
and r8, rax
xor r8, rdx
mov rcx, r8
mov rax, r8
shr rcx, 8
shl rax, 8
xor rcx, rax
shl r8, 8
movabs rax, 0xff00ff00ff00ff
and rcx, rax
xor rcx, r8
mov qword [rbp - 0x2c], rcx
test r10d, r10d
jne 0x1801b15df
lea r9d, [r10 + 4]
mov qword [rsp + 0x138], rbx
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x110], rdi
mov r8d, reloc.WS2_32.dll_recv
mov qword [rsp + 0x108], r12
mov rcx, rsi
mov eax, r9d
mov qword [rsp + 0x100], r13
sub r8, rax
mov qword [rsp + 0xf8], r14
add rdx, rax
mov qword [rsp + 0xf0], r15
call fcn.1801ae970
mov eax, dword [rsi + 8]
lea rcx, [rsp + 0x40]
mov rdx, rsi
lea ebx, [rax + rax*2]
shl ebx, 2
lea rdi, [rbx*4]
sub rdx, rdi
mov r8, rdi
add rdx, 0x9c
call fcn.180321590
mov r8d, 0x24
lea rcx, [rsp + 0x40]
sub r8d, ebx
lea rdx, [rsi + 0xc]
shl r8, 2
add rcx, rdi
call fcn.180321590
mov qword [rsp + 0x20], 0x20
nop
movsd xmm0, qword [rbp - 0x3c]
lea rdx, [rsp + 0x40]
mov ebx, dword [rbp - 0x34]
lea rcx, [rsp + 0x4c]
mov r8d, 0x84
movsd qword [rsp + 0x28], xmm0
movsd qword [rbp - 0x30], xmm0
call fcn.180321590
mov ecx, dword [rsp + 0x58]
mov r10d, ecx
xor dword [rbp - 0x70], ecx
xor r10d, ebx
mov edx, dword [rsp + 0x54]
mov r9d, edx
xor dword [rbp - 0x74], edx
lea rdx, [0x180000000]
xor r9d, dword [rbp - 0x2c]
mov eax, dword [rsp + 0x50]
xor eax, dword [rbp - 0x30]
mov r13d, dword [rbp - 0x78]
xor r13d, dword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x28]
mov r8d, eax
shr eax, 0x10
movzx ecx, al
mov eax, r8d
shr rax, 0x18
movsd qword [rsp + 0x40], xmm0
mov dword [rbp - 0x78], r13d
mov r15d, dword [rdx + rcx*4 + 0x479fe0]
mov r14d, r15d
xor r14d, dword [rdx + rax*4 + 0x47a3e0]
mov eax, r8d
shr eax, 8
movzx ecx, al
movzx eax, r8b
mov r12d, dword [rdx + rcx*4 + 0x47a800]
xor r14d, r12d
mov ebx, dword [rdx + rax*4 + 0x47ac00]
xor r14d, ebx
mov eax, r9d
shr rax, 0x18
mov esi, dword [rdx + rax*4 + 0x47a3e0]
mov eax, r9d
shr eax, 0x10
mov edi, esi
movzx ecx, al
mov eax, r9d
shr eax, 8
xor edi, dword [rdx + rcx*4 + 0x479fe0]
movzx ecx, al
mov eax, dword [rdx + rcx*4 + 0x47a800]
xor edi, eax
xor r12d, eax
movzx eax, r9b
mov eax, dword [rdx + rax*4 + 0x47ac00]
xor edi, eax
xor ebx, eax
mov eax, r10d
shr rax, 0x18
mov r11d, dword [rdx + rax*4 + 0x47a3e0]
mov eax, r10d
shr eax, 0x10
xor esi, r11d
movzx ecx, al
mov eax, r10d
shr eax, 8
mov edx, dword [rdx + rcx*4 + 0x479fe0]
xor r15d, edx
movzx ecx, al
lea rax, [0x180000000]
xor edx, dword [rax + rcx*4 + 0x47a800]
movzx eax, r10b
xor r11d, edx
mov edx, dword [rsp + 0x4c]
lea r10, [0x180000000]
mov r8d, edx
mov eax, dword [r10 + rax*4 + 0x47ac00]
xor r11d, eax
xor ebx, eax
mov eax, edx
shr rax, 0x18
mov r9d, dword [r10 + rax*4 + 0x47a3e0]
mov eax, edx
shr edx, 8
xor esi, r9d
shr eax, 0x10
movzx ecx, al
mov eax, dword [r10 + rcx*4 + 0x479fe0]
xor r15d, eax
xor r9d, eax
movzx eax, dl
mov edx, r15d
shl edx, 8
xor edx, r11d
mov ecx, dword [r10 + rax*4 + 0x47a800]
and edx, 0xff0000
xor r12d, ecx
movzx eax, r8b
xor ecx, dword [r10 + rax*4 + 0x47ac00]
mov eax, ebx
xor r9d, ecx
mov ecx, r15d
xor ecx, edi
xor eax, r9d
and ecx, 0xff0000
movzx eax, al
or eax, ecx
mov ecx, r12d
xor ecx, r11d
and ecx, 0xff00
or eax, ecx
mov ecx, esi
xor ecx, r14d
and ecx, 0xff000000
or eax, ecx
mov ecx, ebx
shr ecx, 0x18
xor ecx, r14d
mov dword [rsp + 0x40], eax
movzx ecx, cl
or edx, ecx
mov ecx, r12d
shl ecx, 8
xor ecx, r9d
and ecx, 0xff00
or edx, ecx
mov ecx, esi
shl ecx, 8
xor ecx, edi
and ecx, 0xff000000
or edx, ecx
mov ecx, ebx
shr ecx, 0x10
xor ecx, edi
mov dword [rsp + 0x44], edx
movzx ecx, cl
mov edx, r15d
shl edx, 0x10
xor edx, r9d
shr r15d, 8
and edx, 0xff0000
shr ebx, 8
or edx, ecx
xor ebx, r11d
mov ecx, esi
xor r15d, r14d
shl ecx, 0x10
and r15d, 0xff0000
xor ecx, r11d
shl esi, 0x18
and ecx, 0xff000000
or edx, ecx
mov ecx, r12d
shr ecx, 0x10
xor ecx, r14d
and ecx, 0xff00
or edx, ecx
movzx ecx, bl
or ecx, r15d
mov dword [rsp + 0x48], edx
xor esi, r9d
shr r12d, 8
and esi, 0xff000000
xor r12d, edi
or ecx, esi
and r12d, 0xff00
or ecx, r12d
sub qword [rsp + 0x20], 1
mov dword [rsp + 0x4c], ecx
jne 0x1801b08e0
mov qword [rsp + 0x20], send
nop
xor dword [rbp - 0x54], eax
lea rdx, [rsp + 0x40]
movups xmm0, xmmword [rbp - 0x54]
xor dword [rsp + 0x50], eax
lea rcx, [rsp + 0x64]
xor dword [rsp + 0x64], eax
xor r13d, eax
mov ebx, dword [rbp - 0x34]
mov r8d, WSAGetLastError
movups xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x78], r13d
movups xmm0, xmmword [rbp - 0x44]
movups xmmword [rsp + 0x28], xmm0
call fcn.180321590
movups xmm1, xmmword [rbp - 0x30]
lea r12, [0x180000000]
mov dword [rsp + 0x60], ebx
movups xmm2, xmmword [rsp + 0x28]
movq r8, xmm1
movaps xmmword [rsp + 0x40], xmm1
mov rax, r8
movaps xmmword [rsp + 0x50], xmm2
shr rax, 0x10
movdqa xmm0, xmm1
movzx ecx, al
movd eax, xmm1
psrldq xmm0, 8
psrldq xmm1, 8
mov r15d, dword [r12 + rcx*4 + 0x479fe0]
movq r9, xmm1
mov edx, eax
mov r14d, r15d
shr rax, 0x18
xor r14d, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r8
shr rax, 8
movzx ecx, al
movzx eax, dl
mov rdx, r8
shr rdx, 0x20
mov esi, dword [r12 + rcx*4 + 0x47a800]
xor r14d, esi
mov ebx, dword [r12 + rax*4 + 0x47ac00]
mov rax, rdx
shr rax, 0x18
xor r14d, ebx
mov edi, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r8
shr rax, 0x30
mov r11d, edi
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
xor r11d, dword [r12 + rcx*4 + 0x479fe0]
mov eax, dword [r12 + rax*4 + 0x47a800]
xor r11d, eax
xor esi, eax
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0x47ac00]
xor r11d, eax
xor ebx, eax
movd eax, xmm0
mov r8d, eax
shr rax, 0x18
mov r10d, dword [r12 + rax*4 + 0x47a3e0]
xor edi, r10d
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r9
shr rax, 8
mov edx, dword [r12 + rcx*4 + 0x479fe0]
xor r15d, edx
movzx ecx, al
movzx eax, r8b
xor edx, dword [r12 + rcx*4 + 0x47a800]
mov eax, dword [r12 + rax*4 + 0x47ac00]
xor r10d, edx
xor r10d, eax
mov rdx, r9
xor ebx, eax
shr rdx, 0x20
mov rax, rdx
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0x47a3e0]
xor edi, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0x479fe0]
xor r8d, eax
xor r15d, eax
movzx eax, r9b
mov ecx, dword [r12 + rax*4 + 0x47a800]
xor esi, ecx
movzx eax, dl
xor ecx, dword [r12 + rax*4 + 0x47ac00]
mov eax, ebx
xor r8d, ecx
xor eax, r8d
movzx edx, al
mov eax, esi
xor eax, r10d
and eax, 0xff00
or edx, eax
mov eax, r15d
xor eax, r11d
and eax, 0xff0000
or edx, eax
mov eax, edi
xor eax, r14d
and eax, 0xff000000
or edx, eax
mov eax, ebx
shr eax, 0x18
xor eax, r14d
mov dword [rsp + 0x40], edx
movzx ecx, al
mov eax, esi
shl eax, 8
xor eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, r15d
shl eax, 8
xor eax, r10d
and eax, 0xff0000
or ecx, eax
mov eax, edi
shl eax, 8
xor eax, r11d
and eax, 0xff000000
or ecx, eax
mov eax, ebx
shr eax, 0x10
xor eax, r11d
mov dword [rsp + 0x44], ecx
movzx ecx, al
mov eax, esi
shr eax, 0x10
xor eax, r14d
shr esi, 8
and eax, 0xff00
shr ebx, 8
or ecx, eax
xor ebx, r10d
xor esi, r11d
mov eax, r15d
shl eax, 0x10
and esi, 0xff00
xor eax, r8d
and eax, 0xff0000
or ecx, eax
mov eax, edi
shl eax, 0x10
xor eax, r10d
and eax, 0xff000000
or ecx, eax
movzx eax, bl
or eax, esi
mov dword [rsp + 0x48], ecx
xor dword [rbp - 0x54], edx
lea rcx, [rsp + 0x64]
movups xmm0, xmmword [rbp - 0x54]
xor dword [rsp + 0x68], edx
xor dword [rbp - 0x78], edx
mov ebx, dword [rbp - 0x34]
shr r15d, 8
shl edi, 0x18
xor r15d, r14d
xor edi, r8d
and r15d, 0xff0000
or eax, r15d
and edi, 0xff000000
or eax, edi
mov r8d, WSAGetLastError
mov dword [rsp + 0x4c], eax
movd eax, xmm2
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp - 0x44]
xor eax, edx
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x50], eax
movups xmmword [rsp + 0x28], xmm0
call fcn.180321590
movups xmm1, xmmword [rbp - 0x30]
mov dword [rsp + 0x60], ebx
movups xmm2, xmmword [rsp + 0x28]
movq r8, xmm1
movaps xmmword [rsp + 0x40], xmm1
mov rax, r8
movaps xmmword [rsp + 0x50], xmm2
shr rax, 0x10
movdqa xmm0, xmm1
movzx ecx, al
movd eax, xmm1
psrldq xmm0, 8
psrldq xmm1, 8
mov r15d, dword [r12 + rcx*4 + 0x479fe0]
movq r9, xmm1
mov edx, eax
mov esi, r15d
shr rax, 0x18
xor esi, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r8
shr rax, 8
movzx ecx, al
movzx eax, dl
mov rdx, r8
shr rdx, 0x20
mov r14d, dword [r12 + rcx*4 + 0x47a800]
xor esi, r14d
mov r11d, dword [r12 + rax*4 + 0x47ac00]
mov rax, rdx
shr rax, 0x18
xor esi, r11d
mov edi, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r8
shr rax, 0x30
mov ebx, edi
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
xor ebx, dword [r12 + rcx*4 + 0x479fe0]
mov eax, dword [r12 + rax*4 + 0x47a800]
xor ebx, eax
xor r14d, eax
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0x47ac00]
xor ebx, eax
xor r11d, eax
movd eax, xmm0
mov r8d, eax
shr rax, 0x18
mov r10d, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r9
shr rax, 0x10
xor edi, r10d
movzx ecx, al
mov rax, r9
mov edx, dword [r12 + rcx*4 + 0x479fe0]
xor r15d, edx
shr rax, 8
movzx ecx, al
movzx eax, r8b
xor edx, dword [r12 + rcx*4 + 0x47a800]
mov eax, dword [r12 + rax*4 + 0x47ac00]
xor r10d, edx
xor r10d, eax
xor r11d, eax
mov rdx, r9
shr rdx, 0x20
mov rax, rdx
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0x47a3e0]
xor edi, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0x479fe0]
xor r15d, eax
xor r8d, eax
movzx eax, r9b
mov ecx, dword [r12 + rax*4 + 0x47a800]
xor r14d, ecx
movzx eax, dl
xor ecx, dword [r12 + rax*4 + 0x47ac00]
mov eax, r11d
xor r8d, ecx
mov ecx, r15d
xor eax, r8d
shl ecx, 8
movzx edx, al
xor ecx, r10d
and ecx, 0xff0000
mov eax, r15d
xor eax, ebx
and eax, 0xff0000
or edx, eax
mov eax, r14d
xor eax, r10d
and eax, 0xff00
or edx, eax
mov eax, edi
xor eax, esi
and eax, 0xff000000
or edx, eax
mov eax, r11d
shr eax, 0x18
xor eax, esi
mov dword [rsp + 0x40], edx
movzx eax, al
or ecx, eax
mov eax, r14d
shl eax, 8
xor eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, edi
shl eax, 8
xor eax, ebx
and eax, 0xff000000
or ecx, eax
mov eax, r11d
shr eax, 0x10
xor eax, ebx
mov dword [rsp + 0x44], ecx
movzx eax, al
mov ecx, r15d
shl ecx, 0x10
xor ecx, r8d
and ecx, 0xff0000
or ecx, eax
mov eax, edi
shl eax, 0x10
xor eax, r10d
and eax, 0xff000000
or ecx, eax
mov eax, r14d
shr eax, 0x10
xor eax, esi
and eax, 0xff00
xor dword [rbp - 0x54], edx
or ecx, eax
movups xmm0, xmmword [rbp - 0x54]
xor dword [rsp + 0x68], edx
xor dword [rbp - 0x74], edx
shr r11d, 8
shr r15d, 8
xor r11d, r10d
shl edi, 0x18
xor r15d, esi
xor edi, r8d
movzx eax, r11b
shr r14d, 8
and r15d, 0xff0000
or eax, r15d
mov dword [rsp + 0x48], ecx
xor r14d, ebx
lea rcx, [rsp + 0x64]
mov ebx, dword [rbp - 0x34]
and edi, 0xff000000
or eax, edi
and r14d, 0xff00
or eax, r14d
mov r8d, WSAGetLastError
mov dword [rsp + 0x4c], eax
movd eax, xmm2
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp - 0x44]
xor eax, edx
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x50], eax
movups xmmword [rsp + 0x28], xmm0
call fcn.180321590
movups xmm1, xmmword [rbp - 0x30]
mov dword [rsp + 0x60], ebx
movups xmm2, xmmword [rsp + 0x28]
movq r8, xmm1
movaps xmmword [rsp + 0x40], xmm1
mov rax, r8
movaps xmmword [rsp + 0x50], xmm2
shr rax, 0x10
movdqa xmm0, xmm1
movzx ecx, al
movd eax, xmm1
psrldq xmm0, 8
mov r15d, dword [r12 + rcx*4 + 0x479fe0]
mov esi, r15d
mov edx, eax
shr rax, 0x18
xor esi, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r8
shr rax, 8
movzx ecx, al
movzx eax, dl
mov rdx, r8
shr rdx, 0x20
mov r14d, dword [r12 + rcx*4 + 0x47a800]
xor esi, r14d
mov r11d, dword [r12 + rax*4 + 0x47ac00]
xor esi, r11d
mov rax, rdx
shr rax, 0x18
mov edi, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r8
shr rax, 0x30
mov ebx, edi
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
xor ebx, dword [r12 + rcx*4 + 0x479fe0]
mov eax, dword [r12 + rax*4 + 0x47a800]
xor ebx, eax
xor r14d, eax
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0x47ac00]
xor ebx, eax
xor r11d, eax
movd eax, xmm0
mov r8d, eax
shr rax, 0x18
mov r10d, dword [r12 + rax*4 + 0x47a3e0]
xor edi, r10d
psrldq xmm1, 8
movq r9, xmm1
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r9
shr rax, 8
mov edx, dword [r12 + rcx*4 + 0x479fe0]
xor r15d, edx
movzx ecx, al
movzx eax, r8b
xor edx, dword [r12 + rcx*4 + 0x47a800]
mov eax, dword [r12 + rax*4 + 0x47ac00]
xor r10d, edx
xor r10d, eax
xor r11d, eax
mov rdx, r9
shr rdx, 0x20
mov rax, rdx
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0x47a3e0]
xor edi, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r12 + rcx*4 + 0x479fe0]
xor r15d, eax
xor r8d, eax
movzx eax, r9b
mov ecx, dword [r12 + rax*4 + 0x47a800]
xor r14d, ecx
movzx eax, dl
xor ecx, dword [r12 + rax*4 + 0x47ac00]
mov eax, r11d
xor r8d, ecx
mov ecx, r15d
xor eax, r8d
shl ecx, 8
movzx edx, al
xor ecx, r10d
and ecx, 0xff0000
mov eax, r15d
xor eax, ebx
and eax, 0xff0000
or edx, eax
mov eax, r14d
xor eax, r10d
and eax, 0xff00
or edx, eax
mov eax, edi
xor eax, esi
and eax, 0xff000000
or edx, eax
mov eax, r11d
shr eax, 0x18
xor eax, esi
mov dword [rsp + 0x40], edx
movzx eax, al
or ecx, eax
mov eax, r14d
shl eax, 8
xor eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, edi
shl eax, 8
xor eax, ebx
and eax, 0xff000000
or ecx, eax
mov eax, r11d
mov dword [rsp + 0x44], ecx
mov ecx, r15d
shl ecx, 0x10
shr eax, 0x10
xor ecx, r8d
xor eax, ebx
and ecx, 0xff0000
movzx eax, al
or ecx, eax
xor dword [rbp - 0x50], edx
mov eax, edi
movaps xmm0, xmmword [rbp - 0x50]
xor dword [rsp + 0x68], edx
xor dword [rbp - 0x74], edx
shl eax, 0x10
xor eax, r10d
shr r11d, 8
and eax, 0xff000000
shr r15d, 8
or ecx, eax
shl edi, 0x18
mov eax, r14d
xor edi, r8d
shr eax, 0x10
xor r11d, r10d
xor eax, esi
shr r14d, 8
and eax, 0xff00
xor r15d, esi
or ecx, eax
and r15d, 0xff0000
movzx eax, r11b
and edi, 0xff000000
or eax, r15d
mov dword [rsp + 0x48], ecx
or eax, edi
lea rcx, [rsp + 0x60]
movups xmmword [rbp - 0x30], xmm0
xor r14d, ebx
mov r8d, reloc.WS2_32.dll_WSASetLastError
movaps xmm0, xmmword [rbp - 0x40]
and r14d, 0xff00
or eax, r14d
mov dword [rsp + 0x4c], eax
movd eax, xmm2
movups xmmword [rsp + 0x28], xmm0
xor eax, edx
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x50], eax
call fcn.180321590
movups xmm1, xmmword [rbp - 0x30]
movups xmm0, xmmword [rsp + 0x28]
movq r8, xmm1
movaps xmmword [rsp + 0x40], xmm1
mov rax, r8
movaps xmmword [rsp + 0x50], xmm0
shr rax, 0x10
mov rdx, r8
movzx ecx, al
shr rdx, 0x20
mov eax, r8d
shr rax, 0x18
mov r15d, dword [r12 + rcx*4 + 0x479fe0]
mov edi, r15d
xor edi, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r8
shr rax, 8
movzx ecx, al
movzx eax, r8b
mov r14d, dword [r12 + rcx*4 + 0x47a800]
xor edi, r14d
mov esi, dword [r12 + rax*4 + 0x47ac00]
mov rax, rdx
shr rax, 0x18
xor edi, esi
mov ebx, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r8
shr rax, 0x30
mov r11d, ebx
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
xor r11d, dword [r12 + rcx*4 + 0x479fe0]
mov eax, dword [r12 + rax*4 + 0x47a800]
xor r11d, eax
xor r14d, eax
movzx eax, dl
mov eax, dword [r12 + rax*4 + 0x47ac00]
xor r11d, eax
xor esi, eax
psrldq xmm1, 8
movq r9, xmm1
mov eax, r9d
shr rax, 0x18
mov r10d, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r9
shr rax, 0x10
xor ebx, r10d
movzx ecx, al
mov rax, r9
shr rax, 8
mov edx, dword [r12 + rcx*4 + 0x479fe0]
xor r15d, edx
movzx ecx, al
movzx eax, r9b
xor edx, dword [r12 + rcx*4 + 0x47a800]
mov eax, dword [r12 + rax*4 + 0x47ac00]
xor r10d, edx
xor r10d, eax
xor esi, eax
mov rdx, r9
shr rdx, 0x20
mov rax, rdx
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0x47a3e0]
mov rax, r9
shr rax, 0x30
xor ebx, r8d
movzx ecx, al
shr r9, 0x28
mov eax, dword [r12 + rcx*4 + 0x479fe0]
xor r15d, eax
xor r8d, eax
movzx eax, r9b
mov r9d, r15d
shl r9d, 8
xor r9d, r10d
mov ecx, dword [r12 + rax*4 + 0x47a800]
and r9d, 0xff0000
xor r14d, ecx
movzx eax, dl
xor ecx, dword [r12 + rax*4 + 0x47ac00]
mov eax, r15d
xor r8d, ecx
xor eax, r11d
and eax, 0xff0000
mov ecx, r14d
xor ecx, r10d
mov r12d, r15d
and ecx, 0xff00
shl r12d, 0x10
or eax, ecx
xor r12d, r8d
mov ecx, ebx
and r12d, 0xff0000
xor ecx, edi
and ecx, 0xff000000
or eax, ecx
mov ecx, esi
xor ecx, r8d
movzx edx, cl
mov ecx, r14d
shl ecx, 8
or eax, edx
xor ecx, r8d
mov dword [rsp + 0x40], eax
and ecx, 0xff00
or r9d, ecx
mov ecx, ebx
shl ecx, 8
xor ecx, r11d
and ecx, 0xff000000
or r9d, ecx
mov ecx, esi
shr ecx, 0x18
xor ecx, edi
movzx ecx, cl
or r9d, ecx
mov ecx, ebx
shl ecx, 0x10
mov dword [rsp + 0x44], r9d
xor ecx, r10d
shr r15d, 8
and ecx, 0xff000000
shl ebx, 0x18
or r12d, ecx
xor r15d, edi
mov ecx, r14d
and r15d, 0xff0000
shr ecx, 0x10
xor ebx, r8d
xor ecx, edi
shr r14d, 8
and ecx, 0xff00
and ebx, 0xff000000
or r12d, ecx
or r15d, ebx
mov ecx, esi
xor r14d, r11d
shr ecx, 0x10
and r14d, 0xff00
xor ecx, r11d
shr esi, 8
movzx ecx, cl
xor esi, r10d
or r12d, ecx
or r15d, r14d
movzx ecx, sil
or r15d, ecx
mov dword [rsp + 0x48], r12d
sub qword [rsp + 0x20], 1
mov dword [rsp + 0x4c], r15d
je 0x1801b161e
mov r13d, dword [rbp - 0x78]
jmp 0x1801b0b80
cmp r10d, 4
jae 0x1801b0842
lea ecx, [r10 + 1]
mov byte [rbp + r10 - 0x30], 0
cmp ecx, 4
jae 0x1801b0842
mov eax, ecx
nop
cmp rax, 0x10
jae 0x1801b18c2
mov byte [rbp + rax - 0x30], 0
inc ecx
inc rax
cmp ecx, 4
jb 0x1801b1600
jmp 0x1801b0842
rol r9d, 0x10
mov r8d, eax
xor r8d, dword [rsp + 0x50]
mov edx, r9d
shr edx, 8
mov ecx, r9d
rol r8d, 0x10
shl ecx, 8
xor edx, ecx
rol r12d, 0x10
and edx, 0xff00ff
rol r15d, 0x10
shl r9d, 8
mov ecx, r12d
xor edx, r9d
shl ecx, 8
mov r9, qword [rsp + 0x38]
mov dword [r9], edx
mov edx, r12d
shr edx, 8
xor edx, ecx
shl r12d, 8
and edx, 0xff00ff
mov ecx, r15d
xor edx, r12d
shl ecx, 8
mov dword [r9 + 4], edx
mov edx, r15d
shr edx, 8
xor edx, ecx
shl r15d, 8
and edx, 0xff00ff
mov ecx, r8d
xor edx, r15d
shl ecx, 8
mov dword [r9 + 8], edx
mov edx, r8d
shr edx, 8
xor edx, ecx
shl r8d, 8
and edx, 0xff00ff
xor edx, r8d
mov r8d, eax
xor r8d, dword [rsp + 0x64]
mov dword [r9 + 0xc], edx
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shr edx, 8
shl r8d, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rsp + 0x68]
mov dword [r9 + 0x10], edx
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shr edx, 8
shl r8d, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rsp + 0x6c]
mov dword [r9 + 0x14], edx
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shr edx, 8
shl r8d, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rsp + 0x70]
rol r8d, 0x10
mov dword [r9 + 0x18], edx
mov edx, r8d
shr edx, 8
mov ecx, r8d
shl r8d, 8
shl ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, r8d
mov r8d, eax
xor r8d, dword [rbp - 0x78]
xor eax, dword [rbp - 0x54]
mov dword [r9 + 0x1c], edx
rol r8d, 0x10
mov edx, r8d
rol eax, 0x10
shr edx, 8
mov ecx, r8d
shl ecx, 8
xor edx, ecx
shl r8d, 8
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rbp - 0x74]
mov dword [r9 + 0x20], edx
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shr edx, 8
shl ecx, 8
xor edx, ecx
shl r8d, 8
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rbp - 0x70]
mov dword [r9 + 0x24], edx
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shr edx, 8
shl ecx, 8
xor edx, ecx
shl r8d, 8
and edx, 0xff00ff
xor edx, r8d
mov r8d, dword [rbp - 0x6c]
mov dword [r9 + 0x28], edx
rol r8d, 0x10
mov edx, r8d
mov ecx, r8d
shr edx, 8
shl ecx, 8
xor edx, ecx
shl r8d, 8
and edx, 0xff00ff
mov ecx, eax
xor edx, r8d
shl ecx, 8
mov dword [r9 + 0x2c], edx
mov edx, eax
shr edx, 8
xor edx, ecx
shl eax, 8
and edx, 0xff00ff
xor edx, eax
mov dword [r9 + 0x30], edx
mov edx, dword [rbp - 0x50]
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl eax, 8
xor ecx, eax
shl edx, 8
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x4c]
rol edx, 0x10
mov dword [r9 + 0x34], ecx
mov eax, edx
mov ecx, edx
shl eax, 8
shr ecx, 8
xor ecx, eax
mov r15, qword [rsp + 0xf0]
and ecx, 0xff00ff
mov r14, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x100]
mov r12, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x138]
shl edx, 8
xor ecx, edx
mov edx, dword [rbp - 0x48]
mov dword [r9 + 0x38], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl eax, 8
xor ecx, eax
shl edx, 8
and ecx, 0xff00ff
xor ecx, edx
mov dword [r9 + 0x3c], ecx
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.18031edb0
add rsp, 0x118
pop rsi
pop rbp
ret
call fcn.18031f568
int3