Function at 0x140060a40
Capabilities:
Encrypt data using aes
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, 0x28
mov r10, rcx
mov edi, dword [rcx + 0xf0]
lea ecx, [rdi - 0x10]
mov eax, 0xffffff1e
cmp ecx, 0xfffffff2
jb 0x14006178e
mov qword [rsp + 0x20], r8
mov ecx, dword [rdx]
mov eax, dword [rdx + 4]
bswap eax
xor eax, dword [r10 + 4]
mov ebx, dword [rdx + 8]
mov r11d, eax
movzx r9d, al
movzx esi, ah
mov r13, rsi
mov r8d, eax
mov eax, dword [rdx + 0xc]
bswap ecx
bswap ebx
xor ecx, dword [r10]
xor ebx, dword [r10 + 8]
bswap eax
xor eax, dword [r10 + 0xc]
mov r14d, ecx
shr r14d, 0x18
lea rsi, [0x140262790]
shr r8d, 0x10
movzx edx, r8b
mov edx, dword [rsi + rdx*4 + 0x400]
xor edx, dword [rsi + r14*4]
movzx ebp, bh
xor edx, dword [rsi + rbp*4 + 0x800]
mov r8d, ebx
movzx r14d, bl
movzx r15d, al
xor edx, dword [rsi + r15*4 + 0xc00]
xor edx, dword [r10 + 0x10]
shr r11d, 0x18
shr ebx, 0x10
movzx ebx, bl
movzx ebp, ah
movzx r15d, cl
mov qword [rsp + 0x18], rdi
mov r12d, eax
movzx edi, ch
shr eax, 0x18
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [rsi + rcx*4 + 0x400]
xor ecx, dword [rsi + rax*4]
mov eax, dword [rsi + rbx*4 + 0x400]
xor eax, dword [rsi + r11*4]
xor eax, dword [rsi + rbp*4 + 0x800]
xor eax, dword [rsi + r15*4 + 0xc00]
xor eax, dword [r10 + 0x14]
shr r8d, 0x18
shr r12d, 0x10
movzx r11d, r12b
mov ebx, dword [rsi + r11*4 + 0x400]
xor ebx, dword [rsi + r8*4]
xor ebx, dword [rsi + rdi*4 + 0x800]
xor ebx, dword [rsi + r9*4 + 0xc00]
xor ebx, dword [r10 + 0x18]
xor ecx, dword [rsi + r13*4 + 0x800]
xor ecx, dword [rsi + r14*4 + 0xc00]
xor ecx, dword [r10 + 0x1c]
mov edi, edx
shr edi, 0x18
mov r15d, eax
movzx r8d, al
mov qword [rsp + 8], r8
mov r8d, eax
shr r8d, 0x10
movzx r8d, r8b
mov r14d, dword [rsi + r8*4 + 0x400]
xor r14d, dword [rsi + rdi*4]
movzx eax, ah
mov qword [rsp], rax
movzx eax, bh
mov r12d, ebx
movzx r11d, bl
mov r8d, ebx
xor r14d, dword [rsi + rax*4 + 0x800]
movzx eax, cl
xor r14d, dword [rsi + rax*4 + 0xc00]
xor r14d, dword [r10 + 0x20]
shr r15d, 0x18
shr r8d, 0x10
movzx edi, ch
movzx r9d, dl
mov r13d, ecx
movzx ebp, dh
shr ecx, 0x18
shr edx, 0x10
movzx eax, dl
mov ebx, dword [rsi + rax*4 + 0x400]
xor ebx, dword [rsi + rcx*4]
movzx eax, r8b
mov eax, dword [rsi + rax*4 + 0x400]
xor eax, dword [rsi + r15*4]
xor eax, dword [rsi + rdi*4 + 0x800]
xor eax, dword [rsi + r9*4 + 0xc00]
xor eax, dword [r10 + 0x24]
shr r12d, 0x18
shr r13d, 0x10
movzx edx, r13b
mov r15d, eax
movzx r9d, al
movzx ecx, ah
mov r13, rcx
mov ecx, eax
mov eax, dword [rsi + rdx*4 + 0x400]
xor eax, dword [rsi + r12*4]
xor eax, dword [rsi + rbp*4 + 0x800]
mov rdx, qword [rsp + 8]
xor eax, dword [rsi + rdx*4 + 0xc00]
xor eax, dword [r10 + 0x28]
mov rdx, qword [rsp]
xor ebx, dword [rsi + rdx*4 + 0x800]
xor ebx, dword [rsi + r11*4 + 0xc00]
xor ebx, dword [r10 + 0x2c]
mov r8d, r14d
shr r8d, 0x18
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [rsi + rcx*4 + 0x400]
xor edx, dword [rsi + r8*4]
movzx ecx, ah
xor edx, dword [rsi + rcx*4 + 0x800]
mov r8d, eax
movzx r11d, al
movzx ecx, bl
xor edx, dword [rsi + rcx*4 + 0xc00]
xor edx, dword [r10 + 0x30]
shr r15d, 0x18
shr eax, 0x10
movzx eax, al
movzx ebp, bh
mov ecx, r14d
movzx r14d, cl
mov r12d, ebx
movzx edi, ch
shr ebx, 0x18
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [rsi + rcx*4 + 0x400]
xor ecx, dword [rsi + rbx*4]
mov eax, dword [rsi + rax*4 + 0x400]
xor eax, dword [rsi + r15*4]
xor eax, dword [rsi + rbp*4 + 0x800]
xor eax, dword [rsi + r14*4 + 0xc00]
xor eax, dword [r10 + 0x34]
shr r8d, 0x18
shr r12d, 0x10
movzx ebx, r12b
mov ebx, dword [rsi + rbx*4 + 0x400]
xor ebx, dword [rsi + r8*4]
xor ebx, dword [rsi + rdi*4 + 0x800]
xor ebx, dword [rsi + r9*4 + 0xc00]
xor ebx, dword [r10 + 0x38]
xor ecx, dword [rsi + r13*4 + 0x800]
xor ecx, dword [rsi + r11*4 + 0xc00]
xor ecx, dword [r10 + 0x3c]
mov edi, edx
shr edi, 0x18
mov r15d, eax
movzx r8d, al
mov qword [rsp + 8], r8
mov r8d, eax
shr r8d, 0x10
movzx r8d, r8b
mov r14d, dword [rsi + r8*4 + 0x400]
xor r14d, dword [rsi + rdi*4]
movzx eax, ah
mov qword [rsp], rax
movzx eax, bh
mov r12d, ebx
movzx r11d, bl
mov r8d, ebx
xor r14d, dword [rsi + rax*4 + 0x800]
movzx eax, cl
xor r14d, dword [rsi + rax*4 + 0xc00]
xor r14d, dword [r10 + 0x40]
shr r15d, 0x18
shr r8d, 0x10
movzx edi, ch
movzx r9d, dl
mov r13d, ecx
movzx ebp, dh
shr ecx, 0x18
shr edx, 0x10
movzx eax, dl
mov ebx, dword [rsi + rax*4 + 0x400]
xor ebx, dword [rsi + rcx*4]
movzx eax, r8b
mov eax, dword [rsi + rax*4 + 0x400]
xor eax, dword [rsi + r15*4]
xor eax, dword [rsi + rdi*4 + 0x800]
xor eax, dword [rsi + r9*4 + 0xc00]
xor eax, dword [r10 + 0x44]
shr r12d, 0x18
shr r13d, 0x10
movzx edx, r13b
mov r15d, eax
movzx r9d, al
movzx ecx, ah
mov r13, rcx
mov ecx, eax
mov eax, dword [rsi + rdx*4 + 0x400]
xor eax, dword [rsi + r12*4]
xor eax, dword [rsi + rbp*4 + 0x800]
mov rdx, qword [rsp + 8]
xor eax, dword [rsi + rdx*4 + 0xc00]
xor eax, dword [r10 + 0x48]
mov rdx, qword [rsp]
xor ebx, dword [rsi + rdx*4 + 0x800]
xor ebx, dword [rsi + r11*4 + 0xc00]
xor ebx, dword [r10 + 0x4c]
mov r8d, r14d
shr r8d, 0x18
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [rsi + rcx*4 + 0x400]
xor edx, dword [rsi + r8*4]
movzx ecx, ah
xor edx, dword [rsi + rcx*4 + 0x800]
mov r8d, eax
movzx r11d, al
movzx ecx, bl
xor edx, dword [rsi + rcx*4 + 0xc00]
xor edx, dword [r10 + 0x50]
shr r15d, 0x18
shr eax, 0x10
movzx eax, al
movzx ebp, bh
mov ecx, r14d
movzx r14d, cl
mov r12d, ebx
movzx edi, ch
shr ebx, 0x18
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [rsi + rcx*4 + 0x400]
xor ecx, dword [rsi + rbx*4]
mov eax, dword [rsi + rax*4 + 0x400]
xor eax, dword [rsi + r15*4]
xor eax, dword [rsi + rbp*4 + 0x800]
xor eax, dword [rsi + r14*4 + 0xc00]
xor eax, dword [r10 + 0x54]
shr r8d, 0x18
shr r12d, 0x10
movzx ebx, r12b
mov ebx, dword [rsi + rbx*4 + 0x400]
xor ebx, dword [rsi + r8*4]
xor ebx, dword [rsi + rdi*4 + 0x800]
xor ebx, dword [rsi + r9*4 + 0xc00]
xor ebx, dword [r10 + 0x58]
xor ecx, dword [rsi + r13*4 + 0x800]
xor ecx, dword [rsi + r11*4 + 0xc00]
xor ecx, dword [r10 + 0x5c]
mov edi, edx
shr edi, 0x18
mov r15d, eax
movzx r8d, al
mov qword [rsp + 8], r8
mov r8d, eax
shr r8d, 0x10
movzx r8d, r8b
mov r14d, dword [rsi + r8*4 + 0x400]
xor r14d, dword [rsi + rdi*4]
movzx eax, ah
mov qword [rsp], rax
movzx eax, bh
mov r13d, ebx
movzx r11d, bl
mov r8d, ebx
xor r14d, dword [rsi + rax*4 + 0x800]
movzx eax, cl
xor r14d, dword [rsi + rax*4 + 0xc00]
xor r14d, dword [r10 + 0x60]
shr r15d, 0x18
shr r8d, 0x10
movzx edi, ch
movzx r9d, dl
mov r12d, ecx
movzx ebp, dh
shr ecx, 0x18
shr edx, 0x10
movzx eax, dl
mov ebx, dword [rsi + rax*4 + 0x400]
xor ebx, dword [rsi + rcx*4]
movzx eax, r8b
mov eax, dword [rsi + rax*4 + 0x400]
xor eax, dword [rsi + r15*4]
xor eax, dword [rsi + rdi*4 + 0x800]
xor eax, dword [rsi + r9*4 + 0xc00]
xor eax, dword [r10 + 0x64]
shr r13d, 0x18
shr r12d, 0x10
movzx r15d, r12b
mov r12d, eax
movzx ecx, al
mov qword [rsp + 0x10], rcx
movzx ecx, ah
mov r9, rcx
mov ecx, eax
mov eax, dword [rsi + r15*4 + 0x400]
xor eax, dword [rsi + r13*4]
xor eax, dword [rsi + rbp*4 + 0x800]
mov rdx, qword [rsp + 8]
xor eax, dword [rsi + rdx*4 + 0xc00]
xor eax, dword [r10 + 0x68]
mov rdx, qword [rsp]
xor ebx, dword [rsi + rdx*4 + 0x800]
xor ebx, dword [rsi + r11*4 + 0xc00]
xor ebx, dword [r10 + 0x6c]
mov r8d, r14d
shr r8d, 0x18
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [rsi + rcx*4 + 0x400]
xor edx, dword [rsi + r8*4]
movzx ecx, ah
xor edx, dword [rsi + rcx*4 + 0x800]
mov r8d, eax
movzx r11d, al
movzx ecx, bl
xor edx, dword [rsi + rcx*4 + 0xc00]
xor edx, dword [r10 + 0x70]
shr r12d, 0x18
shr eax, 0x10
movzx eax, al
movzx ebp, bh
mov ecx, r14d
movzx r14d, cl
mov r15d, ebx
movzx edi, ch
shr ebx, 0x18
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [rsi + rcx*4 + 0x400]
xor ecx, dword [rsi + rbx*4]
mov eax, dword [rsi + rax*4 + 0x400]
xor eax, dword [rsi + r12*4]
xor eax, dword [rsi + rbp*4 + 0x800]
xor eax, dword [rsi + r14*4 + 0xc00]
xor eax, dword [r10 + 0x74]
shr r8d, 0x18
shr r15d, 0x10
movzx ebx, r15b
mov ebx, dword [rsi + rbx*4 + 0x400]
xor ebx, dword [rsi + r8*4]
xor ebx, dword [rsi + rdi*4 + 0x800]
mov r8, qword [rsp + 0x10]
xor ebx, dword [rsi + r8*4 + 0xc00]
xor ebx, dword [r10 + 0x78]
xor ecx, dword [rsi + r9*4 + 0x800]
xor ecx, dword [rsi + r11*4 + 0xc00]
xor ecx, dword [r10 + 0x7c]
mov r11d, edx
shr r11d, 0x18
mov r14d, eax
movzx r8d, al
mov qword [rsp + 8], r8
mov r8d, eax
shr r8d, 0x10
movzx r8d, r8b
mov ebp, dword [rsi + r8*4 + 0x400]
xor ebp, dword [rsi + r11*4]
movzx edi, ah
movzx eax, bh
mov r12d, ebx
movzx r11d, bl
mov r9d, ebx
xor ebp, dword [rsi + rax*4 + 0x800]
movzx eax, cl
xor ebp, dword [rsi + rax*4 + 0xc00]
xor ebp, dword [r10 + 0x80]
mov r8, r10
mov r10d, ebp
shr r14d, 0x18
shr r9d, 0x10
movzx ebp, ch
movzx r15d, dl
mov r13d, ecx
movzx eax, dh
mov qword [rsp], rax
shr ecx, 0x18
shr edx, 0x10
movzx eax, dl
mov ebx, dword [rsi + rax*4 + 0x400]
xor ebx, dword [rsi + rcx*4]
movzx eax, r9b
mov eax, dword [rsi + rax*4 + 0x400]
xor eax, dword [rsi + r14*4]
xor eax, dword [rsi + rbp*4 + 0x800]
xor eax, dword [rsi + r15*4 + 0xc00]
xor eax, dword [r8 + 0x84]
shr r12d, 0x18
shr r13d, 0x10
xor ebx, dword [rsi + rdi*4 + 0x800]
xor ebx, dword [rsi + r11*4 + 0xc00]
movzx r15d, r13b
xor ebx, dword [r8 + 0x8c]
mov ebp, r10d
movzx ecx, bl
mov qword [rsp + 0x10], rcx
movzx ecx, bh
mov r14, rcx
movzx r13d, r10b
mov ecx, r10d
mov r10, r8
mov r9d, ebx
movzx edi, ch
shr ebx, 0x18
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [rsi + rcx*4 + 0x400]
xor ecx, dword [rsi + rbx*4]
mov edx, dword [rsi + r15*4 + 0x400]
xor edx, dword [rsi + r12*4]
mov r8, qword [rsp]
xor edx, dword [rsi + r8*4 + 0x800]
mov r11, qword [rsp + 8]
xor edx, dword [rsi + r11*4 + 0xc00]
xor edx, dword [r10 + 0x88]
shr ebp, 0x18
mov r11d, eax
shr r11d, 0x10
movzx r11d, r11b
mov ebx, dword [rsi + r11*4 + 0x400]
xor ebx, dword [rsi + rbp*4]
movzx ebp, dh
xor ebx, dword [rsi + rbp*4 + 0x800]
mov r8d, eax
movzx r11d, al
movzx eax, ah
shr r8d, 0x18
mov r15d, edx
movzx r12d, dl
shr edx, 0x10
movzx edx, dl
mov edx, dword [rsi + rdx*4 + 0x400]
xor edx, dword [rsi + r8*4]
xor edx, dword [rsi + r14*4 + 0x800]
shr r15d, 0x18
shr r9d, 0x10
movzx r8d, r9b
mov r8d, dword [rsi + r8*4 + 0x400]
xor r8d, dword [rsi + r15*4]
xor r8d, dword [rsi + rdi*4 + 0x800]
xor ecx, dword [rsi + rax*4 + 0x800]
mov r15d, r8d
mov rax, qword [rsp + 0x10]
xor ebx, dword [rsi + rax*4 + 0xc00]
xor ebx, dword [r10 + 0x90]
xor edx, dword [rsi + r13*4 + 0xc00]
xor edx, dword [r10 + 0x94]
xor r15d, dword [rsi + r11*4 + 0xc00]
xor r15d, dword [r10 + 0x98]
xor ecx, dword [rsi + r12*4 + 0xc00]
mov r12, qword [rsp + 0x18]
xor ecx, dword [r10 + 0x9c]
cmp r12d, 0xc
jb 0x14006163b
mov eax, ebx
shr eax, 0x18
mov r14d, edx
movzx r8d, dl
mov qword [rsp + 8], r8
mov r8d, edx
shr r8d, 0x10
movzx r8d, r8b
mov r13d, dword [rsi + r8*4 + 0x400]
xor r13d, dword [rsi + rax*4]
movzx eax, dh
mov r12, rax
mov edx, r15d
movzx eax, dh
mov r8d, r15d
movzx r9d, dl
xor r13d, dword [rsi + rax*4 + 0x800]
movzx eax, cl
xor r13d, dword [rsi + rax*4 + 0xc00]
xor r13d, dword [r10 + 0xa0]
shr r14d, 0x18
shr edx, 0x10
movzx eax, ch
movzx r15d, bl
mov ebp, ecx
movzx edi, bh
mov r11, rdi
shr ecx, 0x18
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rsi + rbx*4 + 0x400]
xor ebx, dword [rsi + rcx*4]
movzx ecx, dl
mov edx, dword [rsi + rcx*4 + 0x400]
xor edx, dword [rsi + r14*4]
xor edx, dword [rsi + rax*4 + 0x800]
xor edx, dword [rsi + r15*4 + 0xc00]
xor edx, dword [r10 + 0xa4]
shr r8d, 0x18
shr ebp, 0x10
xor ebx, dword [rsi + r12*4 + 0x800]
xor ebx, dword [rsi + r9*4 + 0xc00]
movzx r12d, bpl
xor ebx, dword [r10 + 0xac]
mov eax, r13d
mov r15d, r13d
movzx ecx, bl
mov qword [rsp], rcx
movzx ecx, bh
mov r14, rcx
movzx r13d, al
mov r9d, ebx
movzx edi, ah
shr ebx, 0x18
shr eax, 0x10
movzx eax, al
mov ecx, dword [rsi + rax*4 + 0x400]
xor ecx, dword [rsi + rbx*4]
mov eax, dword [rsi + r12*4 + 0x400]
xor eax, dword [rsi + r8*4]
xor eax, dword [rsi + r11*4 + 0x800]
mov r8, qword [rsp + 8]
xor eax, dword [rsi + r8*4 + 0xc00]
xor eax, dword [r10 + 0xa8]
shr r15d, 0x18
mov r8d, edx
shr r8d, 0x10
movzx r8d, r8b
mov ebx, dword [rsi + r8*4 + 0x400]
xor ebx, dword [rsi + r15*4]
movzx ebp, ah
xor ebx, dword [rsi + rbp*4 + 0x800]
mov r8d, edx
movzx r11d, dl
movzx ebp, dh
shr r8d, 0x18
mov r15d, eax
movzx r12d, al
shr eax, 0x10
movzx eax, al
mov edx, dword [rsi + rax*4 + 0x400]
xor edx, dword [rsi + r8*4]
xor edx, dword [rsi + r14*4 + 0x800]
shr r15d, 0x18
shr r9d, 0x10
movzx eax, r9b
mov eax, dword [rsi + rax*4 + 0x400]
xor eax, dword [rsi + r15*4]
xor eax, dword [rsi + rdi*4 + 0x800]
xor ecx, dword [rsi + rbp*4 + 0x800]
mov r8, qword [rsp]
xor ebx, dword [rsi + r8*4 + 0xc00]
xor ebx, dword [r10 + 0xb0]
xor edx, dword [rsi + r13*4 + 0xc00]
xor edx, dword [r10 + 0xb4]
xor eax, dword [rsi + r11*4 + 0xc00]
xor eax, dword [r10 + 0xb8]
xor ecx, dword [rsi + r12*4 + 0xc00]
mov r12, qword [rsp + 0x18]
xor ecx, dword [r10 + 0xbc]
cmp r12d, 0xe
jb 0x14006163e
mov r15d, edx
movzx r8d, dl
mov qword [rsp + 8], r8
movzx edi, dh
mov r11, rdi
mov r8d, eax
mov eax, ebx
shr eax, 0x18
shr edx, 0x10
movzx edx, dl
mov r12d, dword [rsi + rdx*4 + 0x400]
xor r12d, dword [rsi + rax*4]
mov edx, r8d
movzx eax, dh
xor r12d, dword [rsi + rax*4 + 0x800]
mov r13d, r8d
movzx r14d, dl
mov eax, r8d
movzx edx, cl
xor r12d, dword [rsi + rdx*4 + 0xc00]
xor r12d, dword [r10 + 0xc0]
shr r15d, 0x18
shr eax, 0x10
movzx eax, al
movzx edi, ch
movzx r8d, bl
mov r9d, ecx
movzx ebp, bh
shr ecx, 0x18
shr ebx, 0x10
movzx edx, bl
mov ebx, dword [rsi + rdx*4 + 0x400]
xor ebx, dword [rsi + rcx*4]
mov edx, dword [rsi + rax*4 + 0x400]
xor edx, dword [rsi + r15*4]
xor edx, dword [rsi + rdi*4 + 0x800]
xor edx, dword [rsi + r8*4 + 0xc00]
xor edx, dword [r10 + 0xc4]
shr r13d, 0x18
shr r9d, 0x10
movzx eax, r9b
mov r15d, edx
movzx ecx, dl
mov qword [rsp], rcx
movzx ecx, dh
mov r9, rcx
mov eax, dword [rsi + rax*4 + 0x400]
xor eax, dword [rsi + r13*4]
xor eax, dword [rsi + rbp*4 + 0x800]
mov rcx, qword [rsp + 8]
xor eax, dword [rsi + rcx*4 + 0xc00]
xor eax, dword [r10 + 0xc8]
xor ebx, dword [rsi + r11*4 + 0x800]
xor ebx, dword [rsi + r14*4 + 0xc00]
xor ebx, dword [r10 + 0xcc]
mov ecx, r12d
mov r8d, r12d
shr r8d, 0x18
shr edx, 0x10
movzx r11d, bl
movzx ebp, bh
movzx r14d, cl
mov r12d, ebx
movzx edi, ch
shr ebx, 0x18
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [rsi + rcx*4 + 0x400]
xor ecx, dword [rsi + rbx*4]
movzx edx, dl
mov ebx, dword [rsi + rdx*4 + 0x400]
xor ebx, dword [rsi + r8*4]
movzx edx, ah
xor ebx, dword [rsi + rdx*4 + 0x800]
shr r15d, 0x18
mov r8d, eax
movzx r13d, al
shr eax, 0x10
movzx eax, al
mov edx, dword [rsi + rax*4 + 0x400]
xor edx, dword [rsi + r15*4]
xor edx, dword [rsi + rbp*4 + 0x800]
shr r8d, 0x18
shr r12d, 0x10
movzx eax, r12b
mov r12, qword [rsp + 0x18]
mov r15d, dword [rsi + rax*4 + 0x400]
xor r15d, dword [rsi + r8*4]
xor r15d, dword [rsi + rdi*4 + 0x800]
xor ecx, dword [rsi + r9*4 + 0x800]
xor ebx, dword [rsi + r11*4 + 0xc00]
xor ebx, dword [r10 + 0xd0]
xor edx, dword [rsi + r14*4 + 0xc00]
xor edx, dword [r10 + 0xd4]
mov rax, qword [rsp]
xor r15d, dword [rsi + rax*4 + 0xc00]
xor r15d, dword [r10 + 0xd8]
mov eax, r15d
xor ecx, dword [rsi + r13*4 + 0xc00]
xor ecx, dword [r10 + 0xdc]
jmp 0x14006163e
mov eax, r15d
movzx r15d, cl
movzx edi, ch
mov r11d, ecx
shr ecx, 0x18
movzx r8d, byte [rsi + rcx*4 + 0x803]
mov ecx, ebx
movzx r14d, bl
movzx ebp, bh
shr ebx, 0x10
movzx r9d, bl
shr ecx, 0x18
movzx ecx, byte [rsi + rcx*4 + 0x803]
shl ecx, 0x18
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
movzx ebx, byte [rsi + rbx*4 + 0xc02]
shl ebx, 0x10
or ebx, ecx
movzx ecx, ah
mov r13d, eax
movzx ecx, byte [rsi + rcx*4 + 1]
shl ecx, 8
or ecx, ebx
movzx eax, byte [rsi + r15*4 + 0x400]
or eax, ecx
mov ecx, edx
shr ecx, 0x18
movzx ecx, byte [rsi + rcx*4 + 0x803]
shl ecx, 0x18
mov ebx, r13d
shr ebx, 0x10
movzx ebx, bl
movzx ebx, byte [rsi + rbx*4 + 0xc02]
shl ebx, 0x10
or ebx, ecx
movzx r15d, dl
movzx ecx, dh
movzx edx, byte [rsi + rdi*4 + 1]
shl edx, 8
or edx, ebx
mov ebx, r13d
mov edi, r13d
movzx ebx, bl
movzx r14d, byte [rsi + r14*4 + 0x400]
or r14d, edx
shr edi, 0x18
movzx edx, byte [rsi + rdi*4 + 0x803]
shl edx, 0x18
shr r11d, 0x10
movzx r11d, r11b
movzx r11d, byte [rsi + r11*4 + 0xc02]
shl r11d, 0x10
or r11d, edx
movzx edx, byte [rsi + rbp*4 + 1]
shl edx, 8
or edx, r11d
and r12d, 0x3ffffffe
shl r12, 2
xor eax, dword [r10 + r12*4]
xor r14d, dword [r10 + r12*4 + 4]
movzx r11d, byte [rsi + r15*4 + 0x400]
or r11d, edx
xor r11d, dword [r10 + r12*4 + 8]
shl r8d, 0x18
movzx edx, byte [rsi + r9*4 + 0xc02]
shl edx, 0x10
or edx, r8d
movzx ecx, byte [rsi + rcx*4 + 1]
shl ecx, 8
or ecx, edx
movzx edx, byte [rsi + rbx*4 + 0x400]
or edx, ecx
xor edx, dword [r10 + r12*4 + 0xc]
bswap eax
bswap r14d
bswap r11d
bswap edx
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
mov dword [rcx + 4], r14d
mov dword [rcx + 8], r11d
mov dword [rcx + 0xc], edx
xor eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret