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

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