Function at 0x6d96dd10
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, 0xd8
mov r11d, dword [rcx + 4]
mov rax, r8
mov qword [rsp + 0x88], rdx
mov qword [rsp + 8], r8
shl rax, 3
add qword [rcx + 0xa0], rax
mov eax, dword [rcx]
cmp r11d, 3
ja 0x6d96dda7
mov r10d, 4
sub r10d, r11d
mov r8d, r10d
cmp qword [rsp + 8], r8
jb 0x6d96fd10
mov rdx, qword [rsp + 0x88]
lea ebx, [r10 - 1]
lea r9, [rdx + rbx + 1]
shl eax, 8
add rdx, 1
mov r8d, eax
movzx eax, byte [rdx - 1]
or eax, r8d
cmp rdx, r9
jne 0x6d96dd72
sub qword [rsp + 8], 1
mov qword [rsp + 0x88], rdx
sub qword [rsp + 8], rbx
cmp qword [rsp + 8], 0
je 0x6d96fec0
mov esi, dword [rcx + 0xc]
mov ebx, dword [rcx + 0x34]
mov dword [rsp + 0x28], esi
mov esi, dword [rcx + 0x10]
mov dword [rsp + 0x60], ebx
mov ebx, dword [rcx + 0x3c]
mov dword [rsp + 0x70], esi
mov esi, dword [rcx + 0x14]
mov dword [rsp + 0x64], ebx
mov ebx, dword [rcx + 0x44]
mov dword [rsp + 0x94], esi
mov esi, dword [rcx + 0x18]
mov dword [rsp + 0x9c], ebx
mov ebx, dword [rcx + 0x4c]
mov dword [rsp + 0x54], esi
mov esi, dword [rcx + 0x1c]
mov dword [rsp + 0x58], esi
mov esi, dword [rcx + 0x20]
mov dword [rsp + 0x78], esi
mov esi, dword [rcx + 0x24]
mov dword [rsp + 0x7c], esi
mov esi, dword [rcx + 0x28]
mov dword [rsp + 0x2c], esi
mov esi, dword [rcx + 0x2c]
mov dword [rsp + 0x5c], esi
mov esi, dword [rcx + 0x30]
mov dword [rsp + 0x20], esi
mov esi, dword [rcx + 0x38]
mov dword [rsp + 0x98], esi
mov esi, dword [rcx + 0x40]
mov dword [rsp + 0x68], esi
mov esi, dword [rcx + 0x48]
mov dword [rsp + 0xa0], esi
mov dword [rsp + 0x40], ebx
mov esi, dword [rcx + 0x50]
mov ebx, dword [rcx + 0x54]
mov edx, dword [rcx + 0x60]
mov dword [rsp + 0x6c], esi
mov dword [rsp + 0x24], ebx
mov esi, dword [rcx + 0x58]
mov ebx, dword [rcx + 0x5c]
mov dword [rsp + 0x80], edx
mov edx, dword [rcx + 0x6c]
mov dword [rsp + 0x74], esi
mov dword [rsp + 0xa4], ebx
mov esi, dword [rcx + 0x64]
mov ebx, dword [rcx + 0x68]
mov dword [rsp + 0xac], edx
mov edx, dword [rcx + 0x78]
mov dword [rsp + 0x84], esi
mov dword [rsp + 0xa8], ebx
mov esi, dword [rcx + 0x70]
mov ebx, dword [rcx + 0x74]
mov dword [rsp + 0x30], edx
mov edx, dword [rcx + 0x84]
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x90], ebx
mov esi, dword [rcx + 0x7c]
mov ebx, dword [rcx + 0x80]
mov dword [rsp + 0xb8], edx
mov edx, dword [rcx + 0x90]
mov dword [rsp + 0xb0], esi
mov dword [rsp + 0xc4], ebx
mov esi, dword [rcx + 0x88]
mov ebx, dword [rcx + 0x8c]
mov dword [rsp + 0xbc], esi
mov dword [rsp + 0xc8], ebx
mov dword [rsp + 0xcc], edx
mov r10d, dword [rcx + 8]
mov esi, dword [rcx + 0x94]
mov ebx, dword [rcx + 0x98]
cmp r10d, 1
mov dword [rsp + 0xb4], esi
mov dword [rsp + 0xc0], ebx
je 0x6d96ff30
jb 0x6d96fed0
cmp r10d, 2
je 0x6d96ff00
cmp r10d, 3
jne 0x6d96fd25
lea rdx, [0x6daef4a0]
lea r8, [0x6daef0a0]
lea r9, [0x6daeeca0]
mov qword [rsp + 0x10], rdx
lea rdx, [0x6daef8a0]
mov qword [rsp], rdx
mov edi, dword [rsp + 0x28]
xor dword [rsp + 0x60], edi
mov r15d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x7c]
mov ebp, dword [rsp + 0x64]
xor dword [rsp + 0xac], r15d
mov ebx, dword [rsp + 0x5c]
xor r11d, r15d
mov r15, qword [rsp + 0x10]
mov esi, r11d
mov r14d, dword [rsp + 0x20]
movzx edi, r11b
mov r13d, dword [rsp + 0x98]
shr esi, 0x10
xor ebx, ebp
mov edx, dword [rsp + 0x54]
movzx esi, sil
xor dword [rsp + 0x68], edx
mov rdx, r11
xor dword [rsp + 0x90], ebp
mov ebp, dword [r15 + rsi*4]
movzx esi, dh
xor r14d, r13d
mov r10d, dword [rsp + 0x2c]
xor dword [rsp + 0x50], r14d
shr r11d, 0x18
mov r14d, dword [r8 + rsi*4]
xor r10d, r13d
mov rsi, qword [rsp]
mov rdx, r10
mov r13d, dword [r9 + rdi*4]
movzx edi, dh
mov rdx, r15
mov dword [rsp + 0x10], r14d
mov edi, dword [r8 + rdi*4]
mov r12d, dword [rsi + r11*4]
mov r11d, r10d
xor dword [rsp + 0x6c], eax
shr r11d, 0x18
mov r11d, dword [rsi + r11*4]
xor r12d, r13d
mov dword [rsp + 0x20], r12d
movzx r12d, r10b
shr r10d, 0x10
xor dword [rsp + 0x20], ebp
movzx r10d, r10b
xor dword [rsp + 0x20], r14d
mov r14d, dword [r9 + r12*4]
mov r12d, r14d
xor r12d, r11d
mov esi, r12d
xor esi, dword [r15 + r10*4]
mov r15, qword [rsp]
mov r10d, ebx
mov r12d, ebx
shr r10d, 0x18
shr r12d, 0x10
mov r10d, dword [r15 + r10*4]
movzx r15d, bl
movzx r12d, r12b
mov r15d, dword [r9 + r15*4]
mov r12d, dword [rdx + r12*4]
movzx ebx, bh
xor esi, edi
xor r11d, r10d
xor r14d, r15d
xor r10d, r15d
mov r15, qword [rsp]
xor r10d, r12d
xor r10d, dword [r8 + rbx*4]
mov ebx, eax
shr ebx, 0x18
xor r14d, r13d
mov r13d, dword [r15 + rbx*4]
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
xor r11d, r13d
xor r12d, ebx
xor r12d, ebp
movzx ebp, ah
movzx eax, al
mov ebp, dword [r8 + rbp*4]
xor edi, ebp
xor r13d, dword [r9 + rax*4]
xor edi, dword [rsp + 0x10]
xor r13d, ebx
mov ebx, r12d
mov eax, edi
xor ebx, esi
xor eax, r10d
xor r13d, ebp
mov r15d, ebx
and eax, 0xff00
mov ebp, dword [rsp + 0x20]
and r15d, 0xff0000
mov ebx, r12d
or r15d, eax
mov eax, r13d
shl ebx, 8
xor eax, r14d
mov dword [rsp + 0x2c], ebx
xor dword [rsp + 0x2c], r10d
movzx eax, al
and dword [rsp + 0x2c], 0xff0000
mov ebx, r14d
or r15d, eax
mov eax, ebp
shr ebx, 0x10
xor eax, r11d
xor ebx, esi
and eax, 0xff000000
movzx ebx, bl
or r15d, eax
mov eax, edi
mov dword [rsp + 0x5c], ebx
shl eax, 8
mov ebx, dword [rsp + 0x78]
xor eax, r13d
and eax, 0xff00
or dword [rsp + 0x2c], eax
mov eax, r11d
shl eax, 8
xor eax, esi
and eax, 0xff000000
or dword [rsp + 0x2c], eax
mov eax, r14d
shr eax, 0x18
xor eax, ebp
movzx eax, al
or dword [rsp + 0x2c], eax
mov eax, r11d
shl eax, 0x10
xor eax, r10d
and eax, 0xff000000
shr r14d, 8
or dword [rsp + 0x5c], eax
mov eax, r12d
xor r14d, r10d
shl r11d, 0x18
shl eax, 0x10
xor r11d, r13d
movzx r14d, r14b
xor eax, r13d
shr r12d, 8
mov dword [rsp + 0x20], r14d
and eax, 0xff0000
and r11d, 0xff000000
or dword [rsp + 0x5c], eax
or dword [rsp + 0x20], r11d
xor r12d, ebp
mov eax, edi
shr edi, 8
and r12d, 0xff0000
or dword [rsp + 0x20], r12d
xor edi, esi
mov r14d, dword [rsp + 0x2c]
shr eax, 0x10
and edi, 0xff00
xor eax, ebp
and eax, 0xff00
or dword [rsp + 0x20], edi
mov esi, dword [rsp + 0x54]
mov r10d, dword [rsp + 0x20]
or dword [rsp + 0x5c], eax
xor dword [rsp + 0x80], r14d
mov r11d, dword [rsp + 0x5c]
xor esi, r14d
xor ebx, r10d
xor dword [rsp + 0x84], r11d
mov r14, rdx
mov eax, dword [rsp + 0x58]
xor dword [rsp + 0xa8], r10d
mov r10d, esi
shr r10d, 0x10
movzx r10d, r10b
xor eax, r11d
mov edi, dword [rdx + r10*4]
mov rdx, rsi
movzx r10d, sil
movzx ebp, dh
mov rdx, qword [rsp]
shr esi, 0x18
mov r12d, dword [r9 + r10*4]
mov r11d, dword [r8 + rbp*4]
movzx ebp, al
mov r13d, dword [r9 + rbp*4]
mov r10d, dword [rdx + rsi*4]
movzx esi, ah
mov esi, dword [r8 + rsi*4]
mov ebp, r13d
xor r10d, r12d
mov dword [rsp + 0x54], r10d
mov r10d, eax
xor dword [rsp + 0x54], edi
shr r10d, 0x18
shr eax, 0x10
xor dword [rsp + 0x54], r11d
mov r10d, dword [rdx + r10*4]
movzx eax, al
mov rdx, r14
mov qword [rsp + 0x10], rdx
xor ebp, r10d
mov dword [rsp + 0x58], ebp
mov ebp, dword [r14 + rax*4]
mov eax, ebx
mov r14, qword [rsp]
xor dword [rsp + 0x58], ebp
shr eax, 0x18
mov ebp, ebx
xor dword [rsp + 0x58], esi
shr ebp, 0x10
mov eax, dword [r14 + rax*4]
movzx r14d, bl
movzx ebp, bpl
movzx ebx, bh
mov r14d, dword [r9 + r14*4]
mov ebp, dword [rdx + rbp*4]
xor r10d, eax
xor r13d, r14d
xor eax, r14d
mov r14, qword [rsp]
xor eax, ebp
xor eax, dword [r8 + rbx*4]
mov ebx, r15d
shr ebx, 0x18
xor r13d, r12d
mov r12d, dword [r14 + rbx*4]
mov ebx, r15d
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
mov rdx, r15
xor r10d, r12d
xor ebp, ebx
xor ebp, edi
movzx edi, dh
mov edi, dword [r8 + rdi*4]
xor esi, edi
xor esi, r11d
movzx r11d, r15b
mov r15d, dword [rsp + 0x54]
xor r12d, dword [r9 + r11*4]
xor r12d, ebx
mov ebx, dword [rsp + 0x58]
xor r12d, edi
mov edi, r15d
xor edi, r10d
mov r11d, ebx
mov r14d, edi
mov edi, r15d
xor r11d, ebp
and r14d, 0xff000000
and r11d, 0xff0000
or r14d, r11d
mov r11d, r13d
xor r11d, r12d
movzx r11d, r11b
or r14d, r11d
mov r11d, esi
xor r11d, eax
and r11d, 0xff00
or r14d, r11d
mov r11d, r13d
shr r11d, 0x18
xor r11d, r15d
movzx r15d, r11b
mov r11d, r10d
shl r11d, 8
mov dword [rsp + 0x58], r15d
mov r15d, ebx
xor r11d, ebx
mov rdx, qword [rsp + 0x10]
and r11d, 0xff000000
or dword [rsp + 0x58], r11d
mov r11d, ebp
shl r11d, 8
xor r11d, eax
and r11d, 0xff0000
or dword [rsp + 0x58], r11d
mov r11d, esi
shl r11d, 8
xor r11d, r12d
and r11d, 0xff00
or dword [rsp + 0x58], r11d
mov r11d, r13d
shr r11d, 0x10
shr r13d, 8
mov ebx, r11d
xor r13d, eax
xor ebx, r15d
movzx r11d, bl
mov dword [rsp + 0x78], r11d
mov r11d, r10d
shl r10d, 0x18
shl r11d, 0x10
xor r11d, eax
mov eax, dword [rsp + 0x28]
and r11d, 0xff000000
or dword [rsp + 0x78], r11d
mov r11d, ebp
shl r11d, 0x10
xor r11d, r12d
and r11d, 0xff0000
or dword [rsp + 0x78], r11d
mov r11d, esi
shr r11d, 0x10
xor r11d, edi
and r11d, 0xff00
or dword [rsp + 0x78], r11d
xor r10d, r12d
movzx r11d, r13b
shr ebp, 8
and r10d, 0xff000000
mov dword [rsp + 0x7c], r11d
xor ebp, edi
or dword [rsp + 0x7c], r10d
shr esi, 8
and ebp, 0xff0000
or dword [rsp + 0x7c], ebp
xor esi, r15d
mov r10d, dword [rsp + 0x70]
and esi, 0xff00
or dword [rsp + 0x7c], esi
mov esi, dword [rsp + 0x58]
mov r15d, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x7c]
mov edi, dword [rsp + 0x94]
xor eax, esi
mov r13, qword [rsp]
movzx ebx, ah
xor r10d, r15d
xor dword [rsp + 0x74], r15d
xor dword [rsp + 0xa4], r11d
mov r15d, dword [r8 + rbx*4]
movzx ebx, al
xor edi, r11d
mov r11d, eax
shr eax, 0x18
mov ebp, dword [r13 + rax*4]
shr r11d, 0x10
mov eax, r10d
shr eax, 0x18
movzx r11d, r11b
xor dword [rsp + 0x24], esi
mov esi, dword [r9 + rbx*4]
mov r11d, dword [rdx + r11*4]
xor ebp, esi
mov dword [rsp + 0x28], ebp
mov ebx, dword [r13 + rax*4]
mov rax, r10
movzx eax, ah
xor dword [rsp + 0x28], r11d
mov r12d, dword [r8 + rax*4]
movzx eax, r10b
shr r10d, 0x10
mov ebp, dword [r9 + rax*4]
movzx r10d, r10b
xor dword [rsp + 0x28], r15d
xor r15d, r12d
mov eax, ebp
xor esi, ebp
xor eax, ebx
xor eax, dword [rdx + r10*4]
mov r10d, edi
shr r10d, 0x18
mov r10d, dword [r13 + r10*4]
mov r13, rdx
xor eax, r12d
mov r12d, edi
shr r12d, 0x10
xor ebx, r10d
movzx ebp, r12b
mov r12d, dword [rdx + rbp*4]
movzx ebp, dil
mov rdx, rdi
mov ebp, dword [r9 + rbp*4]
movzx edi, dh
mov rdx, r14
xor r11d, r12d
xor r10d, ebp
xor esi, ebp
mov rbp, qword [rsp]
xor r10d, r12d
xor r10d, dword [r8 + rdi*4]
mov edi, r14d
shr edi, 0x18
mov r12d, dword [rbp + rdi*4]
mov edi, r14d
shr edi, 0x10
movzx edi, dil
mov ebp, dword [r13 + rdi*4]
movzx r13d, r14b
xor ebx, r12d
xor r12d, dword [r9 + r13*4]
mov r14d, dword [rsp + 0x28]
movzx edi, dh
mov edi, dword [r8 + rdi*4]
xor r11d, ebp
mov edx, r14d
xor r12d, ebp
xor r15d, edi
xor edx, ebx
xor r12d, edi
mov edi, r11d
mov dword [rsp + 0x28], edx
xor edi, eax
and dword [rsp + 0x28], 0xff000000
and edi, 0xff0000
or dword [rsp + 0x28], edi
mov edi, esi
xor edi, r12d
movzx edi, dil
or dword [rsp + 0x28], edi
mov edi, r15d
xor edi, r10d
and edi, 0xff00
or dword [rsp + 0x28], edi
mov edi, esi
shr edi, 0x18
xor edi, r14d
movzx edi, dil
mov dword [rsp + 0x70], edi
mov edi, ebx
shl edi, 8
xor edi, eax
and edi, 0xff000000
or dword [rsp + 0x70], edi
mov edi, r11d
shl edi, 8
xor edi, r10d
and edi, 0xff0000
or dword [rsp + 0x70], edi
mov edi, r15d
shl edi, 8
xor edi, r12d
and edi, 0xff00
or dword [rsp + 0x70], edi
mov edi, esi
shr edi, 0x10
shr esi, 8
xor edi, eax
xor esi, r10d
movzx edi, dil
movzx esi, sil
mov dword [rsp + 0x94], edi
mov edi, ebx
shl ebx, 0x18
shl edi, 0x10
xor ebx, r12d
mov dword [rsp + 0x54], esi
xor edi, r10d
and ebx, 0xff000000
or dword [rsp + 0x54], ebx
and edi, 0xff000000
or dword [rsp + 0x94], edi
mov edi, r11d
shl edi, 0x10
shr r11d, 8
xor r10d, r10d
xor edi, r12d
xor r11d, r14d
and edi, 0xff0000
and r11d, 0xff0000
or dword [rsp + 0x94], edi
mov edi, r15d
shr r15d, 8
shr edi, 0x10
or dword [rsp + 0x54], r11d
xor r15d, eax
xor edi, r14d
and r15d, 0xff00
or dword [rsp + 0x54], r15d
and edi, 0xff00
or dword [rsp + 0x94], edi
cmp qword [rsp + 8], 4
jbe 0x6d96fd25
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
bswap eax
add qword [rsp + 0x88], 4
sub qword [rsp + 8], 4
mov esi, dword [rsp + 0x30]
xor dword [rsp + 0x70], esi
mov edi, dword [rsp + 0x70]
mov ebp, dword [rsp + 0xcc]
mov r14d, dword [rsp + 0x94]
mov r10d, dword [rsp + 0x28]
mov r13, qword [rsp + 0x10]
mov r12d, dword [rsp + 0xb4]
xor ebp, edi
mov r15d, dword [rsp + 0x54]
mov ebx, dword [rsp + 0xb8]
xor r10d, r14d
xor dword [rsp + 0x40], r10d
mov r10d, ebp
mov rdx, rbp
shr r10d, 0x10
xor r12d, r14d
movzx esi, dh
movzx r10d, r10b
xor dword [rsp + 0x58], ebx
mov r14d, dword [r8 + rsi*4]
mov rdx, r12
xor dword [rsp + 0xa0], edi
mov rsi, qword [rsp]
mov edi, dword [r13 + r10*4]
movzx r10d, bpl
shr ebp, 0x18
mov ebx, dword [rsp + 0xc0]
mov r11d, dword [rsi + rbp*4]
movzx ebp, dh
mov rdx, r13
xor dword [rsp + 0x6c], r15d
xor dword [rsp + 0x5c], eax
xor ebx, r15d
mov r15d, edi
mov edi, dword [r9 + r10*4]
mov r10d, r12d
mov dword [rsp + 0x28], r15d
shr r10d, 0x18
xor r11d, edi
mov esi, dword [rsi + r10*4]
mov r10d, dword [r8 + rbp*4]
movzx ebp, r12b
xor r11d, r15d
mov r15d, dword [r9 + rbp*4]
shr r12d, 0x10
mov rbp, qword [rsp]
movzx r12d, r12b
xor r11d, r14d
mov dword [rsp + 0x10], r15d
xor r15d, esi
xor r15d, dword [r13 + r12*4]
mov r12d, ebx
shr r12d, 0x18
mov r13d, dword [rbp + r12*4]
mov r12d, ebx
mov ebp, esi
shr r12d, 0x10
xor r15d, r10d
movzx esi, r12b
movzx r12d, bl
movzx ebx, bh
mov r12d, dword [r9 + r12*4]
xor ebp, r13d
mov esi, dword [rdx + rsi*4]
xor r13d, r12d
xor r12d, dword [rsp + 0x10]
xor r13d, esi
xor r13d, dword [r8 + rbx*4]
mov ebx, eax
shr ebx, 0x18
xor r12d, edi
mov rdi, qword [rsp]
mov edi, dword [rdi + rbx*4]
mov ebx, eax
mov qword [rsp + 0x10], rdx
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
movzx edx, ah
movzx eax, al
mov edx, dword [r8 + rdx*4]
xor ebp, edi
xor esi, ebx
xor esi, dword [rsp + 0x28]
xor r10d, edx
xor edi, dword [r9 + rax*4]
xor r10d, r14d
mov eax, r10d
mov r14d, esi
xor eax, r13d
xor edi, ebx
xor r14d, r15d
and eax, 0xff00
xor edi, edx
and r14d, 0xff0000
mov ebx, r12d
or r14d, eax
mov eax, edi
shr ebx, 0x10
xor eax, r12d
xor ebx, r15d
movzx eax, al
or r14d, eax
mov eax, r11d
xor eax, ebp
and eax, 0xff000000
or r14d, eax
mov eax, esi
shl eax, 8
mov dword [rsp + 0xb4], eax
mov eax, r10d
xor dword [rsp + 0xb4], r13d
shl eax, 8
and dword [rsp + 0xb4], 0xff0000
xor eax, edi
and eax, 0xff00
or dword [rsp + 0xb4], eax
mov eax, ebp
shl eax, 8
xor eax, r15d
and eax, 0xff000000
or dword [rsp + 0xb4], eax
mov eax, r12d
shr eax, 0x18
xor eax, r11d
movzx eax, al
or dword [rsp + 0xb4], eax
movzx eax, bl
mov dword [rsp + 0xc0], eax
mov eax, ebp
shl eax, 0x10
mov ebx, dword [rsp + 0xb4]
xor eax, r13d
and eax, 0xff000000
or dword [rsp + 0xc0], eax
mov eax, esi
shl eax, 0x10
shl ebp, 0x18
shr r12d, 8
xor eax, edi
xor r12d, r13d
shr esi, 8
and eax, 0xff0000
or dword [rsp + 0xc0], eax
mov eax, r10d
shr eax, 0x10
xor esi, r11d
movzx r12d, r12b
xor eax, r11d
mov r11d, dword [rsp + 0xb8]
mov dword [rsp + 0x28], r12d
and eax, 0xff00
or dword [rsp + 0xc0], eax
mov eax, ebp
xor eax, edi
shr r10d, 8
and esi, 0xff0000
and eax, 0xff000000
or dword [rsp + 0x28], eax
xor r10d, r15d
or dword [rsp + 0x28], esi
xor r11d, ebx
and r10d, 0xff00
mov r15d, dword [rsp + 0xc0]
mov rdx, r11
or dword [rsp + 0x28], r10d
movzx esi, dh
mov r12d, dword [rsp + 0xbc]
mov r10d, dword [rsp + 0x28]
mov eax, dword [rsp + 0xc8]
xor r12d, r15d
xor dword [rsp + 0x64], ebx
xor dword [rsp + 0x68], r15d
mov r15d, dword [r8 + rsi*4]
movzx esi, r11b
mov r13, qword [rsp + 0x10]
xor eax, r10d
mov edi, dword [r9 + rsi*4]
xor dword [rsp + 0x9c], r10d
mov r10d, r11d
shr r11d, 0x18
mov rdx, r12
shr r10d, 0x10
movzx ebp, dh
mov rdx, r13
mov rsi, qword [rsp]
movzx r10d, r10b
mov ebx, dword [r13 + r10*4]
mov r10d, r15d
mov dword [rsp + 0xb8], r10d
mov r15d, dword [rsi + r11*4]
mov r11d, r12d
xor r15d, edi
xor r15d, ebx
shr r11d, 0x18
mov esi, dword [rsi + r11*4]
mov r11d, dword [r8 + rbp*4]
movzx ebp, r12b
mov ebp, dword [r9 + rbp*4]
xor r15d, r10d
shr r12d, 0x10
movzx r12d, r12b
mov r13d, dword [r13 + r12*4]
mov r12d, eax
mov r10d, ebp
shr r12d, 0x18
xor r10d, esi
mov dword [rsp + 0x10], r10d
mov r10, qword [rsp]
xor dword [rsp + 0x10], r13d
xor dword [rsp + 0x10], r11d
mov r13d, dword [r10 + r12*4]
mov r12d, esi
xor r12d, r13d
mov r10d, r12d
mov r12d, eax
shr r12d, 0x10
movzx esi, r12b
movzx r12d, al
movzx eax, ah
mov r12d, dword [r9 + r12*4]
mov esi, dword [rdx + rsi*4]
xor ebp, r12d
xor r13d, r12d
movzx r12d, r14b
xor ebp, edi
mov rdi, qword [rsp]
xor r13d, esi
xor r13d, dword [r8 + rax*4]
mov eax, r14d
shr eax, 0x18
mov edi, dword [rdi + rax*4]
mov eax, r14d
shr eax, 0x10
movzx eax, al
mov eax, dword [rdx + rax*4]
xor r10d, edi
xor edi, dword [r9 + r12*4]
mov r12d, ebp
xor esi, eax
xor esi, ebx
mov rbx, r14
mov r14d, dword [rsp + 0x10]
movzx ebx, bh
xor edi, eax
mov ebx, dword [r8 + rbx*4]
mov eax, r14d
xor eax, esi
xor edi, ebx
xor r11d, ebx
mov ebx, r15d
xor ebx, r10d
xor r11d, dword [rsp + 0xb8]
and eax, 0xff0000
and ebx, 0xff000000
or ebx, eax
mov eax, ebp
xor eax, edi
movzx eax, al
or ebx, eax
mov eax, r11d
xor eax, r13d
and eax, 0xff00
shr r12d, 0x18
or ebx, eax
mov eax, r10d
xor r12d, r15d
shl eax, 8
movzx r12d, r12b
xor eax, r14d
mov dword [rsp + 0xbc], r12d
and eax, 0xff000000
or dword [rsp + 0xbc], eax
mov eax, esi
shl eax, 8
xor eax, r13d
and eax, 0xff0000
or dword [rsp + 0xbc], eax
mov eax, r11d
shl eax, 8
xor eax, edi
and eax, 0xff00
or dword [rsp + 0xbc], eax
mov eax, ebp
shr eax, 0x10
shr ebp, 8
xor eax, r14d
xor ebp, r13d
movzx r12d, al
mov eax, r10d
shl r10d, 0x18
shl eax, 0x10
mov dword [rsp + 0xc8], r12d
movzx ebp, bpl
xor eax, r13d
mov dword [rsp + 0xcc], ebp
and eax, 0xff000000
or dword [rsp + 0xc8], eax
mov eax, esi
shl eax, 0x10
xor eax, edi
and eax, 0xff0000
or dword [rsp + 0xc8], eax
mov eax, r11d
shr eax, 0x10
xor eax, r15d
and eax, 0xff00
or dword [rsp + 0xc8], eax
mov eax, r10d
xor eax, edi
shr esi, 8
shr r11d, 8
and eax, 0xff000000
xor esi, r15d
or dword [rsp + 0xcc], eax
and esi, 0xff0000
xor r11d, r14d
or dword [rsp + 0xcc], esi
mov r14d, dword [rsp + 0xbc]
and r11d, 0xff00
mov eax, dword [rsp + 0x30]
or dword [rsp + 0xcc], r11d
mov r10d, dword [rsp + 0xb0]
mov r11d, dword [rsp + 0xc8]
xor eax, r14d
xor dword [rsp + 0x60], r11d
mov ebp, dword [rsp + 0xcc]
movzx esi, ah
mov r15d, dword [rsp + 0xc4]
xor r10d, r11d
mov r11d, eax
xor dword [rsp + 0x20], r14d
shr r11d, 0x10
mov r14, rdx
xor dword [rsp + 0x98], ebp
movzx r11d, r11b
xor r15d, ebp
mov r11d, dword [rdx + r11*4]
mov rdx, qword [rsp]
mov dword [rsp + 0x10], r15d
mov r15d, dword [r8 + rsi*4]
movzx esi, al
shr eax, 0x18
mov edi, dword [r9 + rsi*4]
mov r13d, dword [rdx + rax*4]
mov eax, r10d
shr eax, 0x18
mov esi, dword [rdx + rax*4]
mov rax, r10
movzx eax, ah
xor r13d, edi
mov r12d, dword [r8 + rax*4]
movzx eax, r10b
shr r10d, 0x10
mov ebp, dword [r9 + rax*4]
movzx r10d, r10b
xor r13d, r11d
xor r13d, r15d
xor r15d, r12d
mov eax, ebp
xor edi, ebp
xor eax, esi
xor eax, dword [r14 + r10*4]
mov r10d, dword [rsp + 0x10]
shr r10d, 0x18
mov ebp, dword [rdx + r10*4]
mov edx, dword [rsp + 0x10]
xor eax, r12d
mov qword [rsp + 0x10], r14
mov r12d, esi
mov r10d, edx
xor r12d, ebp
shr r10d, 0x10
movzx r10d, r10b
mov r10d, dword [r14 + r10*4]
xor r11d, r10d
mov r14d, r11d
movzx r11d, dl
mov esi, dword [r9 + r11*4]
mov r11d, ebp
movzx ebp, dh
xor r11d, esi
xor edi, esi
mov rsi, qword [rsp]
xor r11d, r10d
mov r10d, ebx
xor r11d, dword [r8 + rbp*4]
shr r10d, 0x18
mov rbp, qword [rsp + 0x10]
mov esi, dword [rsi + r10*4]
mov r10d, ebx
shr r10d, 0x10
movzx r10d, r10b
mov r10d, dword [rbp + r10*4]
movzx ebp, bh
xor r12d, esi
xor r14d, r10d
mov edx, r10d
mov r10d, dword [r8 + rbp*4]
movzx ebp, bl
mov ebx, r13d
xor esi, dword [r9 + rbp*4]
xor ebx, r12d
xor r15d, r10d
mov dword [rsp + 0x30], ebx
and dword [rsp + 0x30], 0xff000000
xor esi, edx
xor esi, r10d
mov r10d, r14d
xor r10d, eax
and r10d, 0xff0000
or dword [rsp + 0x30], r10d
mov r10d, edi
xor r10d, esi
movzx r10d, r10b
or dword [rsp + 0x30], r10d
mov r10d, r15d
xor r10d, r11d
and r10d, 0xff00
or dword [rsp + 0x30], r10d
mov r10d, edi
shr r10d, 0x18
xor r10d, r13d
movzx ebx, r10b
mov r10d, r12d
shl r10d, 8
mov dword [rsp + 0xb0], ebx
mov ebx, edi
xor r10d, eax
and r10d, 0xff000000
or dword [rsp + 0xb0], r10d
mov r10d, r14d
shl r10d, 8
xor r10d, r11d
and r10d, 0xff0000
or dword [rsp + 0xb0], r10d
mov r10d, r15d
shl r10d, 8
xor r10d, esi
shr ebx, 0x10
shr edi, 8
and r10d, 0xff00
or dword [rsp + 0xb0], r10d
mov r10d, r12d
xor ebx, eax
shl r10d, 0x10
xor edi, r11d
movzx ebx, bl
xor r10d, r11d
shl r12d, 0x18
mov dword [rsp + 0xc4], ebx
and r10d, 0xff000000
xor r12d, esi
or dword [rsp + 0xc4], r10d
mov r10d, r14d
shr r14d, 8
shl r10d, 0x10
xor r14d, r13d
movzx ebx, dil
xor r10d, esi
and r12d, 0xff000000
and r14d, 0xff0000
and r10d, 0xff0000
or dword [rsp + 0xc4], r10d
mov r10d, r15d
shr r10d, 0x10
shr r15d, 8
mov dword [rsp + 0xb8], ebx
xor r10d, r13d
xor r15d, eax
and r10d, 0xff00
or dword [rsp + 0xc4], r10d
and r15d, 0xff00
or dword [rsp + 0xb8], r12d
mov r10d, 1
or dword [rsp + 0xb8], r14d
or dword [rsp + 0xb8], r15d
cmp qword [rsp + 8], 4
jbe 0x6d96fd25
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
bswap eax
add qword [rsp + 0x88], 4
sub qword [rsp + 8], 4
mov edi, dword [rsp + 0x24]
xor dword [rsp + 0xb0], edi
mov r15d, dword [rsp + 0xb0]
mov r12d, dword [rsp + 0xac]
mov r14d, dword [rsp + 0xc4]
mov r10d, dword [rsp + 0xb8]
mov edi, dword [rsp + 0x50]
mov ebx, dword [rsp + 0x90]
xor r12d, r15d
mov esi, dword [rsp + 0x30]
xor dword [rsp + 0x2c], esi
mov rdx, qword [rsp]
xor dword [rsp + 0x2c], r14d
movzx r11d, r12b
xor edi, r14d
xor ebx, r10d
mov r14, qword [rsp + 0x10]
xor dword [rsp + 0x5c], r10d
mov r10d, r12d
shr r10d, 0x10
mov dword [rsp + 0x30], ebx
mov rbx, r12
movzx r10d, r10b
movzx ebp, bh
shr r12d, 0x18
mov esi, dword [rsp + 0x80]
xor dword [rsp + 0x7c], r15d
mov rbx, rdi
mov r15d, dword [rdx + r12*4]
xor dword [rsp + 0xbc], esi
movzx r12d, dil
mov esi, dword [r14 + r10*4]
mov r10d, dword [r8 + rbp*4]
movzx ebx, bh
mov ebp, dword [r9 + r11*4]
xor dword [rsp + 0xc0], eax
xor r15d, ebp
mov dword [rsp + 0x10], r15d
mov r15d, edi
xor dword [rsp + 0x10], esi
shr r15d, 0x18
xor dword [rsp + 0x10], r10d
shr edi, 0x10
mov r12d, dword [r9 + r12*4]
mov r11d, r15d
movzx edi, dil
mov r15d, dword [rdx + r11*4]
mov r13d, r12d
mov r11d, dword [r8 + rbx*4]
mov rbx, r14
xor r13d, r15d
xor r13d, dword [r14 + rdi*4]
mov edi, dword [rsp + 0x30]
shr edi, 0x18
mov r14d, dword [rdx + rdi*4]
mov edi, dword [rsp + 0x30]
mov rdx, rbx
xor r13d, r11d
shr edi, 0x10
xor r15d, r14d
movzx edi, dil
mov edi, dword [rbx + rdi*4]
movzx ebx, byte [rsp + 0x30]
mov ebx, dword [r9 + rbx*4]
mov dword [rsp + 0x50], ebx
xor r12d, dword [rsp + 0x50]
xor r14d, ebx
mov rbx, qword [rsp + 0x30]
xor r14d, edi
xor r12d, ebp
movzx ebx, bh
mov rbp, qword [rsp]
xor r14d, dword [r8 + rbx*4]
mov ebx, eax
shr ebx, 0x18
mov ebp, dword [rbp + rbx*4]
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
xor r15d, ebp
xor edi, ebx
xor edi, esi
movzx esi, ah
movzx eax, al
mov esi, dword [r8 + rsi*4]
xor r11d, esi
xor ebp, dword [r9 + rax*4]
xor r11d, r10d
mov r10d, edi
mov eax, r11d
xor r10d, r13d
xor eax, r14d
and r10d, 0xff0000
xor ebp, ebx
and eax, 0xff00
xor ebp, esi
or r10d, eax
mov esi, dword [rsp + 0x10]
mov eax, ebp
xor eax, r12d
movzx eax, al
or r10d, eax
mov eax, esi
xor eax, r15d
and eax, 0xff000000
or r10d, eax
mov eax, edi
shl eax, 8
mov dword [rsp + 0x50], eax
mov eax, r11d
xor dword [rsp + 0x50], r14d
shl eax, 8
and dword [rsp + 0x50], 0xff0000
xor eax, ebp
and eax, 0xff00
or dword [rsp + 0x50], eax
mov eax, r15d
shl eax, 8
xor eax, r13d
and eax, 0xff000000
or dword [rsp + 0x50], eax
mov eax, r12d
shr eax, 0x18
xor eax, esi
movzx eax, al
or dword [rsp + 0x50], eax
mov eax, r12d
shr eax, 0x10
mov ebx, eax
xor ebx, r13d
movzx eax, bl
mov dword [rsp + 0x90], eax
mov eax, r15d
shl eax, 0x10
xor eax, r14d
and eax, 0xff000000
or dword [rsp + 0x90], eax
mov eax, edi
shl eax, 0x10
shr r12d, 8
shl r15d, 0x18
xor eax, ebp
xor r12d, r14d
xor r15d, ebp
and eax, 0xff0000
or dword [rsp + 0x90], eax
mov eax, r11d
shr eax, 0x10
shr edi, 8
and r15d, 0xff000000
xor eax, esi
xor edi, esi
shr r11d, 8
and eax, 0xff00
or dword [rsp + 0x90], eax
movzx eax, r12b
mov dword [rsp + 0x30], eax
and edi, 0xff0000
xor r11d, r13d
or dword [rsp + 0x30], r15d
and r11d, 0xff00
mov r15d, dword [rsp + 0x50]
or dword [rsp + 0x30], edi
or dword [rsp + 0x30], r11d
mov r11d, dword [rsp + 0x80]
mov r12d, dword [rsp + 0x30]
xor r11d, r15d
mov esi, dword [rsp + 0xa8]
mov r13d, dword [rsp + 0x90]
mov rbx, r11
mov r14, qword [rsp]
mov eax, dword [rsp + 0x84]
movzx edi, bh
xor dword [rsp + 0x54], r15d
mov r15d, dword [r8 + rdi*4]
movzx edi, r11b
xor esi, r12d
mov ebp, dword [r9 + rdi*4]
xor dword [rsp + 0x58], r13d
mov dword [rsp + 0x10], esi
mov esi, r11d
shr r11d, 0x18
xor eax, r13d
mov r13d, dword [r14 + r11*4]
shr esi, 0x10
mov r11d, eax
movzx esi, sil
movzx edi, ah
mov esi, dword [rdx + rsi*4]
xor r13d, ebp
xor dword [rsp + 0x78], r12d
mov dword [rsp + 0x80], r13d
xor dword [rsp + 0x80], esi
shr r11d, 0x18
xor dword [rsp + 0x80], r15d
mov r14d, dword [r14 + r11*4]
mov r11d, dword [r8 + rdi*4]
movzx edi, al
shr eax, 0x10
movzx eax, al
mov r12d, dword [r9 + rdi*4]
mov ebx, dword [rsp + 0x10]
mov rdi, qword [rsp]
mov r13d, r12d
xor r13d, r14d
xor r13d, dword [rdx + rax*4]
mov eax, ebx
shr eax, 0x18
mov eax, dword [rdi + rax*4]
mov edi, ebx
movzx ebx, byte [rsp + 0x10]
shr edi, 0x10
movzx edi, dil
xor r13d, r11d
xor r14d, eax
mov edi, dword [rdx + rdi*4]
mov ebx, dword [r9 + rbx*4]
mov dword [rsp + 0x84], ebx
xor r12d, dword [rsp + 0x84]
xor eax, ebx
mov rbx, qword [rsp + 0x10]
xor eax, edi
mov qword [rsp + 0x10], rdx
xor r12d, ebp
movzx ebx, bh
mov rbp, qword [rsp]
xor eax, dword [r8 + rbx*4]
mov ebx, r10d
shr ebx, 0x18
mov ebp, dword [rbp + rbx*4]
mov ebx, r10d
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
mov rdx, r10
movzx r10d, r10b
xor r14d, ebp
xor ebp, dword [r9 + r10*4]
xor edi, ebx
xor edi, esi
movzx esi, dh
mov esi, dword [r8 + rsi*4]
xor ebp, ebx
mov r10d, edi
xor r10d, r13d
and r10d, 0xff0000
xor ebp, esi
xor r11d, esi
mov esi, dword [rsp + 0x80]
xor r11d, r15d
mov r15d, esi
xor r15d, r14d
and r15d, 0xff000000
or r15d, r10d
mov r10d, r12d
xor r10d, ebp
movzx r10d, r10b
or r15d, r10d
mov r10d, r11d
xor r10d, eax
and r10d, 0xff00
or r15d, r10d
mov r10d, r12d
shr r10d, 0x18
xor r10d, esi
movzx r10d, r10b
mov dword [rsp + 0x84], r10d
mov r10d, r14d
shl r10d, 8
xor r10d, r13d
and r10d, 0xff000000
or dword [rsp + 0x84], r10d
mov r10d, edi
shl r10d, 8
xor r10d, eax
and r10d, 0xff0000
or dword [rsp + 0x84], r10d
mov r10d, r11d
shl r10d, 8
xor r10d, ebp
and r10d, 0xff00
or dword [rsp + 0x84], r10d
mov r10d, r12d
shr r10d, 0x10
shr r12d, 8
mov ebx, r10d
xor r12d, eax
xor ebx, r13d
movzx r10d, bl
mov dword [rsp + 0xa8], r10d
mov r10d, r14d
shl r14d, 0x18
shl r10d, 0x10
xor r10d, eax
movzx eax, r12b
and r10d, 0xff000000
or dword [rsp + 0xa8], r10d
mov r10d, edi
shl r10d, 0x10
xor r10d, ebp
and r10d, 0xff0000
or dword [rsp + 0xa8], r10d
mov r10d, r11d
shr r10d, 0x10
xor r10d, esi
and r10d, 0xff00
or dword [rsp + 0xa8], r10d
xor r14d, ebp
shr edi, 8
mov ebx, dword [rsp + 0x24]
and r14d, 0xff000000
xor edi, esi
mov esi, dword [rsp + 0x84]
mov dword [rsp + 0xac], eax
shr r11d, 8
or dword [rsp + 0xac], r14d
and edi, 0xff0000
xor r11d, r13d
or dword [rsp + 0xac], edi
xor ebx, esi
and r11d, 0xff00
or dword [rsp + 0xac], r11d
mov rdx, qword [rsp + 0x10]
mov r10d, ebx
shr r10d, 0x10
movzx r10d, r10b
mov r14d, dword [rsp + 0xa8]
mov r11d, dword [rsp + 0xac]
mov eax, dword [rsp + 0x74]
mov edi, dword [rsp + 0xa4]
mov rbp, qword [rsp]
xor dword [rsp + 0x28], esi
movzx esi, bh
xor dword [rsp + 0x94], r11d
xor eax, r14d
xor edi, r11d
mov r11d, dword [rdx + r10*4]
mov r10d, dword [r8 + rsi*4]
movzx esi, bl
shr ebx, 0x18
mov r13d, dword [rbp + rbx*4]
mov ebx, eax
xor dword [rsp + 0x70], r14d
shr ebx, 0x18
mov esi, dword [r9 + rsi*4]
mov ebx, dword [rbp + rbx*4]
movzx ebp, ah
mov r12d, dword [r8 + rbp*4]
movzx ebp, al
shr eax, 0x10
mov ebp, dword [r9 + rbp*4]
movzx eax, al
xor r13d, esi
xor r13d, r11d
xor r13d, r10d
xor r10d, r12d
mov r14d, ebp
xor esi, ebp
mov rbp, qword [rsp]
xor r14d, ebx
xor r14d, dword [rdx + rax*4]
mov eax, edi
shr eax, 0x18
mov eax, dword [rbp + rax*4]
xor r14d, r12d
mov r12d, edi
shr r12d, 0x10
xor ebx, eax
movzx ebp, r12b
mov r12d, dword [rdx + rbp*4]
movzx ebp, dil
mov rdx, rdi
mov ebp, dword [r9 + rbp*4]
movzx edi, dh
mov rdx, r15
xor r11d, r12d
xor eax, ebp
xor esi, ebp
mov rbp, qword [rsp]
xor eax, r12d
xor eax, dword [r8 + rdi*4]
mov edi, r15d
shr edi, 0x18
mov r12d, dword [rbp + rdi*4]
mov edi, r15d
mov rbp, qword [rsp + 0x10]
shr edi, 0x10
movzx r15d, r15b
movzx edi, dil
xor ebx, r12d
xor r12d, dword [r9 + r15*4]
mov ebp, dword [rbp + rdi*4]
movzx edi, dh
mov edi, dword [r8 + rdi*4]
xor r11d, ebp
xor r12d, ebp
xor r10d, edi
xor r12d, edi
mov edi, r13d
xor edi, ebx
mov dword [rsp + 0x24], edi
mov edi, r11d
and dword [rsp + 0x24], 0xff000000
xor edi, r14d
and edi, 0xff0000
or dword [rsp + 0x24], edi
mov edi, esi
xor edi, r12d
movzx edi, dil
or dword [rsp + 0x24], edi
mov edi, r10d
xor edi, eax
and edi, 0xff00
or dword [rsp + 0x24], edi
mov edi, esi
shr edi, 0x18
xor edi, r13d
movzx edi, dil
mov dword [rsp + 0x74], edi
mov edi, ebx
shl edi, 8
xor edi, r14d
and edi, 0xff000000
or dword [rsp + 0x74], edi
mov edi, r11d
shl edi, 8
xor edi, eax
and edi, 0xff0000
or dword [rsp + 0x74], edi
mov edi, r10d
shl edi, 8
xor edi, r12d
and edi, 0xff00
or dword [rsp + 0x74], edi
mov edi, esi
shr edi, 0x10
shr esi, 8
xor edi, r14d
xor esi, eax
movzx edi, dil
mov dword [rsp + 0xa4], edi
mov edi, ebx
shl ebx, 0x18
shl edi, 0x10
xor ebx, r12d
xor edi, eax
movzx eax, sil
and ebx, 0xff000000
and edi, 0xff000000
or dword [rsp + 0xa4], edi
mov edi, r11d
shl edi, 0x10
shr r11d, 8
mov dword [rsp + 0x80], eax
xor edi, r12d
or dword [rsp + 0x80], ebx
xor r11d, r13d
and edi, 0xff0000
or dword [rsp + 0xa4], edi
mov edi, r10d
shr edi, 0x10
shr r10d, 8
and r11d, 0xff0000
xor edi, r13d
or dword [rsp + 0x80], r11d
xor r10d, r14d
and r10d, 0xff00
and edi, 0xff00
or dword [rsp + 0x80], r10d
mov r10d, 2
or dword [rsp + 0xa4], edi
cmp qword [rsp + 8], 4
jbe 0x6d96fd25
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
bswap eax
add qword [rsp + 0x88], 4
sub qword [rsp + 8], 4
mov edi, dword [rsp + 0x20]
xor dword [rsp + 0x74], edi
mov r15d, dword [rsp + 0x74]
mov r10d, dword [rsp + 0xa0]
mov r14d, dword [rsp + 0x80]
mov esi, dword [rsp + 0x6c]
mov r11d, dword [rsp + 0xa4]
mov ebp, dword [rsp + 0x40]
xor r10d, r15d
mov r13d, dword [rsp + 0x24]
mov ebx, dword [rsp + 0x64]
xor esi, r14d
xor dword [rsp + 0x84], ebx
mov rbx, r10
mov dword [rsp + 0x40], esi
movzx esi, bh
xor ebp, r11d
xor r13d, r11d
xor dword [rsp + 0xcc], r15d
mov esi, dword [r8 + rsi*4]
mov r15, qword [rsp + 0x10]
mov r11d, r10d
mov rbx, rbp
mov rdx, qword [rsp]
shr r11d, 0x10
movzx r11d, r11b
xor dword [rsp + 0xc0], r14d
mov edi, dword [r15 + r11*4]
mov r11d, esi
movzx esi, r10b
shr r10d, 0x18
mov r12d, dword [r9 + rsi*4]
xor dword [rsp + 0xb4], r13d
mov r14d, dword [rdx + r10*4]
movzx r13d, bpl
mov r10d, ebp
mov r13d, dword [r9 + r13*4]
shr r10d, 0x18
shr ebp, 0x10
mov r10d, dword [rdx + r10*4]
movzx ebp, bpl
movzx esi, bh
xor r14d, r12d
mov dword [rsp + 0x24], r11d
mov rbx, r15
xor r14d, edi
xor dword [rsp + 0x90], eax
mov esi, dword [r8 + rsi*4]
xor r14d, r11d
mov r11d, r13d
xor r11d, r10d
xor r11d, dword [r15 + rbp*4]
mov ebp, dword [rsp + 0x40]
shr ebp, 0x18
mov r15d, dword [rdx + rbp*4]
mov ebp, dword [rsp + 0x40]
mov rdx, rbx
xor r11d, esi
shr ebp, 0x10
xor r10d, r15d
movzx ebp, bpl
mov ebp, dword [rbx + rbp*4]
movzx ebx, byte [rsp + 0x40]
mov ebx, dword [r9 + rbx*4]
mov dword [rsp + 0x10], ebx
xor r13d, dword [rsp + 0x10]
xor r15d, ebx
mov rbx, qword [rsp + 0x40]
xor r15d, ebp
xor r13d, r12d
mov r12d, eax
movzx ebx, bh
shr r12d, 0x18
xor r15d, dword [r8 + rbx*4]
mov ebx, r12d
mov r12, qword [rsp]
mov r12d, dword [r12 + rbx*4]
mov ebx, eax
shr ebx, 0x10
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
xor r10d, r12d
xor ebp, ebx
xor ebp, edi
movzx edi, ah
movzx eax, al
mov edi, dword [r8 + rdi*4]
xor esi, edi
xor r12d, dword [r9 + rax*4]
xor esi, dword [rsp + 0x24]
mov eax, ebp
xor eax, r11d
mov dword [rsp + 0xa0], eax
and dword [rsp + 0xa0], 0xff0000
xor r12d, ebx
mov eax, esi
xor r12d, edi
xor eax, r15d
and eax, 0xff00
or dword [rsp + 0xa0], eax
mov eax, r12d
xor eax, r13d
movzx eax, al
or dword [rsp + 0xa0], eax
mov eax, r14d
xor eax, r10d
and eax, 0xff000000
or dword [rsp + 0xa0], eax
mov eax, ebp
shl eax, 8
mov dword [rsp + 0x40], eax
mov eax, esi
xor dword [rsp + 0x40], r15d
shl eax, 8
and dword [rsp + 0x40], 0xff0000
xor eax, r12d
and eax, 0xff00
or dword [rsp + 0x40], eax
mov eax, r10d
shl eax, 8
xor eax, r11d
and eax, 0xff000000
or dword [rsp + 0x40], eax
mov eax, r13d
shr eax, 0x18
xor eax, r14d
movzx eax, al
or dword [rsp + 0x40], eax
mov eax, r13d
shr eax, 0x10
mov ebx, eax
xor ebx, r11d
movzx eax, bl
mov dword [rsp + 0x6c], eax
mov eax, r10d
shl eax, 0x10
xor eax, r15d
and eax, 0xff000000
or dword [rsp + 0x6c], eax
mov eax, ebp
shl eax, 0x10
shr r13d, 8
shl r10d, 0x18
xor eax, r12d
xor r13d, r15d
shr ebp, 8
and eax, 0xff0000
or dword [rsp + 0x6c], eax
mov eax, esi
shr eax, 0x10
xor r10d, r12d
xor ebp, r14d
xor eax, r14d
movzx r13d, r13b
and r10d, 0xff000000
and eax, 0xff00
or dword [rsp + 0x6c], eax
shr esi, 8
mov ebx, dword [rsp + 0x64]
and ebp, 0xff0000
xor esi, r11d
mov r14d, dword [rsp + 0x40]
mov dword [rsp + 0x24], r13d
and esi, 0xff00
or dword [rsp + 0x24], r10d
or dword [rsp + 0x24], ebp
or dword [rsp + 0x24], esi
xor ebx, r14d
mov r11d, dword [rsp + 0x6c]
mov eax, ebx
mov r10d, dword [rsp + 0x24]
movzx ebp, ah
mov ebx, dword [rsp + 0x9c]
mov esi, dword [rsp + 0x68]
mov r13, qword [rsp]
xor dword [rsp + 0xc8], r10d
xor dword [rsp + 0xbc], r11d
xor ebx, r10d
mov r10d, eax
shr r10d, 0x10
xor esi, r11d
movzx r11d, al
movzx r10d, r10b
shr eax, 0x18
mov edi, esi
movzx r12d, dil
mov esi, dword [rdx + r10*4]
mov r15d, dword [r13 + rax*4]
mov eax, edi
mov r10d, dword [r8 + rbp*4]
mov ebp, dword [r9 + r11*4]
xor dword [rsp + 0xb8], r14d
mov r12d, dword [r9 + r12*4]
mov r14, rdx
mov rdx, rdi
xor r15d, ebp
movzx edx, dh
mov dword [rsp + 0x64], r15d
mov r15d, r12d
xor dword [rsp + 0x64], esi
shr eax, 0x18
shr edi, 0x10
mov eax, dword [r13 + rax*4]
movzx edi, dil
mov r11d, dword [r8 + rdx*4]
mov rdx, r14
xor dword [rsp + 0x64], r10d
xor r15d, eax
xor r15d, dword [r14 + rdi*4]
mov edi, ebx
shr edi, 0x18
mov r14d, dword [r13 + rdi*4]
movzx r13d, bl
mov edi, ebx
mov r13d, dword [r9 + r13*4]
shr edi, 0x10
movzx ebx, bh
movzx edi, dil
xor r15d, r11d
mov edi, dword [rdx + rdi*4]
xor eax, r14d
xor r12d, r13d
xor r14d, r13d
mov r13d, dword [rsp + 0xa0]
xor r12d, ebp
mov rbp, qword [rsp]
xor r14d, edi
xor r14d, dword [r8 + rbx*4]
mov ebx, r13d
shr ebx, 0x18
mov ebp, dword [rbp + rbx*4]
mov ebx, r13d
mov qword [rsp + 0x10], rdx
shr ebx, 0x10
mov r13d, dword [rsp + 0xa0]
movzx ebx, bl
mov ebx, dword [rdx + rbx*4]
xor eax, ebp
mov rdx, r13
xor edi, ebx
xor edi, esi
movzx esi, dh
mov esi, dword [r8 + rsi*4]
xor r11d, esi
xor r11d, r10d
movzx r10d, r13b
xor ebp, dword [r9 + r10*4]
mov r10d, edi
xor r10d, r15d
and r10d, 0xff0000
xor ebp, ebx
mov ebx, dword [rsp + 0x64]
xor ebp, esi
mov esi, ebx
xor esi, eax
mov r13d, esi
mov esi, ebx
and r13d, 0xff000000
or r13d, r10d
mov r10d, r12d
xor r10d, ebp
movzx r10d, r10b
or r13d, r10d
mov r10d, r11d
xor r10d, r14d
and r10d, 0xff00
or r13d, r10d
mov r10d, r12d
shr r10d, 0x18
xor r10d, ebx
movzx ebx, r10b
mov r10d, eax
shl r10d, 8
mov dword [rsp + 0x68], ebx
mov ebx, r12d
xor r10d, r15d
shr ebx, 0x10
shr r12d, 8
and r10d, 0xff000000
or dword [rsp + 0x68], r10d
mov r10d, edi
shl r10d, 8
xor ebx, r15d
xor r12d, r14d
xor r10d, r14d
movzx ebx, bl
and r10d, 0xff0000
or dword [rsp + 0x68], r10d
mov r10d, r11d
shl r10d, 8
mov dword [rsp + 0x9c], ebx
movzx ebx, r12b
xor r10d, ebp
mov dword [rsp + 0xa0], ebx
and r10d, 0xff00
or dword [rsp + 0x68], r10d
mov r10d, eax
shl r10d, 0x10
shl eax, 0x18
xor r10d, r14d
and r10d, 0xff000000
or dword [rsp + 0x9c], r10d
mov r10d, edi
shl r10d, 0x10
xor r10d, ebp
and r10d, 0xff0000
or dword [rsp + 0x9c], r10d
mov r10d, r11d
shr r10d, 0x10
xor r10d, esi
and r10d, 0xff00
or dword [rsp + 0x9c], r10d
xor eax, ebp
shr edi, 8
and eax, 0xff000000
shr r11d, 8
or dword [rsp + 0xa0], eax
xor edi, esi
mov eax, dword [rsp + 0x20]
mov esi, dword [rsp + 0x68]
and edi, 0xff0000
xor r11d, r15d
or dword [rsp + 0xa0], edi
and r11d, 0xff00
mov ebx, dword [rsp + 0x9c]
mov r10d, dword [rsp + 0x60]
xor eax, esi
or dword [rsp + 0xa0], r11d
mov r11d, eax
mov r15d, dword [rsp + 0xa0]
shr r11d, 0x10
xor dword [rsp + 0x30], esi
mov edi, dword [rsp + 0x98]
xor r10d, ebx
xor dword [rsp + 0xb0], ebx
movzx ebx, ah
movzx r11d, r11b
mov rbp, qword [rsp]
mov r14d, dword [r8 + rbx*4]
movzx ebx, al
shr eax, 0x18
xor edi, r15d
xor dword [rsp + 0xc4], r15d
mov r15d, dword [rbp + rax*4]
mov eax, r10d
mov esi, dword [r9 + rbx*4]
shr eax, 0x18
mov rdx, qword [rsp + 0x10]
mov ebx, dword [rbp + rax*4]
mov rax, r10
movzx eax, ah
xor r15d, esi
mov r12d, dword [r8 + rax*4]
movzx eax, r10b
shr r10d, 0x10
mov ebp, dword [r9 + rax*4]
movzx r10d, r10b
mov r11d, dword [rdx + r11*4]
mov eax, ebp
xor r15d, r11d
xor esi, ebp
xor eax, ebx
xor eax, dword [rdx + r10*4]
mov rbp, qword [rsp]
xor r15d, r14d
mov r10d, edi
xor r14d, r12d
shr r10d, 0x18
mov r10d, dword [rbp + r10*4]
xor eax, r12d
mov r12d, edi
shr r12d, 0x10
movzx ebp, r12b
xor ebx, r10d
mov r12d, dword [rdx + rbp*4]
movzx ebp, dil
mov rdx, rdi
mov ebp, dword [r9 + rbp*4]
movzx edi, dh
mov rdx, r13
xor r11d, r12d
xor r10d, ebp
xor esi, ebp
mov rbp, qword [rsp]
xor r10d, r12d
xor r10d, dword [r8 + rdi*4]
mov edi, r13d
shr edi, 0x18
mov r12d, dword [rbp + rdi*4]
mov edi, r13d
mov rbp, qword [rsp + 0x10]
shr edi, 0x10
movzx r13d, r13b
movzx edi, dil
xor ebx, r12d
xor r12d, dword [r9 + r13*4]
mov ebp, dword [rbp + rdi*4]
movzx edi, dh
mov edi, dword [r8 + rdi*4]
xor r11d, ebp
xor r12d, ebp
xor r14d, edi
xor r12d, edi
mov edi, r15d
xor edi, ebx
mov dword [rsp + 0x20], edi
mov edi, r11d
and dword [rsp + 0x20], 0xff000000
xor edi, eax
and edi, 0xff0000
or dword [rsp + 0x20], edi
mov edi, esi
xor edi, r12d
movzx edi, dil
or dword [rsp + 0x20], edi
mov edi, r14d
xor edi, r10d
and edi, 0xff00
or dword [rsp + 0x20], edi
mov edi, esi
shr edi, 0x18
xor edi, r15d
movzx edi, dil
mov dword [rsp + 0x60], edi
mov edi, ebx
shl edi, 8
xor edi, eax
and edi, 0xff000000
or dword [rsp + 0x60], edi
mov edi, r11d
shl edi, 8
xor edi, r10d
and edi, 0xff0000
or dword [rsp + 0x60], edi
mov edi, r14d
shl edi, 8
xor edi, r12d
and edi, 0xff00
or dword [rsp + 0x60], edi
mov edi, esi
shr edi, 0x10
shr esi, 8
xor edi, eax
xor esi, r10d
movzx edi, dil
movzx esi, sil
mov dword [rsp + 0x98], edi
mov edi, ebx
shl ebx, 0x18
shl edi, 0x10
xor ebx, r12d
mov dword [rsp + 0x64], esi
xor edi, r10d
and ebx, 0xff000000
or dword [rsp + 0x64], ebx
and edi, 0xff000000
or dword [rsp + 0x98], edi
mov edi, r11d
shl edi, 0x10
shr r11d, 8
mov r10d, 3
xor edi, r12d
xor r11d, r15d
and edi, 0xff0000
and r11d, 0xff0000
or dword [rsp + 0x98], edi
mov edi, r14d
shr r14d, 8
shr edi, 0x10
or dword [rsp + 0x64], r11d
xor r14d, eax
xor edi, r15d
and r14d, 0xff00
or dword [rsp + 0x64], r14d
and edi, 0xff00
or dword [rsp + 0x98], edi
cmp qword [rsp + 8], 4
jbe 0x6d96fd25
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
bswap eax
add qword [rsp + 0x88], 4
sub qword [rsp + 8], 4
jmp 0x6d96df3b
mov rdx, qword [rsp + 8]
test edx, edx
mov r10d, edx
jne 0x6d96dd61
jmp 0x6d96dd9b
mov r9, qword [rsp + 8]
test r9, r9
mov dword [rcx + 4], r9d
je 0x6d96ff5a
mov rdx, qword [rsp + 0x88]
xor eax, eax
add r9, rdx
shl eax, 8
add rdx, 1
mov r8d, eax
movzx eax, byte [rdx - 1]
or eax, r8d
cmp rdx, r9
jne 0x6d96fd44
mov dword [rcx], eax
mov eax, dword [rsp + 0x28]
mov dword [rcx + 8], r10d
mov dword [rcx + 0xc], eax
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x10], eax
mov eax, dword [rsp + 0x94]
mov dword [rcx + 0x14], eax
mov eax, dword [rsp + 0x54]
mov dword [rcx + 0x18], eax
mov eax, dword [rsp + 0x58]
mov dword [rcx + 0x1c], eax
mov eax, dword [rsp + 0x78]
mov dword [rcx + 0x20], eax
mov eax, dword [rsp + 0x7c]
mov dword [rcx + 0x24], eax
mov eax, dword [rsp + 0x2c]
mov dword [rcx + 0x28], eax
mov eax, dword [rsp + 0x5c]
mov dword [rcx + 0x2c], eax
mov eax, dword [rsp + 0x20]
mov dword [rcx + 0x30], eax
mov eax, dword [rsp + 0x60]
mov dword [rcx + 0x34], eax
mov eax, dword [rsp + 0x98]
mov dword [rcx + 0x38], eax
mov eax, dword [rsp + 0x64]
mov dword [rcx + 0x3c], eax
mov eax, dword [rsp + 0x68]
mov dword [rcx + 0x40], eax
mov eax, dword [rsp + 0x9c]
mov dword [rcx + 0x44], eax
mov eax, dword [rsp + 0xa0]
mov dword [rcx + 0x48], eax
mov eax, dword [rsp + 0x40]
mov dword [rcx + 0x4c], eax
mov eax, dword [rsp + 0x6c]
mov dword [rcx + 0x50], eax
mov eax, dword [rsp + 0x24]
mov dword [rcx + 0x54], eax
mov eax, dword [rsp + 0x74]
mov dword [rcx + 0x58], eax
mov eax, dword [rsp + 0xa4]
mov dword [rcx + 0x5c], eax
mov eax, dword [rsp + 0x80]
mov dword [rcx + 0x60], eax
mov eax, dword [rsp + 0x84]
mov dword [rcx + 0x64], eax
mov eax, dword [rsp + 0xa8]
mov dword [rcx + 0x68], eax
mov eax, dword [rsp + 0xac]
mov dword [rcx + 0x6c], eax
mov eax, dword [rsp + 0x50]
mov dword [rcx + 0x70], eax
mov eax, dword [rsp + 0x90]
mov dword [rcx + 0x74], eax
mov eax, dword [rsp + 0x30]
mov dword [rcx + 0x78], eax
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0x7c], eax
mov eax, dword [rsp + 0xc4]
mov dword [rcx + 0x80], eax
mov eax, dword [rsp + 0xb8]
mov dword [rcx + 0x84], eax
mov eax, dword [rsp + 0xbc]
mov dword [rcx + 0x88], eax
mov eax, dword [rsp + 0xc8]
mov dword [rcx + 0x8c], eax
mov eax, dword [rsp + 0xcc]
mov dword [rcx + 0x90], eax
mov eax, dword [rsp + 0xb4]
mov dword [rcx + 0x94], eax
mov eax, dword [rsp + 0xc0]
mov dword [rcx + 0x98], eax
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add r10d, r11d
mov dword [rcx], eax
mov dword [rcx + 4], r10d
jmp 0x6d96fea7
lea rdx, [0x6daef4a0]
lea r8, [0x6daef0a0]
lea r9, [0x6daeeca0]
mov qword [rsp + 0x10], rdx
lea rdx, [0x6daef8a0]
mov qword [rsp], rdx
jmp 0x6d96e669
lea rdx, [0x6daef4a0]
lea r8, [0x6daef0a0]
lea r9, [0x6daeeca0]
mov qword [rsp + 0x10], rdx
lea rdx, [0x6daef8a0]
mov qword [rsp], rdx
jmp 0x6d96f599
lea rdx, [0x6daef4a0]
lea r8, [0x6daef0a0]
lea r9, [0x6daeeca0]
mov qword [rsp + 0x10], rdx
lea rdx, [0x6daef8a0]
mov qword [rsp], rdx
jmp 0x6d96ee13
xor eax, eax
jmp 0x6d96fd5a