Function at 0x1401b93f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov rax, qword [0x140495598]
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 0x1401ba47f
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.1401b7670
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.14032fed0
mov r8d, 0x24
lea rcx, [rsp + 0x40]
sub r8d, ebx
lea rdx, [rsi + 0xc]
shl r8, 2
add rcx, rdi
call fcn.14032fed0
mov qword [rsp + 0x30], 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 + 0x20], xmm0
movsd qword [rbp - 0x30], xmm0
lea r13, [0x140000000]
call fcn.14032fed0
mov edx, dword [rsp + 0x54]
mov r9d, edx
xor r9d, dword [rbp - 0x2c]
mov r11d, dword [rsp + 0x50]
mov eax, r11d
xor eax, dword [rbp - 0x30]
mov ecx, dword [rsp + 0x58]
mov r10d, ecx
xor dword [rbp - 0x70], ecx
xor r10d, ebx
xor dword [rbp - 0x78], r11d
xor dword [rbp - 0x74], edx
movsd xmm0, qword [rsp + 0x20]
mov r8d, eax
shr eax, 0x10
movzx ecx, al
mov eax, r8d
shr rax, 0x18
movsd qword [rsp + 0x40], xmm0
mov r15d, dword [r13 + rcx*4 + 0x4447b0]
mov r14d, dword [r13 + rax*4 + 0x444390]
mov eax, r8d
shr eax, 8
xor r14d, r15d
movzx ecx, al
movzx eax, r8b
mov r12d, dword [r13 + rcx*4 + 0x443f90]
xor r14d, r12d
mov ebx, dword [r13 + rax*4 + 0x443b50]
xor r14d, ebx
mov eax, r9d
shr rax, 0x18
mov esi, dword [r13 + rax*4 + 0x444390]
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov edi, dword [r13 + rcx*4 + 0x4447b0]
movzx ecx, al
xor edi, esi
mov eax, dword [r13 + rcx*4 + 0x443f90]
xor edi, eax
xor r12d, eax
movzx eax, r9b
mov eax, dword [r13 + rax*4 + 0x443b50]
xor ebx, eax
xor edi, eax
mov eax, r10d
shr rax, 0x18
mov r11d, dword [r13 + rax*4 + 0x444390]
xor esi, r11d
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
mov edx, dword [r13 + rcx*4 + 0x4447b0]
xor r15d, edx
movzx ecx, al
mov eax, dword [r13 + rcx*4 + 0x443f90]
xor eax, edx
mov edx, dword [rsp + 0x4c]
xor r11d, eax
mov r8d, edx
movzx eax, r10b
mov eax, dword [r13 + rax*4 + 0x443b50]
xor r11d, eax
xor ebx, eax
mov eax, edx
shr rax, 0x18
mov r9d, dword [r13 + rax*4 + 0x444390]
xor esi, r9d
mov eax, edx
shr eax, 0x10
movzx ecx, al
shr edx, 8
mov eax, dword [r13 + rcx*4 + 0x4447b0]
xor r15d, eax
xor r9d, eax
movzx eax, dl
mov ecx, dword [r13 + rax*4 + 0x443f90]
xor r12d, ecx
movzx eax, r8b
mov eax, dword [r13 + rax*4 + 0x443b50]
xor eax, ecx
mov ecx, r15d
xor r9d, eax
shl ecx, 8
xor ecx, r11d
mov eax, ebx
xor eax, r9d
and ecx, 0xff0000
movzx r13d, al
mov eax, r15d
xor eax, edi
and eax, 0xff0000
or r13d, eax
mov eax, r12d
xor eax, r11d
and eax, 0xff00
or r13d, eax
mov eax, esi
xor eax, r14d
and eax, 0xff000000
or r13d, eax
mov eax, ebx
shr eax, 0x18
xor eax, r14d
mov dword [rsp + 0x40], r13d
movzx eax, al
or ecx, eax
mov eax, r12d
shl eax, 8
xor eax, r9d
and eax, 0xff00
or ecx, eax
mov eax, esi
shl eax, 8
xor eax, edi
and eax, 0xff000000
or ecx, eax
mov eax, ebx
shr eax, 0x10
xor eax, edi
mov dword [rsp + 0x44], ecx
movzx eax, al
mov ecx, r15d
shl ecx, 0x10
xor ecx, r9d
shr r15d, 8
and ecx, 0xff0000
shr ebx, 8
or ecx, eax
xor ebx, r11d
mov eax, esi
xor r15d, r14d
shl eax, 0x10
and r15d, 0xff0000
xor eax, r11d
shl esi, 0x18
and eax, 0xff000000
xor esi, r9d
or ecx, eax
mov eax, r12d
shr eax, 0x10
xor eax, r14d
and eax, 0xff00
or ecx, eax
movzx eax, bl
or eax, r15d
mov dword [rsp + 0x48], ecx
and esi, 0xff000000
shr r12d, 8
or eax, esi
xor r12d, edi
and r12d, 0xff00
or eax, r12d
sub qword [rsp + 0x30], 1
mov dword [rsp + 0x4c], eax
jne 0x1401b9520
mov r12d, reloc.WS2_32.dll_listen
xor dword [rbp - 0x54], r13d
lea rdx, [rsp + 0x40]
movups xmm0, xmmword [rbp - 0x54]
xor dword [rsp + 0x50], r13d
lea rcx, [rsp + 0x64]
xor dword [rsp + 0x64], r13d
mov r8d, WSASetLastError
xor dword [rbp - 0x78], r13d
mov ebx, dword [rbp - 0x34]
movups xmmword [rbp - 0x30], xmm0
movups xmm0, xmmword [rbp - 0x44]
movups xmmword [rsp + 0x20], xmm0
call fcn.14032fed0
movups xmm1, xmmword [rbp - 0x30]
lea r13, [0x140000000]
mov dword [rsp + 0x60], ebx
movups xmm2, xmmword [rsp + 0x20]
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 [r13 + rcx*4 + 0x4447b0]
movq r9, xmm1
mov edx, eax
shr rax, 0x18
mov r14d, dword [r13 + rax*4 + 0x444390]
mov rax, r8
shr rax, 8
xor r14d, r15d
movzx ecx, al
movzx eax, dl
mov esi, dword [r13 + rcx*4 + 0x443f90]
xor r14d, esi
mov ebx, dword [r13 + rax*4 + 0x443b50]
mov rax, r8
shr rax, 0x20
xor r14d, ebx
mov rdx, rax
shr rax, 0x18
mov edi, dword [r13 + rax*4 + 0x444390]
mov rax, r8
shr rax, 0x30
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
mov r11d, dword [r13 + rcx*4 + 0x4447b0]
xor r11d, edi
mov eax, dword [r13 + rax*4 + 0x443f90]
xor r11d, eax
xor esi, eax
movzx eax, dl
mov eax, dword [r13 + rax*4 + 0x443b50]
xor r11d, eax
xor ebx, eax
movd eax, xmm0
mov r8d, eax
shr rax, 0x18
mov r10d, dword [r13 + rax*4 + 0x444390]
xor edi, r10d
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r9
shr rax, 8
mov edx, dword [r13 + rcx*4 + 0x4447b0]
xor r15d, edx
movzx ecx, al
mov eax, dword [r13 + rcx*4 + 0x443f90]
xor eax, edx
xor r10d, eax
movzx eax, r8b
mov eax, dword [r13 + rax*4 + 0x443b50]
xor r10d, eax
xor ebx, eax
mov rax, r9
shr rax, 0x20
mov rdx, rax
shr rax, 0x18
mov r8d, dword [r13 + rax*4 + 0x444390]
xor edi, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r13 + rcx*4 + 0x4447b0]
xor r8d, eax
xor r15d, eax
movzx eax, r9b
mov ecx, dword [r13 + rax*4 + 0x443f90]
xor esi, ecx
movzx eax, dl
mov eax, dword [r13 + rax*4 + 0x443b50]
xor eax, ecx
xor r8d, eax
mov eax, ebx
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 ebx, 8
and eax, 0xff00
shr esi, 8
or ecx, eax
xor ebx, r10d
mov eax, r15d
xor esi, r11d
shl eax, 0x10
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
mov dword [rsp + 0x48], ecx
and esi, 0xff00
xor dword [rbp - 0x54], edx
lea rcx, [rsp + 0x64]
movups xmm0, xmmword [rbp - 0x54]
xor dword [rsp + 0x68], edx
or eax, esi
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, WSASetLastError
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 + 0x20], xmm0
call fcn.14032fed0
movups xmm1, xmmword [rbp - 0x30]
mov dword [rsp + 0x60], ebx
movups xmm2, xmmword [rsp + 0x20]
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 [r13 + rcx*4 + 0x4447b0]
movq r9, xmm1
mov edx, eax
shr rax, 0x18
mov esi, dword [r13 + rax*4 + 0x444390]
mov rax, r8
shr rax, 8
xor esi, r15d
movzx ecx, al
movzx eax, dl
mov r14d, dword [r13 + rcx*4 + 0x443f90]
xor esi, r14d
mov r11d, dword [r13 + rax*4 + 0x443b50]
mov rax, r8
shr rax, 0x20
xor esi, r11d
mov rdx, rax
shr rax, 0x18
mov edi, dword [r13 + rax*4 + 0x444390]
mov rax, r8
shr rax, 0x30
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
mov ebx, dword [r13 + rcx*4 + 0x4447b0]
xor ebx, edi
mov eax, dword [r13 + rax*4 + 0x443f90]
xor ebx, eax
xor r14d, eax
movzx eax, dl
mov eax, dword [r13 + rax*4 + 0x443b50]
xor ebx, eax
xor r11d, eax
movd eax, xmm0
mov r8d, eax
shr rax, 0x18
mov r10d, dword [r13 + rax*4 + 0x444390]
mov rax, r9
shr rax, 0x10
xor edi, r10d
movzx ecx, al
mov edx, dword [r13 + rcx*4 + 0x4447b0]
xor r15d, edx
mov rax, r9
shr rax, 8
movzx ecx, al
mov eax, dword [r13 + rcx*4 + 0x443f90]
xor eax, edx
xor r10d, eax
movzx eax, r8b
mov eax, dword [r13 + rax*4 + 0x443b50]
xor r10d, eax
xor r11d, eax
mov rax, r9
shr rax, 0x20
mov rdx, rax
shr rax, 0x18
mov r8d, dword [r13 + rax*4 + 0x444390]
xor edi, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r13 + rcx*4 + 0x4447b0]
xor r15d, eax
xor r8d, eax
movzx eax, r9b
mov ecx, dword [r13 + rax*4 + 0x443f90]
xor r14d, ecx
movzx eax, dl
mov eax, dword [r13 + rax*4 + 0x443b50]
xor eax, ecx
mov ecx, r15d
xor r8d, eax
shl ecx, 8
xor ecx, r10d
mov eax, r11d
xor eax, r8d
and ecx, 0xff0000
movzx edx, al
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
xor dword [rbp - 0x54], edx
movups xmm0, xmmword [rbp - 0x54]
xor dword [rsp + 0x68], edx
xor dword [rbp - 0x74], edx
shr eax, 0x10
xor eax, esi
shr r11d, 8
and eax, 0xff00
shr r15d, 8
or ecx, eax
shl edi, 0x18
xor edi, r8d
shr r14d, 8
xor r11d, r10d
mov dword [rsp + 0x48], ecx
movzx eax, r11b
lea rcx, [rsp + 0x64]
xor r14d, ebx
xor r15d, esi
mov ebx, dword [rbp - 0x34]
and r15d, 0xff0000
or eax, r15d
and edi, 0xff000000
or eax, edi
and r14d, 0xff00
or eax, r14d
mov r8d, WSASetLastError
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 + 0x20], xmm0
call fcn.14032fed0
movups xmm1, xmmword [rbp - 0x30]
mov dword [rsp + 0x60], ebx
movups xmm2, xmmword [rsp + 0x20]
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 [r13 + rcx*4 + 0x4447b0]
mov edx, eax
shr rax, 0x18
mov esi, dword [r13 + rax*4 + 0x444390]
mov rax, r8
shr rax, 8
xor esi, r15d
movzx ecx, al
movzx eax, dl
mov r14d, dword [r13 + rcx*4 + 0x443f90]
xor esi, r14d
mov r11d, dword [r13 + rax*4 + 0x443b50]
mov rax, r8
shr rax, 0x20
xor esi, r11d
mov rdx, rax
shr rax, 0x18
mov edi, dword [r13 + rax*4 + 0x444390]
mov rax, r8
shr rax, 0x30
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
mov ebx, dword [r13 + rcx*4 + 0x4447b0]
xor ebx, edi
mov eax, dword [r13 + rax*4 + 0x443f90]
xor ebx, eax
xor r14d, eax
movzx eax, dl
mov eax, dword [r13 + rax*4 + 0x443b50]
xor ebx, eax
xor r11d, eax
movd eax, xmm0
mov r8d, eax
shr rax, 0x18
psrldq xmm1, 8
movq r9, xmm1
mov r10d, dword [r13 + rax*4 + 0x444390]
xor edi, r10d
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r9
shr rax, 8
mov edx, dword [r13 + rcx*4 + 0x4447b0]
xor r15d, edx
movzx ecx, al
mov eax, dword [r13 + rcx*4 + 0x443f90]
xor eax, edx
xor r10d, eax
movzx eax, r8b
mov eax, dword [r13 + rax*4 + 0x443b50]
xor r10d, eax
xor r11d, eax
mov rax, r9
shr rax, 0x20
mov rdx, rax
shr rax, 0x18
mov r8d, dword [r13 + rax*4 + 0x444390]
xor edi, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r13 + rcx*4 + 0x4447b0]
xor r15d, eax
xor r8d, eax
movzx eax, r9b
mov ecx, dword [r13 + rax*4 + 0x443f90]
xor r14d, ecx
movzx eax, dl
mov eax, dword [r13 + rax*4 + 0x443b50]
xor eax, ecx
mov ecx, r15d
xor r8d, eax
shl ecx, 8
xor ecx, r10d
mov eax, r11d
xor eax, r8d
and ecx, 0xff0000
movzx edx, al
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 dword [rsp + 0x44], ecx
mov ecx, r15d
shl ecx, 0x10
xor ecx, r8d
and ecx, 0xff0000
xor dword [rbp - 0x50], edx
mov eax, r11d
movaps xmm0, xmmword [rbp - 0x50]
xor dword [rsp + 0x68], edx
xor dword [rbp - 0x74], edx
shr eax, 0x10
xor eax, ebx
shr r11d, 8
movzx eax, al
xor r11d, r10d
or ecx, eax
shr r15d, 8
mov eax, edi
xor r15d, esi
shl eax, 0x10
and r15d, 0xff0000
xor eax, r10d
shl edi, 0x18
and eax, 0xff000000
xor edi, r8d
or ecx, eax
and edi, 0xff000000
mov eax, r14d
mov r8d, reloc.WS2_32.dll_WSASetLastError
shr eax, 0x10
xor eax, esi
shr r14d, 8
and eax, 0xff00
xor r14d, ebx
or ecx, eax
and r14d, 0xff00
movzx eax, r11b
or eax, r15d
mov dword [rsp + 0x48], ecx
or eax, edi
lea rcx, [rsp + 0x60]
or eax, r14d
mov dword [rsp + 0x4c], eax
movd eax, xmm2
movups xmmword [rbp - 0x30], xmm0
movaps xmm0, xmmword [rbp - 0x40]
xor eax, edx
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x50], eax
movups xmmword [rsp + 0x20], xmm0
call fcn.14032fed0
movups xmm1, xmmword [rbp - 0x30]
movups xmm0, xmmword [rsp + 0x20]
movq r8, xmm1
movaps xmmword [rsp + 0x40], xmm1
mov rax, r8
movaps xmmword [rsp + 0x50], xmm0
shr rax, 0x10
movzx ecx, al
mov eax, r8d
shr rax, 0x18
mov r15d, dword [r13 + rcx*4 + 0x4447b0]
mov edi, dword [r13 + rax*4 + 0x444390]
mov rax, r8
shr rax, 8
xor edi, r15d
movzx ecx, al
movzx eax, r8b
mov r14d, dword [r13 + rcx*4 + 0x443f90]
xor edi, r14d
mov esi, dword [r13 + rax*4 + 0x443b50]
mov rax, r8
shr rax, 0x20
xor edi, esi
mov rdx, rax
shr rax, 0x18
mov ebx, dword [r13 + rax*4 + 0x444390]
mov rax, r8
shr rax, 0x30
movzx ecx, al
shr r8, 0x28
movzx eax, r8b
mov r11d, dword [r13 + rcx*4 + 0x4447b0]
xor r11d, ebx
mov eax, dword [r13 + rax*4 + 0x443f90]
xor r11d, eax
xor r14d, eax
psrldq xmm1, 8
movzx eax, dl
movq r9, xmm1
mov eax, dword [r13 + rax*4 + 0x443b50]
xor r11d, eax
xor esi, eax
mov eax, r9d
shr rax, 0x18
mov r10d, dword [r13 + rax*4 + 0x444390]
xor ebx, r10d
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r9
shr rax, 8
mov edx, dword [r13 + rcx*4 + 0x4447b0]
xor r15d, edx
movzx ecx, al
mov eax, dword [r13 + rcx*4 + 0x443f90]
xor eax, edx
xor r10d, eax
movzx eax, r9b
mov eax, dword [r13 + rax*4 + 0x443b50]
xor r10d, eax
xor esi, eax
mov rax, r9
shr rax, 0x20
mov rdx, rax
shr rax, 0x18
mov r8d, dword [r13 + rax*4 + 0x444390]
xor ebx, r8d
mov rax, r9
shr r9, 0x28
shr rax, 0x30
movzx ecx, al
mov eax, dword [r13 + rcx*4 + 0x4447b0]
xor r15d, eax
xor r8d, eax
movzx eax, r9b
mov ecx, dword [r13 + rax*4 + 0x443f90]
xor r14d, ecx
movzx eax, dl
mov edx, r15d
shl edx, 8
xor edx, r10d
and edx, 0xff0000
mov eax, dword [r13 + rax*4 + 0x443b50]
mov r13d, r15d
xor eax, ecx
xor r13d, r11d
xor r8d, eax
and r13d, 0xff0000
mov eax, r14d
xor eax, r10d
and eax, 0xff00
or r13d, eax
mov eax, ebx
xor eax, edi
and eax, 0xff000000
or r13d, eax
mov eax, esi
xor eax, r8d
movzx ecx, al
mov eax, r14d
shl eax, 8
or r13d, ecx
xor eax, r8d
mov dword [rsp + 0x40], r13d
and eax, 0xff00
or edx, eax
mov eax, ebx
shl eax, 8
xor eax, r11d
and eax, 0xff000000
or edx, eax
mov eax, esi
shr eax, 0x18
xor eax, edi
movzx eax, al
or edx, eax
mov r9d, r15d
mov dword [rsp + 0x44], edx
shl r9d, 0x10
mov eax, ebx
shl eax, 0x10
xor r9d, r8d
xor eax, r10d
shr r15d, 8
and eax, 0xff000000
shl ebx, 0x18
xor r15d, edi
and r9d, 0xff0000
or r9d, eax
and r15d, 0xff0000
mov eax, r14d
xor ebx, r8d
shr eax, 0x10
and ebx, 0xff000000
xor eax, edi
shr r14d, 8
and eax, 0xff00
or r15d, ebx
or r9d, eax
xor r14d, r11d
mov eax, esi
and r14d, 0xff00
shr eax, 0x10
or r15d, r14d
xor eax, r11d
shr esi, 8
movzx eax, al
xor esi, r10d
or r9d, eax
movzx eax, sil
or r15d, eax
mov dword [rsp + 0x48], r9d
mov dword [rsp + 0x4c], r15d
sub r12, 1
jne 0x1401b97b1
mov r8, qword [rsp + 0x38]
rol edx, 0x10
mov ecx, edx
rol r9d, 0x10
shr ecx, 8
mov eax, edx
shl edx, 8
shl eax, 8
xor ecx, eax
rol r15d, 0x10
and ecx, 0xff00ff
mov eax, r9d
xor ecx, edx
shl eax, 8
mov edx, dword [rsp + 0x50]
mov dword [r8], ecx
xor edx, r13d
rol edx, 0x10
mov ecx, r9d
shr ecx, 8
xor ecx, eax
shl r9d, 8
and ecx, 0xff00ff
mov eax, r15d
xor ecx, r9d
shl eax, 8
mov dword [r8 + 4], ecx
mov ecx, r15d
shr ecx, 8
xor ecx, eax
shl r15d, 8
and ecx, 0xff00ff
mov eax, edx
xor ecx, r15d
shl eax, 8
mov dword [r8 + 8], ecx
mov ecx, edx
shr ecx, 8
xor ecx, eax
shl edx, 8
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rsp + 0x64]
mov dword [r8 + 0xc], ecx
xor edx, r13d
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rsp + 0x68]
mov dword [r8 + 0x10], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rsp + 0x6c]
mov dword [r8 + 0x14], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rsp + 0x70]
rol edx, 0x10
mov dword [r8 + 0x18], ecx
mov ecx, edx
shr ecx, 8
mov eax, edx
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x78]
mov dword [r8 + 0x1c], ecx
xor edx, r13d
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x74]
mov dword [r8 + 0x20], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x70]
mov dword [r8 + 0x24], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x6c]
mov dword [r8 + 0x28], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x54]
mov dword [r8 + 0x2c], ecx
xor edx, r13d
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x50]
mov dword [r8 + 0x30], ecx
rol edx, 0x10
mov ecx, edx
mov eax, edx
shr ecx, 8
shl edx, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, edx
mov edx, dword [rbp - 0x4c]
rol edx, 0x10
mov dword [r8 + 0x34], ecx
mov eax, edx
mov ecx, edx
shr ecx, 8
shl eax, 8
mov r15, qword [rsp + 0xf0]
xor ecx, eax
mov r14, qword [rsp + 0xf8]
and ecx, 0xff00ff
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 [r8 + 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 [r8 + 0x3c], ecx
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.1403115a0
add rsp, 0x118
pop rsi
pop rbp
ret
cmp r10d, 4
jae 0x1401b9482
lea ecx, [r10 + 1]
mov byte [rbp + r10 - 0x30], 0
cmp ecx, 4
jae 0x1401b9482
mov eax, ecx
nop
cmp rax, 0x10
jae 0x1401ba4ba
mov byte [rbp + rax - 0x30], 0
inc ecx
inc rax
cmp ecx, 4
jb 0x1401ba4a0
jmp 0x1401b9482
call fcn.140311d40
int3