Function at 0x1401c542b
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, 0x38
mov r10d, dword [rcx + 4]
mov qword [rsp + 0x88], rdx
mov rax, rcx
mov rsi, r8
lea rdx, [r8*8]
mov qword [rsp + 0x90], r8
add qword [rcx + 0xa0], rdx
mov edx, dword [rcx]
cmp r10d, 3
ja 0x1401c54c6
mov ecx, 4
sub ecx, r10d
mov r8d, ecx
cmp rsi, r8
cmovb ecx, dword [rsp + 0x90]
xor r9d, r9d
mov r8d, ecx
cmp r8, r9
je 0x1401c54a5
mov rsi, qword [rsp + 0x88]
shl edx, 8
movzx r11d, byte [rsi + r9]
inc r9
or edx, r11d
jmp 0x1401c5488
sub qword [rsp + 0x90], r8
je 0x1401c54b9
add qword [rsp + 0x88], r8
jmp 0x1401c54c6
add ecx, r10d
mov dword [rax], edx
mov dword [rax + 4], ecx
jmp 0x1401c6f7b
mov ecx, dword [rax + 8]
cmp ecx, 1
je 0x1401c5dc4
cmp ecx, 2
je 0x1401c6690
test ecx, ecx
jne 0x1401c6f45
mov ecx, dword [rax + 0xc]
mov r10d, dword [rax + 0x90]
lea r15, [0x140485ac0]
xor dword [rax + 0x64], ecx
mov ecx, dword [rax + 0x6c]
xor ecx, dword [rax + 0x10]
xor dword [rax + 0x48], ecx
xor r10d, ecx
mov r8, qword [rax + 0x14]
mov ebx, dword [rax + 0x94]
mov dword [rax + 0x10], ecx
mov ecx, r10d
xor qword [rax + 0x4c], r8
movzx r9d, r10b
xor ebx, dword [rax + 0x14]
shr ecx, 0x10
lea r8, [0x1404862c0]
mov ebp, dword [r15 + r9*4]
mov esi, dword [rax + 0x2c]
movzx ecx, cl
lea r9, [0x1404866c0]
mov edi, dword [r8 + rcx*4]
mov ecx, r10d
shr r10d, 0x18
xor esi, edx
mov dword [rsp + 0x24], esi
mov esi, dword [rax + 0x78]
mov dword [rsp + 0xc], edi
movzx edi, ch
lea rcx, [0x140485ec0]
mov r11d, dword [rcx + rdi*4]
mov edi, dword [r9 + r10*4]
xor dword [rax + 0x1c], esi
mov esi, dword [rax + 0x84]
xor edi, ebp
xor esi, dword [rax + 0x28]
mov r10d, edi
mov edi, dword [rsp + 0xc]
mov dword [rsp + 0x28], esi
mov esi, dword [rax + 0x98]
xor esi, dword [rax + 0x18]
xor r10d, edi
movzx edi, bh
mov r12d, dword [rcx + rdi*4]
mov r14d, r10d
mov r10d, ebx
xor r14d, r11d
shr r10d, 0x18
xor r11d, r12d
mov r10d, dword [r9 + r10*4]
mov dword [rsp + 0x18], r11d
movzx r11d, bl
shr ebx, 0x10
mov ecx, dword [rsp + 0xc]
mov edi, dword [r15 + r11*4]
movzx r11d, bl
mov ebx, r10d
xor ebx, edi
xor ebx, dword [r8 + r11*4]
mov r11d, esi
xor ebx, r12d
mov r12d, esi
shr r11d, 0x18
shr r12d, 0x10
mov r11d, dword [r9 + r11*4]
movzx r12d, r12b
mov r13d, dword [r8 + r12*4]
movzx r12d, sil
xor r10d, r11d
mov r12d, dword [r15 + r12*4]
xor ecx, r13d
mov dword [rsp + 0xc], ecx
mov ecx, esi
xor r11d, r12d
xor edi, r12d
movzx esi, ch
lea rcx, [0x140485ec0]
xor r11d, r13d
xor edi, ebp
xor r11d, dword [rcx + rsi*4]
mov esi, edx
mov r13d, edi
mov edi, edx
shr esi, 0x18
movzx ebp, dh
mov ecx, dword [rsp + 0xc]
movzx edx, dl
mov esi, dword [r9 + rsi*4]
lea r12, [0x140485ec0]
mov r12d, dword [r12 + rbp*4]
mov ebp, dword [rsp + 0x18]
xor r10d, esi
shr edi, 0x10
xor esi, dword [r15 + rdx*4]
mov edx, r11d
movzx edi, dil
xor ebp, r12d
mov edi, dword [r8 + rdi*4]
xor edx, ebp
and edx, 0xff00
xor ecx, edi
xor esi, edi
mov edi, ebx
xor edi, ecx
xor esi, r12d
mov r12d, r13d
and edi, 0xff0000
or edx, edi
mov edi, r14d
xor edi, r10d
and edi, 0xff000000
mov dword [rsp + 0x1c], edi
or edi, edx
mov edx, r13d
mov dword [rsp + 0x20], edi
mov edi, r13d
shr edx, 0x18
xor edi, esi
xor edx, r14d
mov dword [rsp + 0x2c], edi
mov edi, r10d
movzx edx, dl
shl edi, 8
xor edi, ebx
and edi, 0xff000000
or edi, edx
mov edx, ecx
shl edx, 8
xor edx, r11d
and edx, 0xff0000
or edi, edx
mov edx, ebp
shl edx, 8
xor edx, esi
and edx, 0xff00
or edi, edx
mov edx, r10d
shl edx, 0x10
mov dword [rax + 0x94], edi
xor edx, r11d
and edx, 0xff000000
shr r12d, 0x10
xor dword [rax + 0x3c], edi
shl r10d, 0x18
xor r12d, ebx
shr r13d, 8
movzx r12d, r12b
xor r10d, esi
xor r13d, r11d
or edx, r12d
mov r12d, ecx
shr ecx, 8
movzx r13d, r13b
shl r12d, 0x10
xor ecx, r14d
and r10d, 0xff000000
xor r12d, esi
and ecx, 0xff0000
mov esi, dword [rax + 0x8c]
and r12d, 0xff0000
or ecx, r10d
mov r10d, dword [rax + 0x84]
or edx, r12d
mov r12d, ebp
shr ebp, 8
or r13d, ecx
shr r12d, 0x10
xor ebp, ebx
mov ebx, dword [rax + 0x88]
xor r10d, edi
xor r12d, r14d
and ebp, 0xff00
lea r14, [0x140485ec0]
movzx r11d, r10b
and r12d, 0xff00
or r13d, ebp
xor dword [rax + 0x44], r13d
or edx, r12d
xor dword [rax + 0x40], edx
xor esi, r13d
xor ebx, edx
mov dword [rax + 0x98], edx
mov edx, r10d
shr edx, 0x10
mov dword [rax + 0xc], r13d
movzx ebp, bh
movzx edx, dl
mov ecx, dword [r8 + rdx*4]
mov edx, r10d
shr r10d, 0x18
movzx edx, dh
mov edi, dword [r14 + rdx*4]
mov dword [rsp + 0xc], edi
mov edi, dword [r15 + r11*4]
movzx r11d, bl
mov edx, dword [r9 + r10*4]
mov r11d, dword [r15 + r11*4]
mov ebp, dword [r14 + rbp*4]
xor edx, edi
mov dword [rsp + 0x18], r11d
mov r10d, edx
mov edx, dword [rsp + 0xc]
xor r10d, ecx
xor r10d, edx
mov edx, esi
mov r13d, r10d
mov r10d, ebx
shr ebx, 0x10
shr r10d, 0x18
movzx r11d, bl
mov ebx, dword [rsp + 0x18]
mov r10d, dword [r9 + r10*4]
xor ebx, r10d
xor ebx, dword [r8 + r11*4]
mov r11d, esi
shr r11d, 0x18
xor ebx, ebp
mov r11d, dword [r9 + r11*4]
mov dword [rsp + 0x10], r11d
mov r11d, esi
shr r11d, 0x10
movzx r11d, r11b
mov r12d, dword [r8 + r11*4]
movzx r11d, sil
movzx esi, dh
lea rdx, [0x140485ec0]
mov r14d, dword [r15 + r11*4]
mov r11d, dword [rsp + 0x10]
xor r11d, r14d
xor r11d, r12d
xor r11d, dword [rdx + rsi*4]
mov esi, dword [rsp + 0x18]
mov edx, dword [rsp + 0x20]
xor edi, esi
mov esi, dword [rsp + 0x1c]
xor r14d, edi
mov edi, dword [rsp + 0x10]
movzx edx, dh
shr esi, 0x18
mov esi, dword [r9 + rsi*4]
xor r10d, esi
xor r10d, edi
mov edi, dword [rsp + 0x20]
shr edi, 0x10
movzx edi, dil
mov edi, dword [r8 + rdi*4]
xor ecx, edi
xor ecx, r12d
mov r12, rdx
lea rdx, [0x140485ec0]
mov r12d, dword [rdx + r12*4]
mov edx, dword [rsp + 0xc]
xor edx, ebp
movzx ebp, byte [rsp + 0x2c]
xor edx, r12d
xor esi, dword [r15 + rbp*4]
mov ebp, r13d
xor ebp, r10d
xor esi, edi
mov dword [rsp + 0x18], ebp
mov ebp, ebx
xor esi, r12d
mov r12d, r10d
xor ebp, ecx
mov dword [rsp + 0x10], ebp
mov ebp, r14d
xor ebp, esi
mov dword [rsp + 0x1c], ebp
mov ebp, r11d
xor ebp, edx
mov dword [rsp + 0x20], ebp
mov ebp, r10d
shl ebp, 8
mov edi, ebp
mov ebp, ecx
xor edi, ebx
shl ebp, 8
xor ebp, r11d
and edi, 0xff000000
shl r12d, 0x10
and ebp, 0xff0000
xor r12d, r11d
shl r10d, 0x18
or edi, ebp
mov ebp, edx
and r12d, 0xff000000
xor r10d, esi
shl ebp, 8
and r10d, 0xff000000
xor ebp, esi
and ebp, 0xff00
or edi, ebp
mov ebp, r14d
shr ebp, 0x18
xor ebp, r13d
movzx ebp, bpl
or edi, ebp
mov ebp, ecx
shr ecx, 8
shl ebp, 0x10
xor ecx, r13d
mov dword [rax + 0x88], edi
xor ebp, esi
and ebp, 0xff0000
or r12d, ebp
mov ebp, edx
shr ebp, 0x10
xor ebp, r13d
and ebp, 0xff00
or r12d, ebp
mov ebp, r14d
shr ebp, 0x10
xor ebp, ebx
movzx ebp, bpl
or ebp, r12d
and ecx, 0xff0000
shr edx, 8
xor edx, ebx
shr r14d, 8
or ecx, r10d
mov dword [rax + 0x8c], ebp
xor r14d, r11d
and edx, 0xff00
or edx, ecx
movzx r14d, r14b
or edx, r14d
mov dword [rax + 0x90], edx
mov r11d, dword [rax + 0x78]
xor dword [rax + 0x30], edi
mov r12d, dword [rax + 0x80]
xor r11d, edi
lea rdi, [0x140485ec0]
xor dword [rax + 0x38], edx
mov ebx, dword [rax + 0x7c]
mov ecx, r11d
mov esi, r11d
xor r12d, edx
xor dword [rax + 0x34], ebp
movzx ecx, ch
shr esi, 0x10
xor ebx, ebp
mov r10d, dword [rdi + rcx*4]
movzx ecx, r11b
shr r11d, 0x18
movzx edx, sil
mov ecx, dword [r15 + rcx*4]
mov esi, dword [r9 + r11*4]
mov edx, dword [r8 + rdx*4]
xor esi, ecx
mov r11d, esi
movzx esi, bh
xor r11d, edx
mov edi, dword [rdi + rsi*4]
movzx esi, bl
mov r14d, r11d
mov r11d, ebx
mov esi, dword [r15 + rsi*4]
shr ebx, 0x10
shr r11d, 0x18
movzx ebx, bl
xor r14d, r10d
xor r10d, edi
mov r11d, dword [r9 + r11*4]
xor ecx, esi
mov r13d, r11d
xor r13d, esi
xor r13d, dword [r8 + rbx*4]
mov ebx, r12d
shr ebx, 0x18
xor r13d, edi
mov esi, dword [r9 + rbx*4]
mov ebx, r12d
shr ebx, 0x10
movzx ebx, bl
xor r11d, esi
mov edi, dword [r8 + rbx*4]
movzx ebx, r12b
mov ebx, dword [r15 + rbx*4]
xor edx, edi
xor esi, ebx
mov dword [rsp + 0xc], edx
mov edx, r12d
xor esi, edi
xor ecx, ebx
mov ebx, dword [rsp + 0x18]
movzx ebp, dh
lea rdi, [0x140485ec0]
mov edx, dword [rsp + 0xc]
shr ebx, 0x18
xor esi, dword [rdi + rbp*4]
lea rbp, [0x140485ec0]
mov edi, dword [r9 + rbx*4]
mov rbx, qword [rsp + 0x10]
shr rbx, 0x10
xor r11d, edi
and ebx, 0xff
mov r12d, dword [r8 + rbx*4]
mov ebx, dword [rsp + 0x20]
movzx ebx, bh
xor edx, r12d
mov ebp, dword [rbp + rbx*4]
movzx ebx, byte [rsp + 0x1c]
xor edi, dword [r15 + rbx*4]
mov ebx, r14d
xor r10d, ebp
xor ebx, r11d
xor edi, r12d
mov r12d, r11d
mov dword [rsp + 0x18], ebx
mov ebx, r13d
xor edi, ebp
mov ebp, ecx
shr ebp, 0x18
xor ebx, edx
shl r12d, 0x10
mov dword [rsp + 0x10], ebx
mov ebx, ecx
xor ebp, r14d
xor r12d, esi
xor ebx, edi
movzx ebp, bpl
mov dword [rsp + 0x1c], ebx
mov ebx, esi
xor ebx, r10d
mov dword [rsp + 0x20], ebx
mov ebx, r11d
shl ebx, 8
xor ebx, r13d
and ebx, 0xff000000
or ebx, ebp
mov ebp, edx
shl ebp, 8
xor ebp, esi
and ebp, 0xff0000
or ebx, ebp
mov ebp, r10d
shl ebp, 8
xor ebp, edi
and ebp, 0xff00
or ebx, ebp
mov ebp, ecx
and r12d, 0xff000000
shl r11d, 0x18
shr ebp, 0x10
shr ecx, 8
xor r11d, edi
xor dword [rax + 0x24], ebx
xor ebp, r13d
xor ecx, esi
and r11d, 0xff000000
mov dword [rax + 0x7c], ebx
movzx ebp, bpl
movzx ecx, cl
or r12d, ebp
mov ebp, edx
shr edx, 8
or ecx, r11d
shl ebp, 0x10
xor edx, r14d
mov r11d, dword [rax + 0x70]
xor ebp, edi
and edx, 0xff0000
and ebp, 0xff0000
or edx, ecx
mov ecx, dword [rsp + 0x28]
or r12d, ebp
mov ebp, r10d
shr r10d, 8
shr ebp, 0x10
xor r10d, r13d
xor ebp, r14d
and r10d, 0xff00
lea r14, [0x140485ec0]
and ebp, 0xff00
or r10d, edx
mov edx, dword [rax + 0x6c]
or ebp, r12d
mov r12d, dword [rax + 0x74]
mov dword [rax + 0x84], r10d
xor ecx, ebp
xor edx, ebx
xor r11d, ebp
mov dword [rax + 0x80], ebp
mov dword [rax + 0x28], ecx
mov ecx, dword [rsp + 0x24]
xor r12d, r10d
movzx ebx, dl
mov ebp, dword [r15 + rbx*4]
mov ebx, r11d
xor ecx, r10d
movzx ebx, bh
mov dword [rax + 0x2c], ecx
mov ecx, edx
mov r13d, dword [r14 + rbx*4]
movzx ebx, r11b
shr ecx, 0x10
mov ebx, dword [r15 + rbx*4]
movzx ecx, cl
mov r10d, dword [r8 + rcx*4]
movzx ecx, dh
shr edx, 0x18
mov edi, dword [r9 + rdx*4]
mov edx, r11d
shr r11d, 0x10
mov ecx, dword [r14 + rcx*4]
shr edx, 0x18
movzx r11d, r11b
mov edx, dword [r9 + rdx*4]
xor edi, ebp
xor ebp, ebx
xor edi, r10d
mov esi, edx
xor edi, ecx
xor ecx, r13d
xor esi, ebx
xor esi, dword [r8 + r11*4]
mov r11d, r12d
mov dword [rsp + 0xc], ecx
shr r11d, 0x18
xor esi, r13d
mov ecx, r12d
mov ebx, dword [r9 + r11*4]
mov r11d, r12d
movzx ecx, ch
shr r11d, 0x10
movzx r11d, r11b
xor edx, ebx
mov r13d, dword [r8 + r11*4]
movzx r11d, r12b
mov r11d, dword [r15 + r11*4]
xor r10d, r13d
xor ebx, r11d
xor r11d, ebp
mov ebp, dword [rsp + 0x18]
xor ebx, r13d
xor ebx, dword [r14 + rcx*4]
mov ecx, dword [rsp + 0x20]
shr ebp, 0x18
mov r9d, dword [r9 + rbp*4]
mov rbp, qword [rsp + 0x10]
shr rbp, 0x10
xor edx, r9d
and ebp, 0xff
mov r8d, dword [r8 + rbp*4]
movzx ebp, ch
mov ebp, dword [r14 + rbp*4]
movzx r12d, byte [rsp + 0x1c]
mov ecx, dword [rsp + 0xc]
xor r10d, r8d
xor r9d, dword [r15 + r12*4]
xor r9d, r8d
xor ecx, ebp
mov r8d, edi
xor r9d, ebp
mov ebp, esi
xor r8d, edx
xor ebp, r10d
and r8d, 0xff000000
and ebp, 0xff0000
or r8d, ebp
mov ebp, r11d
xor ebp, r9d
movzx ebp, bpl
or r8d, ebp
mov ebp, ebx
xor ebp, ecx
and ebp, 0xff00
or r8d, ebp
mov ebp, r11d
mov dword [rax + 0x6c], r8d
mov r8d, edx
shr ebp, 0x18
shl r8d, 8
xor ebp, edi
xor r8d, esi
movzx ebp, bpl
and r8d, 0xff000000
or r8d, ebp
mov ebp, r10d
shl ebp, 8
xor ebp, ebx
and ebp, 0xff0000
or r8d, ebp
mov ebp, ecx
shl ebp, 8
xor ebp, r9d
and ebp, 0xff00
or r8d, ebp
mov ebp, r11d
mov dword [rax + 0x70], r8d
mov r8d, edx
shr ebp, 0x10
shl r8d, 0x10
xor ebp, esi
xor r8d, ebx
movzx ebp, bpl
and r8d, 0xff000000
or r8d, ebp
mov ebp, r10d
shl ebp, 0x10
xor ebp, r9d
and ebp, 0xff0000
or r8d, ebp
mov ebp, ecx
shr ebp, 0x10
xor ebp, edi
shl edx, 0x18
shr r11d, 8
xor edx, r9d
shr ecx, 8
and ebp, 0xff00
xor r11d, ebx
shr r10d, 8
and edx, 0xff000000
xor ecx, esi
xor r10d, edi
movzx r11d, r11b
and ecx, 0xff00
or r8d, ebp
or edx, r11d
and r10d, 0xff0000
mov dword [rax + 0x74], r8d
or r10d, edx
or r10d, ecx
mov ecx, 1
cmp qword [rsp + 0x90], 4
mov dword [rax + 0x78], r10d
jbe 0x1401c6f45
mov rsi, qword [rsp + 0x88]
mov esi, dword [rsi]
mov dword [rsp + 0xc], esi
mov edx, esi
bswap edx
add qword [rsp + 0x88], 4
sub qword [rsp + 0x90], 4
mov r10d, dword [rax + 0x60]
mov ecx, dword [rax + 0x6c]
lea r15, [0x140485ac0]
xor dword [rax + 0x34], ecx
mov ecx, dword [rax + 0x3c]
xor ecx, dword [rax + 0x70]
xor dword [rax + 0x18], ecx
xor r10d, ecx
mov r8, qword [rax + 0x74]
mov ebx, dword [rax + 0x64]
mov dword [rax + 0x70], ecx
mov ecx, r10d
xor qword [rax + 0x1c], r8
movzx r9d, r10b
xor ebx, dword [rax + 0x74]
shr ecx, 0x10
mov ebp, dword [r15 + r9*4]
lea r8, [0x1404862c0]
lea r9, [0x1404866c0]
movzx ecx, cl
mov esi, dword [rax + 0x8c]
mov edi, dword [r8 + rcx*4]
mov ecx, r10d
shr r10d, 0x18
xor esi, edx
mov dword [rsp + 0xc], edi
movzx edi, ch
lea rcx, [0x140485ec0]
mov r11d, dword [rcx + rdi*4]
mov edi, dword [r9 + r10*4]
mov dword [rsp + 0x24], esi
mov esi, dword [rax + 0x48]
xor dword [rax + 0x7c], esi
xor edi, ebp
mov esi, dword [rax + 0x54]
xor esi, dword [rax + 0x88]
mov r10d, edi
mov edi, dword [rsp + 0xc]
mov dword [rsp + 0x28], esi
mov esi, dword [rax + 0x68]
xor esi, dword [rax + 0x78]
xor r10d, edi
movzx edi, bh
mov r12d, dword [rcx + rdi*4]
mov r14d, r10d
mov r10d, ebx
xor r14d, r11d
shr r10d, 0x18
xor r11d, r12d
mov r10d, dword [r9 + r10*4]
mov dword [rsp + 0x18], r11d
movzx r11d, bl
shr ebx, 0x10
mov ecx, dword [rsp + 0xc]
mov edi, dword [r15 + r11*4]
movzx r11d, bl
mov ebx, r10d
xor ebx, edi
xor ebx, dword [r8 + r11*4]
mov r11d, esi
xor ebx, r12d
mov r12d, esi
shr r11d, 0x18
shr r12d, 0x10
mov r11d, dword [r9 + r11*4]
movzx r12d, r12b
mov r13d, dword [r8 + r12*4]
movzx r12d, sil
xor r10d, r11d
mov r12d, dword [r15 + r12*4]
xor ecx, r13d
mov dword [rsp + 0xc], ecx
mov ecx, esi
xor r11d, r12d
xor edi, r12d
movzx esi, ch
lea rcx, [0x140485ec0]
xor r11d, r13d
xor edi, ebp
xor r11d, dword [rcx + rsi*4]
mov esi, edx
mov r13d, edi
mov edi, edx
shr esi, 0x18
movzx ebp, dh
mov ecx, dword [rsp + 0xc]
movzx edx, dl
mov esi, dword [r9 + rsi*4]
lea r12, [0x140485ec0]
mov r12d, dword [r12 + rbp*4]
mov ebp, dword [rsp + 0x18]
xor r10d, esi
shr edi, 0x10
xor esi, dword [r15 + rdx*4]
mov edx, r11d
movzx edi, dil
xor ebp, r12d
mov edi, dword [r8 + rdi*4]
xor edx, ebp
and edx, 0xff00
xor ecx, edi
xor esi, edi
mov edi, ebx
xor edi, ecx
xor esi, r12d
mov r12d, r13d
and edi, 0xff0000
or edx, edi
mov edi, r14d
xor edi, r10d
and edi, 0xff000000
mov dword [rsp + 0x1c], edi
or edi, edx
mov edx, r13d
mov dword [rsp + 0x20], edi
mov edi, r13d
shr edx, 0x18
xor edi, esi
xor edx, r14d
mov dword [rsp + 0x2c], edi
mov edi, r10d
movzx edx, dl
shl edi, 8
xor edi, ebx
and edi, 0xff000000
or edi, edx
mov edx, ecx
shl edx, 8
xor edx, r11d
and edx, 0xff0000
or edi, edx
mov edx, ebp
shl edx, 8
xor edx, esi
and edx, 0xff00
or edi, edx
mov edx, r10d
shl edx, 0x10
mov dword [rax + 0x64], edi
xor edx, r11d
and edx, 0xff000000
shr r12d, 0x10
xor dword [rax + 0xc], edi
shl r10d, 0x18
xor r12d, ebx
shr r13d, 8
movzx r12d, r12b
xor r10d, esi
xor r13d, r11d
or edx, r12d
mov r12d, ecx
shr ecx, 8
movzx r13d, r13b
shl r12d, 0x10
xor ecx, r14d
and r10d, 0xff000000
xor r12d, esi
and ecx, 0xff0000
mov esi, dword [rax + 0x5c]
and r12d, 0xff0000
or ecx, r10d
mov r10d, dword [rax + 0x54]
or edx, r12d
mov r12d, ebp
shr ebp, 8
or r13d, ecx
shr r12d, 0x10
xor ebp, ebx
mov ebx, dword [rax + 0x58]
xor r10d, edi
xor r12d, r14d
and ebp, 0xff00
lea r14, [0x140485ec0]
movzx r11d, r10b
and r12d, 0xff00
or r13d, ebp
xor dword [rax + 0x14], r13d
or edx, r12d
xor dword [rax + 0x10], edx
xor esi, r13d
xor ebx, edx
mov dword [rax + 0x68], edx
mov edx, r10d
shr edx, 0x10
mov dword [rax + 0x6c], r13d
movzx ebp, bh
movzx edx, dl
mov ecx, dword [r8 + rdx*4]
mov edx, r10d
shr r10d, 0x18
movzx edx, dh
mov edi, dword [r14 + rdx*4]
mov dword [rsp + 0xc], edi
mov edi, dword [r15 + r11*4]
movzx r11d, bl
mov edx, dword [r9 + r10*4]
mov r11d, dword [r15 + r11*4]
mov ebp, dword [r14 + rbp*4]
xor edx, edi
mov dword [rsp + 0x18], r11d
mov r10d, edx
mov edx, dword [rsp + 0xc]
xor r10d, ecx
xor r10d, edx
mov edx, esi
mov r13d, r10d
mov r10d, ebx
shr ebx, 0x10
shr r10d, 0x18
movzx r11d, bl
mov ebx, dword [rsp + 0x18]
mov r10d, dword [r9 + r10*4]
xor ebx, r10d
xor ebx, dword [r8 + r11*4]
mov r11d, esi
shr r11d, 0x18
xor ebx, ebp
mov r11d, dword [r9 + r11*4]
mov dword [rsp + 0x10], r11d
mov r11d, esi
shr r11d, 0x10
movzx r11d, r11b
mov r12d, dword [r8 + r11*4]
movzx r11d, sil
movzx esi, dh
lea rdx, [0x140485ec0]
mov r14d, dword [r15 + r11*4]
mov r11d, dword [rsp + 0x10]
xor r11d, r14d
xor r11d, r12d
xor r11d, dword [rdx + rsi*4]
mov esi, dword [rsp + 0x18]
mov edx, dword [rsp + 0x20]
xor edi, esi
mov esi, dword [rsp + 0x1c]
xor r14d, edi
mov edi, dword [rsp + 0x10]
movzx edx, dh
shr esi, 0x18
mov esi, dword [r9 + rsi*4]
xor r10d, esi
xor r10d, edi
mov edi, dword [rsp + 0x20]
shr edi, 0x10
movzx edi, dil
mov edi, dword [r8 + rdi*4]
xor ecx, edi
xor ecx, r12d
mov r12, rdx
lea rdx, [0x140485ec0]
mov r12d, dword [rdx + r12*4]
mov edx, dword [rsp + 0xc]
xor edx, ebp
movzx ebp, byte [rsp + 0x2c]
xor edx, r12d
xor esi, dword [r15 + rbp*4]
mov ebp, r13d
xor ebp, r10d
xor esi, edi
mov dword [rsp + 0x18], ebp
mov ebp, ebx
xor esi, r12d
mov r12d, r10d
xor ebp, ecx
mov dword [rsp + 0x10], ebp
mov ebp, r14d
xor ebp, esi
mov dword [rsp + 0x1c], ebp
mov ebp, r11d
xor ebp, edx
mov dword [rsp + 0x20], ebp
mov ebp, r10d
shl ebp, 8
mov edi, ebp
mov ebp, ecx
xor edi, ebx
shl ebp, 8
xor ebp, r11d
and edi, 0xff000000
shl r12d, 0x10
and ebp, 0xff0000
xor r12d, r11d
shl r10d, 0x18
or edi, ebp
mov ebp, edx
and r12d, 0xff000000
xor r10d, esi
shl ebp, 8
and r10d, 0xff000000
xor ebp, esi
and ebp, 0xff00
or edi, ebp
mov ebp, r14d
shr ebp, 0x18
xor ebp, r13d
movzx ebp, bpl
or edi, ebp
mov ebp, ecx
shr ecx, 8
shl ebp, 0x10
xor ecx, r13d
mov dword [rax + 0x58], edi
xor ebp, esi
and ebp, 0xff0000
or r12d, ebp
mov ebp, edx
shr ebp, 0x10
xor ebp, r13d
and ebp, 0xff00
or r12d, ebp
mov ebp, r14d
shr ebp, 0x10
xor ebp, ebx
movzx ebp, bpl
or ebp, r12d
and ecx, 0xff0000
shr edx, 8
xor edx, ebx
shr r14d, 8
or ecx, r10d
mov dword [rax + 0x5c], ebp
xor r14d, r11d
and edx, 0xff00
or edx, ecx
movzx r14d, r14b
or edx, r14d
mov dword [rax + 0x60], edx
mov r11d, dword [rax + 0x48]
xor dword [rax + 0x90], edi
mov r12d, dword [rax + 0x50]
xor r11d, edi
lea rdi, [0x140485ec0]
mov ebx, dword [rax + 0x4c]
xor dword [rax + 0x98], edx
mov ecx, r11d
mov esi, r11d
xor r12d, edx
xor dword [rax + 0x94], ebp
movzx ecx, ch
shr esi, 0x10
xor ebx, ebp
mov r10d, dword [rdi + rcx*4]
movzx ecx, r11b
shr r11d, 0x18
movzx edx, sil
mov ecx, dword [r15 + rcx*4]
mov esi, dword [r9 + r11*4]
mov edx, dword [r8 + rdx*4]
xor esi, ecx
mov r11d, esi
movzx esi, bh
xor r11d, edx
mov edi, dword [rdi + rsi*4]
movzx esi, bl
mov r14d, r11d
mov r11d, ebx
mov esi, dword [r15 + rsi*4]
shr ebx, 0x10
shr r11d, 0x18
movzx ebx, bl
xor r14d, r10d
xor r10d, edi
mov r11d, dword [r9 + r11*4]
xor ecx, esi
mov r13d, r11d
xor r13d, esi
xor r13d, dword [r8 + rbx*4]
mov ebx, r12d
shr ebx, 0x18
xor r13d, edi
mov esi, dword [r9 + rbx*4]
mov ebx, r12d
shr ebx, 0x10
movzx ebx, bl
xor r11d, esi
mov edi, dword [r8 + rbx*4]
movzx ebx, r12b
mov ebx, dword [r15 + rbx*4]
xor edx, edi
xor esi, ebx
mov dword [rsp + 0xc], edx
mov edx, r12d
xor esi, edi
xor ecx, ebx
mov ebx, dword [rsp + 0x18]
movzx ebp, dh
lea rdi, [0x140485ec0]
mov edx, dword [rsp + 0xc]
shr ebx, 0x18
xor esi, dword [rdi + rbp*4]
lea rbp, [0x140485ec0]
mov edi, dword [r9 + rbx*4]
mov rbx, qword [rsp + 0x10]
shr rbx, 0x10
xor r11d, edi
and ebx, 0xff
mov r12d, dword [r8 + rbx*4]
mov ebx, dword [rsp + 0x20]
movzx ebx, bh
xor edx, r12d
mov ebp, dword [rbp + rbx*4]
movzx ebx, byte [rsp + 0x1c]
xor edi, dword [r15 + rbx*4]
mov ebx, r14d
xor r10d, ebp
xor ebx, r11d
xor edi, r12d
mov r12d, r11d
mov dword [rsp + 0x18], ebx
mov ebx, r13d
xor edi, ebp
mov ebp, ecx
shr ebp, 0x18
xor ebx, edx
shl r12d, 0x10
mov dword [rsp + 0x10], ebx
mov ebx, ecx
xor ebp, r14d
xor r12d, esi
xor ebx, edi
movzx ebp, bpl
mov dword [rsp + 0x1c], ebx
mov ebx, esi
xor ebx, r10d
mov dword [rsp + 0x20], ebx
mov ebx, r11d
shl ebx, 8
xor ebx, r13d
and ebx, 0xff000000
or ebx, ebp
mov ebp, edx
shl ebp, 8
xor ebp, esi
and ebp, 0xff0000
or ebx, ebp
mov ebp, r10d
shl ebp, 8
xor ebp, edi
and ebp, 0xff00
or ebx, ebp
mov ebp, ecx
and r12d, 0xff000000
shl r11d, 0x18
shr ebp, 0x10
shr ecx, 8
xor r11d, edi
xor dword [rax + 0x84], ebx
xor ebp, r13d
xor ecx, esi
and r11d, 0xff000000
mov dword [rax + 0x4c], ebx
movzx ebp, bpl
movzx ecx, cl
or r12d, ebp
mov ebp, edx
shr edx, 8
or ecx, r11d
shl ebp, 0x10
xor edx, r14d
mov r11d, dword [rax + 0x40]
xor ebp, edi
and edx, 0xff0000
and ebp, 0xff0000
or edx, ecx
mov ecx, dword [rsp + 0x28]
or r12d, ebp
mov ebp, r10d
shr r10d, 8
shr ebp, 0x10
xor r10d, r13d
xor ebp, r14d
and r10d, 0xff00
lea r14, [0x140485ec0]
and ebp, 0xff00
or r10d, edx
mov edx, dword [rax + 0x3c]
or ebp, r12d
mov r12d, dword [rax + 0x44]
mov dword [rax + 0x54], r10d
xor ecx, ebp
xor edx, ebx
xor r11d, ebp
mov dword [rax + 0x50], ebp
mov dword [rax + 0x88], ecx
mov ecx, dword [rsp + 0x24]
xor r12d, r10d
movzx ebx, dl
mov ebp, dword [r15 + rbx*4]
mov ebx, r11d
xor ecx, r10d
movzx ebx, bh
mov dword [rax + 0x8c], ecx
mov ecx, edx
mov r13d, dword [r14 + rbx*4]
movzx ebx, r11b
shr ecx, 0x10
mov ebx, dword [r15 + rbx*4]
movzx ecx, cl
mov r10d, dword [r8 + rcx*4]
movzx ecx, dh
shr edx, 0x18
mov edi, dword [r9 + rdx*4]
mov edx, r11d
shr r11d, 0x10
mov ecx, dword [r14 + rcx*4]
shr edx, 0x18
movzx r11d, r11b
mov edx, dword [r9 + rdx*4]
xor edi, ebp
xor ebp, ebx
xor edi, r10d
mov esi, edx
xor edi, ecx
xor ecx, r13d
xor esi, ebx
xor esi, dword [r8 + r11*4]
mov r11d, r12d
mov dword [rsp + 0xc], ecx
shr r11d, 0x18
xor esi, r13d
mov ecx, r12d
mov ebx, dword [r9 + r11*4]
mov r11d, r12d
movzx ecx, ch
shr r11d, 0x10
movzx r11d, r11b
xor edx, ebx
mov r13d, dword [r8 + r11*4]
movzx r11d, r12b
mov r11d, dword [r15 + r11*4]
xor r10d, r13d
xor ebx, r11d
xor r11d, ebp
mov ebp, dword [rsp + 0x18]
xor ebx, r13d
xor ebx, dword [r14 + rcx*4]
mov ecx, dword [rsp + 0x20]
shr ebp, 0x18
mov r9d, dword [r9 + rbp*4]
mov rbp, qword [rsp + 0x10]
shr rbp, 0x10
xor edx, r9d
and ebp, 0xff
mov r8d, dword [r8 + rbp*4]
movzx ebp, ch
mov ebp, dword [r14 + rbp*4]
movzx r12d, byte [rsp + 0x1c]
mov ecx, dword [rsp + 0xc]
xor r10d, r8d
xor r9d, dword [r15 + r12*4]
xor r9d, r8d
xor ecx, ebp
mov r8d, edi
xor r9d, ebp
mov ebp, esi
xor r8d, edx
xor ebp, r10d
and r8d, 0xff000000
and ebp, 0xff0000
or r8d, ebp
mov ebp, r11d
xor ebp, r9d
movzx ebp, bpl
or r8d, ebp
mov ebp, ebx
xor ebp, ecx
and ebp, 0xff00
or r8d, ebp
mov ebp, r11d
mov dword [rax + 0x3c], r8d
mov r8d, edx
shr ebp, 0x18
shl r8d, 8
xor ebp, edi
xor r8d, esi
movzx ebp, bpl
and r8d, 0xff000000
or r8d, ebp
mov ebp, r10d
shl ebp, 8
xor ebp, ebx
and ebp, 0xff0000
or r8d, ebp
mov ebp, ecx
shl ebp, 8
xor ebp, r9d
and ebp, 0xff00
or r8d, ebp
mov ebp, r11d
mov dword [rax + 0x40], r8d
mov r8d, edx
shr ebp, 0x10
shl r8d, 0x10
xor ebp, esi
xor r8d, ebx
movzx ebp, bpl
and r8d, 0xff000000
or r8d, ebp
mov ebp, r10d
shl ebp, 0x10
xor ebp, r9d
and ebp, 0xff0000
or r8d, ebp
mov ebp, ecx
shr ebp, 0x10
xor ebp, edi
shl edx, 0x18
shr r11d, 8
xor edx, r9d
shr ecx, 8
and ebp, 0xff00
xor r11d, ebx
shr r10d, 8
and edx, 0xff000000
xor ecx, esi
xor r10d, edi
movzx r11d, r11b
and ecx, 0xff00
or r8d, ebp
or edx, r11d
and r10d, 0xff0000
mov dword [rax + 0x44], r8d
or r10d, edx
or r10d, ecx
mov ecx, 2
cmp qword [rsp + 0x90], 4
mov dword [rax + 0x48], r10d
jbe 0x1401c6f45
mov rsi, qword [rsp + 0x88]
mov esi, dword [rsi]
mov dword [rsp + 0xc], esi
mov edx, esi
bswap edx
add qword [rsp + 0x88], 4
sub qword [rsp + 0x90], 4
mov r10d, dword [rax + 0x30]
mov ecx, dword [rax + 0x3c]
lea r15, [0x140485ac0]
xor dword [rax + 0x94], ecx
mov ecx, dword [rax + 0xc]
xor ecx, dword [rax + 0x40]
xor dword [rax + 0x78], ecx
xor r10d, ecx
mov r8, qword [rax + 0x44]
mov ebx, dword [rax + 0x34]
mov dword [rax + 0x40], ecx
mov ecx, r10d
xor qword [rax + 0x7c], r8
movzx r9d, r10b
xor ebx, dword [rax + 0x44]
shr ecx, 0x10
lea r8, [0x1404862c0]
mov ebp, dword [r15 + r9*4]
mov esi, dword [rax + 0x5c]
movzx ecx, cl
lea r9, [0x1404866c0]
mov edi, dword [r8 + rcx*4]
mov ecx, r10d
shr r10d, 0x18
xor esi, edx
mov dword [rsp + 0x24], esi
mov esi, dword [rax + 0x18]
mov dword [rsp + 0xc], edi
movzx edi, ch
lea rcx, [0x140485ec0]
mov r11d, dword [rcx + rdi*4]
mov edi, dword [r9 + r10*4]
xor dword [rax + 0x4c], esi
mov esi, dword [rax + 0x24]
xor edi, ebp
xor esi, dword [rax + 0x58]
mov r10d, edi
mov edi, dword [rsp + 0xc]
mov dword [rsp + 0x28], esi
mov esi, dword [rax + 0x38]
xor esi, dword [rax + 0x48]
xor r10d, edi
movzx edi, bh
mov r12d, dword [rcx + rdi*4]
mov r14d, r10d
mov r10d, ebx
xor r14d, r11d
shr r10d, 0x18
xor r11d, r12d
mov r10d, dword [r9 + r10*4]
mov dword [rsp + 0x18], r11d
movzx r11d, bl
shr ebx, 0x10
mov ecx, dword [rsp + 0xc]
mov edi, dword [r15 + r11*4]
movzx r11d, bl
mov ebx, r10d
xor ebx, edi
xor ebx, dword [r8 + r11*4]
mov r11d, esi
xor ebx, r12d
mov r12d, esi
shr r11d, 0x18
shr r12d, 0x10
mov r11d, dword [r9 + r11*4]
movzx r12d, r12b
mov r13d, dword [r8 + r12*4]
movzx r12d, sil
xor r10d, r11d
mov r12d, dword [r15 + r12*4]
xor ecx, r13d
mov dword [rsp + 0xc], ecx
mov ecx, esi
xor r11d, r12d
xor edi, r12d
movzx esi, ch
lea rcx, [0x140485ec0]
xor r11d, r13d
xor edi, ebp
xor r11d, dword [rcx + rsi*4]
mov esi, edx
mov r13d, edi
mov edi, edx
shr esi, 0x18
movzx ebp, dh
mov ecx, dword [rsp + 0xc]
movzx edx, dl
mov esi, dword [r9 + rsi*4]
lea r12, [0x140485ec0]
mov r12d, dword [r12 + rbp*4]
mov ebp, dword [rsp + 0x18]
xor r10d, esi
shr edi, 0x10
xor esi, dword [r15 + rdx*4]
mov edx, r11d
movzx edi, dil
xor ebp, r12d
mov edi, dword [r8 + rdi*4]
xor edx, ebp
and edx, 0xff00
xor ecx, edi
xor esi, edi
mov edi, ebx
xor edi, ecx
xor esi, r12d
mov r12d, r13d
and edi, 0xff0000
or edx, edi
mov edi, r14d
xor edi, r10d
and edi, 0xff000000
mov dword [rsp + 0x1c], edi
or edi, edx
mov edx, r13d
mov dword [rsp + 0x20], edi
mov edi, r13d
shr edx, 0x18
xor edi, esi
xor edx, r14d
mov dword [rsp + 0x2c], edi
mov edi, r10d
movzx edx, dl
shl edi, 8
xor edi, ebx
and edi, 0xff000000
or edi, edx
mov edx, ecx
shl edx, 8
xor edx, r11d
and edx, 0xff0000
or edi, edx
mov edx, ebp
shl edx, 8
xor edx, esi
and edx, 0xff00
or edi, edx
mov edx, r10d
shl edx, 0x10
mov dword [rax + 0x34], edi
xor edx, r11d
and edx, 0xff000000
shr r12d, 0x10
xor dword [rax + 0x6c], edi
shl r10d, 0x18
xor r12d, ebx
shr r13d, 8
movzx r12d, r12b
xor r10d, esi
xor r13d, r11d
or edx, r12d
mov r12d, ecx
shr ecx, 8
movzx r13d, r13b
shl r12d, 0x10
xor ecx, r14d
and r10d, 0xff000000
xor r12d, esi
and ecx, 0xff0000
mov esi, dword [rax + 0x2c]
and r12d, 0xff0000
or ecx, r10d
mov r10d, dword [rax + 0x24]
or edx, r12d
mov r12d, ebp
shr ebp, 8
or r13d, ecx
shr r12d, 0x10
xor ebp, ebx
mov ebx, dword [rax + 0x28]
xor r10d, edi
xor r12d, r14d
and ebp, 0xff00
lea r14, [0x140485ec0]
movzx r11d, r10b
and r12d, 0xff00
or r13d, ebp
xor dword [rax + 0x74], r13d
or edx, r12d
xor dword [rax + 0x70], edx
xor esi, r13d
xor ebx, edx
mov dword [rax + 0x38], edx
mov edx, r10d
shr edx, 0x10
mov dword [rax + 0x3c], r13d
movzx ebp, bh
movzx edx, dl
mov ecx, dword [r8 + rdx*4]
mov edx, r10d
shr r10d, 0x18
movzx edx, dh
mov edi, dword [r14 + rdx*4]
mov dword [rsp + 0xc], edi
mov edi, dword [r15 + r11*4]
movzx r11d, bl
mov edx, dword [r9 + r10*4]
mov r11d, dword [r15 + r11*4]
mov ebp, dword [r14 + rbp*4]
xor edx, edi
mov dword [rsp + 0x18], r11d
mov r10d, edx
mov edx, dword [rsp + 0xc]
xor r10d, ecx
xor r10d, edx
mov edx, esi
mov r13d, r10d
mov r10d, ebx
shr ebx, 0x10
shr r10d, 0x18
movzx r11d, bl
mov ebx, dword [rsp + 0x18]
mov r10d, dword [r9 + r10*4]
xor ebx, r10d
xor ebx, dword [r8 + r11*4]
mov r11d, esi
shr r11d, 0x18
xor ebx, ebp
mov r11d, dword [r9 + r11*4]
mov dword [rsp + 0x10], r11d
mov r11d, esi
shr r11d, 0x10
movzx r11d, r11b
mov r12d, dword [r8 + r11*4]
movzx r11d, sil
movzx esi, dh
lea rdx, [0x140485ec0]
mov r14d, dword [r15 + r11*4]
mov r11d, dword [rsp + 0x10]
xor r11d, r14d
xor r11d, r12d
xor r11d, dword [rdx + rsi*4]
mov esi, dword [rsp + 0x18]
mov edx, dword [rsp + 0x20]
xor edi, esi
mov esi, dword [rsp + 0x1c]
xor r14d, edi
mov edi, dword [rsp + 0x10]
movzx edx, dh
shr esi, 0x18
mov esi, dword [r9 + rsi*4]
xor r10d, esi
xor r10d, edi
mov edi, dword [rsp + 0x20]
shr edi, 0x10
movzx edi, dil
mov edi, dword [r8 + rdi*4]
xor ecx, edi
xor ecx, r12d
mov r12, rdx
lea rdx, [0x140485ec0]
mov r12d, dword [rdx + r12*4]
mov edx, dword [rsp + 0xc]
xor edx, ebp
movzx ebp, byte [rsp + 0x2c]
xor edx, r12d
xor esi, dword [r15 + rbp*4]
mov ebp, r13d
xor ebp, r10d
xor esi, edi
mov dword [rsp + 0x18], ebp
mov ebp, ebx
xor esi, r12d
mov r12d, r10d
xor ebp, ecx
mov dword [rsp + 0x10], ebp
mov ebp, r14d
xor ebp, esi
mov dword [rsp + 0x1c], ebp
mov ebp, r11d
xor ebp, edx
mov dword [rsp + 0x20], ebp
mov ebp, r10d
shl ebp, 8
mov edi, ebp
mov ebp, ecx
xor edi, ebx
shl ebp, 8
xor ebp, r11d
and edi, 0xff000000
shl r12d, 0x10
and ebp, 0xff0000
xor r12d, r11d
shl r10d, 0x18
or edi, ebp
mov ebp, edx
and r12d, 0xff000000
xor r10d, esi
shl ebp, 8
and r10d, 0xff000000
xor ebp, esi
and ebp, 0xff00
or edi, ebp
mov ebp, r14d
shr ebp, 0x18
xor ebp, r13d
movzx ebp, bpl
or edi, ebp
mov ebp, ecx
shr ecx, 8
shl ebp, 0x10
xor ecx, r13d
mov dword [rax + 0x28], edi
xor ebp, esi
and ebp, 0xff0000
or r12d, ebp
mov ebp, edx
shr ebp, 0x10
xor ebp, r13d
and ebp, 0xff00
or r12d, ebp
mov ebp, r14d
shr ebp, 0x10
xor ebp, ebx
movzx ebp, bpl
or ebp, r12d
and ecx, 0xff0000
shr edx, 8
xor edx, ebx
shr r14d, 8
or ecx, r10d
mov dword [rax + 0x2c], ebp
xor r14d, r11d
and edx, 0xff00
or edx, ecx
movzx r14d, r14b
or edx, r14d
mov dword [rax + 0x30], edx
mov r11d, dword [rax + 0x18]
xor dword [rax + 0x60], edi
mov r12d, dword [rax + 0x20]
xor r11d, edi
lea rdi, [0x140485ec0]
xor dword [rax + 0x68], edx
mov ebx, dword [rax + 0x1c]
mov ecx, r11d
mov esi, r11d
xor r12d, edx
xor dword [rax + 0x64], ebp
movzx ecx, ch
shr esi, 0x10
xor ebx, ebp
mov r10d, dword [rdi + rcx*4]
movzx ecx, r11b
shr r11d, 0x18
movzx edx, sil
mov ecx, dword [r15 + rcx*4]
mov esi, dword [r9 + r11*4]
mov edx, dword [r8 + rdx*4]
xor esi, ecx
mov r11d, esi
movzx esi, bh
xor r11d, edx
mov edi, dword [rdi + rsi*4]
movzx esi, bl
mov r14d, r11d
mov r11d, ebx
mov esi, dword [r15 + rsi*4]
shr ebx, 0x10
shr r11d, 0x18
movzx ebx, bl
xor r14d, r10d
xor r10d, edi
mov r11d, dword [r9 + r11*4]
xor ecx, esi
mov r13d, r11d
xor r13d, esi
xor r13d, dword [r8 + rbx*4]
mov ebx, r12d
shr ebx, 0x18
xor r13d, edi
mov esi, dword [r9 + rbx*4]
mov ebx, r12d
shr ebx, 0x10
movzx ebx, bl
xor r11d, esi
mov edi, dword [r8 + rbx*4]
movzx ebx, r12b
mov ebx, dword [r15 + rbx*4]
xor edx, edi
xor esi, ebx
mov dword [rsp + 0xc], edx
mov edx, r12d
xor esi, edi
xor ecx, ebx
mov ebx, dword [rsp + 0x18]
movzx ebp, dh
lea rdi, [0x140485ec0]
mov edx, dword [rsp + 0xc]
shr ebx, 0x18
xor esi, dword [rdi + rbp*4]
lea rbp, [0x140485ec0]
mov edi, dword [r9 + rbx*4]
mov rbx, qword [rsp + 0x10]
shr rbx, 0x10
xor r11d, edi
and ebx, 0xff
mov r12d, dword [r8 + rbx*4]
mov ebx, dword [rsp + 0x20]
movzx ebx, bh
xor edx, r12d
mov ebp, dword [rbp + rbx*4]
movzx ebx, byte [rsp + 0x1c]
xor edi, dword [r15 + rbx*4]
mov ebx, r14d
xor r10d, ebp
xor ebx, r11d
xor edi, r12d
mov r12d, r11d
mov dword [rsp + 0x18], ebx
mov ebx, r13d
xor edi, ebp
mov ebp, ecx
shr ebp, 0x18
xor ebx, edx
shl r12d, 0x10
mov dword [rsp + 0x10], ebx
mov ebx, ecx
xor ebp, r14d
xor r12d, esi
xor ebx, edi
movzx ebp, bpl
mov dword [rsp + 0x1c], ebx
mov ebx, esi
xor ebx, r10d
mov dword [rsp + 0x20], ebx
mov ebx, r11d
shl ebx, 8
xor ebx, r13d
and ebx, 0xff000000
or ebx, ebp
mov ebp, edx
shl ebp, 8
xor ebp, esi
and ebp, 0xff0000
or ebx, ebp
mov ebp, r10d
shl ebp, 8
xor ebp, edi
and ebp, 0xff00
or ebx, ebp
mov ebp, ecx
and r12d, 0xff000000
shl r11d, 0x18
shr ebp, 0x10
shr ecx, 8
xor r11d, edi
xor dword [rax + 0x54], ebx
xor ebp, r13d
xor ecx, esi
and r11d, 0xff000000
mov dword [rax + 0x1c], ebx
movzx ebp, bpl
movzx ecx, cl
or r12d, ebp
mov ebp, edx
shr edx, 8
or ecx, r11d
shl ebp, 0x10
xor edx, r14d
mov r11d, dword [rax + 0x10]
xor ebp, edi
and edx, 0xff0000
and ebp, 0xff0000
or edx, ecx
mov ecx, dword [rsp + 0x28]
or r12d, ebp
mov ebp, r10d
shr r10d, 8
shr ebp, 0x10
xor r10d, r13d
xor ebp, r14d
and r10d, 0xff00
lea r14, [0x140485ec0]
and ebp, 0xff00
or r10d, edx
mov edx, dword [rax + 0xc]
or ebp, r12d
mov r12d, dword [rax + 0x14]
mov dword [rax + 0x24], r10d
xor ecx, ebp
xor edx, ebx
xor r11d, ebp
mov dword [rax + 0x20], ebp
mov dword [rax + 0x58], ecx
mov ecx, dword [rsp + 0x24]
xor r12d, r10d
movzx ebx, dl
mov ebp, dword [r15 + rbx*4]
mov ebx, r11d
xor ecx, r10d
movzx ebx, bh
mov dword [rax + 0x5c], ecx
mov ecx, edx
mov r13d, dword [r14 + rbx*4]
movzx ebx, r11b
shr ecx, 0x10
mov ebx, dword [r15 + rbx*4]
movzx ecx, cl
mov r10d, dword [r8 + rcx*4]
movzx ecx, dh
shr edx, 0x18
mov edi, dword [r9 + rdx*4]
mov edx, r11d
shr r11d, 0x10
mov ecx, dword [r14 + rcx*4]
shr edx, 0x18
movzx r11d, r11b
mov edx, dword [r9 + rdx*4]
xor edi, ebp
xor ebp, ebx
xor edi, r10d
mov esi, edx
xor edi, ecx
xor ecx, r13d
xor esi, ebx
xor esi, dword [r8 + r11*4]
mov r11d, r12d
mov dword [rsp + 0xc], ecx
shr r11d, 0x18
xor esi, r13d
mov ecx, r12d
mov ebx, dword [r9 + r11*4]
mov r11d, r12d
movzx ecx, ch
shr r11d, 0x10
movzx r11d, r11b
xor edx, ebx
mov r13d, dword [r8 + r11*4]
movzx r11d, r12b
mov r11d, dword [r15 + r11*4]
xor r10d, r13d
xor ebx, r11d
xor r11d, ebp
mov ebp, dword [rsp + 0x18]
xor ebx, r13d
xor ebx, dword [r14 + rcx*4]
mov ecx, dword [rsp + 0x20]
shr ebp, 0x18
mov r9d, dword [r9 + rbp*4]
mov rbp, qword [rsp + 0x10]
shr rbp, 0x10
xor edx, r9d
and ebp, 0xff
mov r8d, dword [r8 + rbp*4]
movzx ebp, ch
mov ebp, dword [r14 + rbp*4]
movzx r12d, byte [rsp + 0x1c]
mov ecx, dword [rsp + 0xc]
xor r10d, r8d
xor r9d, dword [r15 + r12*4]
xor r9d, r8d
xor ecx, ebp
mov r8d, edi
xor r9d, ebp
mov ebp, esi
xor r8d, edx
xor ebp, r10d
and r8d, 0xff000000
and ebp, 0xff0000
or r8d, ebp
mov ebp, r11d
xor ebp, r9d
movzx ebp, bpl
or r8d, ebp
mov ebp, ebx
xor ebp, ecx
and ebp, 0xff00
or r8d, ebp
mov ebp, r11d
mov dword [rax + 0xc], r8d
mov r8d, edx
shr ebp, 0x18
shl r8d, 8
xor ebp, edi
xor r8d, esi
movzx ebp, bpl
and r8d, 0xff000000
or r8d, ebp
mov ebp, r10d
shl ebp, 8
xor ebp, ebx
and ebp, 0xff0000
or r8d, ebp
mov ebp, ecx
shl ebp, 8
xor ebp, r9d
and ebp, 0xff00
or r8d, ebp
mov ebp, r11d
mov dword [rax + 0x10], r8d
mov r8d, edx
shr ebp, 0x10
shl r8d, 0x10
xor ebp, esi
xor r8d, ebx
movzx ebp, bpl
and r8d, 0xff000000
or r8d, ebp
mov ebp, r10d
shl ebp, 0x10
xor ebp, r9d
and ebp, 0xff0000
or r8d, ebp
mov ebp, ecx
shr ebp, 0x10
xor ebp, edi
shl edx, 0x18
shr r11d, 8
xor edx, r9d
shr ecx, 8
and ebp, 0xff00
xor r11d, ebx
shr r10d, 8
and edx, 0xff000000
xor ecx, esi
xor r10d, edi
movzx r11d, r11b
and ecx, 0xff00
or r8d, ebp
or edx, r11d
and r10d, 0xff0000
mov dword [rax + 0x14], r8d
or r10d, edx
or r10d, ecx
xor ecx, ecx
cmp qword [rsp + 0x90], 4
mov dword [rax + 0x18], r10d
jbe 0x1401c6f45
mov rsi, qword [rsp + 0x88]
mov esi, dword [rsi]
mov dword [rsp + 0xc], esi
mov edx, esi
bswap edx
add qword [rsp + 0x88], 4
sub qword [rsp + 0x90], 4
jmp 0x1401c54e3
mov esi, dword [rsp + 0x90]
xor r8d, r8d
xor edx, edx
mov dword [rax + 4], esi
cmp r8, qword [rsp + 0x90]
je 0x1401c6f76
mov rsi, qword [rsp + 0x88]
shl edx, 8
movzx r9d, byte [rsi + r8]
inc r8
or edx, r9d
jmp 0x1401c6f54
mov dword [rax], edx
mov dword [rax + 8], ecx
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret