Function at 0x140042a90
Capabilities:
Encrypt data using aes
Reference aes constants
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov r10d, dword [rcx + 0xf0]
lea r9d, [r10 - 0x10]
mov eax, 0xffffff1e
cmp r9d, 0xfffffff2
jb 0x140043945
mov qword [rsp + 0x28], r8
mov ebx, dword [rdx]
mov r9d, dword [rdx + 4]
bswap ebx
xor ebx, dword [rcx]
mov eax, dword [rdx + 8]
mov r11d, ebx
movzx edi, bh
movzx r14d, bl
mov r8d, ebx
mov edx, dword [rdx + 0xc]
bswap r9d
mov rsi, rax
bswap esi
xor r9d, dword [rcx + 4]
mov eax, r9d
xor esi, dword [rcx + 8]
bswap edx
xor edx, dword [rcx + 0xc]
shr r8d, 0x18
mov qword [rsp + 0x18], r10
lea r10, [0x1400dbdc0]
mov ebx, edx
shr ebx, 0xe
and ebx, 0x3fc
movzx r15d, al
mov r12d, r9d
movzx ebp, ah
mov qword [rsp], rcx
mov r13d, r9d
mov ebx, dword [rbx + r10 + 0x400]
xor ebx, dword [r10 + r8*4]
mov rax, rsi
movzx ecx, ah
xor ebx, dword [r10 + rcx*4 + 0x800]
xor ebx, dword [r10 + r15*4 + 0xc00]
mov rcx, qword [rsp]
xor ebx, dword [rcx + 0x10]
shr r13d, 0x18
shr r11d, 0xe
and r11d, 0x3fc
movzx esi, dh
movzx r8d, al
mov r15d, eax
movzx r9d, dl
shr edx, 0x18
shr eax, 0xe
and eax, 0x3fc
mov ecx, dword [rax + r10 + 0x400]
xor ecx, dword [r10 + rdx*4]
mov edx, dword [r11 + r10 + 0x400]
xor edx, dword [r10 + r13*4]
xor edx, dword [r10 + rsi*4 + 0x800]
xor edx, dword [r10 + r8*4 + 0xc00]
mov rax, qword [rsp]
xor edx, dword [rax + 0x14]
shr r15d, 0x18
shr r12d, 0xe
and r12d, 0x3fc
mov eax, dword [r12 + r10 + 0x400]
xor eax, dword [r10 + r15*4]
xor eax, dword [r10 + rdi*4 + 0x800]
xor eax, dword [r10 + r9*4 + 0xc00]
mov r8, qword [rsp]
xor eax, dword [r8 + 0x18]
xor ecx, dword [r10 + rbp*4 + 0x800]
xor ecx, dword [r10 + r14*4 + 0xc00]
mov r8, qword [rsp]
xor ecx, dword [r8 + 0x1c]
mov r12d, ebx
movzx esi, bh
mov qword [rsp + 0x10], rsi
mov r8d, ebx
shr r8d, 0x18
mov r9d, ecx
shr r9d, 0xe
and r9d, 0x3fc
mov r11d, dword [r9 + r10 + 0x400]
xor r11d, dword [r10 + r8*4]
movzx r8d, bl
mov qword [rsp + 8], r8
movzx r8d, dl
mov r14d, edx
movzx ebp, dh
mov r9d, edx
movzx edx, ah
xor r11d, dword [r10 + rdx*4 + 0x800]
xor r11d, dword [r10 + r8*4 + 0xc00]
mov rdx, qword [rsp]
xor r11d, dword [rdx + 0x20]
mov edx, r11d
shr r9d, 0x18
shr r12d, 0xe
movzx esi, ch
movzx r8d, al
mov r15d, eax
movzx r11d, cl
shr ecx, 0x18
shr eax, 0xe
and eax, 0x3fc
mov ebx, dword [rax + r10 + 0x400]
xor ebx, dword [r10 + rcx*4]
and r12d, 0x3fc
mov eax, dword [r12 + r10 + 0x400]
xor eax, dword [r10 + r9*4]
xor eax, dword [r10 + rsi*4 + 0x800]
xor eax, dword [r10 + r8*4 + 0xc00]
mov rcx, qword [rsp]
xor eax, dword [rcx + 0x24]
shr r15d, 0x18
shr r14d, 0xe
and r14d, 0x3fc
mov r12d, edx
movzx edi, dh
movzx r13d, dl
mov r8d, edx
mov ecx, dword [r14 + r10 + 0x400]
xor ecx, dword [r10 + r15*4]
mov rdx, qword [rsp + 0x10]
xor ecx, dword [r10 + rdx*4 + 0x800]
xor ecx, dword [r10 + r11*4 + 0xc00]
mov rdx, qword [rsp]
xor ecx, dword [rdx + 0x28]
xor ebx, dword [r10 + rbp*4 + 0x800]
mov rdx, qword [rsp + 8]
xor ebx, dword [r10 + rdx*4 + 0xc00]
mov rdx, qword [rsp]
xor ebx, dword [rdx + 0x2c]
shr r8d, 0x18
mov edx, ebx
shr edx, 0xe
and edx, 0x3fc
movzx r9d, al
mov r11d, eax
movzx ebp, ah
mov r14d, eax
mov edx, dword [rdx + r10 + 0x400]
xor edx, dword [r10 + r8*4]
movzx eax, ch
xor edx, dword [r10 + rax*4 + 0x800]
xor edx, dword [r10 + r9*4 + 0xc00]
mov rax, qword [rsp]
xor edx, dword [rax + 0x30]
shr r14d, 0x18
shr r12d, 0xe
and r12d, 0x3fc
movzx esi, bh
movzx r8d, cl
mov r9d, ecx
movzx r15d, bl
shr ebx, 0x18
shr ecx, 0xe
and ecx, 0x3fc
mov ecx, dword [rcx + r10 + 0x400]
xor ecx, dword [r10 + rbx*4]
mov eax, dword [r12 + r10 + 0x400]
xor eax, dword [r10 + r14*4]
xor eax, dword [r10 + rsi*4 + 0x800]
xor eax, dword [r10 + r8*4 + 0xc00]
mov r8, qword [rsp]
xor eax, dword [r8 + 0x34]
shr r9d, 0x18
shr r11d, 0xe
and r11d, 0x3fc
mov ebx, dword [r11 + r10 + 0x400]
xor ebx, dword [r10 + r9*4]
xor ebx, dword [r10 + rdi*4 + 0x800]
xor ebx, dword [r10 + r15*4 + 0xc00]
mov r8, qword [rsp]
xor ebx, dword [r8 + 0x38]
xor ecx, dword [r10 + rbp*4 + 0x800]
xor ecx, dword [r10 + r13*4 + 0xc00]
mov r8, qword [rsp]
xor ecx, dword [r8 + 0x3c]
mov r12d, edx
movzx esi, dh
mov qword [rsp + 0x10], rsi
mov r8d, edx
shr r8d, 0x18
mov r9d, ecx
shr r9d, 0xe
and r9d, 0x3fc
mov esi, dword [r9 + r10 + 0x400]
xor esi, dword [r10 + r8*4]
movzx edx, dl
mov qword [rsp + 8], rdx
movzx r8d, al
mov r11d, eax
movzx ebp, ah
mov r9d, eax
movzx eax, bh
mov edx, esi
xor edx, dword [r10 + rax*4 + 0x800]
xor edx, dword [r10 + r8*4 + 0xc00]
mov rax, qword [rsp]
xor edx, dword [rax + 0x40]
shr r9d, 0x18
shr r12d, 0xe
movzx esi, ch
movzx r8d, bl
mov r15d, ebx
movzx r14d, cl
shr ecx, 0x18
shr ebx, 0xe
and ebx, 0x3fc
mov ebx, dword [rbx + r10 + 0x400]
xor ebx, dword [r10 + rcx*4]
and r12d, 0x3fc
mov eax, dword [r12 + r10 + 0x400]
xor eax, dword [r10 + r9*4]
xor eax, dword [r10 + rsi*4 + 0x800]
xor eax, dword [r10 + r8*4 + 0xc00]
mov rcx, qword [rsp]
xor eax, dword [rcx + 0x44]
shr r15d, 0x18
shr r11d, 0xe
and r11d, 0x3fc
mov r12d, edx
movzx edi, dh
movzx r13d, dl
mov r8d, edx
mov ecx, dword [r11 + r10 + 0x400]
xor ecx, dword [r10 + r15*4]
mov rdx, qword [rsp + 0x10]
xor ecx, dword [r10 + rdx*4 + 0x800]
xor ecx, dword [r10 + r14*4 + 0xc00]
mov r9, qword [rsp]
xor ecx, dword [r9 + 0x48]
xor ebx, dword [r10 + rbp*4 + 0x800]
mov rdx, qword [rsp + 8]
xor ebx, dword [r10 + rdx*4 + 0xc00]
mov rdx, qword [rsp]
xor ebx, dword [rdx + 0x4c]
shr r8d, 0x18
mov edx, ebx
shr edx, 0xe
and edx, 0x3fc
movzx r9d, al
mov r11d, eax
movzx ebp, ah
mov r14d, eax
mov edx, dword [rdx + r10 + 0x400]
xor edx, dword [r10 + r8*4]
movzx eax, ch
xor edx, dword [r10 + rax*4 + 0x800]
xor edx, dword [r10 + r9*4 + 0xc00]
mov rax, qword [rsp]
xor edx, dword [rax + 0x50]
shr r14d, 0x18
shr r12d, 0xe
and r12d, 0x3fc
movzx esi, bh
movzx r8d, cl
mov r9d, ecx
movzx r15d, bl
shr ebx, 0x18
shr ecx, 0xe
and ecx, 0x3fc
mov ecx, dword [rcx + r10 + 0x400]
xor ecx, dword [r10 + rbx*4]
mov eax, dword [r12 + r10 + 0x400]
xor eax, dword [r10 + r14*4]
xor eax, dword [r10 + rsi*4 + 0x800]
xor eax, dword [r10 + r8*4 + 0xc00]
mov r8, qword [rsp]
xor eax, dword [r8 + 0x54]
shr r9d, 0x18
shr r11d, 0xe
and r11d, 0x3fc
mov ebx, dword [r11 + r10 + 0x400]
xor ebx, dword [r10 + r9*4]
xor ebx, dword [r10 + rdi*4 + 0x800]
xor ebx, dword [r10 + r15*4 + 0xc00]
mov r8, qword [rsp]
xor ebx, dword [r8 + 0x58]
xor ecx, dword [r10 + rbp*4 + 0x800]
xor ecx, dword [r10 + r13*4 + 0xc00]
mov r8, qword [rsp]
xor ecx, dword [r8 + 0x5c]
mov r12d, edx
movzx esi, dh
mov qword [rsp + 0x10], rsi
mov r8d, edx
shr r8d, 0x18
mov r9d, ecx
shr r9d, 0xe
and r9d, 0x3fc
mov esi, dword [r9 + r10 + 0x400]
xor esi, dword [r10 + r8*4]
movzx edx, dl
mov qword [rsp + 8], rdx
movzx r8d, al
mov r11d, eax
movzx ebp, ah
mov r9d, eax
movzx eax, bh
mov edx, esi
xor edx, dword [r10 + rax*4 + 0x800]
xor edx, dword [r10 + r8*4 + 0xc00]
mov rax, qword [rsp]
xor edx, dword [rax + 0x60]
shr r9d, 0x18
shr r12d, 0xe
movzx esi, ch
movzx r8d, bl
mov r15d, ebx
movzx r14d, cl
shr ecx, 0x18
shr ebx, 0xe
and ebx, 0x3fc
mov ebx, dword [rbx + r10 + 0x400]
xor ebx, dword [r10 + rcx*4]
and r12d, 0x3fc
mov eax, dword [r12 + r10 + 0x400]
xor eax, dword [r10 + r9*4]
xor eax, dword [r10 + rsi*4 + 0x800]
xor eax, dword [r10 + r8*4 + 0xc00]
mov rcx, qword [rsp]
xor eax, dword [rcx + 0x64]
shr r15d, 0x18
shr r11d, 0xe
and r11d, 0x3fc
mov r12d, edx
movzx edi, dh
movzx r13d, dl
mov r8d, edx
mov ecx, dword [r11 + r10 + 0x400]
xor ecx, dword [r10 + r15*4]
mov rdx, qword [rsp + 0x10]
xor ecx, dword [r10 + rdx*4 + 0x800]
xor ecx, dword [r10 + r14*4 + 0xc00]
mov r9, qword [rsp]
xor ecx, dword [r9 + 0x68]
xor ebx, dword [r10 + rbp*4 + 0x800]
mov rdx, qword [rsp + 8]
xor ebx, dword [r10 + rdx*4 + 0xc00]
mov rdx, qword [rsp]
xor ebx, dword [rdx + 0x6c]
shr r8d, 0x18
mov edx, ebx
shr edx, 0xe
and edx, 0x3fc
movzx r9d, al
mov r11d, eax
movzx ebp, ah
mov r14d, eax
mov edx, dword [rdx + r10 + 0x400]
xor edx, dword [r10 + r8*4]
movzx eax, ch
xor edx, dword [r10 + rax*4 + 0x800]
xor edx, dword [r10 + r9*4 + 0xc00]
mov rax, qword [rsp]
xor edx, dword [rax + 0x70]
shr r14d, 0x18
shr r12d, 0xe
and r12d, 0x3fc
movzx esi, bh
movzx r8d, cl
mov r9d, ecx
movzx r15d, bl
shr ebx, 0x18
shr ecx, 0xe
and ecx, 0x3fc
mov ecx, dword [rcx + r10 + 0x400]
xor ecx, dword [r10 + rbx*4]
mov eax, dword [r12 + r10 + 0x400]
xor eax, dword [r10 + r14*4]
xor eax, dword [r10 + rsi*4 + 0x800]
xor eax, dword [r10 + r8*4 + 0xc00]
mov r8, qword [rsp]
xor eax, dword [r8 + 0x74]
shr r9d, 0x18
shr r11d, 0xe
and r11d, 0x3fc
mov ebx, dword [r11 + r10 + 0x400]
xor ebx, dword [r10 + r9*4]
xor ebx, dword [r10 + rdi*4 + 0x800]
xor ebx, dword [r10 + r15*4 + 0xc00]
mov r8, qword [rsp]
xor ebx, dword [r8 + 0x78]
xor ecx, dword [r10 + rbp*4 + 0x800]
xor ecx, dword [r10 + r13*4 + 0xc00]
mov rdi, qword [rsp]
xor ecx, dword [rdi + 0x7c]
mov r12d, edx
movzx esi, dh
mov qword [rsp + 0x10], rsi
mov r8d, edx
shr r8d, 0x18
mov r9d, ecx
shr r9d, 0xe
and r9d, 0x3fc
mov esi, dword [r9 + r10 + 0x400]
xor esi, dword [r10 + r8*4]
movzx r11d, dl
movzx edx, al
mov r14d, eax
movzx ebp, ah
mov r9d, eax
movzx eax, bh
xor esi, dword [r10 + rax*4 + 0x800]
xor esi, dword [r10 + rdx*4 + 0xc00]
xor esi, dword [rdi + 0x80]
mov eax, esi
shr r9d, 0x18
shr r12d, 0xe
movzx edx, ch
movzx esi, bl
mov r15d, ebx
movzx r8d, cl
shr ecx, 0x18
shr ebx, 0xe
and ebx, 0x3fc
mov ebx, dword [rbx + r10 + 0x400]
xor ebx, dword [r10 + rcx*4]
and r12d, 0x3fc
mov ecx, dword [r12 + r10 + 0x400]
xor ecx, dword [r10 + r9*4]
xor ecx, dword [r10 + rdx*4 + 0x800]
xor ecx, dword [r10 + rsi*4 + 0xc00]
xor ecx, dword [rdi + 0x84]
shr r15d, 0x18
shr r14d, 0xe
and r14d, 0x3fc
mov r13d, eax
movzx edx, ah
mov qword [rsp + 8], rdx
movzx r12d, al
mov r9d, eax
mov edx, dword [r14 + r10 + 0x400]
xor edx, dword [r10 + r15*4]
mov rax, qword [rsp + 0x10]
xor edx, dword [r10 + rax*4 + 0x800]
xor edx, dword [r10 + r8*4 + 0xc00]
xor edx, dword [rdi + 0x88]
xor ebx, dword [r10 + rbp*4 + 0x800]
xor ebx, dword [r10 + r11*4 + 0xc00]
xor ebx, dword [rdi + 0x8c]
mov r11, rdi
shr r9d, 0x18
mov r8d, ebx
shr r8d, 0xe
and r8d, 0x3fc
movzx edi, dh
movzx ebp, bh
movzx esi, dl
mov r14d, edx
movzx r15d, bl
shr ebx, 0x18
shr edx, 0xe
and edx, 0x3fc
mov edx, dword [rdx + r10 + 0x400]
xor edx, dword [r10 + rbx*4]
mov eax, dword [r8 + r10 + 0x400]
xor eax, dword [r10 + r9*4]
xor eax, dword [r10 + rdi*4 + 0x800]
movzx r8d, cl
mov r9d, ecx
movzx edi, ch
shr ecx, 0x18
shr r13d, 0xe
and r13d, 0x3fc
mov ebx, dword [r13 + r10 + 0x400]
mov r13, r11
xor ebx, dword [r10 + rcx*4]
xor ebx, dword [r10 + rbp*4 + 0x800]
shr r14d, 0x18
shr r9d, 0xe
and r9d, 0x3fc
mov ecx, dword [r9 + r10 + 0x400]
xor ecx, dword [r10 + r14*4]
mov r9, qword [rsp + 8]
xor ecx, dword [r10 + r9*4 + 0x800]
xor edx, dword [r10 + rdi*4 + 0x800]
xor eax, dword [r10 + r8*4 + 0xc00]
xor eax, dword [r11 + 0x90]
xor ebx, dword [r10 + rsi*4 + 0xc00]
xor ebx, dword [r11 + 0x94]
xor ecx, dword [r10 + r15*4 + 0xc00]
xor ecx, dword [r11 + 0x98]
xor edx, dword [r10 + r12*4 + 0xc00]
xor edx, dword [r11 + 0x9c]
cmp dword [rsp + 0x18], 0xc
jb 0x140043803
mov edi, eax
movzx esi, ah
mov qword [rsp + 0x10], rsi
mov r8d, eax
shr r8d, 0x18
mov r9d, edx
shr r9d, 0xe
and r9d, 0x3fc
mov r11d, dword [r9 + r10 + 0x400]
xor r11d, dword [r10 + r8*4]
movzx eax, al
mov qword [rsp + 8], rax
movzx r8d, bl
mov r14d, ebx
movzx ebp, bh
mov r9d, ebx
movzx esi, ch
mov ebx, r11d
xor ebx, dword [r10 + rsi*4 + 0x800]
xor ebx, dword [r10 + r8*4 + 0xc00]
xor ebx, dword [r13 + 0xa0]
shr r9d, 0x18
shr edi, 0xe
movzx esi, dh
movzx r8d, cl
mov r15d, ecx
movzx r11d, dl
shr edx, 0x18
shr ecx, 0xe
and ecx, 0x3fc
mov ecx, dword [rcx + r10 + 0x400]
xor ecx, dword [r10 + rdx*4]
and edi, 0x3fc
mov eax, dword [rdi + r10 + 0x400]
xor eax, dword [r10 + r9*4]
xor eax, dword [r10 + rsi*4 + 0x800]
xor eax, dword [r10 + r8*4 + 0xc00]
xor eax, dword [r13 + 0xa4]
shr r15d, 0x18
shr r14d, 0xe
and r14d, 0x3fc
mov r12d, ebx
movzx esi, bh
movzx r13d, bl
mov r8d, ebx
mov edx, dword [r14 + r10 + 0x400]
xor edx, dword [r10 + r15*4]
mov r9, qword [rsp + 0x10]
xor edx, dword [r10 + r9*4 + 0x800]
xor edx, dword [r10 + r11*4 + 0xc00]
mov r9, qword [rsp]
xor edx, dword [r9 + 0xa8]
xor ecx, dword [r10 + rbp*4 + 0x800]
mov r9, qword [rsp + 8]
xor ecx, dword [r10 + r9*4 + 0xc00]
mov r9, qword [rsp]
xor ecx, dword [r9 + 0xac]
shr r8d, 0x18
mov r9d, ecx
shr r9d, 0xe
and r9d, 0x3fc
movzx edi, dh
movzx ebp, ch
movzx r11d, dl
mov r14d, edx
movzx r15d, cl
shr ecx, 0x18
shr edx, 0xe
and edx, 0x3fc
mov edx, dword [rdx + r10 + 0x400]
xor edx, dword [r10 + rcx*4]
mov r9d, dword [r9 + r10 + 0x400]
xor r9d, dword [r10 + r8*4]
xor r9d, dword [r10 + rdi*4 + 0x800]
movzx r8d, al
mov ecx, eax
movzx edi, ah
shr eax, 0x18
shr r12d, 0xe
and r12d, 0x3fc
mov ebx, dword [r12 + r10 + 0x400]
xor ebx, dword [r10 + rax*4]
xor ebx, dword [r10 + rbp*4 + 0x800]
shr r14d, 0x18
shr ecx, 0xe
and ecx, 0x3fc
mov ecx, dword [rcx + r10 + 0x400]
xor ecx, dword [r10 + r14*4]
xor ecx, dword [r10 + rsi*4 + 0x800]
xor edx, dword [r10 + rdi*4 + 0x800]
xor r9d, dword [r10 + r8*4 + 0xc00]
mov rax, qword [rsp]
xor r9d, dword [rax + 0xb0]
mov r8d, r9d
xor ebx, dword [r10 + r11*4 + 0xc00]
mov rax, qword [rsp]
xor ebx, dword [rax + 0xb4]
xor ecx, dword [r10 + r15*4 + 0xc00]
mov rax, qword [rsp]
xor ecx, dword [rax + 0xb8]
xor edx, dword [r10 + r13*4 + 0xc00]
mov r13, qword [rsp]
xor edx, dword [r13 + 0xbc]
cmp dword [rsp + 0x18], 0xe
jb 0x140043800
mov eax, r8d
mov r11d, r8d
movzx esi, ah
mov qword [rsp + 0x10], rsi
movzx r8d, al
mov qword [rsp + 8], r8
mov r8d, eax
shr r8d, 0x18
mov r9d, edx
shr r9d, 0xe
and r9d, 0x3fc
movzx esi, bl
mov r14d, ebx
movzx eax, bh
mov qword [rsp + 0x20], rax
mov edi, ebx
mov ebx, dword [r9 + r10 + 0x400]
xor ebx, dword [r10 + r8*4]
movzx ebp, ch
xor ebx, dword [r10 + rbp*4 + 0x800]
xor ebx, dword [r10 + rsi*4 + 0xc00]
xor ebx, dword [r13 + 0xc0]
shr edi, 0x18
shr r11d, 0xe
and r11d, 0x3fc
movzx esi, dh
movzx r8d, cl
mov r12d, ecx
movzx r15d, dl
shr edx, 0x18
shr ecx, 0xe
and ecx, 0x3fc
mov ecx, dword [rcx + r10 + 0x400]
xor ecx, dword [r10 + rdx*4]
mov eax, dword [r11 + r10 + 0x400]
xor eax, dword [r10 + rdi*4]
xor eax, dword [r10 + rsi*4 + 0x800]
xor eax, dword [r10 + r8*4 + 0xc00]
xor eax, dword [r13 + 0xc4]
shr r12d, 0x18
shr r14d, 0xe
and r14d, 0x3fc
mov r13d, ebx
movzx esi, bh
movzx r8d, bl
mov r9d, ebx
mov edx, dword [r14 + r10 + 0x400]
xor edx, dword [r10 + r12*4]
mov rdi, qword [rsp + 0x10]
xor edx, dword [r10 + rdi*4 + 0x800]
xor edx, dword [r10 + r15*4 + 0xc00]
mov rdi, qword [rsp]
xor edx, dword [rdi + 0xc8]
mov r11, qword [rsp + 0x20]
xor ecx, dword [r10 + r11*4 + 0x800]
mov r11, qword [rsp + 8]
xor ecx, dword [r10 + r11*4 + 0xc00]
mov r11, qword [rsp]
xor ecx, dword [r11 + 0xcc]
shr r9d, 0x18
mov edi, ecx
shr edi, 0xe
movzx ebx, dh
movzx ebp, ch
movzx r11d, dl
mov r15d, edx
movzx r14d, cl
shr ecx, 0x18
shr edx, 0xe
and edx, 0x3fc
mov edx, dword [rdx + r10 + 0x400]
xor edx, dword [r10 + rcx*4]
and edi, 0x3fc
mov r12d, dword [rdi + r10 + 0x400]
xor r12d, dword [r10 + r9*4]
xor r12d, dword [r10 + rbx*4 + 0x800]
movzx r9d, al
mov ecx, eax
movzx edi, ah
shr eax, 0x18
shr r13d, 0xe
and r13d, 0x3fc
mov ebx, dword [r13 + r10 + 0x400]
mov r13, qword [rsp]
xor ebx, dword [r10 + rax*4]
xor ebx, dword [r10 + rbp*4 + 0x800]
shr r15d, 0x18
shr ecx, 0xe
and ecx, 0x3fc
mov ecx, dword [rcx + r10 + 0x400]
xor ecx, dword [r10 + r15*4]
xor ecx, dword [r10 + rsi*4 + 0x800]
xor edx, dword [r10 + rdi*4 + 0x800]
xor r12d, dword [r10 + r9*4 + 0xc00]
xor r12d, dword [r13 + 0xd0]
mov eax, r12d
xor ebx, dword [r10 + r11*4 + 0xc00]
xor ebx, dword [r13 + 0xd4]
xor ecx, dword [r10 + r14*4 + 0xc00]
xor ecx, dword [r13 + 0xd8]
xor edx, dword [r10 + r8*4 + 0xc00]
xor edx, dword [r13 + 0xdc]
jmp 0x140043803
mov eax, r8d
lea rdi, [0x1400dcdc0]
mov r11d, edx
movzx esi, dh
movzx r8d, dl
mov qword [rsp], r8
shr edx, 0x18
movzx edx, byte [rdx + rdi]
movzx ebp, ch
movzx r12d, cl
mov r15d, ecx
shr ecx, 0x10
movzx r14d, cl
mov ecx, eax
shr ecx, 0x18
movzx ecx, byte [rcx + rdi]
shl ecx, 0x18
shr r11d, 0x10
movzx r8d, r11b
movzx r8d, byte [r8 + rdi]
shl r8d, 0x10
or r8d, ecx
movzx r9d, byte [rbp + rdi]
shl r9d, 8
or r9d, r8d
movzx ecx, bl
movzx ecx, byte [rcx + rdi]
or ecx, r9d
mov r8d, ebx
shr r8d, 0x18
movzx r8d, byte [r8 + rdi]
shl r8d, 0x18
mov r9d, eax
shr r9d, 0x10
movzx r9d, r9b
movzx r9d, byte [r9 + rdi]
shl r9d, 0x10
or r9d, r8d
mov r10d, ebx
movzx ebx, bh
movzx r11d, byte [rsi + rdi]
shl r11d, 8
or r11d, r9d
movzx esi, ah
movzx r9d, al
movzx r8d, byte [r12 + rdi]
or r8d, r11d
shr r15d, 0x18
movzx r11d, byte [r15 + rdi]
shl r11d, 0x18
shr r10d, 0x10
movzx r10d, r10b
movzx r10d, byte [r10 + rdi]
shl r10d, 0x10
or r10d, r11d
movzx r11d, byte [rsi + rdi]
shl r11d, 8
or r11d, r10d
mov rsi, qword [rsp + 0x18]
and esi, 0xe
shl esi, 4
xor ecx, dword [r13 + rsi]
xor r8d, dword [r13 + rsi + 4]
mov rax, qword [rsp]
movzx r10d, byte [rax + rdi]
or r10d, r11d
xor r10d, dword [r13 + rsi + 8]
shl edx, 0x18
movzx r11d, byte [r14 + rdi]
shl r11d, 0x10
or r11d, edx
movzx edx, byte [rbx + rdi]
shl edx, 8
or edx, r11d
movzx eax, byte [r9 + rdi]
or eax, edx
xor eax, dword [r13 + rsi + 0xc]
bswap ecx
bswap r8d
bswap r10d
bswap eax
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
mov dword [rdx + 4], r8d
mov dword [rdx + 8], r10d
mov dword [rdx + 0xc], eax
xor eax, eax
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret