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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push r15
sub rsp, 0x40
mov r11d, dword [rcx + 4]
mov r10, r8
mov r8, rdx
mov r15, rcx
lea rax, [r10*8]
add qword [rcx + 0xa0], rax
mov eax, dword [rcx]
cmp r11d, 4
jae 0x1401a822a
mov edx, 4
mov r9d, r10d
sub edx, r11d
cmp r10, rdx
cmovae r9d, edx
add r11d, r9d
test r9d, r9d
je 0x1401a8217
mov ecx, r9d
sub r10, rcx
mov qword [rsp + 0x60], r10
nop
movzx ecx, byte [r8]
inc r8
shl eax, 8
or eax, ecx
add r9d, 0xffffffff
jne 0x1401a8200
mov qword [rsp + 0x58], r8
test r10, r10
jne 0x1401a822a
mov dword [r15 + 4], r11d
mov dword [r15], eax
add rsp, 0x40
pop r15
ret
mov edx, dword [r15 + 8]
xor ecx, ecx
mov qword [rsp + 0x38], rbx
mov r9d, edx
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x18], r12
lea r12, [0x140000000]
mov qword [rsp + 0x10], r13
mov qword [rsp + 8], r14
test edx, edx
je 0x1401a827a
sub r9d, 1
je 0x1401a8c17
cmp r9d, 1
je 0x1401a9562
jmp 0x1401a9eb8
mov ecx, dword [r15 + 0xc]
lea r13, [0x140000000]
xor dword [r15 + 0x64], ecx
mov ecx, dword [r15 + 0x6c]
xor dword [r15 + 0x10], ecx
mov ecx, dword [r15 + 0x78]
xor dword [r15 + 0x1c], ecx
mov ecx, dword [r15 + 0x84]
xor dword [r15 + 0x28], ecx
mov edx, dword [r15 + 0x18]
xor dword [r15 + 0x50], edx
mov r8d, dword [r15 + 0x14]
xor dword [r15 + 0x4c], r8d
mov ecx, dword [r15 + 0x90]
mov r9d, dword [r15 + 0x10]
xor ecx, r9d
mov ebx, dword [r15 + 0x98]
mov r11d, dword [r15 + 0x94]
xor ebx, edx
xor dword [r15 + 0x48], r9d
xor r11d, r8d
mov r10d, ecx
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r12d, dword [r12 + rdx*4 + 0x44e940]
mov r15d, dword [r13 + rcx*4 + 0x44ed60]
mov ecx, r10d
shr ecx, 8
xor r15d, r12d
movzx edx, cl
movzx ecx, r10b
mov r8d, dword [r13 + rdx*4 + 0x44f160]
xor r15d, r8d
mov esi, dword [r13 + rcx*4 + 0x44f5a0]
xor r15d, esi
mov ecx, r11d
shr rcx, 0x18
mov r14d, dword [r13 + rcx*4 + 0x44ed60]
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
mov ecx, r11d
shr ecx, 8
mov ebp, dword [r13 + rdx*4 + 0x44e940]
movzx edx, cl
xor ebp, r14d
mov ecx, dword [r13 + rdx*4 + 0x44f160]
xor r8d, ecx
xor ebp, ecx
mov dword [rsp + 0x68], r8d
movzx ecx, r11b
mov ecx, dword [r13 + rcx*4 + 0x44f5a0]
xor esi, ecx
xor ebp, ecx
mov ecx, ebx
shr rcx, 0x18
mov edi, dword [r13 + rcx*4 + 0x44ed60]
xor r14d, edi
mov ecx, ebx
shr ecx, 0x10
movzx edx, cl
mov ecx, ebx
shr ecx, 8
mov r8d, dword [r13 + rdx*4 + 0x44e940]
xor r12d, r8d
movzx edx, cl
mov ecx, dword [r13 + rdx*4 + 0x44f160]
xor ecx, r8d
xor edi, ecx
movzx ecx, bl
mov ecx, dword [r13 + rcx*4 + 0x44f5a0]
xor edi, ecx
xor esi, ecx
mov ecx, eax
shr rcx, 0x18
mov r10d, dword [r13 + rcx*4 + 0x44ed60]
xor r14d, r10d
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
mov ebx, dword [rsp + 0x68]
mov ecx, dword [r13 + rdx*4 + 0x44e940]
xor r12d, ecx
xor r10d, ecx
mov r11d, r12d
shl r11d, 8
mov ecx, eax
shr ecx, 8
xor r11d, edi
movzx edx, cl
and r11d, 0xff0000
mov r9d, r12d
movzx ecx, al
shl r9d, 0x10
mov r8d, dword [r13 + rdx*4 + 0x44f160]
xor ebx, r8d
mov ecx, dword [r13 + rcx*4 + 0x44f5a0]
xor ecx, r8d
mov rdx, qword [rsp + 0x50]
xor r10d, ecx
mov ecx, esi
xor ecx, r10d
xor r9d, r10d
movzx r13d, cl
and r9d, 0xff0000
mov ecx, r12d
shr r12d, 8
xor ecx, ebp
xor r12d, r15d
and ecx, 0xff0000
and r12d, 0xff0000
or r13d, ecx
mov ecx, ebx
xor ecx, edi
and ecx, 0xff00
or r13d, ecx
mov ecx, r14d
xor ecx, r15d
and ecx, 0xff000000
or r13d, ecx
mov ecx, esi
shr ecx, 0x18
xor ecx, r15d
mov dword [rdx + 0x90], r13d
movzx ecx, cl
or r11d, ecx
mov ecx, ebx
shl ecx, 8
xor ecx, r10d
and ecx, 0xff00
or r11d, ecx
mov ecx, r14d
shl ecx, 8
xor ecx, ebp
and ecx, 0xff000000
or r11d, ecx
mov ecx, esi
shr ecx, 0x10
xor ecx, ebp
shr esi, 8
movzx ecx, cl
xor esi, edi
or r9d, ecx
mov dword [rdx + 0x94], r11d
mov ecx, r14d
shl r14d, 0x18
shl ecx, 0x10
xor r14d, r10d
xor ecx, edi
and ecx, 0xff000000
or r9d, ecx
mov ecx, ebx
shr ecx, 0x10
xor ecx, r15d
and ecx, 0xff00
or r9d, ecx
movzx ecx, sil
or ecx, r12d
mov dword [rdx + 0x98], r9d
and r14d, 0xff000000
or ecx, r14d
xor dword [rdx + 0x84], r11d
shr ebx, 8
xor ebx, ebp
and ebx, 0xff00
or ecx, ebx
mov rbx, rdx
mov dword [rdx + 0xc], ecx
mov edx, dword [rdx + 0x84]
xor dword [rbx + 0x8c], ecx
xor dword [rbx + 0x44], ecx
xor dword [rbx + 0x88], r9d
mov r8d, dword [rbx + 0x88]
movzx ecx, byte [rbx + 0x86]
xor dword [rbx + 0x3c], r11d
lea r11, [0x140000000]
mov r10d, dword [rbx + 0x8c]
xor dword [rbx + 0x40], r9d
mov r15d, dword [r11 + rcx*4 + 0x44e940]
mov ecx, edx
mov r9, qword [rsp + 0x50]
shr rcx, 0x18
mov r14d, dword [r11 + rcx*4 + 0x44ed60]
movzx ecx, byte [rbx + 0x85]
xor r14d, r15d
mov r12d, dword [r11 + rcx*4 + 0x44f160]
xor r14d, r12d
movzx ecx, dl
mov edi, dword [r11 + rcx*4 + 0x44f5a0]
mov ecx, r8d
shr rcx, 0x18
xor r14d, edi
mov ebp, dword [r11 + rcx*4 + 0x44ed60]
movzx ecx, byte [rbx + 0x8a]
mov esi, dword [r11 + rcx*4 + 0x44e940]
movzx ecx, byte [rbx + 0x89]
xor esi, ebp
mov ecx, dword [r11 + rcx*4 + 0x44f160]
xor esi, ecx
xor r12d, ecx
movzx ecx, r8b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor edi, ecx
xor esi, ecx
mov ecx, r10d
shr rcx, 0x18
mov ebx, dword [r11 + rcx*4 + 0x44ed60]
xor ebp, ebx
movzx ecx, byte [r9 + 0x8e]
mov edx, dword [r11 + rcx*4 + 0x44e940]
xor r15d, edx
movzx ecx, byte [r9 + 0x8d]
mov ecx, dword [r11 + rcx*4 + 0x44f160]
xor ecx, edx
xor ebx, ecx
movzx ecx, r10b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor ebx, ecx
xor edi, ecx
mov ecx, r13d
shr rcx, 0x18
mov r8d, dword [r11 + rcx*4 + 0x44ed60]
xor ebp, r8d
movzx ecx, byte [r9 + 0x92]
mov ecx, dword [r11 + rcx*4 + 0x44e940]
xor r8d, ecx
xor r15d, ecx
movzx ecx, byte [r9 + 0x91]
mov edx, dword [r11 + rcx*4 + 0x44f160]
xor r12d, edx
movzx ecx, r13b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor ecx, edx
xor r8d, ecx
mov ecx, edi
xor ecx, r8d
movzx r13d, cl
mov ecx, r15d
xor ecx, esi
and ecx, 0xff0000
or r13d, ecx
mov rdx, qword [rsp + 0x50]
mov r11d, r15d
shl r11d, 8
mov ecx, r12d
xor ecx, ebx
xor r11d, ebx
and ecx, 0xff00
and r11d, 0xff0000
or r13d, ecx
mov ecx, ebp
xor ecx, r14d
and ecx, 0xff000000
or r13d, ecx
mov ecx, edi
shr ecx, 0x18
xor ecx, r14d
mov dword [r9 + 0x84], r13d
movzx ecx, cl
or r11d, ecx
mov ecx, r12d
shl ecx, 8
xor ecx, r8d
and ecx, 0xff00
or r11d, ecx
mov ecx, ebp
shl ecx, 8
xor ecx, esi
and ecx, 0xff000000
or r11d, ecx
mov ecx, edi
xor dword [rdx + 0x78], r11d
shr ecx, 0x10
xor ecx, esi
mov dword [r9 + 0x88], r11d
movzx ecx, cl
mov r9d, r15d
shl r9d, 0x10
xor r9d, r8d
shr r15d, 8
and r9d, 0xff0000
shr edi, 8
or r9d, ecx
xor edi, ebx
mov ecx, ebp
xor r15d, r14d
shl ecx, 0x10
and r15d, 0xff0000
xor ecx, ebx
shl ebp, 0x18
and ecx, 0xff000000
mov rbx, rdx
or r9d, ecx
xor ebp, r8d
mov ecx, r12d
and ebp, 0xff000000
shr ecx, 0x10
xor dword [rbx + 0x30], r11d
xor ecx, r14d
and ecx, 0xff00
shr r12d, 8
or r9d, ecx
lea r11, [0x140000000]
xor dword [rbx + 0x7c], r9d
xor r12d, esi
xor dword [rbx + 0x34], r9d
and r12d, 0xff00
mov r8d, dword [rbx + 0x7c]
movzx ecx, dil
or ecx, r15d
mov dword [rdx + 0x8c], r9d
or ecx, ebp
or ecx, r12d
xor dword [rbx + 0x80], ecx
xor dword [rbx + 0x38], ecx
mov r10d, dword [rbx + 0x80]
mov dword [rdx + 0x90], ecx
movzx ecx, byte [rbx + 0x7a]
mov edx, dword [rdx + 0x78]
mov r15d, dword [r11 + rcx*4 + 0x44e940]
mov ecx, edx
shr rcx, 0x18
mov r14d, dword [r11 + rcx*4 + 0x44ed60]
movzx ecx, byte [rbx + 0x79]
xor r14d, r15d
mov r9, qword [rsp + 0x50]
mov r12d, dword [r11 + rcx*4 + 0x44f160]
xor r14d, r12d
movzx ecx, dl
mov edi, dword [r11 + rcx*4 + 0x44f5a0]
xor r14d, edi
mov ecx, r8d
shr rcx, 0x18
mov ebp, dword [r11 + rcx*4 + 0x44ed60]
movzx ecx, byte [rbx + 0x7e]
mov esi, dword [r11 + rcx*4 + 0x44e940]
movzx ecx, byte [rbx + 0x7d]
xor esi, ebp
mov ecx, dword [r11 + rcx*4 + 0x44f160]
xor esi, ecx
xor r12d, ecx
movzx ecx, r8b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor edi, ecx
xor esi, ecx
mov ecx, r10d
shr rcx, 0x18
mov ebx, dword [r11 + rcx*4 + 0x44ed60]
xor ebp, ebx
movzx ecx, byte [r9 + 0x82]
mov edx, dword [r11 + rcx*4 + 0x44e940]
xor r15d, edx
movzx ecx, byte [r9 + 0x81]
mov ecx, dword [r11 + rcx*4 + 0x44f160]
xor ecx, edx
xor ebx, ecx
movzx ecx, r10b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor ebx, ecx
xor edi, ecx
mov ecx, r13d
shr rcx, 0x18
mov r8d, dword [r11 + rcx*4 + 0x44ed60]
xor ebp, r8d
movzx ecx, byte [r9 + 0x86]
mov ecx, dword [r11 + rcx*4 + 0x44e940]
xor r8d, ecx
xor r15d, ecx
movzx ecx, byte [r9 + 0x85]
mov edx, dword [r11 + rcx*4 + 0x44f160]
xor r12d, edx
movzx ecx, r13b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
mov r11d, r15d
xor ecx, edx
shl r11d, 8
xor r8d, ecx
xor r11d, ebx
mov ecx, edi
and r11d, 0xff0000
xor ecx, r8d
movzx r13d, cl
mov ecx, r15d
xor ecx, esi
and ecx, 0xff0000
or r13d, ecx
mov ecx, r12d
xor ecx, ebx
and ecx, 0xff00
or r13d, ecx
mov ecx, ebp
xor ecx, r14d
and ecx, 0xff000000
or r13d, ecx
mov ecx, edi
shr ecx, 0x18
xor ecx, r14d
mov dword [r9 + 0x78], r13d
movzx ecx, cl
or r11d, ecx
mov ecx, r12d
shl ecx, 8
xor ecx, r8d
mov rdx, qword [rsp + 0x50]
and ecx, 0xff00
or r11d, ecx
mov ecx, ebp
shl ecx, 8
xor ecx, esi
and ecx, 0xff000000
or r11d, ecx
mov ecx, edi
shr ecx, 0x10
xor ecx, esi
mov dword [r9 + 0x7c], r11d
movzx ecx, cl
mov r9d, r15d
shl r9d, 0x10
xor r9d, r8d
shr edi, 8
xor edi, ebx
shr r15d, 8
and r9d, 0xff0000
xor r15d, r14d
or r9d, ecx
and r15d, 0xff0000
mov ecx, ebp
shl ebp, 0x18
shl ecx, 0x10
xor ebp, r8d
xor ecx, ebx
and ebp, 0xff000000
and ecx, 0xff000000
or r9d, ecx
mov ecx, r12d
shr ecx, 0x10
shr r12d, 8
xor ecx, r14d
xor r12d, esi
and ecx, 0xff00
or r9d, ecx
and r12d, 0xff00
mov dword [rdx + 0x80], r9d
movzx edx, dil
or edx, r15d
mov r15, qword [rsp + 0x50]
or edx, ebp
or edx, r12d
lea r12, [0x140000000]
xor dword [r15 + 0x6c], r11d
xor dword [r15 + 0x70], r9d
xor dword [r15 + 0x74], edx
xor dword [r15 + 0x24], r11d
mov ecx, dword [r15 + 0x6c]
mov r8d, dword [r15 + 0x70]
xor dword [r15 + 0x28], r9d
mov r10d, dword [r15 + 0x74]
mov dword [r15 + 0x84], edx
xor edx, dword [r15 + 0x2c]
xor edx, eax
movzx eax, byte [r15 + 0x6e]
mov dword [r15 + 0x2c], edx
mov esi, dword [r12 + rax*4 + 0x44e940]
mov eax, ecx
shr rax, 0x18
mov edi, dword [r12 + rax*4 + 0x44ed60]
movzx eax, byte [r15 + 0x6d]
xor edi, esi
mov ebp, dword [r12 + rax*4 + 0x44f160]
xor edi, ebp
movzx eax, cl
mov r9d, dword [r12 + rax*4 + 0x44f5a0]
mov eax, r8d
shr rax, 0x18
xor edi, r9d
mov ebx, dword [r12 + rax*4 + 0x44ed60]
movzx eax, byte [r15 + 0x72]
mov r11d, dword [r12 + rax*4 + 0x44e940]
movzx eax, byte [r15 + 0x71]
xor r11d, ebx
mov eax, dword [r12 + rax*4 + 0x44f160]
xor r11d, eax
xor ebp, eax
movzx eax, r8b
mov eax, dword [r12 + rax*4 + 0x44f5a0]
xor r9d, eax
xor r11d, eax
mov eax, r10d
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0x44ed60]
xor ebx, r8d
movzx eax, byte [r15 + 0x76]
mov ecx, dword [r12 + rax*4 + 0x44e940]
xor esi, ecx
movzx eax, byte [r15 + 0x75]
mov eax, dword [r12 + rax*4 + 0x44f160]
xor eax, ecx
xor r8d, eax
movzx eax, r10b
mov eax, dword [r12 + rax*4 + 0x44f5a0]
xor r8d, eax
xor r9d, eax
mov eax, r13d
shr rax, 0x18
mov edx, dword [r12 + rax*4 + 0x44ed60]
xor ebx, edx
movzx eax, byte [r15 + 0x7a]
mov eax, dword [r12 + rax*4 + 0x44e940]
xor esi, eax
xor edx, eax
movzx eax, byte [r15 + 0x79]
mov ecx, dword [r12 + rax*4 + 0x44f160]
xor ebp, ecx
movzx eax, r13b
mov eax, dword [r12 + rax*4 + 0x44f5a0]
xor eax, ecx
xor edx, eax
mov eax, r9d
xor eax, edx
movzx ecx, al
mov eax, esi
xor eax, r11d
and eax, 0xff0000
or ecx, eax
mov eax, ebp
xor eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, ebx
xor eax, edi
and eax, 0xff000000
or ecx, eax
mov eax, r9d
shr eax, 0x18
xor eax, edi
mov dword [r15 + 0x6c], ecx
movzx eax, al
mov ecx, esi
shl ecx, 8
xor ecx, r8d
and ecx, 0xff0000
or ecx, eax
mov eax, ebp
shl eax, 8
xor eax, edx
and eax, 0xff00
or ecx, eax
mov eax, ebx
shl eax, 8
xor eax, r11d
and eax, 0xff000000
or ecx, eax
mov eax, r9d
mov dword [r15 + 0x70], ecx
mov ecx, esi
shr eax, 0x10
shl ecx, 0x10
xor eax, r11d
movzx eax, al
xor ecx, edx
and ecx, 0xff0000
or ecx, eax
mov eax, ebx
shl eax, 0x10
xor eax, r8d
mov r10, qword [rsp + 0x60]
and eax, 0xff000000
or ecx, eax
shr esi, 8
mov eax, ebp
shl ebx, 0x18
shr eax, 0x10
xor esi, edi
xor eax, edi
shr ebp, 8
and eax, 0xff00
shr r9d, 8
or ecx, eax
xor r9d, r8d
mov r8, qword [rsp + 0x58]
and esi, 0xff0000
xor ebx, edx
movzx eax, r9b
or eax, esi
mov dword [r15 + 0x74], ecx
and ebx, 0xff000000
xor ebp, r11d
or eax, ebx
and ebp, 0xff00
or eax, ebp
mov dword [r15 + 0x78], eax
cmp r10, 4
jbe 0x1401a9eb1
mov edx, dword [r8]
add r8, 4
rol edx, 0x10
mov eax, edx
mov qword [rsp + 0x58], r8
shr eax, 8
mov ecx, edx
shl ecx, 8
xor eax, ecx
shl edx, 8
and eax, 0xff00ff
xor eax, edx
sub r10, 4
mov qword [rsp + 0x60], r10
mov ecx, dword [r15 + 0x6c]
lea r13, [0x140000000]
xor dword [r15 + 0x34], ecx
mov ecx, dword [r15 + 0x3c]
xor dword [r15 + 0x70], ecx
mov ecx, dword [r15 + 0x48]
xor dword [r15 + 0x7c], ecx
mov ecx, dword [r15 + 0x54]
xor dword [r15 + 0x88], ecx
mov edx, dword [r15 + 0x78]
mov ebx, edx
xor dword [r15 + 0x20], edx
xor ebx, dword [r15 + 0x68]
mov r8d, dword [r15 + 0x74]
mov r11d, r8d
xor r11d, dword [r15 + 0x64]
xor dword [r15 + 0x1c], r8d
mov r9d, dword [r15 + 0x70]
mov ecx, r9d
xor ecx, dword [r15 + 0x60]
xor dword [r15 + 0x18], r9d
mov r10d, ecx
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r12d, dword [r12 + rdx*4 + 0x44e940]
mov r15d, dword [r13 + rcx*4 + 0x44ed60]
mov ecx, r10d
shr ecx, 8
xor r15d, r12d
movzx edx, cl
movzx ecx, r10b
mov r8d, dword [r13 + rdx*4 + 0x44f160]
xor r15d, r8d
mov esi, dword [r13 + rcx*4 + 0x44f5a0]
xor r15d, esi
mov ecx, r11d
shr rcx, 0x18
mov r14d, dword [r13 + rcx*4 + 0x44ed60]
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
mov ecx, r11d
shr ecx, 8
mov ebp, dword [r13 + rdx*4 + 0x44e940]
movzx edx, cl
xor ebp, r14d
mov ecx, dword [r13 + rdx*4 + 0x44f160]
xor r8d, ecx
xor ebp, ecx
mov dword [rsp + 0x68], r8d
movzx ecx, r11b
mov ecx, dword [r13 + rcx*4 + 0x44f5a0]
xor esi, ecx
xor ebp, ecx
mov ecx, ebx
shr rcx, 0x18
mov edi, dword [r13 + rcx*4 + 0x44ed60]
xor r14d, edi
mov ecx, ebx
shr ecx, 0x10
movzx edx, cl
mov ecx, ebx
shr ecx, 8
mov r8d, dword [r13 + rdx*4 + 0x44e940]
xor r12d, r8d
movzx edx, cl
mov ecx, dword [r13 + rdx*4 + 0x44f160]
xor ecx, r8d
xor edi, ecx
movzx ecx, bl
mov ecx, dword [r13 + rcx*4 + 0x44f5a0]
xor edi, ecx
xor esi, ecx
mov ecx, eax
shr rcx, 0x18
mov r10d, dword [r13 + rcx*4 + 0x44ed60]
xor r14d, r10d
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
mov ebx, dword [rsp + 0x68]
mov ecx, dword [r13 + rdx*4 + 0x44e940]
xor r12d, ecx
xor r10d, ecx
mov r11d, r12d
shl r11d, 8
mov ecx, eax
shr ecx, 8
xor r11d, edi
movzx edx, cl
and r11d, 0xff0000
mov r9d, r12d
movzx ecx, al
shl r9d, 0x10
mov r8d, dword [r13 + rdx*4 + 0x44f160]
xor ebx, r8d
mov ecx, dword [r13 + rcx*4 + 0x44f5a0]
xor ecx, r8d
mov rdx, qword [rsp + 0x50]
xor r10d, ecx
mov ecx, esi
xor ecx, r10d
xor r9d, r10d
movzx r13d, cl
and r9d, 0xff0000
mov ecx, r12d
shr r12d, 8
xor ecx, ebp
xor r12d, r15d
and ecx, 0xff0000
and r12d, 0xff0000
or r13d, ecx
mov ecx, ebx
xor ecx, edi
and ecx, 0xff00
or r13d, ecx
mov ecx, r14d
xor ecx, r15d
and ecx, 0xff000000
or r13d, ecx
mov ecx, esi
shr ecx, 0x18
xor ecx, r15d
mov dword [rdx + 0x60], r13d
movzx ecx, cl
or r11d, ecx
mov ecx, ebx
shl ecx, 8
xor ecx, r10d
and ecx, 0xff00
or r11d, ecx
mov ecx, r14d
shl ecx, 8
xor ecx, ebp
and ecx, 0xff000000
or r11d, ecx
mov ecx, esi
shr ecx, 0x10
xor ecx, ebp
shr esi, 8
movzx ecx, cl
xor esi, edi
or r9d, ecx
mov dword [rdx + 0x64], r11d
mov ecx, r14d
shl r14d, 0x18
shl ecx, 0x10
xor r14d, r10d
xor ecx, edi
and ecx, 0xff000000
or r9d, ecx
mov ecx, ebx
shr ecx, 0x10
xor ecx, r15d
and ecx, 0xff00
or r9d, ecx
movzx ecx, sil
or ecx, r12d
mov dword [rdx + 0x68], r9d
and r14d, 0xff000000
or ecx, r14d
xor dword [rdx + 0x54], r11d
shr ebx, 8
xor ebx, ebp
and ebx, 0xff00
or ecx, ebx
mov rbx, rdx
mov dword [rdx + 0x6c], ecx
mov edx, dword [rdx + 0x54]
xor dword [rbx + 0x5c], ecx
xor dword [rbx + 0x14], ecx
xor dword [rbx + 0x58], r9d
mov r8d, dword [rbx + 0x58]
movzx ecx, byte [rbx + 0x56]
xor dword [rbx + 0xc], r11d
lea r11, [0x140000000]
mov r10d, dword [rbx + 0x5c]
xor dword [rbx + 0x10], r9d
mov r15d, dword [r11 + rcx*4 + 0x44e940]
mov ecx, edx
mov r9, qword [rsp + 0x50]
shr rcx, 0x18
mov r14d, dword [r11 + rcx*4 + 0x44ed60]
movzx ecx, byte [rbx + 0x55]
xor r14d, r15d
mov r12d, dword [r11 + rcx*4 + 0x44f160]
xor r14d, r12d
movzx ecx, dl
mov edi, dword [r11 + rcx*4 + 0x44f5a0]
mov ecx, r8d
shr rcx, 0x18
xor r14d, edi
mov ebp, dword [r11 + rcx*4 + 0x44ed60]
movzx ecx, byte [rbx + 0x5a]
mov esi, dword [r11 + rcx*4 + 0x44e940]
movzx ecx, byte [rbx + 0x59]
xor esi, ebp
mov ecx, dword [r11 + rcx*4 + 0x44f160]
xor esi, ecx
xor r12d, ecx
movzx ecx, r8b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor edi, ecx
xor esi, ecx
mov ecx, r10d
shr rcx, 0x18
mov ebx, dword [r11 + rcx*4 + 0x44ed60]
xor ebp, ebx
movzx ecx, byte [r9 + 0x5e]
mov edx, dword [r11 + rcx*4 + 0x44e940]
xor r15d, edx
movzx ecx, byte [r9 + 0x5d]
mov ecx, dword [r11 + rcx*4 + 0x44f160]
xor ecx, edx
xor ebx, ecx
movzx ecx, r10b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor ebx, ecx
xor edi, ecx
mov ecx, r13d
shr rcx, 0x18
mov r8d, dword [r11 + rcx*4 + 0x44ed60]
xor ebp, r8d
movzx ecx, byte [r9 + 0x62]
mov ecx, dword [r11 + rcx*4 + 0x44e940]
xor r8d, ecx
xor r15d, ecx
movzx ecx, byte [r9 + 0x61]
mov edx, dword [r11 + rcx*4 + 0x44f160]
xor r12d, edx
movzx ecx, r13b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor ecx, edx
xor r8d, ecx
mov ecx, edi
xor ecx, r8d
movzx r13d, cl
mov ecx, r15d
xor ecx, esi
and ecx, 0xff0000
or r13d, ecx
mov rdx, qword [rsp + 0x50]
mov r11d, r15d
shl r11d, 8
mov ecx, r12d
xor ecx, ebx
xor r11d, ebx
and ecx, 0xff00
and r11d, 0xff0000
or r13d, ecx
mov ecx, ebp
xor ecx, r14d
and ecx, 0xff000000
or r13d, ecx
mov ecx, edi
shr ecx, 0x18
xor ecx, r14d
mov dword [r9 + 0x54], r13d
movzx ecx, cl
or r11d, ecx
mov ecx, r12d
shl ecx, 8
xor ecx, r8d
and ecx, 0xff00
or r11d, ecx
mov ecx, ebp
shl ecx, 8
xor ecx, esi
and ecx, 0xff000000
or r11d, ecx
mov ecx, edi
xor dword [rdx + 0x48], r11d
shr ecx, 0x10
xor ecx, esi
mov dword [r9 + 0x58], r11d
movzx ecx, cl
mov r9d, r15d
shl r9d, 0x10
xor r9d, r8d
shr r15d, 8
and r9d, 0xff0000
shr edi, 8
or r9d, ecx
xor edi, ebx
mov ecx, ebp
xor r15d, r14d
shl ecx, 0x10
and r15d, 0xff0000
xor ecx, ebx
shl ebp, 0x18
and ecx, 0xff000000
mov rbx, rdx
or r9d, ecx
xor ebp, r8d
mov ecx, r12d
and ebp, 0xff000000
shr ecx, 0x10
xor dword [rbx + 0x90], r11d
xor ecx, r14d
and ecx, 0xff00
shr r12d, 8
or r9d, ecx
lea r11, [0x140000000]
xor dword [rbx + 0x4c], r9d
xor r12d, esi
xor dword [rbx + 0x94], r9d
and r12d, 0xff00
mov r8d, dword [rbx + 0x4c]
movzx ecx, dil
or ecx, r15d
mov dword [rdx + 0x5c], r9d
or ecx, ebp
or ecx, r12d
xor dword [rbx + 0x50], ecx
xor dword [rbx + 0x98], ecx
mov r10d, dword [rbx + 0x50]
mov dword [rdx + 0x60], ecx
movzx ecx, byte [rbx + 0x4a]
mov edx, dword [rdx + 0x48]
mov r15d, dword [r11 + rcx*4 + 0x44e940]
mov ecx, edx
shr rcx, 0x18
mov r14d, dword [r11 + rcx*4 + 0x44ed60]
movzx ecx, byte [rbx + 0x49]
xor r14d, r15d
mov r9, qword [rsp + 0x50]
mov r12d, dword [r11 + rcx*4 + 0x44f160]
xor r14d, r12d
movzx ecx, dl
mov edi, dword [r11 + rcx*4 + 0x44f5a0]
xor r14d, edi
mov ecx, r8d
shr rcx, 0x18
mov ebp, dword [r11 + rcx*4 + 0x44ed60]
movzx ecx, byte [rbx + 0x4e]
mov esi, dword [r11 + rcx*4 + 0x44e940]
movzx ecx, byte [rbx + 0x4d]
xor esi, ebp
mov ecx, dword [r11 + rcx*4 + 0x44f160]
xor esi, ecx
xor r12d, ecx
movzx ecx, r8b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor edi, ecx
xor esi, ecx
mov ecx, r10d
shr rcx, 0x18
mov ebx, dword [r11 + rcx*4 + 0x44ed60]
xor ebp, ebx
movzx ecx, byte [r9 + 0x52]
mov edx, dword [r11 + rcx*4 + 0x44e940]
xor r15d, edx
movzx ecx, byte [r9 + 0x51]
mov ecx, dword [r11 + rcx*4 + 0x44f160]
xor ecx, edx
xor ebx, ecx
movzx ecx, r10b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor ebx, ecx
xor edi, ecx
mov ecx, r13d
shr rcx, 0x18
mov r8d, dword [r11 + rcx*4 + 0x44ed60]
xor ebp, r8d
movzx ecx, byte [r9 + 0x56]
mov ecx, dword [r11 + rcx*4 + 0x44e940]
xor r8d, ecx
xor r15d, ecx
movzx ecx, byte [r9 + 0x55]
mov edx, dword [r11 + rcx*4 + 0x44f160]
xor r12d, edx
movzx ecx, r13b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
mov r11d, r15d
xor ecx, edx
shl r11d, 8
xor r8d, ecx
xor r11d, ebx
mov ecx, edi
and r11d, 0xff0000
xor ecx, r8d
movzx r13d, cl
mov ecx, r15d
xor ecx, esi
and ecx, 0xff0000
or r13d, ecx
mov ecx, r12d
xor ecx, ebx
and ecx, 0xff00
or r13d, ecx
mov ecx, ebp
xor ecx, r14d
and ecx, 0xff000000
or r13d, ecx
mov ecx, edi
shr ecx, 0x18
xor ecx, r14d
mov dword [r9 + 0x48], r13d
movzx ecx, cl
or r11d, ecx
mov ecx, r12d
shl ecx, 8
xor ecx, r8d
mov rdx, qword [rsp + 0x50]
and ecx, 0xff00
or r11d, ecx
mov ecx, ebp
shl ecx, 8
xor ecx, esi
and ecx, 0xff000000
or r11d, ecx
mov ecx, edi
shr ecx, 0x10
xor ecx, esi
mov dword [r9 + 0x4c], r11d
movzx ecx, cl
mov r9d, r15d
shl r9d, 0x10
xor r9d, r8d
shr edi, 8
xor edi, ebx
shr r15d, 8
and r9d, 0xff0000
xor r15d, r14d
or r9d, ecx
and r15d, 0xff0000
mov ecx, ebp
shl ebp, 0x18
shl ecx, 0x10
xor ebp, r8d
xor ecx, ebx
and ebp, 0xff000000
and ecx, 0xff000000
or r9d, ecx
mov ecx, r12d
shr ecx, 0x10
shr r12d, 8
xor ecx, r14d
xor r12d, esi
and ecx, 0xff00
or r9d, ecx
and r12d, 0xff00
mov dword [rdx + 0x50], r9d
movzx edx, dil
or edx, r15d
mov r15, qword [rsp + 0x50]
or edx, ebp
or edx, r12d
lea r12, [0x140000000]
xor dword [r15 + 0x3c], r11d
xor dword [r15 + 0x40], r9d
xor dword [r15 + 0x44], edx
xor dword [r15 + 0x84], r11d
mov ecx, dword [r15 + 0x3c]
mov r8d, dword [r15 + 0x40]
xor dword [r15 + 0x88], r9d
mov r10d, dword [r15 + 0x44]
mov dword [r15 + 0x54], edx
xor edx, eax
movzx eax, byte [r15 + 0x3e]
xor dword [r15 + 0x8c], edx
mov esi, dword [r12 + rax*4 + 0x44e940]
mov eax, ecx
shr rax, 0x18
mov edi, dword [r12 + rax*4 + 0x44ed60]
movzx eax, byte [r15 + 0x3d]
xor edi, esi
mov ebp, dword [r12 + rax*4 + 0x44f160]
xor edi, ebp
movzx eax, cl
mov r9d, dword [r12 + rax*4 + 0x44f5a0]
mov eax, r8d
shr rax, 0x18
xor edi, r9d
mov ebx, dword [r12 + rax*4 + 0x44ed60]
movzx eax, byte [r15 + 0x42]
mov r11d, dword [r12 + rax*4 + 0x44e940]
movzx eax, byte [r15 + 0x41]
xor r11d, ebx
mov eax, dword [r12 + rax*4 + 0x44f160]
xor r11d, eax
xor ebp, eax
movzx eax, r8b
mov eax, dword [r12 + rax*4 + 0x44f5a0]
xor r9d, eax
xor r11d, eax
mov eax, r10d
shr rax, 0x18
mov r8d, dword [r12 + rax*4 + 0x44ed60]
xor ebx, r8d
movzx eax, byte [r15 + 0x46]
mov ecx, dword [r12 + rax*4 + 0x44e940]
xor esi, ecx
movzx eax, byte [r15 + 0x45]
mov eax, dword [r12 + rax*4 + 0x44f160]
xor eax, ecx
xor r8d, eax
movzx eax, r10b
mov eax, dword [r12 + rax*4 + 0x44f5a0]
xor r8d, eax
xor r9d, eax
mov eax, r13d
shr rax, 0x18
mov edx, dword [r12 + rax*4 + 0x44ed60]
xor ebx, edx
movzx eax, byte [r15 + 0x4a]
mov eax, dword [r12 + rax*4 + 0x44e940]
xor esi, eax
xor edx, eax
movzx eax, byte [r15 + 0x49]
mov ecx, dword [r12 + rax*4 + 0x44f160]
xor ebp, ecx
movzx eax, r13b
mov eax, dword [r12 + rax*4 + 0x44f5a0]
xor eax, ecx
xor edx, eax
mov eax, r9d
xor eax, edx
movzx ecx, al
mov eax, esi
xor eax, r11d
and eax, 0xff0000
or ecx, eax
mov eax, ebp
xor eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, ebx
xor eax, edi
and eax, 0xff000000
or ecx, eax
mov eax, r9d
shr eax, 0x18
xor eax, edi
mov dword [r15 + 0x3c], ecx
movzx eax, al
mov ecx, esi
shl ecx, 8
xor ecx, r8d
and ecx, 0xff0000
or ecx, eax
mov eax, ebp
shl eax, 8
xor eax, edx
and eax, 0xff00
or ecx, eax
mov eax, ebx
shl eax, 8
xor eax, r11d
and eax, 0xff000000
or ecx, eax
mov eax, r9d
shr eax, 0x10
mov dword [r15 + 0x40], ecx
xor eax, r11d
movzx eax, al
mov ecx, esi
shl ecx, 0x10
xor ecx, edx
and ecx, 0xff0000
or ecx, eax
mov eax, ebx
shl eax, 0x10
xor eax, r8d
and eax, 0xff000000
mov r10, qword [rsp + 0x60]
or ecx, eax
mov eax, ebp
shr esi, 8
shr eax, 0x10
xor esi, edi
xor eax, edi
shl ebx, 0x18
and eax, 0xff00
shr ebp, 8
or ecx, eax
shr r9d, 8
xor r9d, r8d
mov dword [r15 + 0x44], ecx
mov r8, qword [rsp + 0x58]
and esi, 0xff0000
xor ebx, edx
movzx eax, r9b
or eax, esi
and ebx, 0xff000000
xor ebp, r11d
or eax, ebx
and ebp, 0xff00
or eax, ebp
mov dword [r15 + 0x48], eax
cmp r10, 4
jbe 0x1401a9eaa
mov edx, dword [r8]
add r8, 4
rol edx, 0x10
mov eax, edx
mov qword [rsp + 0x58], r8
shr eax, 8
mov ecx, edx
shl ecx, 8
xor eax, ecx
shl edx, 8
and eax, 0xff00ff
xor eax, edx
sub r10, 4
mov qword [rsp + 0x60], r10
mov ecx, dword [r15 + 0x3c]
xor dword [r15 + 0x94], ecx
mov ecx, dword [r15 + 0xc]
xor dword [r15 + 0x40], ecx
mov ecx, dword [r15 + 0x18]
xor dword [r15 + 0x4c], ecx
mov ecx, dword [r15 + 0x24]
xor dword [r15 + 0x58], ecx
mov edx, dword [r15 + 0x48]
xor dword [r15 + 0x80], edx
mov r8d, dword [r15 + 0x44]
xor dword [r15 + 0x7c], r8d
mov ecx, dword [r15 + 0x30]
mov r9d, dword [r15 + 0x40]
xor ecx, r9d
mov ebx, dword [r15 + 0x38]
mov r11d, dword [r15 + 0x34]
xor ebx, edx
xor dword [r15 + 0x78], r9d
xor r11d, r8d
mov r10d, ecx
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr rcx, 0x18
mov r13d, dword [r12 + rdx*4 + 0x44e940]
mov r15d, dword [r12 + rcx*4 + 0x44ed60]
mov ecx, r10d
shr ecx, 8
xor r15d, r13d
movzx edx, cl
movzx ecx, r10b
mov r8d, dword [r12 + rdx*4 + 0x44f160]
xor r15d, r8d
mov esi, dword [r12 + rcx*4 + 0x44f5a0]
xor r15d, esi
mov ecx, r11d
shr rcx, 0x18
mov r14d, dword [r12 + rcx*4 + 0x44ed60]
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
mov ecx, r11d
shr ecx, 8
mov ebp, dword [r12 + rdx*4 + 0x44e940]
movzx edx, cl
xor ebp, r14d
mov ecx, dword [r12 + rdx*4 + 0x44f160]
xor r8d, ecx
xor ebp, ecx
mov dword [rsp + 0x68], r8d
movzx ecx, r11b
mov ecx, dword [r12 + rcx*4 + 0x44f5a0]
xor esi, ecx
xor ebp, ecx
mov ecx, ebx
shr rcx, 0x18
mov edi, dword [r12 + rcx*4 + 0x44ed60]
xor r14d, edi
mov ecx, ebx
shr ecx, 0x10
movzx edx, cl
mov ecx, ebx
shr ecx, 8
mov r8d, dword [r12 + rdx*4 + 0x44e940]
xor r13d, r8d
movzx edx, cl
mov ecx, dword [r12 + rdx*4 + 0x44f160]
xor ecx, r8d
xor edi, ecx
movzx ecx, bl
mov ecx, dword [r12 + rcx*4 + 0x44f5a0]
xor edi, ecx
xor esi, ecx
mov ecx, eax
shr rcx, 0x18
mov r10d, dword [r12 + rcx*4 + 0x44ed60]
xor r14d, r10d
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
mov ecx, dword [r12 + rdx*4 + 0x44e940]
xor r10d, ecx
xor r13d, ecx
mov ebx, dword [rsp + 0x68]
mov r11d, r13d
mov ecx, eax
shr ecx, 8
mov r9d, r13d
movzx edx, cl
shl r11d, 8
shl r9d, 0x10
xor r11d, edi
and r11d, 0xff0000
movzx ecx, al
mov r8d, dword [r12 + rdx*4 + 0x44f160]
xor ebx, r8d
mov rdx, qword [rsp + 0x50]
mov ecx, dword [r12 + rcx*4 + 0x44f5a0]
xor ecx, r8d
xor r10d, ecx
mov ecx, esi
xor ecx, r10d
xor r9d, r10d
movzx r12d, cl
and r9d, 0xff0000
mov ecx, r13d
shr r13d, 8
xor ecx, ebp
xor r13d, r15d
and ecx, 0xff0000
and r13d, 0xff0000
or r12d, ecx
mov ecx, ebx
xor ecx, edi
and ecx, 0xff00
or r12d, ecx
mov ecx, r14d
xor ecx, r15d
and ecx, 0xff000000
or r12d, ecx
mov ecx, esi
shr ecx, 0x18
xor ecx, r15d
mov dword [rdx + 0x30], r12d
movzx ecx, cl
or r11d, ecx
mov ecx, ebx
shl ecx, 8
xor ecx, r10d
and ecx, 0xff00
or r11d, ecx
mov ecx, r14d
shl ecx, 8
xor ecx, ebp
and ecx, 0xff000000
or r11d, ecx
mov ecx, esi
shr ecx, 0x10
xor ecx, ebp
shr esi, 8
movzx ecx, cl
xor esi, edi
or r9d, ecx
mov dword [rdx + 0x34], r11d
mov ecx, r14d
shl r14d, 0x18
shl ecx, 0x10
xor r14d, r10d
xor ecx, edi
and r14d, 0xff000000
and ecx, 0xff000000
or r9d, ecx
mov ecx, ebx
shr ecx, 0x10
xor ecx, r15d
and ecx, 0xff00
or r9d, ecx
movzx ecx, sil
or ecx, r13d
mov dword [rdx + 0x38], r9d
or ecx, r14d
xor dword [rdx + 0x24], r11d
shr ebx, 8
xor ebx, ebp
and ebx, 0xff00
or ecx, ebx
mov rbx, rdx
mov dword [rdx + 0x3c], ecx
mov edx, dword [rdx + 0x24]
xor dword [rbx + 0x2c], ecx
xor dword [rbx + 0x74], ecx
xor dword [rbx + 0x28], r9d
mov r8d, dword [rbx + 0x28]
movzx ecx, byte [rbx + 0x26]
xor dword [rbx + 0x6c], r11d
lea r11, [0x140000000]
mov r10d, dword [rbx + 0x2c]
xor dword [rbx + 0x70], r9d
mov r13d, dword [r11 + rcx*4 + 0x44e940]
mov ecx, edx
mov r9, qword [rsp + 0x50]
shr rcx, 0x18
mov ebp, dword [r11 + rcx*4 + 0x44ed60]
movzx ecx, byte [rbx + 0x25]
xor ebp, r13d
mov r14d, dword [r11 + rcx*4 + 0x44f160]
xor ebp, r14d
movzx ecx, dl
mov edi, dword [r11 + rcx*4 + 0x44f5a0]
mov ecx, r8d
shr rcx, 0x18
xor ebp, edi
mov r15d, dword [r11 + rcx*4 + 0x44ed60]
movzx ecx, byte [rbx + 0x2a]
mov esi, dword [r11 + rcx*4 + 0x44e940]
movzx ecx, byte [rbx + 0x29]
xor esi, r15d
mov ecx, dword [r11 + rcx*4 + 0x44f160]
xor esi, ecx
xor r14d, ecx
movzx ecx, r8b
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor edi, ecx
xor esi, ecx
mov ecx, r10d
shr rcx, 0x18
mov r8d, dword [r11 + rcx*4 + 0x44ed60]
xor r15d, r8d
movzx ecx, byte [rbx + 0x2e]
mov edx, dword [r11 + rcx*4 + 0x44e940]
xor r13d, edx
movzx ecx, byte [rbx + 0x2d]
mov ebx, dword [r11 + rcx*4 + 0x44f160]
movzx ecx, r10b
xor ebx, r8d
xor ebx, edx
mov ecx, dword [r11 + rcx*4 + 0x44f5a0]
xor ebx, ecx
xor edi, ecx
mov ecx, r12d
shr rcx, 0x18
mov r8d, dword [r11 + rcx*4 + 0x44ed60]
xor r15d, r8d
movzx ecx, byte [r9 + 0x32]
mov ecx, dword [r11 + rcx*4 + 0x44e940]
xor r8d, ecx
xor r13d, ecx
movzx ecx, byte [r9 + 0x31]
mov edx, dword [r11 + rcx*4 + 0x44f160]
xor r14d, edx
movzx ecx, r12b
mov r12d, r15d
xor r12d, ebp
and r12d, 0xff000000
mov r10d, dword [r11 + rcx*4 + 0x44f5a0]
xor r10d, r8d
xor r10d, edx
mov ecx, r10d
xor ecx, edi
movzx edx, cl
mov ecx, esi
or r12d, edx
xor ecx, r13d
mov rdx, qword [rsp + 0x50]
and ecx, 0xff0000
mov r11d, r15d
or r12d, ecx
shl r11d, 8
xor r11d, esi
mov ecx, ebx
xor ecx, r14d
and r11d, 0xff000000
and ecx, 0xff00
or r12d, ecx
mov ecx, r13d
shl ecx, 8
xor ecx, ebx
mov dword [r9 + 0x24], r12d
and ecx, 0xff0000
or r11d, ecx
mov ecx, edi
shr ecx, 0x18
xor ecx, ebp
movzx ecx, cl
or r11d, ecx
mov ecx, r14d
shl ecx, 8
xor ecx, r10d
and ecx, 0xff00
or r11d, ecx
mov ecx, r13d
xor dword [rdx + 0x18], r11d
shl ecx, 0x10
xor ecx, r10d
mov dword [r9 + 0x28], r11d
and ecx, 0xff0000
shr r13d, 8
mov r9d, r15d
xor r13d, ebp
shl r9d, 0x10
and r13d, 0xff0000
xor r9d, ebx
shl r15d, 0x18
xor r15d, r10d
and r9d, 0xff000000
or r9d, ecx
and r15d, 0xff000000
mov ecx, edi
shr edi, 8
shr ecx, 0x10
xor edi, ebx
xor ecx, esi
lea rbx, [0x140000000]
movzx ecx, cl
or r9d, ecx
mov ecx, r14d
shr ecx, 0x10
xor ecx, ebp
shr r14d, 8
and ecx, 0xff00
xor r14d, esi
or r9d, ecx
and r14d, 0xff00
movzx ecx, dil
or r15d, ecx
mov dword [rdx + 0x2c], r9d
or r15d, r13d
mov r13, rdx
or r15d, r14d
mov dword [rdx + 0x30], r15d
mov edx, dword [rdx + 0x18]
movzx ecx, byte [r13 + 0x1a]
xor dword [r13 + 0x1c], r9d
xor dword [r13 + 0x20], r15d
xor dword [r13 + 0x60], r11d
mov r14d, dword [rbx + rcx*4 + 0x44e940]
mov ecx, edx
xor dword [r13 + 0x64], r9d
xor dword [r13 + 0x68], r15d
mov r8d, dword [r13 + 0x1c]
mov r10d, dword [r13 + 0x20]
shr rcx, 0x18
mov ebp, dword [rbx + rcx*4 + 0x44ed60]
movzx ecx, byte [r13 + 0x19]
xor ebp, r14d
mov r15d, dword [rbx + rcx*4 + 0x44f160]
xor ebp, r15d
movzx ecx, dl
mov r11d, dword [rbx + rcx*4 + 0x44f5a0]
xor ebp, r11d
mov ecx, r8d
shr rcx, 0x18
mov esi, dword [rbx + rcx*4 + 0x44ed60]
movzx ecx, byte [r13 + 0x1e]
mov edi, dword [rbx + rcx*4 + 0x44e940]
movzx ecx, byte [r13 + 0x1d]
xor edi, esi
mov ecx, dword [rbx + rcx*4 + 0x44f160]
xor edi, ecx
xor r15d, ecx
movzx ecx, r8b
mov ecx, dword [rbx + rcx*4 + 0x44f5a0]
xor r11d, ecx
xor edi, ecx
mov ecx, r10d
shr rcx, 0x18
mov r8d, dword [rbx + rcx*4 + 0x44ed60]
xor esi, r8d
movzx ecx, byte [r13 + 0x22]
mov edx, dword [rbx + rcx*4 + 0x44e940]
xor r14d, edx
movzx ecx, byte [r13 + 0x21]
mov ecx, dword [rbx + rcx*4 + 0x44f160]
xor ecx, edx
xor r8d, ecx
movzx ecx, r10b
mov ecx, dword [rbx + rcx*4 + 0x44f5a0]
xor r8d, ecx
xor r11d, ecx
mov ecx, r12d
shr rcx, 0x18
mov r9d, dword [rbx + rcx*4 + 0x44ed60]
xor esi, r9d
movzx ecx, byte [r13 + 0x26]
mov ecx, dword [rbx + rcx*4 + 0x44e940]
xor r9d, ecx
xor r14d, ecx
movzx ecx, byte [r13 + 0x25]
mov edx, dword [rbx + rcx*4 + 0x44f160]
xor r15d, edx
movzx ecx, r12b
mov ecx, dword [rbx + rcx*4 + 0x44f5a0]
mov ebx, r14d
xor ecx, edx
shl ebx, 8
xor r9d, ecx
xor ebx, r8d
mov ecx, r11d
and ebx, 0xff0000
xor ecx, r9d
movzx r12d, cl
mov ecx, r14d
xor ecx, edi
and ecx, 0xff0000
or r12d, ecx
mov ecx, r15d
xor ecx, r8d
and ecx, 0xff00
or r12d, ecx
mov ecx, esi
xor ecx, ebp
and ecx, 0xff000000
or r12d, ecx
mov ecx, r11d
shr ecx, 0x18
xor ecx, ebp
mov dword [r13 + 0x18], r12d
movzx ecx, cl
or ebx, ecx
mov ecx, r15d
shl ecx, 8
xor ecx, r9d
and ecx, 0xff00
or ebx, ecx
mov ecx, esi
mov r10d, r14d
shl ecx, 8
xor ecx, edi
shl r10d, 0x10
and ecx, 0xff000000
shr r14d, 8
or ebx, ecx
xor r10d, r9d
xor dword [r13 + 0xc], ebx
and r10d, 0xff0000
xor dword [r13 + 0x54], ebx
xor r14d, ebp
mov edx, dword [r13 + 0xc]
mov ecx, r11d
shr ecx, 0x10
and r14d, 0xff0000
xor ecx, edi
mov dword [r13 + 0x1c], ebx
movzx ecx, cl
or r10d, ecx
shr r11d, 8
mov ecx, esi
xor r11d, r8d
shl ecx, 0x10
xor ecx, r8d
shl esi, 0x18
and ecx, 0xff000000
movzx r8d, r11b
or r10d, ecx
xor esi, r9d
and esi, 0xff000000
mov ecx, r15d
shr ecx, 0x10
or r8d, r14d
xor ecx, ebp
shr r15d, 8
or r8d, esi
and ecx, 0xff00
or r10d, ecx
xor r15d, edi
xor dword [r13 + 0x10], r10d
and r15d, 0xff00
mov ecx, dword [r13 + 0x5c]
or r8d, r15d
xor dword [r13 + 0x14], r8d
mov r15, r13
mov r9d, dword [r13 + 0x10]
xor ecx, r8d
xor dword [r13 + 0x58], r10d
xor ecx, eax
movzx eax, byte [r13 + 0xe]
mov r11d, dword [r13 + 0x14]
mov dword [r13 + 0x20], r10d
mov dword [r13 + 0x24], r8d
mov dword [r13 + 0x5c], ecx
lea r13, [0x140000000]
mov ebp, dword [r13 + rax*4 + 0x44e940]
mov eax, edx
shr rax, 0x18
mov esi, dword [r13 + rax*4 + 0x44ed60]
movzx eax, byte [r15 + 0xd]
xor esi, ebp
mov r14d, dword [r13 + rax*4 + 0x44f160]
xor esi, r14d
movzx eax, dl
mov r10d, dword [r13 + rax*4 + 0x44f5a0]
mov eax, r9d
shr rax, 0x18
xor esi, r10d
mov edi, dword [r13 + rax*4 + 0x44ed60]
movzx eax, byte [r15 + 0x12]
mov ebx, dword [r13 + rax*4 + 0x44e940]
movzx eax, byte [r15 + 0x11]
xor ebx, edi
mov eax, dword [r13 + rax*4 + 0x44f160]
xor ebx, eax
xor r14d, eax
movzx eax, r9b
mov eax, dword [r13 + rax*4 + 0x44f5a0]
xor ebx, eax
xor r10d, eax
mov eax, r11d
shr rax, 0x18
mov r8d, dword [r13 + rax*4 + 0x44ed60]
xor edi, r8d
movzx eax, byte [r15 + 0x16]
mov ecx, dword [r13 + rax*4 + 0x44e940]
xor ebp, ecx
movzx eax, byte [r15 + 0x15]
mov eax, dword [r13 + rax*4 + 0x44f160]
xor eax, ecx
xor r8d, eax
movzx eax, r11b
mov eax, dword [r13 + rax*4 + 0x44f5a0]
xor r8d, eax
xor r10d, eax
mov eax, r12d
shr rax, 0x18
mov edx, dword [r13 + rax*4 + 0x44ed60]
xor edi, edx
movzx eax, byte [r15 + 0x1a]
mov eax, dword [r13 + rax*4 + 0x44e940]
xor ebp, eax
xor edx, eax
movzx eax, byte [r15 + 0x19]
mov ecx, dword [r13 + rax*4 + 0x44f160]
xor r14d, ecx
movzx eax, r12b
lea r12, [0x140000000]
mov eax, dword [r12 + rax*4 + 0x44f5a0]
xor eax, ecx
xor edx, eax
mov eax, r10d
xor eax, edx
movzx ecx, al
mov eax, ebp
xor eax, ebx
and eax, 0xff0000
or ecx, eax
mov eax, r14d
xor eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, edi
xor eax, esi
and eax, 0xff000000
or ecx, eax
mov eax, r10d
shr eax, 0x18
xor eax, esi
mov dword [r15 + 0xc], ecx
movzx eax, al
mov ecx, ebp
shl ecx, 8
xor ecx, r8d
and ecx, 0xff0000
or ecx, eax
mov eax, r14d
shl eax, 8
xor eax, edx
and eax, 0xff00
or ecx, eax
mov eax, edi
shl eax, 8
xor eax, ebx
and eax, 0xff000000
or ecx, eax
mov eax, r10d
shr eax, 0x10
mov dword [r15 + 0x10], ecx
xor eax, ebx
movzx eax, al
mov ecx, ebp
shl ecx, 0x10
xor ecx, edx
and ecx, 0xff0000
or ecx, eax
mov eax, edi
shl eax, 0x10
xor eax, r8d
and eax, 0xff000000
or ecx, eax
shr r10d, 8
mov eax, r14d
shr ebp, 8
shr eax, 0x10
xor r10d, r8d
mov r8, qword [rsp + 0x58]
xor eax, esi
and eax, 0xff00
shl edi, 0x18
or ecx, eax
shr r14d, 8
xor ebp, esi
movzx eax, r10b
mov r10, qword [rsp + 0x60]
and ebp, 0xff0000
or eax, ebp
mov dword [r15 + 0x14], ecx
xor edi, edx
xor r14d, ebx
and edi, 0xff000000
and r14d, 0xff00
or eax, edi
or eax, r14d
mov dword [r15 + 0x18], eax
cmp r10, 4
jbe 0x1401a9ea4
mov edx, dword [r8]
add r8, 4
rol edx, 0x10
mov eax, edx
mov qword [rsp + 0x58], r8
shr eax, 8
mov ecx, edx
shl ecx, 8
xor eax, ecx
shl edx, 8
and eax, 0xff00ff
xor eax, edx
sub r10, 4
mov qword [rsp + 0x60], r10
jmp 0x1401a827a
xor ecx, ecx
mov edx, ecx
jmp 0x1401a9eb8
mov edx, 2
jmp 0x1401a9eb6
mov edx, 1
xor ecx, ecx
mov r14, qword [rsp + 8]
mov r13, qword [rsp + 0x10]
mov r12, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov dword [r15 + 4], r10d
test r10, r10
je 0x1401a9f03
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
shl ecx, 8
or ecx, eax
sub r10, 1
jne 0x1401a9ef0
mov dword [r15 + 8], edx
mov dword [r15], ecx
add rsp, 0x40
pop r15
ret