Function at 0x14001abb0
Capabilities:
Encrypt data using sosemanuk

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x80], r8
cmp r8, qword [rsp + 0x120]
jne 0x14001b6fe
cmp qword [rsp + 0x80], 0
je 0x14001b6ea
mov r12, rcx
mov r11d, dword [rcx + 0x210]
mov eax, dword [rcx + 0x1e0]
mov qword [rsp + 0x58], rax
mov ebp, dword [rcx + 0x1e4]
mov eax, dword [rcx + 0x1e8]
mov qword [rsp + 0x38], rax
mov r8d, dword [rcx + 0x1ec]
mov r13d, dword [rcx + 0x1f0]
mov eax, dword [rcx + 0x1f4]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x1f8]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x1fc]
mov dword [rsp + 0x2c], eax
mov r15d, dword [rcx + 0x200]
mov edx, dword [rcx + 0x204]
mov edi, dword [rcx + 0x208]
mov r9d, dword [rcx + 0x20c]
xor esi, esi
mov qword [rsp + 0x20], rcx
jmp 0x14001b6b9
imul eax, edi, 0x54655307
and edi, 1
neg edi
and edi, r15d
xor edi, ebp
rol eax, 7
add edi, r9d
mov byte [rsp + 0x2b], bl
mov ebx, r8d
mov r11d, r8d
shr r11d, 8
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x60], r15
mov ecx, r9d
shl ecx, 8
xor ecx, r11d
mov r11d, r9d
shr r11d, 0x18
lea r14, [0x14012f040]
xor ecx, dword [r14 + r11*4]
mov r9, r14
movzx r11d, bl
lea r14, [0x14012f440]
xor ecx, dword [r14 + r11*4]
mov qword [rsp + 0x68], rdx
lea r11d, [rdi + rdx]
xor r11d, eax
imul r14d, edi, 0x54655307
and edi, 1
neg edi
and edi, edx
mov r10, qword [rsp + 0x38]
xor edi, r10d
add edi, eax
mov eax, r13d
shr eax, 8
mov r15d, ebp
shl r15d, 8
xor r15d, eax
mov eax, ebp
shr eax, 0x18
xor r15d, dword [r9 + rax*4]
mov eax, r13d
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xa0], rsi
movzx esi, al
lea r12, [0x14012f440]
xor r15d, dword [r12 + rsi*4]
mov r9, rcx
xor r9d, edx
rol r14d, 7
mov rdx, r13
mov qword [rsp + 0x78], r13
lea r13d, [rdi + r9]
xor r13d, r14d
imul esi, edi, 0x54655307
and edi, 1
neg edi
and edi, r9d
mov qword [rsp + 0x90], r9
mov rax, r8
xor edi, eax
add edi, r14d
mov r8d, dword [rsp + 0x30]
mov ecx, r8d
mov dword [rsp + 0x30], r8d
shr ecx, 8
mov qword [rsp + 0x38], r10
mov r14d, r10d
shl r14d, 8
xor r14d, ecx
mov ecx, r10d
shr ecx, 0x18
lea r10, [0x14012f040]
xor r14d, dword [r10 + rcx*4]
mov ecx, r8d
movzx r8d, cl
xor r14d, dword [r12 + r8*4]
xor r15d, r9d
rol esi, 7
lea r8d, [rdi + r15]
xor r8d, esi
imul r12d, edi, 0x54655307
and edi, 1
neg edi
and edi, r15d
xor edi, edx
add edi, esi
mov edx, dword [rsp + 0x48]
mov esi, edx
mov dword [rsp + 0x48], edx
shr esi, 8
mov r9d, eax
shl r9d, 8
xor r9d, esi
shr rbx, 0x18
xor r9d, dword [r10 + rbx*4]
mov esi, edx
mov qword [rsp + 0x50], rsi
movzx esi, sil
lea rdx, [0x14012f440]
xor r9d, dword [rdx + rsi*4]
rol r12d, 7
xor r14d, r15d
lea esi, [rdi + r14]
xor esi, r12d
mov ebx, r8d
and ebx, r11d
xor ebx, esi
xor r8d, r13d
or esi, r11d
xor esi, r13d
xor r8d, ebx
xor r11d, r8d
mov r13d, r11d
or r13d, esi
xor r13d, ebx
and ebx, esi
xor ebx, r11d
xor r8d, dword [rsp + 0x58]
xor esi, dword [rsp + 0x38]
xor ebp, r13d
xor esi, ebx
xor esi, r13d
xor ebx, eax
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x190], r8d
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x194], ebp
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x198], esi
not ebx
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x19c], ebx
mov eax, dword [rsp + 0x2c]
mov edx, eax
shr edx, 8
mov r8, qword [rsp + 0x78]
shl r8d, 8
xor r8d, edx
mov rdx, qword [rsp + 0x40]
shr rdx, 0x18
lea r11, [0x14012f040]
xor r8d, dword [r11 + rdx*4]
mov edx, eax
mov qword [rsp + 0x40], rdx
movzx eax, dl
lea rbp, [0x14012f440]
xor r8d, dword [rbp + rax*4]
imul eax, edi, 0x54655307
and edi, 1
neg edi
mov qword [rsp + 0x70], r14
and edi, r14d
mov esi, dword [rsp + 0x30]
xor edi, esi
add edi, r12d
mov r12, r9
xor r12d, r14d
rol eax, 7
lea ebx, [rdi + r12]
xor ebx, eax
imul r10d, edi, 0x54655307
and edi, 1
neg edi
and edi, r12d
mov qword [rsp + 0x88], r12
mov r9d, dword [rsp + 0x48]
xor edi, r9d
add edi, eax
mov rdx, qword [rsp + 0x60]
mov eax, edx
shr eax, 8
mov r13d, esi
shl r13d, 8
xor r13d, eax
shr rcx, 0x18
xor r13d, dword [r11 + rcx*4]
mov r14, r11
mov eax, edx
mov qword [rsp + 0x38], rax
movzx eax, al
mov rsi, rbp
xor r13d, dword [rbp + rax*4]
xor r8d, r12d
rol r10d, 7
lea ebp, [rdi + r8]
xor ebp, r10d
imul edx, edi, 0x54655307
and edi, 1
neg edi
and edi, r8d
mov r12, r8
mov qword [rsp + 0x98], r8
mov eax, dword [rsp + 0x2c]
xor edi, eax
add edi, r10d
mov r8, qword [rsp + 0x68]
mov ecx, r8d
shr ecx, 8
mov r11d, r9d
shl r11d, 8
xor r11d, ecx
mov rcx, qword [rsp + 0x50]
shr rcx, 0x18
mov r9, r14
xor r11d, dword [r14 + rcx*4]
mov ecx, r8d
mov qword [rsp + 0x58], rcx
movzx ecx, cl
xor r11d, dword [rsi + rcx*4]
mov r8, qword [rsp + 0x90]
mov ecx, r8d
shr ecx, 8
mov r10d, eax
mov r14d, eax
shl r10d, 8
xor r10d, ecx
mov rax, qword [rsp + 0x40]
shr rax, 0x18
xor r10d, dword [r9 + rax*4]
movzx ecx, r8b
xor r10d, dword [rsi + rcx*4]
mov qword [rsp + 0x50], r10
rol edx, 7
xor r13d, r12d
lea esi, [rdi + r13]
xor esi, edx
imul ecx, edi, 0x54655307
and edi, 1
neg edi
and edi, r13d
mov r12, qword [rsp + 0x60]
xor edi, r12d
add edi, edx
xor r11d, r13d
rol ecx, 7
lea edx, [rdi + r11]
xor edx, ecx
mov r9d, esi
and r9d, ebx
xor r9d, edx
xor esi, ebp
or edx, ebx
xor edx, ebp
xor esi, r9d
xor ebx, esi
mov eax, ebx
or eax, edx
xor eax, r9d
and r9d, edx
xor r9d, ebx
xor esi, dword [rsp + 0x78]
xor edx, dword [rsp + 0x48]
mov ebx, dword [rsp + 0x30]
xor ebx, eax
xor edx, r9d
xor edx, eax
xor r9d, r14d
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1a0], esi
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1a4], ebx
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1a8], edx
mov eax, r15d
shr eax, 8
shl r12d, 8
xor r12d, eax
mov rax, qword [rsp + 0x38]
shr rax, 0x18
lea r10, [0x14012f040]
xor r12d, dword [r10 + rax*4]
movzx eax, r15b
lea rsi, [0x14012f440]
xor r12d, dword [rsi + rax*4]
imul edx, edi, 0x54655307
and edi, 1
neg edi
mov qword [rsp + 0x40], r11
and edi, r11d
mov rbp, qword [rsp + 0x68]
xor edi, ebp
add edi, ecx
mov r14, qword [rsp + 0x50]
xor r14d, r11d
rol edx, 7
lea ebx, [rdi + r14]
xor ebx, edx
imul eax, edi, 0x54655307
and edi, 1
neg edi
and edi, r14d
mov qword [rsp + 0x50], r14
xor edi, r8d
add edi, edx
mov rdx, qword [rsp + 0x70]
mov ecx, edx
shr ecx, 8
mov r11d, ebp
shl r11d, 8
xor r11d, ecx
mov rcx, qword [rsp + 0x58]
shr rcx, 0x18
xor r11d, dword [r10 + rcx*4]
movzx ecx, dl
mov rbp, rdx
xor r11d, dword [rsi + rcx*4]
mov rsi, r11
xor r12d, r14d
rol eax, 7
lea r10d, [rdi + r12]
xor r10d, eax
imul ecx, edi, 0x54655307
and edi, 1
neg edi
and edi, r12d
mov qword [rsp + 0x48], r12
xor edi, r15d
add edi, eax
mov r14, qword [rsp + 0x88]
mov eax, r14d
shr eax, 8
mov r11d, r8d
shl r11d, 8
xor r11d, eax
shr r8, 0x18
lea rdx, [0x14012f040]
xor r11d, dword [rdx + r8*4]
movzx eax, r14b
lea rdx, [0x14012f440]
xor r11d, dword [rdx + rax*4]
mov r14, r11
rol ecx, 7
mov r8, rsi
xor r8d, r12d
lea r11d, [rdi + r8]
mov rax, r8
xor r11d, ecx
imul r8d, edi, 0x54655307
and edi, 1
neg edi
and edi, eax
mov rsi, rax
mov qword [rsp + 0x30], rax
xor edi, ebp
add edi, ecx
mov r12, qword [rsp + 0x98]
mov eax, r12d
shr eax, 8
mov edx, r15d
shl edx, 8
xor edx, eax
rol r8d, 7
xor r14d, esi
lea ecx, [rdi + r14]
xor ecx, r8d
mov esi, r11d
and esi, ebx
xor esi, ecx
xor r11d, r10d
or ecx, ebx
xor ecx, r10d
xor r11d, esi
xor ebx, r11d
mov r10d, ebx
or r10d, ecx
xor r10d, esi
and esi, ecx
xor esi, ebx
xor ecx, dword [rsp + 0x90]
xor ecx, esi
xor esi, r15d
mov rbp, r15
shr rbp, 0x18
lea r15, [0x14012f040]
xor edx, dword [r15 + rbp*4]
not r9d
mov rbx, qword [rsp + 0x20]
mov dword [rbx + 0x1ac], r9d
movzx r9d, r12b
lea rbx, [0x14012f440]
xor edx, dword [rbx + r9*4]
xor r11d, dword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
xor ebp, r10d
xor ecx, r10d
mov r9, qword [rsp + 0x20]
mov dword [r9 + 0x1b0], r11d
mov qword [rsp + 0x58], r14
xor edx, r14d
mov r10, rdx
mov r9, qword [rsp + 0x20]
mov dword [r9 + 0x1b4], ebp
mov r9, qword [rsp + 0x20]
mov dword [r9 + 0x1b8], ecx
imul ecx, edi, 0x54655307
and edi, 1
neg edi
and edi, r14d
mov r9, qword [rsp + 0x88]
xor edi, r9d
add edi, r8d
rol ecx, 7
mov edx, r13d
shr edx, 8
mov rax, qword [rsp + 0x70]
mov r8d, eax
shl r8d, 8
xor r8d, edx
mov rdx, rax
shr rdx, 0x18
xor r8d, dword [r15 + rdx*4]
movzx edx, r13b
xor r8d, dword [rbx + rdx*4]
mov r14, r8
mov r15, rbx
lea ebp, [rdi + r10]
xor ebp, ecx
imul edx, edi, 0x54655307
and edi, 1
neg edi
and edi, r10d
mov rax, r10
mov qword [rsp + 0x60], r10
mov r8, r12
xor edi, r8d
add edi, ecx
mov r11, qword [rsp + 0x40]
mov ecx, r11d
shr ecx, 8
mov ebx, r9d
shl ebx, 8
xor ebx, ecx
mov rcx, r9
shr rcx, 0x18
lea r10, [0x14012f040]
xor ebx, dword [r10 + rcx*4]
movzx ecx, r11b
mov r12, r11
xor ebx, dword [r15 + rcx*4]
xor r14d, eax
mov qword [rsp + 0x38], r14
rol edx, 7
lea ecx, [rdi + r14]
xor ecx, edx
imul r15d, edi, 0x54655307
and edi, 1
neg edi
and edi, r14d
xor edi, r13d
add edi, edx
mov r10, qword [rsp + 0x50]
mov edx, r10d
shr edx, 8
mov r11d, r8d
shl r11d, 8
xor r11d, edx
mov rdx, r8
shr rdx, 0x18
lea rax, [0x14012f040]
xor r11d, dword [rax + rdx*4]
movzx edx, r10b
lea rax, [0x14012f440]
xor r11d, dword [rax + rdx*4]
mov r10, r11
rol r15d, 7
mov rax, rbx
xor eax, r14d
lea r11d, [rdi + rax]
xor r11d, r15d
imul ebx, edi, 0x54655307
and edi, 1
neg edi
and edi, eax
mov qword [rsp + 0x68], rax
xor edi, r12d
add edi, r15d
mov r12, qword [rsp + 0x48]
mov edx, r12d
shr edx, 8
mov r14d, r13d
shl r14d, 8
xor r14d, edx
rol ebx, 7
xor r10d, eax
lea edx, [rdi + r10]
xor edx, ebx
mov r15d, r11d
and r15d, ebp
xor r15d, edx
xor r11d, ecx
or edx, ebp
xor edx, ecx
xor r11d, r15d
xor ebp, r11d
mov ecx, ebp
or ecx, edx
xor ecx, r15d
and r15d, edx
xor r15d, ebp
xor edx, r8d
xor edx, r15d
xor r15d, r13d
mov r8, r13
shr r8, 0x18
lea r13, [0x14012f040]
xor r14d, dword [r13 + r8*4]
not esi
mov r8, qword [rsp + 0x20]
mov dword [r8 + 0x1bc], esi
movzx eax, r12b
lea rbp, [0x14012f440]
xor r14d, dword [rbp + rax*4]
xor r11d, dword [rsp + 0x70]
xor r9d, ecx
xor edx, ecx
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1c0], r11d
not r15d
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1c4], r9d
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1c8], edx
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x1cc], r15d
imul r11d, edi, 0x54655307
and edi, 1
neg edi
and edi, r10d
mov r15, r10
mov qword [rsp + 0x78], r10
mov r9, qword [rsp + 0x50]
xor edi, r9d
add edi, ebx
mov rsi, qword [rsp + 0x30]
movzx eax, sil
mov ecx, esi
shr ecx, 8
mov rdx, qword [rsp + 0x40]
mov r10d, edx
shl r10d, 8
xor r10d, ecx
mov rcx, rdx
shr rcx, 0x18
mov r8, r13
xor r10d, dword [r13 + rcx*4]
mov r13, rbp
xor r10d, dword [rbp + rax*4]
mov rbx, qword [rsp + 0x58]
mov eax, ebx
shr eax, 8
mov edx, r9d
shl edx, 8
xor edx, eax
shr r9, 0x18
xor edx, dword [r8 + r9*4]
movzx eax, bl
mov rcx, rbx
xor edx, dword [rbp + rax*4]
mov rax, qword [rsp + 0x38]
shr eax, 8
mov r13d, esi
shl r13d, 8
xor r13d, eax
xor r14d, r15d
rol r11d, 7
mov dword [rsp + 0x2c], r11d
xor r10d, r14d
mov r8d, edi
and r8d, 1
neg r8d
and r8d, r14d
xor r8d, r12d
add r8d, r11d
imul ebp, edi, 0x54655307
rol ebp, 7
xor edx, r10d
mov eax, r8d
and eax, 1
neg eax
and eax, r10d
xor eax, esi
add eax, ebp
mov ebx, eax
and ebx, 1
neg ebx
and ebx, edx
imul r15d, r8d, 0x54655307
rol r15d, 7
xor ebx, ecx
add ebx, r15d
imul esi, eax, 0x54655307
add eax, edx
xor eax, r15d
mov r15d, r12d
shl r15d, 8
mov rcx, qword [rsp + 0x60]
mov r9d, ecx
shr r9d, 8
xor r9d, r15d
mov r15, r12
shr r15, 0x18
lea r11, [0x14012f040]
xor r9d, dword [r11 + r15*4]
movzx r15d, cl
lea rcx, [0x14012f440]
xor r9d, dword [rcx + r15*4]
add r8d, r10d
xor r8d, ebp
rol esi, 7
mov dword [rsp + 0x70], esi
add edi, r14d
xor edi, dword [rsp + 0x2c]
xor r9d, edx
lea r11d, [rbx + r9]
xor r11d, esi
mov ebp, eax
and ebp, edi
xor ebp, r11d
xor eax, r8d
or r11d, edi
xor r11d, r8d
xor eax, ebp
xor edi, eax
mov r15d, edi
or r15d, r11d
xor r15d, ebp
and ebp, r11d
xor ebp, edi
xor r11d, r12d
xor r11d, ebp
mov rsi, qword [rsp + 0x30]
xor ebp, esi
shr rsi, 0x18
lea rcx, [0x14012f040]
xor r13d, dword [rcx + rsi*4]
mov rcx, qword [rsp + 0x38]
movzx esi, cl
lea r8, [0x14012f440]
xor r13d, dword [r8 + rsi*4]
mov rsi, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x20]
xor eax, dword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
xor r8d, r15d
xor r11d, r15d
mov r15, r9
mov dword [r12 + 0x1d0], eax
mov dword [r12 + 0x1d4], r8d
mov r9, r13
mov r13, qword [rsp + 0x78]
xor r9d, r15d
not ebp
mov dword [r12 + 0x1d8], r11d
mov dword [r12 + 0x1dc], ebp
mov rbp, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov dword [r12 + 0x1e0], eax
mov dword [r12 + 0x1e4], ebp
mov dword [r12 + 0x1e8], ecx
mov rax, qword [rsp + 0x68]
mov r8, rax
mov dword [r12 + 0x1ec], eax
mov dword [r12 + 0x1f0], r13d
mov dword [rsp + 0x30], r14d
mov dword [r12 + 0x1f4], r14d
mov dword [rsp + 0x48], r10d
mov dword [r12 + 0x1f8], r10d
mov dword [rsp + 0x2c], edx
mov dword [r12 + 0x1fc], edx
mov dword [r12 + 0x200], r15d
mov rdx, r9
mov dword [r12 + 0x204], r9d
mov r9d, dword [rsp + 0x70]
mov dword [r12 + 0x208], ebx
mov dword [r12 + 0x20c], r9d
mov dword [r12 + 0x210], 0
xor eax, eax
mov edi, ebx
movzx ebx, byte [rsp + 0x2b]
xor r11d, r11d
inc r11d
xor bl, byte [r12 + rax + 0x190]
mov dword [r12 + 0x210], r11d
mov rax, qword [rsp + 0xa8]
mov byte [rax + rsi], bl
inc rsi
cmp qword [rsp + 0x80], rsi
je 0x14001b6ea
mov rax, qword [rsp + 0xb0]
movzx ebx, byte [rax + rsi]
cmp r11d, 0x50
je 0x14001ac70
mov eax, r11d
jb 0x14001b68e
lea r8, [0x14012f840]
mov edx, 0x50
mov rcx, rax
call dbg.panic_bounds_check
ud2
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x14012f858]
lea r8, [0x14012f888]
mov edx, 0x2d
call dbg.panic
ud2