Function at 0x1403cc9a1
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov r10d, dword [rcx + 4]
mov qword [rsp + 0x78], rdx
mov rax, rcx
mov rbx, r8
lea rdx, [r8*8]
mov qword [rsp + 0x80], r8
add qword [rcx + 0xa0], rdx
mov edx, dword [rcx]
cmp r10d, 3
ja 0x1403cca31
mov ecx, 4
sub ecx, r10d
mov r8d, ecx
cmp r8, rbx
cmova ecx, dword [rsp + 0x80]
xor r9d, r9d
mov r8d, ecx
cmp r8, r9
je 0x1403cca15
mov rbx, qword [rsp + 0x78]
shl edx, 8
movzx r11d, byte [rbx + r9]
inc r9
or edx, r11d
jmp 0x1403cc9fb
add qword [rsp + 0x78], r8
sub qword [rsp + 0x80], r8
jne 0x1403cca31
add ecx, r10d
mov dword [rax], edx
mov dword [rax + 4], ecx
jmp 0x1403ce5b0
mov ecx, dword [rax + 8]
cmp ecx, 2
je 0x1403cd118
ja 0x1403cca48
test ecx, ecx
jne 0x1403cca56
jmp 0x1403cde99
cmp ecx, 3
je 0x1403cd7e6
jmp 0x1403ce57d
mov ebx, dword [rax + 0x60]
mov ecx, dword [rax + 0x28]
lea r15, [0x1407024e0]
mov r10d, dword [rax + 0x80]
xor dword [rax + 0x88], ebx
mov ebx, dword [rax + 0x6c]
xor ecx, dword [rax + 0x78]
mov r8d, dword [rax + 0x54]
xor r8d, dword [rax + 0x7c]
xor ecx, r10d
xor ebx, r8d
mov esi, dword [rax + 0x70]
mov r9d, dword [rax + 0x84]
mov dword [rax + 0x28], ecx
mov ecx, ebx
mov edi, dword [rax + 0x74]
xor dword [rax + 0x24], r8d
movzx r11d, bl
shr ecx, 0x10
xor esi, r10d
mov dword [rax + 0x7c], r8d
mov ebp, dword [r15 + r11*4]
lea r10, [0x140702ce0]
movzx ecx, cl
xor edi, r9d
xor dword [rax + 0x2c], r9d
mov r8d, dword [r10 + rcx*4]
movzx ecx, bh
shr ebx, 0x18
lea r9, [0x1407028e0]
lea r11, [0x1407030e0]
mov ecx, ecx
xor dword [rax + 0x98], edx
mov r14d, dword [r9 + rcx*4]
mov ecx, dword [r11 + rbx*4]
xor ecx, ebp
mov ebx, ecx
mov ecx, esi
movzx ecx, ch
xor ebx, r8d
mov r12d, ecx
xor ebx, r14d
mov ecx, r14d
mov r12d, dword [r9 + r12*4]
mov dword [rsp + 8], ebx
mov ebx, esi
shr ebx, 0x18
xor ecx, r12d
mov ebx, dword [r11 + rbx*4]
mov dword [rsp + 0xc], ecx
movzx ecx, sil
shr esi, 0x10
mov ecx, dword [r15 + rcx*4]
movzx esi, sil
mov r13d, ebx
xor r13d, ecx
xor r13d, dword [r10 + rsi*4]
mov esi, edi
shr esi, 0x18
xor r13d, r12d
mov r12d, edi
mov esi, dword [r11 + rsi*4]
shr r12d, 0x10
movzx r12d, r12b
xor ebx, esi
mov dword [rsp + 0x10], ebx
mov r14d, dword [r10 + r12*4]
movzx r12d, dil
mov ebx, edi
mov r12d, dword [r15 + r12*4]
movzx edi, bh
mov ebx, dword [rsp + 0x10]
mov edi, edi
xor r8d, r14d
xor esi, r12d
xor ecx, r12d
xor esi, r14d
xor esi, dword [r9 + rdi*4]
mov edi, edx
xor ecx, ebp
shr edi, 0x18
mov ebp, edx
mov edi, dword [r11 + rdi*4]
xor ebx, edi
shr ebp, 0x10
movzx ebp, bpl
mov r12d, dword [r10 + rbp*4]
movzx ebp, dh
movzx edx, dl
mov ebp, ebp
xor edi, dword [r15 + rdx*4]
mov edx, esi
mov r14d, dword [r9 + rbp*4]
mov ebp, dword [rsp + 0xc]
xor r8d, r12d
xor edi, r12d
mov r12d, r13d
xor ebp, r14d
xor r12d, r8d
xor edi, r14d
mov r14d, ebx
xor edx, ebp
and r12d, 0xff0000
shl r14d, 0x10
and edx, 0xff00
xor r14d, esi
or edx, r12d
mov r12d, dword [rsp + 8]
and r14d, 0xff000000
xor r12d, ebx
and r12d, 0xff000000
or edx, r12d
mov dword [rsp + 0x14], r12d
mov r12d, ecx
mov dword [rsp + 0x18], edx
mov edx, ecx
shr r12d, 0x18
xor r12d, dword [rsp + 8]
xor edx, edi
movzx r12d, r12b
mov dword [rsp + 0x1c], edx
mov edx, ebx
shl edx, 8
xor edx, r13d
and edx, 0xff000000
or edx, r12d
mov r12d, r8d
shl r12d, 8
xor r12d, esi
and r12d, 0xff0000
or edx, r12d
mov r12d, ebp
shl r12d, 8
xor r12d, edi
and r12d, 0xff00
or edx, r12d
mov r12d, ecx
shr r12d, 0x10
shl ebx, 0x18
xor dword [rax + 0x18], edx
xor r12d, r13d
xor ebx, edi
shr ecx, 8
mov dword [rax + 0x70], edx
movzx r12d, r12b
and ebx, 0xff000000
xor ecx, esi
mov esi, dword [rax + 0x64]
or r14d, r12d
mov r12d, r8d
shr r8d, 8
xor r8d, dword [rsp + 8]
shl r12d, 0x10
and r8d, 0xff0000
movzx ecx, cl
xor r12d, edi
or r8d, ebx
mov ebx, dword [rax + 0x68]
and r12d, 0xff0000
or ecx, r8d
or r14d, r12d
mov r12d, ebp
shr ebp, 8
xor ebp, r13d
mov r13d, dword [rax + 0x60]
shr r12d, 0x10
xor r12d, dword [rsp + 8]
and ebp, 0xff00
and r12d, 0xff00
xor r13d, edx
or ecx, ebp
xor dword [rax + 0x20], ecx
or r12d, r14d
mov edx, r13d
xor ebx, ecx
mov dword [rax + 0x78], ecx
xor esi, r12d
shr edx, 0x10
xor dword [rax + 0x1c], r12d
movzx r8d, r13b
movzx edx, dl
mov dword [rax + 0x74], r12d
movzx r12d, sil
mov ecx, dword [r10 + rdx*4]
mov edx, r13d
shr r13d, 0x18
movzx edx, dh
mov edx, edx
mov edi, dword [r9 + rdx*4]
mov edx, esi
movzx ebp, dh
mov dword [rsp + 0x10], edi
mov edi, dword [r15 + r8*4]
mov ebp, ebp
mov r8d, dword [r11 + r13*4]
mov edx, dword [r15 + r12*4]
mov ebp, dword [r9 + rbp*4]
xor r8d, edi
mov r12d, edx
xor edi, edx
mov edx, dword [rsp + 0x18]
xor r8d, ecx
xor r8d, dword [rsp + 0x10]
mov dword [rsp + 8], r8d
mov r8d, esi
shr esi, 0x10
movzx edx, dh
shr r8d, 0x18
movzx esi, sil
mov r8d, dword [r11 + r8*4]
xor r12d, r8d
xor r12d, dword [r10 + rsi*4]
mov esi, ebx
shr esi, 0x18
xor r12d, ebp
mov r13d, dword [r11 + rsi*4]
mov esi, ebx
mov dword [rsp + 0xc], r12d
shr esi, 0x10
movzx esi, sil
mov r12d, dword [r10 + rsi*4]
movzx esi, bl
mov r14d, dword [r15 + rsi*4]
movzx esi, bh
mov ebx, r13d
mov esi, esi
xor ebx, r14d
xor r14d, edi
mov edi, dword [rsp + 0x18]
xor ebx, r12d
xor ebx, dword [r9 + rsi*4]
mov esi, dword [rsp + 0x14]
shr edi, 0x10
movzx edi, dil
shr esi, 0x18
mov edi, dword [r10 + rdi*4]
mov esi, dword [r11 + rsi*4]
xor ecx, edi
xor r8d, esi
xor ecx, r12d
mov r12d, edx
mov edx, dword [rsp + 0x10]
xor r8d, r13d
mov r12d, dword [r9 + r12*4]
xor edx, ebp
movzx ebp, byte [rsp + 0x1c]
xor edx, r12d
xor esi, dword [r15 + rbp*4]
mov ebp, dword [rsp + 0xc]
xor esi, edi
mov edi, dword [rsp + 8]
xor ebp, ecx
xor esi, r12d
mov r12d, r8d
xor edi, r8d
and ebp, 0xff0000
and edi, 0xff000000
or edi, ebp
mov ebp, r14d
xor ebp, esi
shl r12d, 0x10
movzx ebp, bpl
xor r12d, ebx
or edi, ebp
mov ebp, ecx
and r12d, 0xff000000
mov r13d, edi
mov edi, ebx
shl ebp, 8
xor edi, edx
xor ebp, ebx
and edi, 0xff00
and ebp, 0xff0000
or edi, r13d
mov dword [rsp + 0x10], edi
mov edi, r8d
shl edi, 8
xor edi, dword [rsp + 0xc]
and edi, 0xff000000
or edi, ebp
mov ebp, edx
shl ebp, 8
xor ebp, esi
and ebp, 0xff00
or edi, ebp
mov ebp, r14d
shr ebp, 0x18
xor ebp, dword [rsp + 8]
movzx ebp, bpl
or edi, ebp
mov ebp, ecx
shl ebp, 0x10
mov dword [rax + 0x64], edi
xor ebp, esi
and ebp, 0xff0000
or r12d, ebp
mov ebp, edx
shr ebp, 0x10
xor ebp, dword [rsp + 8]
and ebp, 0xff00
or r12d, ebp
mov ebp, r14d
shr ebp, 0x10
xor ebp, dword [rsp + 0xc]
movzx ebp, bpl
or ebp, r12d
shl r8d, 0x18
shr ecx, 8
xor r8d, esi
xor ecx, dword [rsp + 8]
shr edx, 8
and r8d, 0xff000000
xor edx, dword [rsp + 0xc]
shr r14d, 8
mov dword [rax + 0x68], ebp
and ecx, 0xff0000
xor r14d, ebx
and edx, 0xff00
or ecx, r8d
movzx r14d, r14b
or edx, ecx
or r14d, edx
mov dword [rax + 0x6c], r14d
mov edx, dword [rax + 0x54]
mov ebx, dword [rax + 0x58]
xor dword [rax + 0xc], edi
xor edx, edi
xor dword [rax + 0x10], ebp
mov r12d, dword [rax + 0x5c]
mov ecx, edx
xor ebx, ebp
movzx edi, dh
movzx esi, dl
shr ecx, 0x10
shr edx, 0x18
mov ebp, dword [r15 + rsi*4]
mov r8d, edi
movzx esi, bh
mov edi, dword [r11 + rdx*4]
movzx ecx, cl
xor r12d, r14d
mov ecx, dword [r10 + rcx*4]
mov esi, esi
mov r8d, dword [r9 + r8*4]
mov edx, ebx
xor dword [rax + 0x14], r14d
xor edi, ebp
mov r14d, dword [r9 + rsi*4]
shr edx, 0x18
xor edi, ecx
mov edx, dword [r11 + rdx*4]
xor edi, r8d
xor r8d, r14d
mov dword [rsp + 8], r8d
movzx r8d, bl
shr ebx, 0x10
mov esi, edx
mov r8d, dword [r15 + r8*4]
movzx ebx, bl
xor esi, r8d
xor esi, dword [r10 + rbx*4]
xor esi, r14d
xor ebp, r8d
mov r8d, r12d
shr r8d, 0x18
mov ebx, dword [r11 + r8*4]
mov r8d, r12d
shr r8d, 0x10
movzx r8d, r8b
xor edx, ebx
mov r14d, dword [r10 + r8*4]
movzx r8d, r12b
mov dword [rsp + 0xc], edx
mov edx, r12d
mov r8d, dword [r15 + r8*4]
movzx edx, dh
mov r12d, edx
mov edx, dword [rsp + 0x10]
xor ecx, r14d
xor ebx, r8d
xor r8d, ebp
mov ebp, r13d
shr r13d, 0x10
shr ebp, 0x18
xor ebx, r14d
movzx r13d, r13b
xor ebx, dword [r9 + r12*4]
mov r11d, dword [r11 + rbp*4]
mov r14d, dword [rsp + 0xc]
movzx ebp, dh
movzx r12d, byte [rsp + 0x10]
mov r10d, dword [r10 + r13*4]
mov ebp, ebp
xor r14d, r11d
mov r9d, dword [r9 + rbp*4]
mov ebp, dword [rsp + 8]
xor r11d, dword [r15 + r12*4]
xor ecx, r10d
mov edx, r14d
xor r11d, r10d
xor ebp, r9d
mov r10d, esi
shl edx, 8
xor r11d, r9d
mov r9d, edi
xor r10d, ecx
xor r9d, r14d
and r10d, 0xff0000
and r9d, 0xff000000
or r9d, r10d
mov r10d, r8d
xor r10d, r11d
movzx r10d, r10b
or r9d, r10d
mov r10d, ebx
xor r10d, ebp
and r10d, 0xff00
or r9d, r10d
mov r10d, r8d
mov dword [rax + 0x54], r9d
shr r10d, 0x18
mov r9d, edx
mov edx, r14d
xor r9d, esi
xor r10d, edi
movzx r10d, r10b
and r9d, 0xff000000
or r9d, r10d
mov r10d, ecx
shl edx, 0x10
shl r10d, 8
xor r10d, ebx
and r10d, 0xff0000
or r9d, r10d
mov r10d, ebp
shl r10d, 8
xor r10d, r11d
and r10d, 0xff00
or r9d, r10d
mov r10d, r8d
shr r8d, 8
mov dword [rax + 0x58], r9d
shr r10d, 0x10
mov r9d, edx
mov edx, r14d
xor r9d, ebx
xor r10d, esi
shl edx, 0x18
xor r8d, ebx
and r9d, 0xff000000
movzx r10d, r10b
xor edx, r11d
movzx r8d, r8b
or r9d, r10d
mov r10d, ecx
shr ecx, 8
and edx, 0xff000000
shl r10d, 0x10
xor ecx, edi
or edx, r8d
xor r10d, r11d
and ecx, 0xff0000
and r10d, 0xff0000
or r9d, r10d
mov r10d, ebp
shr r10d, 0x10
xor r10d, edi
and r10d, 0xff00
or r9d, r10d
or ecx, edx
shr ebp, 8
xor ebp, esi
mov dword [rax + 0x5c], r9d
and ebp, 0xff00
or ecx, ebp
cmp qword [rsp + 0x80], 4
mov dword [rax + 0x60], ecx
mov ecx, 2
jbe 0x1403ce57d
mov rbx, qword [rsp + 0x78]
mov ebx, dword [rbx]
mov dword [rsp + 8], ebx
mov edx, ebx
bswap edx
add qword [rsp + 0x78], 4
sub qword [rsp + 0x80], 4
mov r10d, dword [rax + 0x5c]
mov ebx, dword [rax + 0x3c]
lea r15, [0x1407024e0]
xor dword [rax + 0x64], ebx
mov ebx, dword [rax + 0x48]
mov ecx, dword [rax + 0x94]
mov r8d, dword [rax + 0x30]
xor ecx, dword [rax + 0x54]
xor r8d, dword [rax + 0x58]
xor ebx, r8d
xor ecx, r10d
mov esi, dword [rax + 0x4c]
mov r9d, dword [rax + 0x60]
mov dword [rax + 0x94], ecx
mov ecx, ebx
mov edi, dword [rax + 0x50]
movzx r11d, bl
shr ecx, 0x10
xor esi, r10d
lea r10, [0x140702ce0]
xor dword [rax + 0x74], edx
movzx ecx, cl
mov dword [rax + 0x58], r8d
xor edi, r9d
mov ebp, dword [r15 + r11*4]
xor dword [rax + 0x90], r8d
mov r8d, dword [r10 + rcx*4]
movzx ecx, bh
lea r11, [0x1407030e0]
xor dword [rax + 0x98], r9d
shr ebx, 0x18
mov ecx, ecx
lea r9, [0x1407028e0]
mov r14d, dword [r9 + rcx*4]
mov ecx, dword [r11 + rbx*4]
xor ecx, ebp
mov ebx, ecx
mov ecx, esi
movzx ecx, ch
xor ebx, r8d
mov r12d, ecx
xor ebx, r14d
mov ecx, r14d
mov r12d, dword [r9 + r12*4]
mov dword [rsp + 8], ebx
mov ebx, esi
shr ebx, 0x18
xor ecx, r12d
mov ebx, dword [r11 + rbx*4]
mov dword [rsp + 0xc], ecx
movzx ecx, sil
shr esi, 0x10
mov ecx, dword [r15 + rcx*4]
movzx esi, sil
mov r13d, ebx
xor r13d, ecx
xor r13d, dword [r10 + rsi*4]
mov esi, edi
shr esi, 0x18
xor r13d, r12d
mov r12d, edi
mov esi, dword [r11 + rsi*4]
shr r12d, 0x10
movzx r12d, r12b
xor ebx, esi
mov dword [rsp + 0x10], ebx
mov r14d, dword [r10 + r12*4]
movzx r12d, dil
mov ebx, edi
mov r12d, dword [r15 + r12*4]
movzx edi, bh
mov ebx, dword [rsp + 0x10]
mov edi, edi
xor r8d, r14d
xor esi, r12d
xor ecx, r12d
xor esi, r14d
xor esi, dword [r9 + rdi*4]
mov edi, edx
xor ecx, ebp
shr edi, 0x18
mov ebp, edx
mov edi, dword [r11 + rdi*4]
xor ebx, edi
shr ebp, 0x10
movzx ebp, bpl
mov r12d, dword [r10 + rbp*4]
movzx ebp, dh
movzx edx, dl
mov ebp, ebp
xor edi, dword [r15 + rdx*4]
mov edx, esi
mov r14d, dword [r9 + rbp*4]
mov ebp, dword [rsp + 0xc]
xor r8d, r12d
xor edi, r12d
mov r12d, r13d
xor ebp, r14d
xor r12d, r8d
xor edi, r14d
mov r14d, ebx
xor edx, ebp
and r12d, 0xff0000
shl r14d, 0x10
and edx, 0xff00
xor r14d, esi
or edx, r12d
mov r12d, dword [rsp + 8]
and r14d, 0xff000000
xor r12d, ebx
and r12d, 0xff000000
or edx, r12d
mov dword [rsp + 0x14], r12d
mov r12d, ecx
mov dword [rsp + 0x18], edx
mov edx, ecx
shr r12d, 0x18
xor r12d, dword [rsp + 8]
xor edx, edi
movzx r12d, r12b
mov dword [rsp + 0x1c], edx
mov edx, ebx
shl edx, 8
xor edx, r13d
and edx, 0xff000000
or edx, r12d
mov r12d, r8d
shl r12d, 8
xor r12d, esi
and r12d, 0xff0000
or edx, r12d
mov r12d, ebp
shl r12d, 8
xor r12d, edi
and r12d, 0xff00
or edx, r12d
mov r12d, ecx
shr r12d, 0x10
shl ebx, 0x18
xor dword [rax + 0x84], edx
xor r12d, r13d
xor ebx, edi
shr ecx, 8
mov dword [rax + 0x4c], edx
movzx r12d, r12b
and ebx, 0xff000000
xor ecx, esi
mov esi, dword [rax + 0x40]
or r14d, r12d
mov r12d, r8d
shr r8d, 8
xor r8d, dword [rsp + 8]
shl r12d, 0x10
and r8d, 0xff0000
movzx ecx, cl
xor r12d, edi
or r8d, ebx
mov ebx, dword [rax + 0x44]
and r12d, 0xff0000
or ecx, r8d
or r14d, r12d
mov r12d, ebp
shr ebp, 8
xor ebp, r13d
mov r13d, dword [rax + 0x3c]
shr r12d, 0x10
xor r12d, dword [rsp + 8]
and ebp, 0xff00
and r12d, 0xff00
xor r13d, edx
or ecx, ebp
xor dword [rax + 0x8c], ecx
or r12d, r14d
mov edx, r13d
xor ebx, ecx
mov dword [rax + 0x54], ecx
xor esi, r12d
shr edx, 0x10
xor dword [rax + 0x88], r12d
movzx r8d, r13b
movzx edx, dl
mov dword [rax + 0x50], r12d
movzx r12d, sil
mov ecx, dword [r10 + rdx*4]
mov edx, r13d
shr r13d, 0x18
movzx edx, dh
mov edx, edx
mov edi, dword [r9 + rdx*4]
mov edx, esi
movzx ebp, dh
mov dword [rsp + 0x10], edi
mov edi, dword [r15 + r8*4]
mov ebp, ebp
mov r8d, dword [r11 + r13*4]
mov edx, dword [r15 + r12*4]
mov ebp, dword [r9 + rbp*4]
xor r8d, edi
mov r12d, edx
xor edi, edx
mov edx, dword [rsp + 0x18]
xor r8d, ecx
xor r8d, dword [rsp + 0x10]
mov dword [rsp + 8], r8d
mov r8d, esi
shr esi, 0x10
movzx edx, dh
shr r8d, 0x18
movzx esi, sil
mov r8d, dword [r11 + r8*4]
xor r12d, r8d
xor r12d, dword [r10 + rsi*4]
mov esi, ebx
shr esi, 0x18
xor r12d, ebp
mov r13d, dword [r11 + rsi*4]
mov esi, ebx
mov dword [rsp + 0xc], r12d
shr esi, 0x10
movzx esi, sil
mov r12d, dword [r10 + rsi*4]
movzx esi, bl
mov r14d, dword [r15 + rsi*4]
movzx esi, bh
mov ebx, r13d
mov esi, esi
xor ebx, r14d
xor r14d, edi
mov edi, dword [rsp + 0x18]
xor ebx, r12d
xor ebx, dword [r9 + rsi*4]
mov esi, dword [rsp + 0x14]
shr edi, 0x10
movzx edi, dil
shr esi, 0x18
mov edi, dword [r10 + rdi*4]
mov esi, dword [r11 + rsi*4]
xor ecx, edi
xor r8d, esi
xor ecx, r12d
mov r12d, edx
mov edx, dword [rsp + 0x10]
xor r8d, r13d
mov r12d, dword [r9 + r12*4]
xor edx, ebp
movzx ebp, byte [rsp + 0x1c]
xor edx, r12d
xor esi, dword [r15 + rbp*4]
mov ebp, dword [rsp + 0xc]
xor esi, edi
mov edi, dword [rsp + 8]
xor ebp, ecx
xor esi, r12d
mov r12d, r8d
xor edi, r8d
and ebp, 0xff0000
and edi, 0xff000000
or edi, ebp
mov ebp, r14d
xor ebp, esi
shl r12d, 0x10
movzx ebp, bpl
xor r12d, ebx
or edi, ebp
mov ebp, ecx
and r12d, 0xff000000
mov r13d, edi
mov edi, ebx
shl ebp, 8
xor edi, edx
xor ebp, ebx
and edi, 0xff00
and ebp, 0xff0000
or edi, r13d
mov dword [rsp + 0x10], edi
mov edi, r8d
shl edi, 8
xor edi, dword [rsp + 0xc]
and edi, 0xff000000
or edi, ebp
mov ebp, edx
shl ebp, 8
xor ebp, esi
and ebp, 0xff00
or edi, ebp
mov ebp, r14d
shr ebp, 0x18
xor ebp, dword [rsp + 8]
movzx ebp, bpl
or edi, ebp
mov ebp, ecx
shl ebp, 0x10
mov dword [rax + 0x40], edi
xor ebp, esi
and ebp, 0xff0000
or r12d, ebp
mov ebp, edx
shr ebp, 0x10
xor ebp, dword [rsp + 8]
and ebp, 0xff00
or r12d, ebp
mov ebp, r14d
shr ebp, 0x10
xor ebp, dword [rsp + 0xc]
movzx ebp, bpl
or ebp, r12d
shl r8d, 0x18
shr ecx, 8
xor r8d, esi
xor ecx, dword [rsp + 8]
shr edx, 8
and r8d, 0xff000000
xor edx, dword [rsp + 0xc]
shr r14d, 8
mov dword [rax + 0x44], ebp
and ecx, 0xff0000
xor r14d, ebx
and edx, 0xff00
or ecx, r8d
movzx r14d, r14b
or edx, ecx
or r14d, edx
mov dword [rax + 0x48], r14d
mov edx, dword [rax + 0x30]
mov ebx, dword [rax + 0x34]
xor dword [rax + 0x78], edi
xor edx, edi
xor dword [rax + 0x7c], ebp
mov r12d, dword [rax + 0x38]
mov ecx, edx
xor ebx, ebp
movzx edi, dh
movzx esi, dl
shr ecx, 0x10
shr edx, 0x18
mov ebp, dword [r15 + rsi*4]
mov r8d, edi
movzx esi, bh
mov edi, dword [r11 + rdx*4]
movzx ecx, cl
xor r12d, r14d
mov ecx, dword [r10 + rcx*4]
mov esi, esi
mov r8d, dword [r9 + r8*4]
mov edx, ebx
xor dword [rax + 0x80], r14d
xor edi, ebp
mov r14d, dword [r9 + rsi*4]
shr edx, 0x18
xor edi, ecx
mov edx, dword [r11 + rdx*4]
xor edi, r8d
xor r8d, r14d
mov dword [rsp + 8], r8d
movzx r8d, bl
shr ebx, 0x10
mov esi, edx
mov r8d, dword [r15 + r8*4]
movzx ebx, bl
xor esi, r8d
xor esi, dword [r10 + rbx*4]
xor esi, r14d
xor ebp, r8d
mov r8d, r12d
shr r8d, 0x18
mov ebx, dword [r11 + r8*4]
mov r8d, r12d
shr r8d, 0x10
movzx r8d, r8b
xor edx, ebx
mov r14d, dword [r10 + r8*4]
movzx r8d, r12b
mov dword [rsp + 0xc], edx
mov edx, r12d
mov r8d, dword [r15 + r8*4]
movzx edx, dh
mov r12d, edx
mov edx, dword [rsp + 0x10]
xor ecx, r14d
xor ebx, r8d
xor r8d, ebp
mov ebp, r13d
shr r13d, 0x10
shr ebp, 0x18
xor ebx, r14d
movzx r13d, r13b
xor ebx, dword [r9 + r12*4]
mov r11d, dword [r11 + rbp*4]
mov r14d, dword [rsp + 0xc]
movzx ebp, dh
movzx r12d, byte [rsp + 0x10]
mov r10d, dword [r10 + r13*4]
mov ebp, ebp
xor r14d, r11d
mov r9d, dword [r9 + rbp*4]
mov ebp, dword [rsp + 8]
xor r11d, dword [r15 + r12*4]
xor ecx, r10d
mov edx, r14d
xor r11d, r10d
xor ebp, r9d
mov r10d, esi
shl edx, 8
xor r11d, r9d
mov r9d, edi
xor r10d, ecx
xor r9d, r14d
and r10d, 0xff0000
and r9d, 0xff000000
or r9d, r10d
mov r10d, r8d
xor r10d, r11d
movzx r10d, r10b
or r9d, r10d
mov r10d, ebx
xor r10d, ebp
and r10d, 0xff00
or r9d, r10d
mov r10d, r8d
mov dword [rax + 0x30], r9d
shr r10d, 0x18
mov r9d, edx
mov edx, r14d
xor r9d, esi
xor r10d, edi
movzx r10d, r10b
and r9d, 0xff000000
or r9d, r10d
mov r10d, ecx
shl edx, 0x10
shl r10d, 8
xor r10d, ebx
and r10d, 0xff0000
or r9d, r10d
mov r10d, ebp
shl r10d, 8
xor r10d, r11d
and r10d, 0xff00
or r9d, r10d
mov r10d, r8d
shr r8d, 8
mov dword [rax + 0x34], r9d
shr r10d, 0x10
mov r9d, edx
mov edx, r14d
xor r9d, ebx
xor r10d, esi
shl edx, 0x18
xor r8d, ebx
and r9d, 0xff000000
movzx r10d, r10b
xor edx, r11d
movzx r8d, r8b
or r9d, r10d
mov r10d, ecx
shr ecx, 8
and edx, 0xff000000
shl r10d, 0x10
xor ecx, edi
or edx, r8d
xor r10d, r11d
and ecx, 0xff0000
and r10d, 0xff0000
or r9d, r10d
mov r10d, ebp
shr r10d, 0x10
xor r10d, edi
and r10d, 0xff00
or r9d, r10d
or ecx, edx
shr ebp, 8
xor ebp, esi
mov dword [rax + 0x38], r9d
and ebp, 0xff00
or ecx, ebp
cmp qword [rsp + 0x80], 4
mov dword [rax + 0x3c], ecx
mov ecx, 3
jbe 0x1403ce57d
mov rbx, qword [rsp + 0x78]
mov ebx, dword [rbx]
mov dword [rsp + 8], ebx
mov edx, ebx
bswap edx
add qword [rsp + 0x78], 4
sub qword [rsp + 0x80], 4
mov r10d, dword [rax + 0x38]
mov ebx, dword [rax + 0x18]
lea r15, [0x1407024e0]
xor dword [rax + 0x40], ebx
mov ebx, dword [rax + 0x24]
mov ecx, dword [rax + 0x70]
mov r8d, dword [rax + 0xc]
xor ecx, dword [rax + 0x30]
xor r8d, dword [rax + 0x34]
xor ebx, r8d
xor ecx, r10d
mov esi, dword [rax + 0x28]
mov r9d, dword [rax + 0x3c]
mov dword [rax + 0x70], ecx
mov ecx, ebx
mov edi, dword [rax + 0x2c]
movzx r11d, bl
shr ecx, 0x10
xor esi, r10d
lea r10, [0x140702ce0]
xor dword [rax + 0x50], edx
movzx ecx, cl
xor dword [rax + 0x6c], r8d
xor edi, r9d
mov ebp, dword [r15 + r11*4]
mov dword [rax + 0x34], r8d
mov r8d, dword [r10 + rcx*4]
movzx ecx, bh
lea r11, [0x1407030e0]
xor dword [rax + 0x74], r9d
shr ebx, 0x18
lea r9, [0x1407028e0]
mov ecx, ecx
mov r14d, dword [r9 + rcx*4]
mov ecx, dword [r11 + rbx*4]
xor ecx, ebp
mov ebx, ecx
mov ecx, esi
movzx ecx, ch
xor ebx, r8d
mov r12d, ecx
xor ebx, r14d
mov ecx, r14d
mov r12d, dword [r9 + r12*4]
mov dword [rsp + 8], ebx
mov ebx, esi
shr ebx, 0x18
xor ecx, r12d
mov ebx, dword [r11 + rbx*4]
mov dword [rsp + 0xc], ecx
movzx ecx, sil
shr esi, 0x10
mov ecx, dword [r15 + rcx*4]
movzx esi, sil
mov r13d, ebx
xor r13d, ecx
xor r13d, dword [r10 + rsi*4]
mov esi, edi
shr esi, 0x18
xor r13d, r12d
mov r12d, edi
mov esi, dword [r11 + rsi*4]
shr r12d, 0x10
movzx r12d, r12b
xor ebx, esi
mov dword [rsp + 0x10], ebx
mov r14d, dword [r10 + r12*4]
movzx r12d, dil
mov ebx, edi
mov r12d, dword [r15 + r12*4]
movzx edi, bh
mov ebx, dword [rsp + 0x10]
mov edi, edi
xor r8d, r14d
xor esi, r12d
xor ecx, r12d
xor esi, r14d
xor esi, dword [r9 + rdi*4]
mov edi, edx
xor ecx, ebp
shr edi, 0x18
mov ebp, edx
mov edi, dword [r11 + rdi*4]
xor ebx, edi
shr ebp, 0x10
movzx ebp, bpl
mov r12d, dword [r10 + rbp*4]
movzx ebp, dh
movzx edx, dl
mov ebp, ebp
xor edi, dword [r15 + rdx*4]
mov edx, esi
mov r14d, dword [r9 + rbp*4]
mov ebp, dword [rsp + 0xc]
xor r8d, r12d
xor edi, r12d
mov r12d, r13d
xor ebp, r14d
xor r12d, r8d
xor edi, r14d
mov r14d, ebx
xor edx, ebp
and r12d, 0xff0000
shl r14d, 0x10
and edx, 0xff00
xor r14d, esi
or edx, r12d
mov r12d, dword [rsp + 8]
and r14d, 0xff000000
xor r12d, ebx
and r12d, 0xff000000
or edx, r12d
mov dword [rsp + 0x14], r12d
mov r12d, ecx
mov dword [rsp + 0x18], edx
mov edx, ecx
shr r12d, 0x18
xor r12d, dword [rsp + 8]
xor edx, edi
movzx r12d, r12b
mov dword [rsp + 0x1c], edx
mov edx, ebx
shl edx, 8
xor edx, r13d
and edx, 0xff000000
or edx, r12d
mov r12d, r8d
shl r12d, 8
xor r12d, esi
and r12d, 0xff0000
or edx, r12d
mov r12d, ebp
shl r12d, 8
xor r12d, edi
and r12d, 0xff00
or edx, r12d
mov r12d, ecx
shr r12d, 0x10
shl ebx, 0x18
xor dword [rax + 0x60], edx
xor r12d, r13d
xor ebx, edi
shr ecx, 8
mov dword [rax + 0x28], edx
movzx r12d, r12b
and ebx, 0xff000000
xor ecx, esi
mov esi, dword [rax + 0x1c]
or r14d, r12d
mov r12d, r8d
shr r8d, 8
xor r8d, dword [rsp + 8]
shl r12d, 0x10
and r8d, 0xff0000
movzx ecx, cl
xor r12d, edi
or r8d, ebx
mov ebx, dword [rax + 0x20]
and r12d, 0xff0000
or ecx, r8d
or r14d, r12d
mov r12d, ebp
shr ebp, 8
xor ebp, r13d
mov r13d, dword [rax + 0x18]
shr r12d, 0x10
xor r12d, dword [rsp + 8]
and ebp, 0xff00
and r12d, 0xff00
xor r13d, edx
or ecx, ebp
xor dword [rax + 0x68], ecx
or r12d, r14d
mov edx, r13d
xor ebx, ecx
mov dword [rax + 0x30], ecx
xor esi, r12d
shr edx, 0x10
xor dword [rax + 0x64], r12d
movzx r8d, r13b
movzx edx, dl
mov dword [rax + 0x2c], r12d
movzx r12d, sil
mov ecx, dword [r10 + rdx*4]
mov edx, r13d
shr r13d, 0x18
movzx edx, dh
mov edx, edx
mov edi, dword [r9 + rdx*4]
mov edx, esi
movzx ebp, dh
mov dword [rsp + 0x10], edi
mov edi, dword [r15 + r8*4]
mov ebp, ebp
mov r8d, dword [r11 + r13*4]
mov edx, dword [r15 + r12*4]
mov ebp, dword [r9 + rbp*4]
xor r8d, edi
mov r12d, edx
xor edi, edx
mov edx, dword [rsp + 0x18]
xor r8d, ecx
xor r8d, dword [rsp + 0x10]
mov dword [rsp + 8], r8d
mov r8d, esi
shr esi, 0x10
movzx edx, dh
shr r8d, 0x18
movzx esi, sil
mov r8d, dword [r11 + r8*4]
xor r12d, r8d
xor r12d, dword [r10 + rsi*4]
mov esi, ebx
shr esi, 0x18
xor r12d, ebp
mov r13d, dword [r11 + rsi*4]
mov esi, ebx
mov dword [rsp + 0xc], r12d
shr esi, 0x10
movzx esi, sil
mov r12d, dword [r10 + rsi*4]
movzx esi, bl
mov r14d, dword [r15 + rsi*4]
movzx esi, bh
mov ebx, r13d
mov esi, esi
xor ebx, r14d
xor r14d, edi
mov edi, dword [rsp + 0x18]
xor ebx, r12d
xor ebx, dword [r9 + rsi*4]
mov esi, dword [rsp + 0x14]
shr edi, 0x10
movzx edi, dil
shr esi, 0x18
mov edi, dword [r10 + rdi*4]
mov esi, dword [r11 + rsi*4]
xor ecx, edi
xor r8d, esi
xor ecx, r12d
mov r12d, edx
mov edx, dword [rsp + 0x10]
xor r8d, r13d
mov r12d, dword [r9 + r12*4]
xor edx, ebp
movzx ebp, byte [rsp + 0x1c]
xor edx, r12d
xor esi, dword [r15 + rbp*4]
mov ebp, dword [rsp + 0xc]
xor esi, edi
mov edi, dword [rsp + 8]
xor ebp, ecx
xor esi, r12d
mov r12d, r8d
xor edi, r8d
and ebp, 0xff0000
and edi, 0xff000000
or edi, ebp
mov ebp, r14d
xor ebp, esi
shl r12d, 0x10
movzx ebp, bpl
xor r12d, ebx
or edi, ebp
mov ebp, ecx
and r12d, 0xff000000
mov r13d, edi
mov edi, ebx
shl ebp, 8
xor edi, edx
xor ebp, ebx
and edi, 0xff00
and ebp, 0xff0000
or edi, r13d
mov dword [rsp + 0x10], edi
mov edi, r8d
shl edi, 8
xor edi, dword [rsp + 0xc]
and edi, 0xff000000
or edi, ebp
mov ebp, edx
shl ebp, 8
xor ebp, esi
and ebp, 0xff00
or edi, ebp
mov ebp, r14d
shr ebp, 0x18
xor ebp, dword [rsp + 8]
movzx ebp, bpl
or edi, ebp
mov ebp, ecx
shl ebp, 0x10
mov dword [rax + 0x1c], edi
xor ebp, esi
and ebp, 0xff0000
or r12d, ebp
mov ebp, edx
shr ebp, 0x10
xor ebp, dword [rsp + 8]
and ebp, 0xff00
or r12d, ebp
mov ebp, r14d
shr ebp, 0x10
xor ebp, dword [rsp + 0xc]
movzx ebp, bpl
or ebp, r12d
shl r8d, 0x18
shr ecx, 8
xor r8d, esi
xor ecx, dword [rsp + 8]
shr edx, 8
and r8d, 0xff000000
xor edx, dword [rsp + 0xc]
shr r14d, 8
mov dword [rax + 0x20], ebp
and ecx, 0xff0000
xor r14d, ebx
and edx, 0xff00
or ecx, r8d
movzx r14d, r14b
or edx, ecx
or r14d, edx
mov dword [rax + 0x24], r14d
mov edx, dword [rax + 0xc]
mov ebx, dword [rax + 0x10]
xor dword [rax + 0x54], edi
xor edx, edi
xor dword [rax + 0x58], ebp
mov r12d, dword [rax + 0x14]
mov ecx, edx
xor ebx, ebp
movzx edi, dh
movzx esi, dl
shr ecx, 0x10
shr edx, 0x18
mov ebp, dword [r15 + rsi*4]
mov r8d, edi
movzx esi, bh
mov edi, dword [r11 + rdx*4]
movzx ecx, cl
xor r12d, r14d
mov ecx, dword [r10 + rcx*4]
mov esi, esi
mov r8d, dword [r9 + r8*4]
mov edx, ebx
xor dword [rax + 0x5c], r14d
xor edi, ebp
mov r14d, dword [r9 + rsi*4]
shr edx, 0x18
xor edi, ecx
mov edx, dword [r11 + rdx*4]
xor edi, r8d
xor r8d, r14d
mov dword [rsp + 8], r8d
movzx r8d, bl
shr ebx, 0x10
mov esi, edx
mov r8d, dword [r15 + r8*4]
movzx ebx, bl
xor esi, r8d
xor esi, dword [r10 + rbx*4]
xor esi, r14d
xor ebp, r8d
mov r8d, r12d
shr r8d, 0x18
mov ebx, dword [r11 + r8*4]
mov r8d, r12d
shr r8d, 0x10
movzx r8d, r8b
xor edx, ebx
mov r14d, dword [r10 + r8*4]
movzx r8d, r12b
mov dword [rsp + 0xc], edx
mov edx, r12d
mov r8d, dword [r15 + r8*4]
movzx edx, dh
mov r12d, edx
mov edx, dword [rsp + 0x10]
xor ecx, r14d
xor ebx, r8d
xor r8d, ebp
mov ebp, r13d
shr r13d, 0x10
shr ebp, 0x18
xor ebx, r14d
movzx r13d, r13b
xor ebx, dword [r9 + r12*4]
mov r11d, dword [r11 + rbp*4]
mov r14d, dword [rsp + 0xc]
movzx ebp, dh
movzx r12d, byte [rsp + 0x10]
mov r10d, dword [r10 + r13*4]
mov ebp, ebp
xor r14d, r11d
mov r9d, dword [r9 + rbp*4]
mov ebp, dword [rsp + 8]
xor r11d, dword [r15 + r12*4]
xor ecx, r10d
mov edx, r14d
xor r11d, r10d
xor ebp, r9d
mov r10d, esi
shl edx, 8
xor r11d, r9d
mov r9d, edi
xor r10d, ecx
xor r9d, r14d
and r10d, 0xff0000
and r9d, 0xff000000
or r9d, r10d
mov r10d, r8d
xor r10d, r11d
movzx r10d, r10b
or r9d, r10d
mov r10d, ebx
xor r10d, ebp
and r10d, 0xff00
or r9d, r10d
mov r10d, r8d
mov dword [rax + 0xc], r9d
shr r10d, 0x18
mov r9d, edx
mov edx, r14d
xor r9d, esi
xor r10d, edi
movzx r10d, r10b
and r9d, 0xff000000
or r9d, r10d
mov r10d, ecx
shl edx, 0x10
shl r10d, 8
xor r10d, ebx
and r10d, 0xff0000
or r9d, r10d
mov r10d, ebp
shl r10d, 8
xor r10d, r11d
and r10d, 0xff00
or r9d, r10d
mov r10d, r8d
shr r8d, 8
mov dword [rax + 0x10], r9d
shr r10d, 0x10
mov r9d, edx
mov edx, r14d
xor r9d, ebx
xor r10d, esi
shl edx, 0x18
xor r8d, ebx
and r9d, 0xff000000
movzx r10d, r10b
xor edx, r11d
movzx r8d, r8b
or r9d, r10d
mov r10d, ecx
shr ecx, 8
and edx, 0xff000000
shl r10d, 0x10
xor ecx, edi
or edx, r8d
xor r10d, r11d
and ecx, 0xff0000
and r10d, 0xff0000
or r9d, r10d
mov r10d, ebp
shr r10d, 0x10
xor r10d, edi
and r10d, 0xff00
or r9d, r10d
or ecx, edx
shr ebp, 8
xor ebp, esi
mov dword [rax + 0x14], r9d
and ebp, 0xff00
or ecx, ebp
mov dword [rax + 0x18], ecx
xor ecx, ecx
cmp qword [rsp + 0x80], 4
jbe 0x1403ce57d
mov rbx, qword [rsp + 0x78]
mov ebx, dword [rbx]
mov dword [rsp + 8], ebx
mov edx, ebx
bswap edx
add qword [rsp + 0x78], 4
sub qword [rsp + 0x80], 4
mov r10d, dword [rax + 0x14]
mov ecx, dword [rax + 0x4c]
lea r15, [0x1407024e0]
mov ebx, dword [rax + 0x84]
xor dword [rax + 0x1c], ebx
mov ebx, dword [rax + 0x90]
xor ecx, dword [rax + 0xc]
mov r8d, dword [rax + 0x78]
xor r8d, dword [rax + 0x10]
xor ecx, r10d
xor ebx, r8d
mov esi, dword [rax + 0x94]
mov r9d, dword [rax + 0x18]
mov dword [rax + 0x4c], ecx
mov ecx, ebx
mov edi, dword [rax + 0x98]
xor dword [rax + 0x48], r8d
movzx r11d, bl
shr ecx, 0x10
xor esi, r10d
lea r10, [0x140702ce0]
xor dword [rax + 0x2c], edx
movzx ecx, cl
mov dword [rax + 0x10], r8d
xor edi, r9d
mov ebp, dword [r15 + r11*4]
mov r8d, dword [r10 + rcx*4]
movzx ecx, bh
xor dword [rax + 0x50], r9d
shr ebx, 0x18
lea r9, [0x1407028e0]
lea r11, [0x1407030e0]
mov ecx, ecx
mov r14d, dword [r9 + rcx*4]
mov ecx, dword [r11 + rbx*4]
xor ecx, ebp
mov ebx, ecx
mov ecx, esi
movzx ecx, ch
xor ebx, r8d
mov r12d, ecx
xor ebx, r14d
mov ecx, r14d
mov r12d, dword [r9 + r12*4]
mov dword [rsp + 8], ebx
mov ebx, esi
shr ebx, 0x18
xor ecx, r12d
mov ebx, dword [r11 + rbx*4]
mov dword [rsp + 0xc], ecx
movzx ecx, sil
shr esi, 0x10
mov ecx, dword [r15 + rcx*4]
movzx esi, sil
mov r13d, ebx
xor r13d, ecx
xor r13d, dword [r10 + rsi*4]
mov esi, edi
shr esi, 0x18
xor r13d, r12d
mov r12d, edi
mov esi, dword [r11 + rsi*4]
shr r12d, 0x10
movzx r12d, r12b
xor ebx, esi
mov dword [rsp + 0x10], ebx
mov r14d, dword [r10 + r12*4]
movzx r12d, dil
mov ebx, edi
mov r12d, dword [r15 + r12*4]
movzx edi, bh
mov ebx, dword [rsp + 0x10]
mov edi, edi
xor r8d, r14d
xor esi, r12d
xor ecx, r12d
xor esi, r14d
xor esi, dword [r9 + rdi*4]
mov edi, edx
xor ecx, ebp
shr edi, 0x18
mov ebp, edx
mov edi, dword [r11 + rdi*4]
xor ebx, edi
shr ebp, 0x10
movzx ebp, bpl
mov r12d, dword [r10 + rbp*4]
movzx ebp, dh
movzx edx, dl
mov ebp, ebp
xor edi, dword [r15 + rdx*4]
mov edx, esi
mov r14d, dword [r9 + rbp*4]
mov ebp, dword [rsp + 0xc]
xor r8d, r12d
xor edi, r12d
mov r12d, r13d
xor ebp, r14d
xor r12d, r8d
xor edi, r14d
mov r14d, ebx
xor edx, ebp
and r12d, 0xff0000
shl r14d, 0x10
and edx, 0xff00
xor r14d, esi
or edx, r12d
mov r12d, dword [rsp + 8]
and r14d, 0xff000000
xor r12d, ebx
and r12d, 0xff000000
or edx, r12d
mov dword [rsp + 0x14], r12d
mov r12d, ecx
mov dword [rsp + 0x18], edx
mov edx, ecx
shr r12d, 0x18
xor r12d, dword [rsp + 8]
xor edx, edi
movzx r12d, r12b
mov dword [rsp + 0x1c], edx
mov edx, ebx
shl edx, 8
xor edx, r13d
and edx, 0xff000000
or edx, r12d
mov r12d, r8d
shl r12d, 8
xor r12d, esi
and r12d, 0xff0000
or edx, r12d
mov r12d, ebp
shl r12d, 8
xor r12d, edi
and r12d, 0xff00
or edx, r12d
mov r12d, ecx
shr r12d, 0x10
shl ebx, 0x18
xor dword [rax + 0x3c], edx
xor r12d, r13d
xor ebx, edi
shr ecx, 8
mov dword [rax + 0x94], edx
movzx r12d, r12b
and ebx, 0xff000000
xor ecx, esi
mov esi, dword [rax + 0x88]
or r14d, r12d
mov r12d, r8d
shr r8d, 8
xor r8d, dword [rsp + 8]
shl r12d, 0x10
and r8d, 0xff0000
movzx ecx, cl
xor r12d, edi
or r8d, ebx
mov ebx, dword [rax + 0x8c]
and r12d, 0xff0000
or ecx, r8d
or r14d, r12d
mov r12d, ebp
shr ebp, 8
xor ebp, r13d
mov r13d, dword [rax + 0x84]
shr r12d, 0x10
xor r12d, dword [rsp + 8]
and ebp, 0xff00
and r12d, 0xff00
xor r13d, edx
or ecx, ebp
xor dword [rax + 0x44], ecx
or r12d, r14d
mov edx, r13d
xor ebx, ecx
mov dword [rax + 0xc], ecx
xor esi, r12d
shr edx, 0x10
xor dword [rax + 0x40], r12d
movzx r8d, r13b
movzx edx, dl
mov dword [rax + 0x98], r12d
movzx r12d, sil
mov ecx, dword [r10 + rdx*4]
mov edx, r13d
shr r13d, 0x18
movzx edx, dh
mov edx, edx
mov edi, dword [r9 + rdx*4]
mov edx, esi
movzx ebp, dh
mov dword [rsp + 0x10], edi
mov edi, dword [r15 + r8*4]
mov ebp, ebp
mov r8d, dword [r11 + r13*4]
mov edx, dword [r15 + r12*4]
mov ebp, dword [r9 + rbp*4]
xor r8d, edi
mov r12d, edx
xor edi, edx
mov edx, dword [rsp + 0x18]
xor r8d, ecx
xor r8d, dword [rsp + 0x10]
mov dword [rsp + 8], r8d
mov r8d, esi
shr esi, 0x10
movzx edx, dh
shr r8d, 0x18
movzx esi, sil
mov r8d, dword [r11 + r8*4]
xor r12d, r8d
xor r12d, dword [r10 + rsi*4]
mov esi, ebx
shr esi, 0x18
xor r12d, ebp
mov r13d, dword [r11 + rsi*4]
mov esi, ebx
mov dword [rsp + 0xc], r12d
shr esi, 0x10
movzx esi, sil
mov r12d, dword [r10 + rsi*4]
movzx esi, bl
mov r14d, dword [r15 + rsi*4]
movzx esi, bh
mov ebx, r13d
mov esi, esi
xor ebx, r14d
xor r14d, edi
mov edi, dword [rsp + 0x18]
xor ebx, r12d
xor ebx, dword [r9 + rsi*4]
mov esi, dword [rsp + 0x14]
shr edi, 0x10
movzx edi, dil
shr esi, 0x18
mov edi, dword [r10 + rdi*4]
mov esi, dword [r11 + rsi*4]
xor ecx, edi
xor r8d, esi
xor ecx, r12d
mov r12d, edx
mov edx, dword [rsp + 0x10]
xor r8d, r13d
mov r12d, dword [r9 + r12*4]
xor edx, ebp
movzx ebp, byte [rsp + 0x1c]
xor edx, r12d
xor esi, dword [r15 + rbp*4]
mov ebp, dword [rsp + 0xc]
xor esi, edi
mov edi, dword [rsp + 8]
xor ebp, ecx
xor esi, r12d
mov r12d, r8d
xor edi, r8d
and ebp, 0xff0000
and edi, 0xff000000
or edi, ebp
mov ebp, r14d
xor ebp, esi
shl r12d, 0x10
movzx ebp, bpl
xor r12d, ebx
or edi, ebp
mov ebp, ecx
and r12d, 0xff000000
mov r13d, edi
mov edi, ebx
shl ebp, 8
xor edi, edx
xor ebp, ebx
and edi, 0xff00
and ebp, 0xff0000
or edi, r13d
mov dword [rsp + 0x10], edi
mov edi, r8d
shl edi, 8
xor edi, dword [rsp + 0xc]
and edi, 0xff000000
or edi, ebp
mov ebp, edx
shl ebp, 8
xor ebp, esi
and ebp, 0xff00
or edi, ebp
mov ebp, r14d
shr ebp, 0x18
xor ebp, dword [rsp + 8]
movzx ebp, bpl
or edi, ebp
mov ebp, ecx
shl ebp, 0x10
mov dword [rax + 0x88], edi
xor ebp, esi
and ebp, 0xff0000
or r12d, ebp
mov ebp, edx
shr ebp, 0x10
xor ebp, dword [rsp + 8]
and ebp, 0xff00
or r12d, ebp
mov ebp, r14d
shr ebp, 0x10
xor ebp, dword [rsp + 0xc]
movzx ebp, bpl
or ebp, r12d
shl r8d, 0x18
shr ecx, 8
xor r8d, esi
xor ecx, dword [rsp + 8]
shr edx, 8
and r8d, 0xff000000
xor edx, dword [rsp + 0xc]
and ecx, 0xff0000
shr r14d, 8
or ecx, r8d
xor r14d, ebx
and edx, 0xff00
mov dword [rax + 0x8c], ebp
or edx, ecx
movzx r14d, r14b
or r14d, edx
mov dword [rax + 0x90], r14d
mov edx, dword [rax + 0x78]
mov ebx, dword [rax + 0x7c]
xor dword [rax + 0x30], edi
xor edx, edi
xor dword [rax + 0x34], ebp
mov r12d, dword [rax + 0x80]
mov ecx, edx
xor ebx, ebp
movzx edi, dh
movzx esi, dl
shr ecx, 0x10
shr edx, 0x18
mov ebp, dword [r15 + rsi*4]
mov r8d, edi
movzx esi, bh
mov edi, dword [r11 + rdx*4]
movzx ecx, cl
xor r12d, r14d
mov ecx, dword [r10 + rcx*4]
mov esi, esi
mov r8d, dword [r9 + r8*4]
mov edx, ebx
xor dword [rax + 0x38], r14d
xor edi, ebp
mov r14d, dword [r9 + rsi*4]
shr edx, 0x18
xor edi, ecx
mov edx, dword [r11 + rdx*4]
xor edi, r8d
xor r8d, r14d
mov dword [rsp + 8], r8d
movzx r8d, bl
shr ebx, 0x10
mov esi, edx
mov r8d, dword [r15 + r8*4]
movzx ebx, bl
xor esi, r8d
xor esi, dword [r10 + rbx*4]
xor esi, r14d
xor ebp, r8d
mov r8d, r12d
shr r8d, 0x18
mov ebx, dword [r11 + r8*4]
mov r8d, r12d
shr r8d, 0x10
movzx r8d, r8b
xor edx, ebx
mov r14d, dword [r10 + r8*4]
movzx r8d, r12b
mov dword [rsp + 0xc], edx
mov edx, r12d
mov r8d, dword [r15 + r8*4]
movzx edx, dh
mov r12d, edx
mov edx, dword [rsp + 0x10]
xor ecx, r14d
xor ebx, r8d
xor r8d, ebp
mov ebp, r13d
shr r13d, 0x10
shr ebp, 0x18
xor ebx, r14d
movzx r13d, r13b
xor ebx, dword [r9 + r12*4]
mov r11d, dword [r11 + rbp*4]
mov r14d, dword [rsp + 0xc]
movzx ebp, dh
movzx r12d, byte [rsp + 0x10]
mov r10d, dword [r10 + r13*4]
mov ebp, ebp
xor r14d, r11d
mov r9d, dword [r9 + rbp*4]
mov ebp, dword [rsp + 8]
xor r11d, dword [r15 + r12*4]
xor ecx, r10d
mov edx, r14d
xor r11d, r10d
xor ebp, r9d
mov r10d, esi
shl edx, 8
xor r11d, r9d
mov r9d, edi
xor r10d, ecx
xor r9d, r14d
and r10d, 0xff0000
and r9d, 0xff000000
or r9d, r10d
mov r10d, r8d
xor r10d, r11d
movzx r10d, r10b
or r9d, r10d
mov r10d, ebx
xor r10d, ebp
and r10d, 0xff00
or r9d, r10d
mov r10d, r8d
mov dword [rax + 0x78], r9d
shr r10d, 0x18
mov r9d, edx
mov edx, r14d
xor r9d, esi
xor r10d, edi
movzx r10d, r10b
and r9d, 0xff000000
or r9d, r10d
mov r10d, ecx
shl edx, 0x10
shl r10d, 8
xor r10d, ebx
and r10d, 0xff0000
or r9d, r10d
mov r10d, ebp
shl r10d, 8
xor r10d, r11d
and r10d, 0xff00
or r9d, r10d
mov r10d, r8d
shr r8d, 8
mov dword [rax + 0x7c], r9d
shr r10d, 0x10
mov r9d, edx
mov edx, r14d
xor r9d, ebx
xor r10d, esi
shl edx, 0x18
xor r8d, ebx
and r9d, 0xff000000
movzx r10d, r10b
xor edx, r11d
movzx r8d, r8b
or r9d, r10d
mov r10d, ecx
shr ecx, 8
and edx, 0xff000000
shl r10d, 0x10
xor ecx, edi
or edx, r8d
xor r10d, r11d
and ecx, 0xff0000
and r10d, 0xff0000
or r9d, r10d
mov r10d, ebp
shr r10d, 0x10
xor r10d, edi
and r10d, 0xff00
or r9d, r10d
or ecx, edx
shr ebp, 8
xor ebp, esi
mov dword [rax + 0x80], r9d
and ebp, 0xff00
or ecx, ebp
cmp qword [rsp + 0x80], 4
mov dword [rax + 0x84], ecx
mov ecx, 1
jbe 0x1403ce57d
mov rbx, qword [rsp + 0x78]
mov ebx, dword [rbx]
mov dword [rsp + 8], ebx
mov edx, ebx
bswap edx
add qword [rsp + 0x78], 4
sub qword [rsp + 0x80], 4
jmp 0x1403cca56
mov ebx, dword [rsp + 0x80]
xor r8d, r8d
xor edx, edx
mov dword [rax + 4], ebx
cmp r8, qword [rsp + 0x80]
je 0x1403ce5ab
mov rbx, qword [rsp + 0x78]
shl edx, 8
movzx r9d, byte [rbx + r8]
inc r8
or edx, r9d
jmp 0x1403ce58c
mov dword [rax], edx
mov dword [rax + 8], ecx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret