Function at 0x1400010f0
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1b8
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x80], rcx
mov rax, qword [0x140013040]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
movzx r9d, byte [rdx]
mov byte [rsp + 0xe0], r9b
movzx r14d, byte [rdx + 1]
mov byte [rsp + 0xe1], r14b
movzx ebp, byte [rdx + 2]
mov byte [rsp + 0xe2], bpl
movzx edi, byte [rdx + 3]
mov byte [rsp + 0xe3], dil
movzx esi, byte [rdx + 4]
mov byte [rsp + 0xe4], sil
movzx r13d, byte [rdx + 5]
mov byte [rsp + 0xe5], r13b
mov byte [rsp + 0x40], r13b
movzx ebx, byte [rdx + 6]
mov byte [rsp + 0xe6], bl
mov byte [rsp + 0x48], bl
movzx r15d, byte [rdx + 7]
mov byte [rsp + 0xe7], r15b
mov byte [rsp + 0x58], r15b
movzx eax, byte [rdx + 8]
mov byte [rsp + 0x24], al
mov byte [rsp + 0xe8], al
movzx eax, byte [rdx + 9]
mov byte [rsp + 0x30], al
mov byte [rsp + 0xe9], al
movzx eax, byte [rdx + 0xa]
mov byte [rsp + 0x28], al
mov byte [rsp + 0xea], al
movzx r11d, byte [rdx + 0xb]
mov byte [rsp + 0xeb], r11b
movzx ecx, byte [rdx + 0xc]
mov byte [rsp + 0xec], cl
movzx r8d, byte [rdx + 0xd]
mov byte [rsp + 0xed], r8b
movzx eax, byte [rdx + 0xe]
mov byte [rsp + 0xee], al
mov r12, rax
mov qword [rsp + 0x38], rax
movzx r10d, byte [rdx + 0xf]
mov byte [rsp + 0xef], r10b
lea rax, [0x14000f190]
xor r9b, byte [r8 + rax]
mov qword [rsp + 0x50], r8
xor r9b, 1
mov byte [rsp + 0xf0], r9b
xor r14b, byte [r12 + rax]
mov byte [rsp + 0xf1], r14b
xor bpl, byte [r10 + rax]
mov qword [rsp + 0x78], r10
xor dil, byte [rcx + rax]
mov byte [rsp + 0xf2], bpl
mov byte [rsp + 0xf3], dil
xor sil, r9b
mov byte [rsp + 0xf4], sil
xor r13b, r14b
mov byte [rsp + 0xf5], r13b
xor bl, bpl
mov byte [rsp + 0xf6], bl
mov r12d, r15d
xor r12b, dil
mov byte [rsp + 0xf7], r12b
movzx edx, byte [rsp + 0x24]
xor dl, sil
mov byte [rsp + 0xf8], dl
xor r13b, byte [rsp + 0x30]
mov byte [rsp + 0xf9], r13b
xor bl, byte [rsp + 0x28]
mov byte [rsp + 0xfa], bl
mov eax, ebx
mov byte [rsp + 0x28], bl
xor r12b, r11b
mov byte [rsp + 0xfb], r12b
xor dl, cl
mov byte [rsp + 0xfc], dl
mov ecx, r8d
xor cl, r13b
mov byte [rsp + 0xfd], cl
mov rbx, qword [rsp + 0x38]
mov r8d, ebx
xor r8b, al
mov byte [rsp + 0xfe], r8b
mov eax, r10d
xor al, r12b
mov byte [rsp + 0xff], al
movzx ecx, cl
lea r10, [0x14000f190]
xor r9b, byte [rcx + r10]
movzx edx, dl
movzx ecx, byte [rdx + r10]
mov r15, rdx
mov qword [rsp + 0x88], rdx
movzx eax, al
movzx eax, byte [rax + r10]
movzx edx, r8b
movzx edx, byte [rdx + r10]
xor r9b, 2
mov byte [rsp + 0x100], r9b
xor r14b, dl
mov byte [rsp + 0x101], r14b
xor bpl, al
mov byte [rsp + 0x102], bpl
xor dil, cl
mov byte [rsp + 0x103], dil
xor sil, r9b
mov byte [rsp + 0x104], sil
movzx r10d, byte [rsp + 0x40]
xor r10b, dl
mov byte [rsp + 0x105], r10b
movzx r11d, byte [rsp + 0x48]
xor r11b, al
mov byte [rsp + 0x106], r11b
mov r8d, r11d
movzx r11d, byte [rsp + 0x58]
xor r11b, cl
mov byte [rsp + 0x107], r11b
mov edx, r11d
mov byte [rsp + 0x58], r11b
movzx r11d, byte [rsp + 0x24]
xor r11b, r9b
mov byte [rsp + 0x108], r11b
mov ecx, r11d
mov byte [rsp + 0x24], r11b
mov eax, r13d
xor al, r10b
mov byte [rsp + 0x109], al
movzx eax, byte [rsp + 0x28]
xor al, r8b
mov r11d, r8d
mov byte [rsp + 0x10a], al
mov eax, r12d
xor al, dl
mov byte [rsp + 0x10b], al
mov eax, r15d
xor al, cl
mov byte [rsp + 0x10c], al
mov rcx, qword [rsp + 0x50]
mov edx, ecx
xor dl, r10b
mov r15d, r10d
mov byte [rsp + 0x10d], dl
mov r8d, ebx
xor r8b, r11b
mov byte [rsp + 0x48], r11b
movzx eax, al
lea rbx, [0x14000f190]
xor dil, byte [rax + rbx]
mov byte [rsp + 0x10e], r8b
mov rax, qword [rsp + 0x78]
mov ecx, eax
movzx r10d, byte [rsp + 0x58]
xor cl, r10b
mov byte [rsp + 0x10f], cl
movzx edx, dl
xor r9b, byte [rdx + rbx]
xor r9b, 4
mov byte [rsp + 0x110], r9b
movzx r8d, r8b
xor r14b, byte [r8 + rbx]
xor sil, r9b
xor r13b, r14b
xor dl, r13b
mov byte [rsp + 0x30], r13b
movzx eax, dl
xor r9b, byte [rax + rbx]
mov byte [rsp + 0x111], r14b
movzx eax, cl
xor bpl, byte [rax + rbx]
mov byte [rsp + 0x112], bpl
mov byte [rsp + 0x113], dil
mov byte [rsp + 0x114], sil
mov ecx, r15d
xor cl, r14b
mov byte [rsp + 0x115], cl
xor r11b, bpl
mov byte [rsp + 0x116], r11b
mov ecx, r10d
xor cl, dil
mov byte [rsp + 0x117], cl
movzx ecx, byte [rsp + 0x24]
xor cl, sil
mov byte [rsp + 0x118], cl
mov byte [rsp + 0x119], r13b
movzx r10d, byte [rsp + 0x28]
xor r10b, bpl
mov byte [rsp + 0x28], r10b
mov byte [rsp + 0x11a], r10b
xor r12b, dil
mov byte [rsp + 0x11b], r12b
mov rcx, qword [rsp + 0x88]
xor cl, sil
mov r11d, esi
mov byte [rsp + 0x11c], cl
mov byte [rsp + 0x11d], dl
xor r8b, r10b
mov byte [rsp + 0x11e], r8b
xor al, r12b
mov byte [rsp + 0x11f], al
movzx r13d, cl
movzx eax, al
mov rcx, rbx
movzx esi, byte [rax + rbx]
movzx ebx, byte [r13 + rbx]
movzx eax, r8b
movzx r8d, byte [rax + rcx]
xor r9b, 8
mov byte [rsp + 0x120], r9b
xor r14b, r8b
mov byte [rsp + 0x121], r14b
xor bpl, sil
mov byte [rsp + 0x122], bpl
xor dil, bl
mov byte [rsp + 0x123], dil
xor r11b, r9b
mov byte [rsp + 0x124], r11b
mov ecx, r15d
xor cl, r8b
mov byte [rsp + 0x125], cl
mov byte [rsp + 0x40], cl
movzx edx, byte [rsp + 0x48]
xor dl, sil
mov byte [rsp + 0x126], dl
mov byte [rsp + 0x48], dl
movzx r15d, byte [rsp + 0x58]
xor r15b, bl
mov byte [rsp + 0x127], r15b
mov r10d, r15d
movzx r15d, byte [rsp + 0x24]
xor r15b, r9b
mov byte [rsp + 0x128], r15b
movzx eax, byte [rsp + 0x30]
xor al, cl
mov byte [rsp + 0x129], al
movzx eax, byte [rsp + 0x28]
xor al, dl
mov byte [rsp + 0x12a], al
mov eax, r12d
xor al, r10b
mov byte [rsp + 0x58], r10b
mov byte [rsp + 0x12b], al
mov eax, r13d
xor al, r15b
mov ecx, r15d
mov byte [rsp + 0x24], r15b
mov byte [rsp + 0x12c], al
xor r8b, byte [rsp + 0x50]
mov byte [rsp + 0x12d], r8b
xor sil, byte [rsp + 0x38]
mov byte [rsp + 0x12e], sil
xor bl, byte [rsp + 0x78]
mov byte [rsp + 0x12f], bl
movzx r15d, r8b
movzx eax, al
movzx ebx, bl
lea r8, [0x14000f190]
xor r9b, byte [r15 + r8]
mov qword [rsp + 0x90], r15
movzx edx, sil
xor r9b, 0x10
xor r14b, byte [rdx + r8]
mov qword [rsp + 0x78], rdx
mov byte [rsp + 0x130], r9b
mov byte [rsp + 0x131], r14b
xor bpl, byte [rbx + r8]
mov qword [rsp + 0x88], rbx
mov byte [rsp + 0x132], bpl
xor dil, byte [rax + r8]
mov rsi, r8
mov byte [rsp + 0x133], dil
xor r11b, r9b
mov byte [rsp + 0x134], r11b
movzx eax, byte [rsp + 0x40]
xor al, r14b
mov byte [rsp + 0x135], al
movzx eax, byte [rsp + 0x48]
xor al, bpl
mov byte [rsp + 0x136], al
mov eax, r10d
xor al, dil
mov byte [rsp + 0x137], al
xor cl, r11b
mov byte [rsp + 0x138], cl
movzx eax, byte [rsp + 0x30]
xor al, r14b
mov byte [rsp + 0x139], al
mov ecx, eax
mov byte [rsp + 0x30], al
movzx eax, byte [rsp + 0x28]
xor al, bpl
mov byte [rsp + 0x13a], al
mov r8d, eax
mov byte [rsp + 0x28], al
xor r12b, dil
mov byte [rsp + 0x13b], r12b
mov byte [rsp + 0x50], r12b
xor r13b, r11b
mov byte [rsp + 0x13c], r13b
mov eax, r15d
xor al, cl
mov byte [rsp + 0x13d], al
xor dl, r8b
mov byte [rsp + 0x13e], dl
xor bl, r12b
mov byte [rsp + 0x13f], bl
movzx eax, al
movzx r8d, r13b
mov r15, rsi
xor r9b, byte [rax + rsi]
movzx eax, byte [r8 + rsi]
mov qword [rsp + 0x38], r8
movzx ecx, bl
movzx ecx, byte [rcx + rsi]
movzx edx, dl
movzx edx, byte [rdx + rsi]
mov rbx, rsi
xor r9b, 0x20
mov byte [rsp + 0x140], r9b
xor r14b, dl
mov byte [rsp + 0x141], r14b
xor bpl, cl
mov byte [rsp + 0x142], bpl
xor dil, al
mov byte [rsp + 0x143], dil
xor r11b, r9b
mov byte [rsp + 0x144], r11b
mov esi, r11d
movzx r10d, byte [rsp + 0x40]
xor r10b, dl
mov byte [rsp + 0x145], r10b
mov edx, r10d
movzx r12d, byte [rsp + 0x48]
xor r12b, cl
mov byte [rsp + 0x146], r12b
movzx r15d, byte [rsp + 0x58]
xor r15b, al
mov byte [rsp + 0x147], r15b
movzx r13d, byte [rsp + 0x24]
xor r13b, r9b
mov byte [rsp + 0x148], r13b
movzx eax, byte [rsp + 0x30]
xor al, r10b
mov byte [rsp + 0x149], al
movzx eax, byte [rsp + 0x28]
xor al, r12b
mov byte [rsp + 0x14a], al
movzx eax, byte [rsp + 0x50]
xor al, r15b
mov byte [rsp + 0x14b], al
mov eax, r8d
xor al, r13b
mov byte [rsp + 0x24], r13b
mov byte [rsp + 0x14c], al
mov rcx, qword [rsp + 0x90]
xor cl, r10b
mov r11d, r10d
mov byte [rsp + 0x40], r10b
mov byte [rsp + 0x14d], cl
mov rdx, qword [rsp + 0x78]
xor dl, r12b
mov byte [rsp + 0x14e], dl
movzx eax, al
mov r10, rbx
xor dil, byte [rax + rbx]
mov rax, qword [rsp + 0x88]
xor al, r15b
movzx ecx, cl
xor r9b, byte [rcx + rbx]
mov byte [rsp + 0x14f], al
xor r9b, 0x40
mov byte [rsp + 0x150], r9b
movzx ebx, dl
xor r14b, byte [rbx + r10]
mov byte [rsp + 0x151], r14b
movzx r8d, al
xor bpl, byte [r8 + r10]
mov rdx, r10
mov byte [rsp + 0x152], bpl
mov byte [rsp + 0x153], dil
xor sil, r9b
mov byte [rsp + 0x154], sil
mov eax, r11d
xor al, r14b
mov byte [rsp + 0x155], al
mov eax, r12d
xor al, bpl
mov byte [rsp + 0x156], al
mov eax, r15d
xor al, dil
mov byte [rsp + 0x157], al
xor r13b, sil
mov byte [rsp + 0x158], r13b
movzx r13d, byte [rsp + 0x30]
xor r13b, r14b
mov byte [rsp + 0x159], r13b
mov byte [rsp + 0x30], r13b
movzx r11d, byte [rsp + 0x28]
xor r11b, bpl
mov byte [rsp + 0x15a], r11b
mov byte [rsp + 0x28], r11b
movzx r10d, byte [rsp + 0x50]
xor r10b, dil
mov byte [rsp + 0x15b], r10b
mov rax, qword [rsp + 0x38]
xor al, sil
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x15c], al
xor cl, r13b
mov byte [rsp + 0x15d], cl
movzx eax, cl
xor r9b, byte [rax + rdx]
xor bl, r11b
mov byte [rsp + 0x15e], bl
xor r8b, r10b
mov r13d, r10d
mov byte [rsp + 0x50], r10b
mov byte [rsp + 0x15f], r8b
movzx ecx, byte [rsp + 0x38]
mov qword [rsp + 0x58], rcx
movzx eax, r8b
movzx r8d, byte [rax + rdx]
movzx r10d, byte [rcx + rdx]
movzx eax, bl
movzx ebx, byte [rax + rdx]
add r9b, 0x80
mov byte [rsp + 0x160], r9b
xor r14b, bl
mov byte [rsp + 0x161], r14b
xor bpl, r8b
mov byte [rsp + 0x162], bpl
xor dil, r10b
mov byte [rsp + 0x163], dil
xor sil, r9b
mov byte [rsp + 0x164], sil
movzx r11d, byte [rsp + 0x40]
xor r11b, bl
mov byte [rsp + 0x165], r11b
xor r12b, r8b
mov byte [rsp + 0x166], r12b
xor r15b, r10b
mov byte [rsp + 0x167], r15b
movzx edx, byte [rsp + 0x24]
xor dl, r9b
mov byte [rsp + 0x168], dl
movzx eax, byte [rsp + 0x30]
xor al, r11b
mov byte [rsp + 0x169], al
movzx eax, byte [rsp + 0x28]
xor al, r12b
mov byte [rsp + 0x16a], al
xor r13b, r15b
mov byte [rsp + 0x16b], r13b
mov rcx, qword [rsp + 0x90]
xor cl, bl
mov rax, qword [rsp + 0x58]
xor al, dl
mov r13d, edx
mov byte [rsp + 0x24], dl
mov byte [rsp + 0x16c], al
mov byte [rsp + 0x16d], cl
mov rbx, qword [rsp + 0x78]
xor bl, r8b
mov byte [rsp + 0x16e], bl
mov r8, qword [rsp + 0x88]
xor r8b, r10b
mov byte [rsp + 0x16f], r8b
movzx edx, cl
movzx eax, al
movzx ecx, r8b
mov qword [rsp + 0x48], rcx
movzx r8d, bl
mov qword [rsp + 0x40], r8
lea rbx, [0x14000f190]
xor r9b, byte [rdx + rbx]
mov qword [rsp + 0x38], rdx
xor r9b, 0x1b
mov byte [rsp + 0x170], r9b
xor r14b, byte [r8 + rbx]
mov byte [rsp + 0x171], r14b
xor bpl, byte [rcx + rbx]
xor dil, byte [rax + rbx]
mov byte [rsp + 0x172], bpl
mov byte [rsp + 0x173], dil
xor sil, r9b
mov byte [rsp + 0x174], sil
mov eax, r11d
xor al, r14b
mov byte [rsp + 0x175], al
mov eax, r12d
xor al, bpl
mov byte [rsp + 0x176], al
mov eax, r15d
xor al, dil
mov byte [rsp + 0x177], al
xor r13b, sil
mov byte [rsp + 0x178], r13b
movzx r13d, byte [rsp + 0x30]
xor r13b, r14b
mov byte [rsp + 0x179], r13b
movzx r8d, byte [rsp + 0x28]
xor r8b, bpl
mov byte [rsp + 0x17a], r8b
movzx r10d, byte [rsp + 0x50]
xor r10b, dil
mov byte [rsp + 0x17b], r10b
mov rcx, qword [rsp + 0x58]
xor cl, sil
mov byte [rsp + 0x17c], cl
mov eax, edx
xor al, r13b
mov byte [rsp + 0x17d], al
mov rdx, qword [rsp + 0x40]
xor dl, r8b
movzx eax, al
xor r9b, byte [rax + rbx]
mov byte [rsp + 0x17e], dl
mov rax, qword [rsp + 0x48]
xor al, r10b
mov byte [rsp + 0x17f], al
movzx eax, al
movzx eax, byte [rax + rbx]
movzx edx, dl
movzx edx, byte [rdx + rbx]
movzx ecx, cl
movzx ebx, byte [rcx + rbx]
xor r9b, 0x36
mov byte [rsp + 0x180], r9b
xor r14b, dl
mov byte [rsp + 0x181], r14b
xor bpl, al
mov byte [rsp + 0x182], bpl
xor dil, bl
mov byte [rsp + 0x183], dil
xor sil, r9b
mov byte [rsp + 0x184], sil
xor r11b, dl
xor r12b, al
xor r15b, bl
xor r9b, byte [rsp + 0x24]
mov byte [rsp + 0x185], r11b
mov byte [rsp + 0x186], r12b
mov byte [rsp + 0x187], r15b
mov byte [rsp + 0x188], r9b
xor r13b, r11b
mov byte [rsp + 0x189], r13b
xor r8b, r12b
mov byte [rsp + 0x18a], r8b
xor r10b, r15b
mov byte [rsp + 0x18b], r10b
xor cl, r9b
mov byte [rsp + 0x18c], cl
xor r11b, byte [rsp + 0x38]
xor r12b, byte [rsp + 0x40]
mov byte [rsp + 0x18d], r11b
mov byte [rsp + 0x18e], r12b
xor r15b, byte [rsp + 0x48]
mov byte [rsp + 0x18f], r15b
mov rax, qword [rsp + 0x98]
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x190], xmm0
xor eax, eax
movdqa xmm0, xmmword [str.eeee]
jmp 0x140001c97
mov rax, qword [rsp + 0x80]
movdqu xmm1, xmmword [rax]
movdqu xmm2, xmmword [rsp + 0x190]
pxor xmm2, xmm1
movdqu xmmword [rax], xmm2
movdqa xmm1, xmmword [rsp + 0x1a0]
lea rcx, [rsp + 0x190]
movdqu xmmword [rcx], xmm1
add rax, 0x10
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0xd8]
lea rax, [rcx + 0x10]
cmp rcx, 0x5e0
jae 0x1400024ba
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x80]
movups xmm1, xmmword [rax]
movaps xmmword [rsp + 0x1a0], xmm1
movups xmm1, xmmword [rax]
movups xmm2, xmmword [rsp + 0x180]
xorps xmm2, xmm1
movups xmmword [rax], xmm2
movaps xmmword [rsp + 0x60], xmm2
movzx ecx, byte [rsp + 0x60]
movzx r14d, byte [rsp + 0x61]
movzx eax, byte [rsp + 0x62]
mov qword [rsp + 0x30], rax
movzx eax, byte [rsp + 0x63]
mov qword [rsp + 0x48], rax
movzx r11d, byte [rsp + 0x64]
movzx r10d, byte [rsp + 0x65]
movzx eax, byte [rsp + 0x66]
mov dword [rsp + 0x50], eax
movzx eax, byte [rsp + 0x67]
mov dword [rsp + 0x40], eax
movzx esi, byte [rsp + 0x68]
movzx r13d, byte [rsp + 0x69]
movzx eax, byte [rsp + 0x6a]
movzx edx, byte [rsp + 0x6b]
mov qword [rsp + 0x38], rdx
movzx edi, byte [rsp + 0x6c]
movzx edx, byte [rsp + 0x6d]
movzx r9d, byte [rsp + 0x6e]
mov r8d, 0x90
mov qword [rsp + 0x58], r8
movzx r8d, byte [rsp + 0x6f]
movzx ecx, cl
lea r15, [0x14000f290]
movzx ebx, byte [rcx + r15]
movzx ecx, r11b
movzx ecx, byte [rcx + r15]
mov qword [rsp + 0x28], rcx
movzx ecx, sil
movzx r11d, byte [rcx + r15]
movzx ecx, dil
movzx ecx, byte [rcx + r15]
mov rsi, qword [rsp + 0x80]
mov byte [rsi + 0xc], cl
movzx edx, dl
movzx ebp, byte [rdx + r15]
movzx edx, r14b
movzx edi, byte [rdx + r15]
movzx edx, r8b
movzx edx, byte [rdx + r15]
shl ecx, 8
or ecx, edx
movzx edx, r10b
movzx r8d, byte [rdx + r15]
movzx edx, r13b
movzx edx, byte [rdx + r15]
mov dword [rsp + 0x24], edx
movzx eax, al
movzx r10d, byte [rax + r15]
movzx eax, byte [rsp + 0x48]
movzx eax, byte [rax + r15]
movzx r9d, r9b
movzx r12d, byte [r9 + r15]
movzx r9d, byte [rsp + 0x40]
movzx r14d, byte [r9 + r15]
movzx r9d, byte [rsp + 0x38]
movzx r9d, byte [r9 + r15]
mov r13, qword [rsp + 0x58]
xor bl, byte [rsp + r13 + 0xe0]
mov byte [rsi], bl
xor bpl, byte [rsp + r13 + 0xe1]
shl r11d, 8
or r11d, r9d
mov byte [rsi + 1], bpl
xor r10b, byte [rsp + r13 + 0xe2]
mov byte [rsi + 2], r10b
xor r14b, byte [rsp + r13 + 0xe3]
shl r8d, 0x10
or r8d, r11d
mov byte [rsi + 3], r14b
mov r11, qword [rsp + 0x28]
xor r11b, byte [rsp + r13 + 0xe4]
movzx r9d, byte [rsp + 0x30]
mov qword [rsp + 0x28], r11
mov byte [rsi + 4], r11b
xor dil, byte [rsp + r13 + 0xe5]
mov byte [rsi + 5], dil
xor r12b, byte [rsp + r13 + 0xe6]
mov qword [rsp + 0x40], r12
mov byte [rsi + 6], r12b
movzx r9d, byte [r9 + r15]
shl r9d, 0x18
or r9d, r8d
movd xmm1, r9d
pinsrw xmm1, ecx, 2
movzx ecx, byte [rsp + 0x50]
movzx ecx, byte [rcx + r15]
shl ecx, 8
add ecx, dword [rsp + 0x24]
pinsrw xmm1, ecx, 3
movq xmm2, qword [rsp + r13 + 0xe7]
pxor xmm1, xmm2
movq qword [rsi + 7], xmm1
xor al, byte [rsp + r13 + 0xef]
mov byte [rsi + 0xf], al
test r13, r13
je 0x140001c40
mov rdx, rbx
mov qword [rsp + 0x48], rbx
mov esi, edx
sar sil, 7
and sil, 0x1b
lea r9d, [rbx + rbx]
xor sil, r9b
sar r9b, 7
and r9b, 0x1b
lea eax, [rsi + rsi]
xor r9b, al
sar al, 7
and al, 0x1b
lea ecx, [r9 + r9]
xor cl, al
mov dword [rsp + 0x24], ecx
mov ecx, ebp
sar cl, 7
and cl, 0x1b
mov qword [rsp + 0x30], rdi
lea edi, [rbp*2]
xor cl, dil
sar dil, 7
and dil, 0x1b
lea edx, [rcx + rcx]
xor dil, dl
sar dl, 7
and dl, 0x1b
lea eax, [rdi + rdi]
xor al, dl
mov ebx, r10d
sar bl, 7
and bl, 0x1b
lea edx, [r10 + r10]
xor bl, dl
sar dl, 7
and dl, 0x1b
lea r8d, [rbx + rbx]
xor dl, r8b
sar r8b, 7
and r8b, 0x1b
lea r11d, [rdx + rdx]
xor r11b, r8b
xor r11b, al
mov r8d, r14d
sar r8b, 7
and r8b, 0x1b
lea r15d, [r14 + r14]
xor r8b, r15b
sar r15b, 7
and r15b, 0x1b
lea eax, [r8 + r8]
xor r15b, al
sar al, 7
and al, 0x1b
lea r12d, [r15 + r15]
xor r12b, al
mov eax, r10d
xor al, bpl
xor al, r14b
xor al, sil
xor al, cl
mov r13d, r10d
mov qword [rsp + 0x50], r10
mov r10, qword [rsp + 0x48]
xor r13b, r10b
xor r13b, r14b
xor r13b, cl
xor bpl, r10b
xor bpl, r8b
xor r13b, bl
xor bl, r14b
xor al, r9b
xor al, dl
mov ecx, dword [rsp + 0x24]
xor al, cl
xor al, r11b
xor al, r12b
xor r13b, dil
xor r13b, r15b
xor r13b, cl
xor r13b, r11b
xor r13b, r12b
xor bl, bpl
xor bl, r9b
xor bl, dl
xor bl, cl
xor bl, r11b
xor bl, r12b
xor sil, byte [rsp + 0x50]
xor sil, bpl
xor sil, dil
xor sil, r15b
xor sil, cl
xor sil, r11b
xor sil, r12b
mov qword [rsp + 0x48], rsi
mov rcx, qword [rsp + 0x28]
mov r8d, ecx
sar r8b, 7
and r8b, 0x1b
lea edi, [rcx + rcx]
xor r8b, dil
sar dil, 7
and dil, 0x1b
lea ecx, [r8 + r8]
xor dil, cl
sar cl, 7
and cl, 0x1b
lea r12d, [rdi + rdi]
xor r12b, cl
mov rcx, qword [rsp + 0x30]
mov edx, ecx
sar dl, 7
and dl, 0x1b
lea r10d, [rcx + rcx]
xor dl, r10b
sar r10b, 7
and r10b, 0x1b
lea ecx, [rdx + rdx]
xor r10b, cl
sar cl, 7
and cl, 0x1b
lea ebp, [r10 + r10]
xor bpl, cl
mov rcx, qword [rsp + 0x40]
mov esi, ecx
sar sil, 7
and sil, 0x1b
lea r9d, [rcx + rcx]
xor sil, r9b
sar r9b, 7
and r9b, 0x1b
lea r11d, [rsi + rsi]
xor r9b, r11b
sar r11b, 7
and r11b, 0x1b
lea r14d, [r9 + r9]
xor r14b, r11b
mov r11d, r14d
mov dword [rsp + 0x38], r14d
mov r14d, ecx
xor r14b, byte [rsp + 0x30]
xor r14b, r8b
xor r14b, dl
xor cl, byte [rsp + 0x28]
xor cl, dl
xor r14b, dil
xor r14b, r9b
xor r14b, r12b
xor r14b, bpl
xor r14b, r11b
movd r11d, xmm1
xor r14b, r11b
mov byte [rsp + 0x24], r14b
xor cl, sil
xor cl, r10b
xor cl, r11b
xor sil, r11b
lea edx, [r11 + r11]
mov r14d, r11d
sar r14b, 7
and r14b, 0x1b
xor r14b, dl
sar dl, 7
and dl, 0x1b
lea r15d, [r14 + r14]
xor dl, r15b
sar r15b, 7
and r15b, 0x1b
lea r11d, [rdx + rdx]
xor r11b, r15b
mov r15, qword [rsp + 0x30]
xor r15b, byte [rsp + 0x28]
xor r15b, r14b
mov r14, qword [rsp + 0x80]
mov byte [r14], al
mov byte [r14 + 1], r13b
mov qword [rsp + 0x30], rbx
mov byte [r14 + 2], bl
mov rax, qword [rsp + 0x48]
mov byte [r14 + 3], al
movzx eax, byte [rsp + 0x24]
xor al, r11b
mov byte [rsp + 0x24], al
mov byte [r14 + 4], al
xor cl, r12b
xor cl, bpl
mov eax, dword [rsp + 0x38]
xor cl, al
xor cl, dl
xor cl, r11b
mov byte [rsp + 0x28], cl
mov byte [r14 + 5], cl
xor sil, dil
xor sil, r9b
xor sil, r12b
xor sil, r15b
xor r12b, bpl
xor bpl, al
xor bpl, sil
xor bpl, r11b
mov dword [rsp + 0x50], ebp
mov byte [r14 + 6], bpl
xor r8b, byte [rsp + 0x40]
xor r8b, r10b
xor r8b, r15b
xor r8b, dl
xor r12b, al
xor r12b, r8b
xor r12b, r11b
mov dword [rsp + 0x40], r12d
mov byte [r14 + 7], r12b
movzx edx, byte [r14 + 8]
movzx ecx, byte [r14 + 9]
movzx eax, byte [r14 + 0xa]
mov r11, r14
lea r9d, [rdx + rdx]
mov r14, rcx
mov r10d, r14d
lea r12d, [rcx + rcx]
mov ecx, eax
xor cl, r14b
mov r13d, eax
xor r13b, dl
xor r14b, dl
mov qword [rsp + 0x38], r14
mov r15d, edx
sar r15b, 7
and r15b, 0x1b
xor r15b, r9b
sar r9b, 7
and r9b, 0x1b
lea edx, [r15 + r15]
xor r9b, dl
sar dl, 7
and dl, 0x1b
lea r8d, [r9 + r9]
xor r8b, dl
sar r10b, 7
and r10b, 0x1b
xor r10b, r12b
sar r12b, 7
and r12b, 0x1b
lea edx, [r10 + r10]
xor r12b, dl
sar dl, 7
and dl, 0x1b
lea edi, [r12 + r12]
xor dil, dl
movzx esi, byte [r11 + 0xb]
mov r14, r11
xor cl, sil
xor cl, r15b
xor r15b, al
lea r11d, [rax + rax]
sar al, 7
and al, 0x1b
xor al, r11b
sar r11b, 7
and r11b, 0x1b
lea ebx, [rax + rax]
xor r11b, bl
sar bl, 7
and bl, 0x1b
lea edx, [r11 + r11]
xor dl, bl
xor dl, dil
xor r13b, sil
xor r13b, r10b
xor r13b, al
xor al, sil
lea edi, [rsi + rsi]
mov ebx, esi
sar bl, 7
and bl, 0x1b
xor bl, dil
sar dil, 7
and dil, 0x1b
lea ebp, [rbx + rbx]
xor dil, bpl
sar bpl, 7
and bpl, 0x1b
lea esi, [rdi + rdi]
xor sil, bpl
xor cl, r10b
mov r10, qword [rsp + 0x38]
xor r10b, bl
xor cl, r9b
xor al, r10b
xor al, r9b
xor cl, r11b
xor cl, r8b
xor cl, dl
xor cl, sil
mov byte [r14 + 8], cl
xor r13b, r12b
xor r13b, dil
xor r13b, r8b
xor r13b, dl
xor r13b, sil
mov byte [r14 + 9], r13b
xor al, r11b
xor al, r8b
xor al, dl
xor al, sil
mov byte [r14 + 0xa], al
xor r15b, r10b
xor r15b, r12b
xor r15b, dil
xor r15b, r8b
xor r15b, dl
xor r15b, sil
mov qword [rsp + 0x38], r15
mov byte [r14 + 0xb], r15b
mov r10d, dword [r14 + 0xc]
mov qword [rsp + 0x80], r14
movd xmm2, r10d
mov edx, r10d
shr edx, 0x18
mov edi, edx
mov edx, r10d
shr edx, 0x10
mov r8d, r10d
shr r8d, 8
mov ebx, r8d
mov dword [rsp + 0x78], r8d
pxor xmm3, xmm3
pcmpgtb xmm3, xmm2
pand xmm3, xmm0
paddb xmm2, xmm2
pxor xmm3, xmm2
movdqa xmmword [rsp + 0xa0], xmm3
movzx r8d, byte [rsp + 0xa0]
movzx r11d, byte [rsp + 0xa1]
pxor xmm1, xmm1
pcmpgtb xmm1, xmm2
pand xmm1, xmm0
paddb xmm3, xmm3
pxor xmm1, xmm3
movdqa xmmword [rsp + 0xb0], xmm1
pxor xmm2, xmm2
pcmpgtb xmm2, xmm3
pand xmm2, xmm0
paddb xmm1, xmm1
pxor xmm1, xmm2
movdqa xmm2, xmm1
psrld xmm2, 0x10
pxor xmm2, xmm1
movdqa xmm3, xmm2
psrlw xmm3, 8
pxor xmm3, xmm2
movd esi, xmm3
mov r9d, edx
xor r9d, edi
mov ebp, edi
mov dword [rsp + 0x98], edi
xor r9d, ebx
xor r9d, esi
movzx edi, byte [rsp + 0xb2]
mov byte [rsp + 0x88], dil
movzx ebx, byte [rsp + 0xb0]
mov byte [rsp + 0x90], bl
xor dil, bl
xor dil, r11b
xor dil, r8b
xor r8b, dl
xor dil, r9b
movzx ebx, byte [rsp + 0xb1]
mov byte [r14 + 0xc], dil
xor dl, r10b
xor r11b, bpl
xor r11b, dl
movzx r9d, byte [rsp + 0xa2]
mov ebp, r9d
xor bpl, bl
movzx r12d, byte [rsp + 0xb3]
xor bpl, r12b
movdqa xmmword [rsp + 0xc0], xmm1
movzx r15d, byte [rsp + 0xc0]
xor bpl, r15b
xor bpl, r11b
movzx r11d, byte [rsp + 0xc1]
movzx r14d, byte [rsp + 0xc2]
mov edx, r11d
xor dl, r14b
movzx esi, byte [rsp + 0xc3]
xor dl, sil
xor dl, bpl
mov rbp, qword [rsp + 0x80]
mov byte [rbp + 0xd], dl
xor r10b, byte [rsp + 0xa3]
xor r10b, byte [rsp + 0x78]
xor r9b, byte [rsp + 0x98]
xor r9b, byte [rsp + 0x90]
xor r9b, byte [rsp + 0x88]
xor r8b, bl
xor r8b, r12b
xor r9b, r15b
xor r8b, r15b
xor r9b, r11b
xor r8b, r11b
movzx r11d, byte [rsp + 0x24]
xor r9b, r14b
xor r8b, r14b
xor r9b, r10b
xor r8b, r10b
movzx r10d, byte [rsp + 0x28]
xor r9b, sil
mov rbx, rbp
mov byte [rbp + 0xe], r9b
xor r8b, sil
mov esi, ecx
mov byte [rbp + 0xf], r8b
movzx ecx, byte [rbp]
movzx r14d, byte [rbp + 1]
add qword [rsp + 0x58], 0xfffffffffffffff0
jmp 0x140001d40
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.14000c770
nop
add rsp, 0x1b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret