Function at 0x14010eb30
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, 0xe8
mov rax, rcx
mov qword [rsp + 0x140], r8
mov rsi, r8
lea rcx, [r8*8]
mov ebx, dword [rax]
mov r8d, dword [rax + 4]
add qword [rax + 0xa0], rcx
mov dword [rsp + 0x20], ebx
cmp r8d, 3
ja 0x14010ebce
mov r9d, 4
sub r9d, r8d
cmp rsi, r9
jb 0x14010eed8
mov r9d, 3
sub r9d, r8d
mov r8d, 4
mov ecx, dword [rsp + 0x20]
lea r10, [rdx + r9 + 1]
movzx r11d, byte [rdx]
shl ecx, 8
add rdx, 1
or ecx, r11d
cmp rdx, r10
jne 0x14010eb9a
mov rbx, qword [rsp + 0x140]
mov dword [rsp + 0x20], ecx
lea r10, [rbx - 1]
sub r10, r9
mov qword [rsp + 0x140], r10
je 0x14010eeef
mov ebx, dword [rax + 0xc]
mov edi, dword [rax + 0x14]
mov esi, dword [rax + 0x1c]
mov dword [rsp + 0x34], ebx
mov ebx, dword [rax + 0x10]
mov dword [rsp + 0x6c], edi
mov edi, dword [rax + 0x20]
mov dword [rsp + 0x3c], ebx
mov ebx, dword [rax + 0x18]
mov dword [rsp + 0x70], esi
mov esi, dword [rax + 0x28]
mov dword [rsp + 0x40], ebx
mov ebx, dword [rax + 0x24]
mov dword [rsp + 0x98], edi
mov edi, dword [rax + 0x2c]
mov dword [rsp + 0x58], ebx
mov ebx, dword [rax + 0x30]
mov dword [rsp + 0x84], esi
mov esi, dword [rax + 0x34]
mov dword [rsp + 0x88], edi
mov edi, dword [rax + 0x38]
mov dword [rsp + 0xac], ebx
mov ebx, dword [rax + 0x3c]
mov dword [rsp + 0x74], esi
mov esi, dword [rax + 0x40]
mov dword [rsp + 0xb8], edi
mov edi, dword [rax + 0x44]
mov dword [rsp + 0x30], ebx
mov ebx, dword [rax + 0x48]
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x2c], esi
mov esi, dword [rax + 0x4c]
mov edi, dword [rax + 0x50]
mov ebx, dword [rax + 0x54]
mov dword [rsp + 0x7c], esi
mov esi, dword [rax + 0x58]
mov dword [rsp + 0xbc], edi
mov edi, dword [rax + 0x5c]
mov dword [rsp + 0x60], ebx
mov ebx, dword [rax + 0x60]
mov dword [rsp + 0x50], esi
mov esi, dword [rax + 0x64]
mov dword [rsp + 0x54], edi
mov edi, dword [rax + 0x68]
mov dword [rsp + 0xa4], ebx
mov ebx, dword [rax + 0x6c]
mov dword [rsp + 0x80], esi
mov esi, dword [rax + 0x70]
mov dword [rsp + 0xa8], edi
mov edi, dword [rax + 0x74]
mov dword [rsp + 0x48], ebx
mov ebx, dword [rax + 0x78]
mov dword [rsp + 0x38], esi
mov esi, dword [rax + 0x7c]
mov dword [rsp + 0x8c], edi
mov edi, dword [rax + 0x80]
mov dword [rsp + 0x68], ebx
mov ebx, dword [rax + 0x84]
mov dword [rsp + 0x90], esi
mov esi, dword [rax + 0x88]
mov dword [rsp + 0xb0], ebx
mov dword [rsp + 0x9c], esi
mov dword [rsp + 0xc0], edi
mov edi, dword [rax + 0x8c]
mov ebx, dword [rax + 0x90]
mov esi, dword [rax + 0x94]
mov dword [rsp + 0xa0], edi
mov r8d, dword [rax + 8]
mov edi, dword [rax + 0x98]
mov dword [rsp + 0xc4], ebx
mov dword [rsp + 0x94], esi
mov dword [rsp + 0xd8], edi
cmp r8d, 1
je 0x140110430
cmp r8d, 2
je 0x14010f990
test r8d, r8d
je 0x14010ef00
cmp qword [rsp + 0x140], 0
mov ebx, dword [rsp + 0x140]
mov dword [rax + 4], ebx
je 0x140110f10
mov r9, qword [rsp + 0x140]
xor ecx, ecx
add r9, rdx
nop dword [rax]
movzx r10d, byte [rdx]
shl ecx, 8
add rdx, 1
or ecx, r10d
cmp rdx, r9
jne 0x14010ed60
mov edx, dword [rsp + 0x34]
mov dword [rax], ecx
mov dword [rax + 8], r8d
mov dword [rax + 0xc], edx
mov edx, dword [rsp + 0x3c]
mov dword [rax + 0x10], edx
mov edx, dword [rsp + 0x6c]
mov dword [rax + 0x14], edx
mov edx, dword [rsp + 0x40]
mov dword [rax + 0x18], edx
mov edx, dword [rsp + 0x70]
mov dword [rax + 0x1c], edx
mov edx, dword [rsp + 0x98]
mov dword [rax + 0x20], edx
mov edx, dword [rsp + 0x58]
mov dword [rax + 0x24], edx
mov edx, dword [rsp + 0x84]
mov dword [rax + 0x28], edx
mov edx, dword [rsp + 0x88]
mov dword [rax + 0x2c], edx
mov edx, dword [rsp + 0xac]
mov dword [rax + 0x30], edx
mov edx, dword [rsp + 0x74]
mov dword [rax + 0x34], edx
mov edx, dword [rsp + 0xb8]
mov dword [rax + 0x38], edx
mov edx, dword [rsp + 0x30]
mov dword [rax + 0x3c], edx
mov edx, dword [rsp + 0x2c]
mov dword [rax + 0x40], edx
mov edx, dword [rsp + 0x78]
mov dword [rax + 0x44], edx
mov edx, dword [rsp + 0x4c]
mov dword [rax + 0x48], edx
mov edx, dword [rsp + 0x7c]
mov dword [rax + 0x4c], edx
mov edx, dword [rsp + 0xbc]
mov dword [rax + 0x50], edx
mov edx, dword [rsp + 0x60]
mov dword [rax + 0x54], edx
mov edx, dword [rsp + 0x50]
mov dword [rax + 0x58], edx
mov edx, dword [rsp + 0x54]
mov dword [rax + 0x5c], edx
mov edx, dword [rsp + 0xa4]
mov dword [rax + 0x60], edx
mov edx, dword [rsp + 0x80]
mov dword [rax + 0x64], edx
mov edx, dword [rsp + 0xa8]
mov dword [rax + 0x68], edx
mov edx, dword [rsp + 0x48]
mov dword [rax + 0x6c], edx
mov edx, dword [rsp + 0x38]
mov dword [rax + 0x70], edx
mov edx, dword [rsp + 0x8c]
mov dword [rax + 0x74], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + 0x78], edx
mov edx, dword [rsp + 0x90]
mov dword [rax + 0x7c], edx
mov edx, dword [rsp + 0xc0]
mov dword [rax + 0x80], edx
mov edx, dword [rsp + 0xb0]
mov dword [rax + 0x84], edx
mov edx, dword [rsp + 0x9c]
mov dword [rax + 0x88], edx
mov edx, dword [rsp + 0xa0]
mov dword [rax + 0x8c], edx
mov edx, dword [rsp + 0xc4]
mov dword [rax + 0x90], edx
mov edx, dword [rsp + 0x94]
mov dword [rax + 0x94], edx
mov edx, dword [rsp + 0xd8]
mov dword [rax + 0x98], edx
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rsp + 0x140]
add r8d, dword [rsp + 0x140]
test ecx, ecx
jne 0x140110ef8
mov edx, dword [rsp + 0x20]
mov dword [rax + 4], r8d
mov dword [rax], edx
jmp 0x14010eec0
lea rbx, [0x1402cc940]
lea r15, [0x1402ccd40]
mov qword [rsp + 0x18], rbx
lea rbx, [0x1402cc540]
mov qword [rsp + 0x10], rbx
lea rbx, [0x1402cc140]
mov qword [rsp + 8], rbx
mov edi, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x20]
xor dword [rsp + 0x80], edi
mov edi, dword [rsp + 0x88]
mov r9d, dword [rsp + 0x48]
mov r8d, dword [rsp + 0xc4]
xor edi, r13d
xor dword [rsp + 0x3c], r9d
mov r14d, dword [rsp + 0x6c]
mov dword [rsp + 0x88], edi
mov edi, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x94]
mov ecx, dword [rsp + 0xb0]
xor r8d, edi
mov esi, dword [rsp + 0x84]
xor dword [rsp + 0x7c], r14d
xor ebx, r14d
mov r14d, r8d
xor dword [rsp + 0x4c], edi
mov ebp, dword [rsp + 0x40]
mov r12, qword [rsp + 0x18]
xor esi, ecx
shr r14d, 0x10
mov ecx, r8d
mov r10d, dword [rsp + 0x68]
movzx r9d, r14b
xor dword [rsp + 0x70], r10d
movzx ecx, ch
mov r10, qword [rsp + 0x10]
mov edi, dword [r12 + r9*4]
mov dword [rsp + 0xc8], esi
mov r9d, ecx
mov r13, qword [rsp + 8]
mov esi, dword [rsp + 0xd8]
mov r14d, dword [r10 + r9*4]
movzx r9d, r8b
shr r8d, 0x18
xor dword [rsp + 0xbc], ebp
xor esi, ebp
mov ebp, dword [r13 + r9*4]
mov ecx, dword [r15 + r8*4]
mov dword [rsp + 0x84], r14d
xor ecx, ebp
mov r8d, ecx
movzx ecx, bh
xor r8d, edi
xor r14d, r8d
mov r8d, ebx
shr r8d, 0x18
mov r11d, dword [r15 + r8*4]
mov r8d, ecx
mov ecx, esi
mov r10d, dword [r10 + r8*4]
movzx r8d, bl
shr ebx, 0x10
mov r9d, dword [r13 + r8*4]
movzx r8d, bl
mov ebx, r11d
xor ebx, r9d
xor ebx, dword [r12 + r8*4]
mov r8d, esi
xor ebx, r10d
shr r8d, 0x18
mov dword [rsp + 0x94], ebx
mov ebx, dword [r15 + r8*4]
mov r8d, esi
shr r8d, 0x10
movzx r8d, r8b
xor r11d, ebx
mov r8d, dword [r12 + r8*4]
movzx r12d, sil
movzx esi, ch
mov rcx, qword [rsp + 0x10]
mov r12d, dword [r13 + r12*4]
mov r13d, dword [rsp + 0x20]
mov esi, esi
xor r9d, r12d
xor ebx, r12d
mov r12, qword [rsp + 0x18]
xor r9d, ebp
mov ebp, r13d
xor ebx, r8d
xor ebx, dword [rcx + rsi*4]
shr ebp, 0x10
mov esi, r13d
mov dword [rsp + 0x34], ebx
mov ebx, r13d
shr esi, 0x18
movzx ebp, bpl
mov r13d, dword [rsp + 0x84]
mov ebp, dword [r12 + rbp*4]
mov esi, dword [r15 + rsi*4]
xor r11d, esi
xor r8d, ebp
xor r8d, edi
movzx edi, bh
mov edi, edi
mov edi, dword [rcx + rdi*4]
movzx ecx, bl
mov ebx, dword [rsp + 0x94]
xor r10d, edi
xor r10d, r13d
mov r13, qword [rsp + 8]
xor esi, dword [r13 + rcx*4]
xor esi, ebp
mov ebp, ebx
xor ebp, r8d
xor esi, edi
mov ecx, ebp
mov ebp, dword [rsp + 0x34]
and ecx, 0xff0000
xor ebp, r10d
mov edi, ebp
mov ebp, r9d
and edi, 0xff00
xor ebp, esi
or ecx, edi
movzx edi, bpl
mov ebp, ecx
mov ecx, r8d
or ebp, edi
mov edi, r14d
shl ecx, 8
xor edi, r11d
mov dword [rsp + 0xc4], ebp
mov dword [rsp + 0xd0], edi
mov ebp, edi
mov edi, dword [rsp + 0x34]
and ebp, 0xff000000
xor ecx, edi
mov edi, r10d
mov dword [rsp + 0xdc], ebp
mov rbp, r12
shl edi, 8
and ecx, 0xff0000
xor edi, esi
and edi, 0xff00
or ecx, edi
mov edi, r11d
shl edi, 8
xor edi, ebx
and edi, 0xff000000
or ecx, edi
mov edi, r9d
shr edi, 0x18
xor edi, r14d
movzx edi, dil
or ecx, edi
mov edi, dword [rsp + 0x34]
mov r13d, ecx
mov dword [rsp + 0x94], ecx
mov ecx, r11d
shl ecx, 0x10
xor ecx, edi
mov edi, r9d
and ecx, 0xff000000
shr edi, 0x10
shl r11d, 0x18
xor edi, ebx
shr r9d, 8
movzx edi, dil
xor r11d, esi
or ecx, edi
mov edi, r8d
shr r8d, 8
and r11d, 0xff000000
shl edi, 0x10
xor r8d, r14d
xor edi, esi
mov esi, dword [rsp + 0x34]
and r8d, 0xff0000
and edi, 0xff0000
xor r9d, esi
or ecx, edi
mov edi, r10d
shr r10d, 8
movzx r9d, r9b
shr edi, 0x10
xor r10d, ebx
or r9d, r11d
xor edi, r14d
and r10d, 0xff00
or r8d, r9d
and edi, 0xff00
mov r14d, r8d
or ecx, edi
or r14d, r10d
mov dword [rsp + 0xd8], ecx
mov edi, ecx
mov dword [rsp + 0x34], r14d
mov r8d, dword [rsp + 0x9c]
mov ebx, dword [rsp + 0xb0]
xor dword [rsp + 0x30], r13d
xor r8d, ecx
xor dword [rsp + 0x2c], edi
mov r11, qword [rsp + 0x10]
mov ecx, r8d
mov r8d, dword [rsp + 0xa0]
xor ebx, r13d
xor dword [rsp + 0x78], r14d
movzx edi, bh
mov r13, qword [rsp + 8]
xor r8d, r14d
mov r10d, r8d
mov r8d, ebx
shr r8d, 0x10
movzx r8d, r8b
mov esi, dword [r12 + r8*4]
mov r8d, edi
mov r14d, dword [r11 + r8*4]
movzx r8d, bl
shr ebx, 0x18
mov edi, dword [r13 + r8*4]
mov r8d, dword [r15 + rbx*4]
movzx ebx, ch
xor r8d, edi
xor r8d, esi
xor r8d, r14d
mov r12d, r8d
mov r8d, ecx
shr r8d, 0x18
mov r9d, dword [r15 + r8*4]
mov r8d, ebx
mov ebx, dword [r11 + r8*4]
movzx r8d, cl
shr ecx, 0x10
mov r8d, dword [r13 + r8*4]
movzx ecx, cl
mov r11d, dword [rbp + rcx*4]
mov dword [rsp + 0x84], ebx
mov rbx, r13
mov r13d, r9d
xor r13d, r8d
mov ecx, dword [rsp + 0x84]
xor r11d, r13d
mov r13d, r11d
xor r13d, ecx
mov ecx, r10d
shr ecx, 0x18
mov r11d, dword [r15 + rcx*4]
mov ecx, r10d
shr ecx, 0x10
movzx ecx, cl
xor r9d, r11d
mov ecx, dword [rbp + rcx*4]
movzx ebp, r10b
mov ebp, dword [rbx + rbp*4]
mov ebx, r10d
movzx ebx, bh
mov r10d, ebx
mov rbx, qword [rsp + 0x10]
xor r11d, ebp
xor r8d, ebp
xor r11d, ecx
xor r8d, edi
mov edi, dword [rsp + 0xc4]
mov rbp, qword [rsp + 0x18]
xor r11d, dword [rbx + r10*4]
mov r10d, dword [rsp + 0xd0]
mov dword [rsp + 0x20], r11d
mov r11d, dword [rsp + 0xdc]
shr r10d, 0x18
or r11d, edi
shr edi, 0x10
mov r10d, dword [r15 + r10*4]
mov edi, dword [rbp + rdi*4]
mov ebx, r11d
movzx r11d, r11b
xor r9d, r10d
xor ecx, edi
xor ecx, esi
movzx esi, bh
mov rbx, qword [rsp + 0x10]
mov esi, esi
mov esi, dword [rbx + rsi*4]
mov ebx, dword [rsp + 0x84]
xor ebx, esi
xor r14d, ebx
mov rbx, qword [rsp + 8]
xor r10d, dword [rbx + r11*4]
mov r11d, r12d
mov ebx, r8d
xor r11d, r9d
xor r10d, edi
mov edi, r13d
xor r10d, esi
mov dword [rsp + 0x84], r11d
mov esi, r8d
xor edi, ecx
mov r11d, r9d
xor esi, r10d
mov dword [rsp + 0xb0], edi
shl r11d, 8
shr ebx, 0x18
mov dword [rsp + 0xd0], esi
mov esi, dword [rsp + 0x20]
xor r11d, r13d
xor ebx, r12d
and r11d, 0xff000000
movzx ebx, bl
or r11d, ebx
mov ebx, ecx
shl ebx, 8
xor ebx, esi
and ebx, 0xff0000
or r11d, ebx
mov ebx, r14d
shl ebx, 8
xor ebx, r10d
and ebx, 0xff00
or r11d, ebx
mov ebx, r8d
shr r8d, 8
mov edi, r11d
mov dword [rsp + 0x9c], r11d
mov r11d, r9d
shr ebx, 0x10
shl r11d, 0x10
xor ebx, r13d
shl r9d, 0x18
xor r11d, esi
movzx ebx, bl
xor r9d, r10d
and r11d, 0xff000000
and r9d, 0xff000000
or r11d, ebx
mov ebx, ecx
shl ebx, 0x10
xor ebx, r10d
mov r10d, dword [rsp + 0x68]
and ebx, 0xff0000
or r11d, ebx
mov ebx, r14d
shr ebx, 0x10
xor ebx, r12d
and ebx, 0xff00
or r11d, ebx
xor r8d, esi
shr ecx, 8
xor r10d, edi
xor ecx, r12d
movzx r8d, r8b
mov ebx, r10d
xor dword [rsp + 0x74], r11d
or r8d, r9d
and ecx, 0xff0000
mov r10d, dword [rsp + 0xc0]
xor dword [rsp + 0xac], edi
or ecx, r8d
mov r8d, r14d
movzx edi, bh
mov dword [rsp + 0xa0], r11d
shr r8d, 8
xor r8d, r13d
mov r13, rbp
and r8d, 0xff00
or ecx, r8d
xor dword [rsp + 0xb8], ecx
mov r8d, dword [rsp + 0x90]
xor r10d, ecx
mov dword [rsp + 0xc4], ecx
mov ecx, ebx
shr ecx, 0x10
xor r8d, r11d
movzx ecx, cl
mov esi, r8d
mov r8d, edi
mov rdi, qword [rsp + 8]
mov ecx, dword [rbp + rcx*4]
mov rbp, qword [rsp + 0x10]
mov r11d, dword [rbp + r8*4]
movzx r8d, bl
shr ebx, 0x18
mov r8d, dword [rdi + r8*4]
mov r12d, dword [r15 + rbx*4]
xor r12d, r8d
mov ebx, r12d
mov r12d, esi
xor ebx, ecx
shr r12d, 0x18
xor ebx, r11d
mov r9d, r12d
mov r12d, r11d
movzx r11d, sil
mov dword [rsp + 0x68], ebx
mov ebx, esi
mov r9d, dword [r15 + r9*4]
shr esi, 0x10
movzx edi, bh
mov rbx, qword [rsp + 8]
movzx esi, sil
mov edi, edi
mov ebp, dword [rbp + rdi*4]
mov edi, dword [rbx + r11*4]
mov r11d, r9d
xor r11d, edi
xor r8d, edi
xor r11d, dword [r13 + rsi*4]
mov edi, r10d
xor r11d, ebp
xor r12d, ebp
shr edi, 0x10
mov ebp, r10d
shr ebp, 0x18
movzx edi, dil
mov esi, ebp
mov ebp, dword [r13 + rdi*4]
movzx edi, r10b
mov edi, dword [rbx + rdi*4]
mov esi, dword [r15 + rsi*4]
mov ebx, r10d
xor ecx, ebp
movzx ebx, bh
xor r9d, esi
xor esi, edi
mov r10d, ebx
xor r8d, edi
xor esi, ebp
mov rbp, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov r13d, dword [rbp + r10*4]
mov rbp, qword [rsp + 0xb0]
mov r10d, dword [rsp + 0x84]
shr rbp, 0x10
xor r13d, esi
mov rsi, rbp
shr r10d, 0x18
and esi, 0xff
mov r10d, dword [r15 + r10*4]
mov ebp, dword [rdi + rsi*4]
mov rdi, qword [rsp + 0x20]
xor r9d, r10d
xor r14, rdi
xor ecx, ebp
mov rbx, r14
mov r14, qword [rsp + 0x10]
movzx esi, bh
mov rbx, qword [rsp + 8]
mov edi, dword [r14 + rsi*4]
movzx esi, byte [rsp + 0xd0]
xor r10d, dword [rbx + rsi*4]
xor r12d, edi
mov esi, r11d
mov ebx, dword [rsp + 0x68]
xor r10d, ebp
xor esi, ecx
mov dword [rsp + 0x20], r12d
xor r10d, edi
mov edi, r8d
mov dword [rsp + 0xd0], esi
mov esi, r9d
xor edi, r10d
shl esi, 8
mov ebp, ebx
mov dword [rsp + 0xdc], edi
mov edi, r8d
xor esi, r11d
xor ebp, r9d
shr edi, 0x18
and esi, 0xff000000
mov dword [rsp + 0x68], ebp
mov ebp, ebx
xor edi, ebx
movzx edi, dil
or esi, edi
mov edi, ecx
shl edi, 8
xor edi, r13d
and edi, 0xff0000
or esi, edi
mov edi, r12d
shl edi, 8
xor edi, r10d
and edi, 0xff00
or esi, edi
mov edi, r8d
mov ebx, esi
mov dword [rsp + 0x90], esi
mov esi, r9d
shl esi, 0x10
xor esi, r13d
shr edi, 0x10
xor edi, r11d
and esi, 0xff000000
shl r9d, 0x18
movzx edi, dil
shr r8d, 8
xor r9d, r10d
or esi, edi
xor r8d, r13d
mov edi, ecx
shr ecx, 8
and r9d, 0xff000000
xor ecx, ebp
movzx r8d, r8b
shl edi, 0x10
or r8d, r9d
and ecx, 0xff0000
xor edi, r10d
mov r9d, dword [rsp + 0x48]
or ecx, r8d
mov r8d, r12d
and edi, 0xff0000
mov r10d, dword [rsp + 0x38]
shr r8d, 8
or esi, edi
mov edi, r12d
xor r9d, ebx
xor r8d, r11d
shr edi, 0x10
mov r11d, dword [rsp + 0x8c]
and r8d, 0xff00
xor edi, ebp
or ecx, r8d
and edi, 0xff00
xor r11d, ecx
or esi, edi
mov edi, ebx
mov dword [rsp + 0xb0], ecx
mov ebx, r11d
mov r11d, dword [rsp + 0xc8]
xor dword [rsp + 0x58], edi
xor r10d, esi
mov dword [rsp + 0xc0], esi
xor r11d, esi
mov dword [rsp + 0x84], r11d
mov edi, dword [rsp + 0x88]
mov r12, qword [rsp + 0x18]
xor edi, ecx
mov ecx, r9d
shr ecx, 0x10
mov dword [rsp + 0x88], edi
mov rdi, r14
movzx ecx, cl
mov ebp, dword [r12 + rcx*4]
mov ecx, r9d
movzx esi, ch
mov r8d, esi
mov rsi, qword [rsp + 8]
mov r11d, dword [r14 + r8*4]
movzx r8d, r9b
shr r9d, 0x18
mov r8d, dword [rsi + r8*4]
mov ecx, dword [r15 + r9*4]
xor ecx, r8d
mov r9d, ecx
mov ecx, r10d
movzx esi, ch
xor r9d, ebp
mov esi, esi
mov r14d, r9d
mov r9d, r10d
mov edi, dword [rdi + rsi*4]
xor r14d, r11d
mov rsi, qword [rsp + 8]
shr r9d, 0x18
mov r9d, dword [r15 + r9*4]
xor r11d, edi
mov dword [rsp + 0x38], r11d
movzx r11d, r10b
mov ecx, r9d
shr r10d, 0x10
mov esi, dword [rsi + r11*4]
movzx r10d, r10b
xor ecx, esi
xor r8d, esi
mov rsi, qword [rsp + 8]
mov r11d, ecx
xor r11d, dword [r12 + r10*4]
mov rcx, r12
mov r10d, ebx
xor r11d, edi
shr r10d, 0x18
mov r12d, r11d
mov r11d, ebx
mov r10d, dword [r15 + r10*4]
shr r11d, 0x10
movzx r11d, r11b
xor r9d, r10d
mov edi, dword [rcx + r11*4]
movzx r11d, bl
mov ecx, ebp
movzx ebx, bh
mov esi, dword [rsi + r11*4]
mov ebp, dword [rsp + 0x68]
mov ebx, ebx
xor ecx, edi
xor r10d, esi
shr ebp, 0x18
xor r8d, esi
mov rsi, qword [rsp + 0x18]
xor r10d, edi
mov rdi, qword [rsp + 0x10]
xor r10d, dword [rdi + rbx*4]
mov r11d, r10d
mov r10d, ebp
mov ebx, dword [r15 + r10*4]
mov r10, qword [rsp + 0xd0]
shr r10, 0x10
xor r9d, ebx
mov dword [rsp + 0x48], ebx
and r10d, 0xff
mov ebp, dword [rsi + r10*4]
mov r10, qword [rsp + 0x20]
xor r13, r10
mov r10d, dword [rsp + 0x38]
xor ecx, ebp
mov rbx, r13
mov r13d, dword [rsp + 0x48]
movzx esi, bh
mov rbx, qword [rsp + 8]
mov edi, dword [rdi + rsi*4]
movzx esi, byte [rsp + 0xdc]
xor r13d, dword [rbx + rsi*4]
mov esi, r14d
xor r10d, edi
mov ebx, r13d
xor esi, r9d
xor ebx, ebp
xor ebx, edi
mov edi, r12d
and esi, 0xff000000
xor edi, ecx
and edi, 0xff0000
or esi, edi
mov edi, r8d
xor edi, ebx
movzx edi, dil
or esi, edi
mov edi, r11d
xor edi, r10d
and edi, 0xff00
or esi, edi
mov edi, r8d
mov dword [rsp + 0x48], esi
mov esi, r9d
shr edi, 0x18
shl esi, 8
xor edi, r14d
xor esi, r12d
movzx edi, dil
and esi, 0xff000000
or esi, edi
mov edi, ecx
shl edi, 8
xor edi, r11d
and edi, 0xff0000
or esi, edi
mov edi, r10d
shl edi, 8
xor edi, ebx
and edi, 0xff00
or esi, edi
mov edi, r8d
mov dword [rsp + 0x38], esi
mov esi, r9d
shr edi, 0x10
shl esi, 0x10
xor edi, r12d
xor esi, r11d
movzx edi, dil
and esi, 0xff000000
or esi, edi
mov edi, ecx
shl edi, 0x10
xor edi, ebx
and edi, 0xff0000
or esi, edi
shl r9d, 0x18
mov edi, r10d
shr r8d, 8
xor r9d, ebx
shr ecx, 8
xor r8d, r11d
shr edi, 0x10
and r9d, 0xff000000
xor ecx, r14d
shr r10d, 8
movzx r8d, r8b
xor edi, r14d
and ecx, 0xff0000
or r8d, r9d
xor r10d, r12d
and edi, 0xff00
or ecx, r8d
and r10d, 0xff00
or esi, edi
mov r8d, 1
or ecx, r10d
mov dword [rsp + 0x8c], esi
cmp qword [rsp + 0x140], 4
mov dword [rsp + 0x68], ecx
jbe 0x14010ed36
mov ecx, dword [rdx]
bswap ecx
sub qword [rsp + 0x140], 4
add rdx, 4
mov dword [rsp + 0x20], ecx
jmp 0x14011045b
lea rbx, [0x1402cc940]
lea r15, [0x1402ccd40]
mov qword [rsp + 0x18], rbx
lea rbx, [0x1402cc540]
mov qword [rsp + 0x10], rbx
lea rbx, [0x1402cc140]
mov qword [rsp + 8], rbx
mov edi, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x20]
xor dword [rsp + 0x94], edi
mov edi, dword [rsp + 0x54]
mov ebx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0xac]
xor dword [rsp + 0x2c], ebx
mov esi, dword [rsp + 0x2c]
xor edi, ecx
mov r14d, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x50]
mov dword [rsp + 0x54], edi
xor r8d, esi
xor dword [rsp + 0x68], esi
mov r13d, dword [rsp + 0x78]
xor ecx, r14d
mov esi, r8d
mov r11d, dword [rsp + 0x74]
mov r9d, dword [rsp + 0x40]
shr esi, 0x10
mov dword [rsp + 0x50], ecx
mov rcx, qword [rsp + 0x18]
xor dword [rsp + 0x7c], r9d
movzx r9d, sil
xor r11d, r13d
mov r10, qword [rsp + 0x10]
xor dword [rsp + 0x90], r13d
mov r13d, dword [rcx + r9*4]
mov ecx, r8d
mov ebx, r11d
movzx esi, ch
mov rcx, qword [rsp + 8]
mov r11d, dword [rsp + 0x4c]
mov r9d, esi
xor dword [rsp + 0xc0], r11d
mov ebp, dword [rsp + 0xb8]
mov r12d, dword [r10 + r9*4]
movzx r9d, r8b
shr r8d, 0x18
mov r14d, dword [rcx + r9*4]
mov esi, dword [r15 + r8*4]
mov r8d, ebx
xor ebp, r11d
shr r8d, 0x18
xor esi, r14d
mov r11d, dword [r15 + r8*4]
mov edi, esi
movzx esi, bh
mov r8d, esi
mov esi, r11d
xor edi, r13d
mov r10d, dword [r10 + r8*4]
movzx r8d, bl
shr ebx, 0x10
xor edi, r12d
mov r9d, dword [rcx + r8*4]
mov rcx, qword [rsp + 0x18]
movzx r8d, bl
xor esi, r9d
xor esi, dword [rcx + r8*4]
mov r8d, ebp
shr r8d, 0x18
xor esi, r10d
mov ebx, dword [r15 + r8*4]
mov r8d, ebp
shr r8d, 0x10
movzx r8d, r8b
xor r11d, ebx
mov r8d, dword [rcx + r8*4]
mov rcx, qword [rsp + 8]
mov dword [rsp + 0x30], r11d
movzx r11d, bpl
mov r11d, dword [rcx + r11*4]
mov ecx, ebp
movzx ebp, ch
mov rcx, qword [rsp + 0x10]
xor ebx, r11d
mov ebp, ebp
xor r9d, r11d
mov r11d, dword [rsp + 0x30]
xor ebx, r8d
xor ebx, dword [rcx + rbp*4]
mov ecx, dword [rsp + 0x20]
xor r9d, r14d
mov r14d, ecx
mov ebp, ecx
mov rcx, qword [rsp + 0x18]
shr r14d, 0x10
shr ebp, 0x18
movzx r14d, r14b
mov ebp, dword [r15 + rbp*4]
mov r14d, dword [rcx + r14*4]
mov ecx, dword [rsp + 0x20]
xor r11d, ebp
movzx ecx, ch
xor r8d, r14d
xor r8d, r13d
mov r13d, ecx
mov rcx, qword [rsp + 0x10]
mov r13d, dword [rcx + r13*4]
movzx ecx, byte [rsp + 0x20]
xor r10d, r13d
xor r10d, r12d
mov r12, qword [rsp + 8]
xor ebp, dword [r12 + rcx*4]
mov r12d, ebx
xor ebp, r14d
mov r14d, esi
xor r12d, r10d
xor r14d, r8d
and r12d, 0xff00
xor ebp, r13d
mov ecx, r14d
and ecx, 0xff0000
or ecx, r12d
mov r12d, r9d
xor r12d, ebp
mov r14d, ecx
movzx r12d, r12b
or r14d, r12d
mov r12d, r8d
shl r12d, 8
mov dword [rsp + 0xac], r14d
mov r14d, edi
mov ecx, r12d
mov r12d, r10d
xor r14d, r11d
shl r12d, 8
xor ecx, ebx
mov dword [rsp + 0xc8], r14d
and r14d, 0xff000000
xor r12d, ebp
and ecx, 0xff0000
mov dword [rsp + 0xd0], r14d
and r12d, 0xff00
or ecx, r12d
mov r12d, r11d
shl r12d, 8
xor r12d, esi
and r12d, 0xff000000
or ecx, r12d
mov r12d, r9d
shr r12d, 0x18
mov r13d, ecx
xor r12d, edi
movzx r12d, r12b
or r13d, r12d
mov r12d, r11d
shl r12d, 0x10
mov dword [rsp + 0x74], r13d
mov ecx, r12d
mov r12d, r9d
xor ecx, ebx
and ecx, 0xff000000
shr r12d, 0x10
shl r11d, 0x18
xor r12d, esi
shr r9d, 8
movzx r12d, r12b
xor r11d, ebp
xor r9d, ebx
mov ebx, dword [rsp + 0x58]
or ecx, r12d
mov r12d, r8d
shr r8d, 8
movzx r9d, r9b
shl r12d, 0x10
and r11d, 0xff000000
xor r8d, edi
xor ebx, r13d
xor r12d, ebp
or r9d, r11d
and r8d, 0xff0000
and r12d, 0xff0000
or r8d, r9d
or ecx, r12d
mov r12d, r10d
shr r10d, 8
shr r12d, 0x10
xor r10d, esi
movzx esi, bh
xor r12d, edi
and r10d, 0xff00
and r12d, 0xff00
or r8d, r10d
or ecx, r12d
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0xb8], ecx
mov r11d, dword [rsp + 0x84]
mov r12d, ecx
xor dword [rsp + 0x8c], r8d
mov r10, qword [rsp + 0x18]
xor r11d, ecx
xor dword [rsp + 0x48], r13d
mov rdi, qword [rsp + 0x10]
mov ecx, r11d
mov r11d, dword [rsp + 0x88]
xor dword [rsp + 0x38], r12d
mov r13, qword [rsp + 8]
xor r11d, r8d
mov r8d, ebx
shr r8d, 0x10
movzx r8d, r8b
mov r12d, dword [r10 + r8*4]
mov r8d, esi
mov r14d, dword [rdi + r8*4]
movzx r8d, bl
shr ebx, 0x18
mov ebp, dword [r13 + r8*4]
mov r8d, ecx
mov esi, dword [r15 + rbx*4]
movzx ebx, ch
shr r8d, 0x18
mov r9d, dword [r15 + r8*4]
mov r8d, ebx
xor esi, ebp
mov edi, dword [rdi + r8*4]
movzx r8d, cl
shr ecx, 0x10
xor esi, r12d
mov r8d, dword [r13 + r8*4]
movzx ecx, cl
mov ebx, r9d
mov r13, r10
xor esi, r14d
xor ebx, r8d
xor ebx, dword [r10 + rcx*4]
mov ecx, r11d
shr ecx, 0x18
xor ebx, edi
mov r10d, dword [r15 + rcx*4]
mov ecx, r11d
mov dword [rsp + 0x58], ebx
shr ecx, 0x10
mov rbx, qword [rsp + 8]
movzx ecx, cl
xor r9d, r10d
mov ecx, dword [r13 + rcx*4]
movzx r13d, r11b
mov r13d, dword [rbx + r13*4]
mov ebx, r11d
movzx ebx, bh
mov r11d, ebx
mov rbx, qword [rsp + 0x10]
xor r10d, r13d
xor r8d, r13d
xor r10d, ecx
xor r8d, ebp
mov ebp, dword [rsp + 0xd0]
xor r10d, dword [rbx + r11*4]
mov r11d, dword [rsp + 0xc8]
mov dword [rsp + 0x20], r10d
mov r10d, dword [rsp + 0xac]
mov rbx, qword [rsp + 0x18]
shr r11d, 0x18
or ebp, r10d
shr r10d, 0x10
mov r11d, dword [r15 + r11*4]
mov r13d, r10d
mov r10d, r8d
mov r13d, dword [rbx + r13*4]
mov ebx, ebp
movzx ebp, bpl
xor r9d, r11d
movzx ebx, bh
xor ecx, r13d
xor ecx, r12d
mov r12d, ebx
mov rbx, qword [rsp + 0x10]
mov r12d, dword [rbx + r12*4]
mov ebx, dword [rsp + 0x20]
xor edi, r12d
xor edi, r14d
mov r14, qword [rsp + 8]
xor r11d, dword [r14 + rbp*4]
mov r14d, dword [rsp + 0x58]
mov ebp, esi
xor r11d, r13d
xor ebp, r9d
mov r13, qword [rsp + 8]
xor r11d, r12d
mov r12d, r14d
mov dword [rsp + 0xc8], ebp
mov ebp, r9d
xor r12d, ecx
xor r10d, r11d
shl ebp, 8
mov dword [rsp + 0x58], r12d
mov r12d, r8d
xor ebp, r14d
shr r12d, 0x18
and ebp, 0xff000000
mov dword [rsp + 0xd0], r10d
xor r12d, esi
movzx r12d, r12b
or ebp, r12d
mov r12d, ecx
shl r12d, 8
xor r12d, ebx
and r12d, 0xff0000
or ebp, r12d
mov r12d, edi
shl r12d, 8
mov r10d, ebp
mov ebp, r9d
shl r9d, 0x18
xor r12d, r11d
shl ebp, 0x10
xor r9d, r11d
and r12d, 0xff00
xor ebp, ebx
and r9d, 0xff000000
or r10d, r12d
mov r12d, r8d
and ebp, 0xff000000
shr r8d, 8
shr r12d, 0x10
mov dword [rsp + 0x84], r10d
xor r12d, r14d
movzx r12d, r12b
or ebp, r12d
mov r12d, ecx
shl r12d, 0x10
xor r12d, r11d
mov r11d, dword [rsp + 0x70]
and r12d, 0xff0000
or ebp, r12d
mov r12d, edi
shr r12d, 0x10
xor r12d, esi
and r12d, 0xff00
or ebp, r12d
xor r8d, ebx
shr ecx, 8
xor dword [rsp + 0x80], ebp
xor ecx, esi
movzx r8d, r8b
xor r11d, ebp
mov dword [rsp + 0x88], ebp
or r8d, r9d
and ecx, 0xff0000
mov r9d, dword [rsp + 0x40]
xor dword [rsp + 0xa4], r10d
or ecx, r8d
mov r8d, edi
shr r8d, 8
mov esi, ecx
xor r9d, r10d
xor r8d, r14d
mov r14, qword [rsp + 0x10]
and r8d, 0xff00
or esi, r8d
mov r8d, dword [rsp + 0x98]
xor dword [rsp + 0xa8], esi
mov dword [rsp + 0xac], esi
xor r8d, esi
mov esi, r9d
shr esi, 0x10
mov ebx, r8d
movzx ecx, sil
mov rsi, qword [rsp + 0x18]
mov r10d, dword [rsi + rcx*4]
mov ecx, r9d
movzx esi, ch
mov ecx, r11d
mov r8d, esi
movzx ebp, ch
mov esi, dword [r14 + r8*4]
movzx r8d, r9b
shr r9d, 0x18
mov ebp, ebp
mov r8d, dword [r13 + r8*4]
mov r12d, dword [r15 + r9*4]
mov r9d, r11d
shr r9d, 0x18
xor r12d, r8d
mov r9d, dword [r15 + r9*4]
xor r12d, r10d
xor r12d, esi
mov dword [rsp + 0x10], r12d
mov r12, r14
mov r14d, dword [r14 + rbp*4]
movzx ebp, r11b
mov r13d, dword [r13 + rbp*4]
shr r11d, 0x10
mov rcx, qword [rsp + 0x18]
mov ebp, r9d
movzx r11d, r11b
xor esi, r14d
xor ebp, r13d
xor ebp, dword [rcx + r11*4]
mov r11d, ebx
xor r8d, r13d
shr r11d, 0x18
xor ebp, r14d
movzx r14d, bl
mov r13d, dword [r15 + r11*4]
mov r11d, ebx
movzx ebx, bh
shr r11d, 0x10
mov ebx, ebx
movzx r11d, r11b
xor r9d, r13d
mov r11d, dword [rcx + r11*4]
mov ecx, r10d
mov r10, qword [rsp + 8]
mov r14d, dword [r10 + r14*4]
xor ecx, r11d
mov r10, qword [rsp + 0x20]
xor r13d, r14d
xor r10, rdi
xor r8d, r14d
movzx edi, byte [rsp + 0xd0]
xor r13d, r11d
xor r13d, dword [r12 + rbx*4]
mov r11, r12
mov r14, qword [rsp + 0x18]
mov dword [rsp + 0x40], r13d
mov r13d, dword [rsp + 0xc8]
shr r13d, 0x18
mov ebx, r13d
mov r13, qword [rsp + 0x58]
mov r12d, dword [r15 + rbx*4]
mov rbx, r10
movzx ebx, bh
shr r13, 0x10
mov r10d, dword [r11 + rbx*4]
mov rbx, qword [rsp + 8]
and r13d, 0xff
xor r9d, r12d
mov r13d, dword [r14 + r13*4]
xor r12d, dword [rbx + rdi*4]
xor esi, r10d
mov edi, r8d
mov ebx, r12d
xor ecx, r13d
shr edi, 0x18
mov r12d, dword [rsp + 0x40]
xor ebx, r13d
mov r13d, dword [rsp + 0x10]
xor ebx, r10d
mov r10d, ebp
xor r13d, r9d
xor r10d, ecx
mov dword [rsp + 0xc8], r13d
mov r13d, r8d
xor r13d, ebx
mov dword [rsp + 0xd0], r10d
mov r10d, r9d
mov dword [rsp + 0xdc], r13d
mov r13d, dword [rsp + 0x10]
shl r10d, 8
xor r10d, ebp
xor edi, r13d
and r10d, 0xff000000
movzx edi, dil
or r10d, edi
mov edi, ecx
shl edi, 8
xor edi, r12d
and edi, 0xff0000
or r10d, edi
mov edi, esi
shl edi, 8
xor edi, ebx
and edi, 0xff00
or r10d, edi
mov edi, r8d
mov r13d, r10d
mov dword [rsp + 0x70], r10d
mov r10d, r9d
shl r10d, 0x10
xor r10d, r12d
shr edi, 0x10
xor edi, ebp
and r10d, 0xff000000
shl r9d, 0x18
movzx edi, dil
xor r9d, ebx
shr r8d, 8
or r10d, edi
mov edi, ecx
xor r8d, r12d
shr ecx, 8
shl edi, 0x10
and r9d, 0xff000000
movzx r8d, r8b
xor edi, ebx
mov ebx, dword [rsp + 0x10]
or r8d, r9d
and edi, 0xff0000
xor ecx, ebx
or r10d, edi
mov edi, esi
and ecx, 0xff0000
mov dword [rsp + 0x18], r10d
mov r10d, dword [rsp + 0x10]
shr edi, 0x10
or ecx, r8d
mov r8d, esi
shr r8d, 8
xor edi, r10d
mov r10d, dword [rsp + 0x18]
xor r8d, ebp
and edi, 0xff00
and r8d, 0xff00
or r10d, edi
or ecx, r8d
mov dword [rsp + 0x98], r10d
mov edi, r10d
mov dword [rsp + 0x58], ecx
mov ebx, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x6c]
mov qword [rsp + 0x18], r14
xor ebx, r13d
xor dword [rsp + 0x60], r13d
xor r9d, r10d
mov r10d, dword [rsp + 0x50]
xor r8d, ecx
mov qword [rsp + 0x10], r11
mov r12d, r8d
xor r10d, edi
mov edi, dword [rsp + 0x54]
mov dword [rsp + 0x50], r10d
movzx r10d, bl
xor edi, ecx
mov ecx, ebx
mov dword [rsp + 0x54], edi
movzx edi, bh
shr ebx, 0x18
mov r8d, edi
mov rdi, qword [rsp + 8]
mov ebp, dword [r15 + rbx*4]
mov ebx, r9d
shr ecx, 0x10
movzx ebx, bh
mov r8d, dword [r11 + r8*4]
mov r13d, dword [rdi + r10*4]
mov r10d, r9d
mov rdi, qword [rsp + 8]
mov ebx, ebx
shr r10d, 0x18
movzx ecx, cl
mov ecx, dword [r14 + rcx*4]
mov r10d, dword [r15 + r10*4]
xor ebp, r13d
mov r14d, dword [r11 + rbx*4]
movzx ebx, r9b
mov r11, qword [rsp + 0x18]
shr r9d, 0x10
mov ebx, dword [rdi + rbx*4]
movzx r9d, r9b
mov edi, r10d
xor ebp, ecx
xor ebp, r8d
xor r8d, r14d
xor edi, ebx
xor edi, dword [r11 + r9*4]
mov r9d, r12d
xor r13d, ebx
shr r9d, 0x18
xor edi, r14d
mov ebx, dword [r15 + r9*4]
mov r9d, r12d
shr r9d, 0x10
movzx r9d, r9b
xor r10d, ebx
mov r14d, dword [r11 + r9*4]
movzx r9d, r12b
xor ecx, r14d
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 8]
mov r9d, dword [rcx + r9*4]
mov ecx, r12d
movzx ecx, ch
xor ebx, r9d
mov r12d, ecx
xor r9d, r13d
mov r13, qword [rsp + 0xd0]
xor ebx, r14d
mov r14, qword [rsp + 0x10]
shr r13, 0x10
xor ebx, dword [r14 + r12*4]
mov r12d, dword [rsp + 0xc8]
and r13d, 0xff
shr r12d, 0x18
mov r12d, dword [r15 + r12*4]
mov r13d, dword [r11 + r13*4]
mov ecx, dword [rsp + 0x20]
mov r11, qword [rsp + 0x40]
xor r10d, r12d
xor r11, rsi
xor ecx, r13d
mov dword [rsp + 0x20], ecx
mov rcx, r11
movzx esi, ch
mov rcx, qword [rsp + 8]
mov r11d, dword [r14 + rsi*4]
movzx esi, byte [rsp + 0xdc]
xor r12d, dword [rcx + rsi*4]
xor r8d, r11d
mov ecx, dword [rsp + 0x20]
mov esi, edi
xor r12d, r13d
xor r12d, r11d
mov r11d, ebp
xor r11d, r10d
and r11d, 0xff000000
xor esi, ecx
and esi, 0xff0000
or r11d, esi
mov esi, r9d
xor esi, r12d
movzx esi, sil
or r11d, esi
mov esi, ebx
xor esi, r8d
and esi, 0xff00
or r11d, esi
mov esi, r9d
mov dword [rsp + 0x34], r11d
mov r11d, r10d
shr esi, 0x18
shl r11d, 8
xor esi, ebp
xor r11d, edi
movzx esi, sil
and r11d, 0xff000000
or r11d, esi
mov esi, ecx
shl esi, 8
xor esi, ebx
and esi, 0xff0000
or r11d, esi
mov esi, r8d
shl esi, 8
xor esi, r12d
and esi, 0xff00
or r11d, esi
mov esi, r9d
mov dword [rsp + 0x3c], r11d
mov r11d, r10d
shr esi, 0x10
shl r11d, 0x10
xor esi, edi
xor r11d, ebx
movzx esi, sil
and r11d, 0xff000000
or r11d, esi
mov esi, ecx
shl esi, 0x10
xor esi, r12d
and esi, 0xff0000
or r11d, esi
shl r10d, 0x18
mov esi, r8d
shr r9d, 8
xor r10d, r12d
shr ecx, 8
xor r9d, ebx
shr esi, 0x10
and r10d, 0xff000000
xor ecx, ebp
shr r8d, 8
movzx r9d, r9b
xor esi, ebp
and ecx, 0xff0000
or r9d, r10d
xor r8d, edi
and esi, 0xff00
and r8d, 0xff00
or ecx, r9d
or r11d, esi
or ecx, r8d
xor r8d, r8d
mov dword [rsp + 0x6c], r11d
cmp qword [rsp + 0x140], 4
mov dword [rsp + 0x40], ecx
jbe 0x14010ed36
mov ecx, dword [rdx]
bswap ecx
sub qword [rsp + 0x140], 4
add rdx, 4
mov dword [rsp + 0x20], ecx
jmp 0x14010ef2b
lea rbx, [0x1402cc940]
lea r15, [0x1402ccd40]
mov qword [rsp + 0x18], rbx
lea rbx, [0x1402cc540]
mov qword [rsp + 0x10], rbx
lea rbx, [0x1402cc140]
mov qword [rsp + 8], rbx
mov r10d, dword [rsp + 0x30]
mov esi, dword [rsp + 0x9c]
xor dword [rsp + 0x38], r10d
mov r8d, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x38]
mov r14d, dword [rsp + 0xa4]
xor esi, r8d
mov edi, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x20]
xor r14d, ebx
xor dword [rsp + 0x74], edi
mov r9d, dword [rsp + 0x4c]
mov r8d, r14d
mov dword [rsp + 0x9c], esi
mov r14d, dword [rsp + 0x8c]
mov esi, ebx
mov ebx, dword [rsp + 0x80]
mov edi, dword [rsp + 0xa0]
xor dword [rsp + 0x70], r14d
mov r10, qword [rsp + 0x10]
xor ebx, r14d
mov r14d, r8d
xor edi, ecx
mov rcx, qword [rsp + 0x18]
shr r14d, 0x10
xor dword [rsp + 0x40], esi
mov r11d, dword [rsp + 0x68]
xor dword [rsp + 0x90], r9d
movzx r9d, r14b
mov ebp, dword [rsp + 0xa8]
mov r13d, dword [rcx + r9*4]
mov ecx, r8d
xor dword [rsp + 0x98], r11d
movzx esi, ch
mov rcx, qword [rsp + 8]
xor ebp, r11d
mov dword [rsp + 0xa0], edi
mov r9d, esi
movzx esi, bh
mov r12d, dword [r10 + r9*4]
movzx r9d, r8b
shr r8d, 0x18
mov r14d, dword [rcx + r9*4]
mov r11d, dword [r15 + r8*4]
xor r11d, r14d
mov edi, r11d
mov r11d, ebx
shr r11d, 0x18
xor edi, r13d
mov r8d, r11d
xor edi, r12d
mov r11d, dword [r15 + r8*4]
mov r8d, esi
mov r10d, dword [r10 + r8*4]
movzx r8d, bl
shr ebx, 0x10
mov r9d, dword [rcx + r8*4]
movzx r8d, bl
mov ebx, r11d
mov rcx, qword [rsp + 0x18]
xor ebx, r9d
mov esi, ebx
mov ebx, ebp
xor esi, dword [rcx + r8*4]
shr ebx, 0x18
xor esi, r10d
mov r8d, ebx
mov ebx, dword [r15 + r8*4]
mov r8d, ebp
shr r8d, 0x10
movzx r8d, r8b
xor r11d, ebx
mov r8d, dword [rcx + r8*4]
mov rcx, qword [rsp + 8]
mov dword [rsp + 0x48], r11d
movzx r11d, bpl
mov r11d, dword [rcx + r11*4]
mov ecx, ebp
movzx ebp, ch
mov rcx, qword [rsp + 0x10]
xor ebx, r11d
mov ebp, ebp
xor r9d, r11d
mov r11d, dword [rsp + 0x48]
xor ebx, r8d
xor ebx, dword [rcx + rbp*4]
mov ecx, dword [rsp + 0x20]
xor r9d, r14d
mov r14d, ecx
mov ebp, ecx
mov rcx, qword [rsp + 0x18]
shr r14d, 0x10
shr ebp, 0x18
movzx r14d, r14b
mov ebp, dword [r15 + rbp*4]
mov r14d, dword [rcx + r14*4]
mov ecx, dword [rsp + 0x20]
xor r11d, ebp
movzx ecx, ch
xor r8d, r14d
xor r8d, r13d
mov r13d, ecx
mov rcx, qword [rsp + 0x10]
mov r13d, dword [rcx + r13*4]
movzx ecx, byte [rsp + 0x20]
xor r10d, r13d
xor r10d, r12d
mov r12, qword [rsp + 8]
xor ebp, dword [r12 + rcx*4]
xor ebp, r14d
mov r14d, edi
xor ebp, r13d
mov r13d, esi
xor r14d, r11d
xor r13d, r8d
mov dword [rsp + 0xa4], r14d
mov ecx, r13d
mov r13d, ebx
xor r13d, r10d
and ecx, 0xff0000
mov r12d, r13d
mov r13d, r9d
and r12d, 0xff00
xor r13d, ebp
or ecx, r12d
movzx r12d, r13b
mov r13d, ecx
or r13d, r12d
mov r12d, r14d
mov r14d, r8d
shl r14d, 8
and r12d, 0xff000000
mov ecx, r14d
mov r14d, r10d
mov dword [rsp + 0xc8], r12d
shl r14d, 8
xor ecx, ebx
mov r12d, r14d
mov r14d, r11d
and ecx, 0xff0000
xor r12d, ebp
shl r14d, 8
and r12d, 0xff00
or ecx, r12d
mov r12d, r14d
mov r14d, r9d
xor r12d, esi
shr r14d, 0x18
and r12d, 0xff000000
or ecx, r12d
mov r12d, r14d
xor r12d, edi
mov r14d, ecx
mov ecx, r11d
movzx r12d, r12b
shl ecx, 0x10
or r14d, r12d
xor ecx, ebx
mov r12d, r9d
and ecx, 0xff000000
shr r12d, 0x10
mov dword [rsp + 0x80], r14d
shl r11d, 0x18
xor r12d, esi
shr r9d, 8
movzx r12d, r12b
xor r11d, ebp
xor r9d, ebx
mov ebx, dword [rsp + 0x50]
or ecx, r12d
mov r12d, r8d
shr r8d, 8
movzx r9d, r9b
shl r12d, 0x10
and r11d, 0xff000000
xor r8d, edi
xor r12d, ebp
or r9d, r11d
and r8d, 0xff0000
and r12d, 0xff0000
or r8d, r9d
or ecx, r12d
mov r12d, r10d
shr r10d, 8
mov r9d, r8d
shr r12d, 0x10
xor r10d, esi
mov r8d, dword [rsp + 0x60]
xor r12d, edi
and r10d, 0xff00
and r12d, 0xff00
or r9d, r10d
xor r8d, r14d
or ecx, r12d
mov dword [rsp + 0x48], r9d
xor ebx, ecx
mov r12d, ecx
mov dword [rsp + 0xa8], ecx
mov ecx, ebx
mov ebx, dword [rsp + 0x54]
xor dword [rsp + 0x34], r14d
xor dword [rsp + 0x3c], r12d
mov rsi, qword [rsp + 0x18]
xor ebx, r9d
xor dword [rsp + 0x6c], r9d
mov rdi, qword [rsp + 0x10]
mov dword [rsp + 0x20], ebx
mov ebx, r8d
mov r14, qword [rsp + 8]
shr ebx, 0x10
movzx r9d, bl
mov ebx, r8d
movzx ebx, bh
mov r12d, dword [rsi + r9*4]
mov r9d, ebx
mov ebp, dword [rdi + r9*4]
movzx r9d, r8b
shr r8d, 0x18
mov ebx, dword [r14 + r9*4]
mov r11d, dword [r15 + r8*4]
mov r8d, ecx
shr r8d, 0x18
mov dword [rsp + 0x10], ebx
xor r11d, ebx
movzx ebx, ch
mov r9d, dword [r15 + r8*4]
mov r8d, ebx
mov rbx, r14
xor r11d, r12d
mov r10d, dword [rdi + r8*4]
movzx r8d, cl
shr ecx, 0x10
xor r11d, ebp
mov r8d, dword [r14 + r8*4]
mov r14d, r9d
movzx ecx, cl
mov dword [rsp + 0x50], r10d
xor r14d, r8d
mov r10d, r14d
xor r10d, dword [rsi + rcx*4]
mov ecx, dword [rsp + 0x20]
mov r14, rsi
mov esi, dword [rsp + 0x50]
shr ecx, 0x18
xor r10d, esi
mov esi, dword [r15 + rcx*4]
mov ecx, dword [rsp + 0x20]
shr ecx, 0x10
xor r9d, esi
movzx ecx, cl
mov ecx, dword [r14 + rcx*4]
movzx r14d, byte [rsp + 0x20]
mov r14d, dword [rbx + r14*4]
mov ebx, dword [rsp + 0x20]
movzx ebx, bh
xor esi, r14d
xor r8d, r14d
mov ebx, ebx
xor esi, ecx
xor esi, dword [rdi + rbx*4]
mov ebx, dword [rsp + 0x10]
mov dword [rsp + 0x60], esi
mov esi, dword [rsp + 0xa4]
xor r8d, ebx
mov r14, qword [rsp + 0x18]
mov qword [rsp + 0x10], rdi
shr esi, 0x18
mov ebx, esi
mov esi, dword [rsp + 0xc8]
mov ebx, dword [r15 + rbx*4]
or esi, r13d
shr r13d, 0x10
mov r13d, dword [r14 + r13*4]
xor r9d, ebx
mov dword [rsp + 0x20], ebx
mov ebx, esi
movzx ebx, bh
movzx esi, sil
xor ecx, r13d
xor ecx, r12d
mov r12d, ebx
mov rbx, qword [rsp + 8]
mov r12d, dword [rdi + r12*4]
mov edi, dword [rsp + 0x50]
xor edi, r12d
mov r14d, edi
mov edi, dword [rsp + 0x20]
xor edi, dword [rbx + rsi*4]
mov esi, r9d
mov ebx, edi
xor r14d, ebp
mov ebp, r11d
xor ebx, r13d
mov r13d, r10d
xor ebp, r9d
xor r13d, ecx
xor ebx, r12d
mov r12d, r8d
mov dword [rsp + 0xc8], ebp
mov dword [rsp + 0xd0], r13d
mov r13d, r8d
xor r12d, ebx
shl esi, 8
shr r13d, 0x18
xor esi, r10d
mov dword [rsp + 0xdc], r12d
mov r12d, dword [rsp + 0x60]
mov edi, r13d
mov r13d, ecx
and esi, 0xff000000
xor edi, r11d
shl r13d, 8
movzx edi, dil
or esi, edi
mov edi, r13d
mov r13d, r14d
xor edi, r12d
shl r13d, 8
and edi, 0xff0000
or esi, edi
mov edi, r13d
mov r13d, r8d
shr r8d, 8
xor edi, ebx
shr r13d, 0x10
and edi, 0xff00
or esi, edi
mov edi, r13d
mov r13d, ecx
mov ebp, esi
mov dword [rsp + 0x50], esi
mov esi, r9d
xor edi, r10d
shl esi, 0x10
shl r13d, 0x10
movzx edi, dil
xor esi, r12d
shl r9d, 0x18
and esi, 0xff000000
xor r9d, ebx
or esi, edi
mov edi, r13d
mov r13d, r14d
and r9d, 0xff000000
xor edi, ebx
shr r13d, 0x10
and edi, 0xff0000
or esi, edi
mov edi, r13d
mov r13, qword [rsp + 0x18]
xor edi, r11d
and edi, 0xff00
or esi, edi
xor r8d, r12d
shr ecx, 8
xor dword [rsp + 0xc4], ebp
xor ecx, r11d
movzx r8d, r8b
mov r11d, dword [rsp + 0x7c]
mov dword [rsp + 0x54], esi
or r8d, r9d
and ecx, 0xff0000
mov r9d, dword [rsp + 0x4c]
or ecx, r8d
mov r8d, r14d
xor r11d, esi
shr r8d, 8
xor r9d, ebp
mov rbp, qword [rsp + 0x10]
xor r8d, r10d
mov ebx, r9d
mov r9d, esi
mov esi, dword [rsp + 0xbc]
and r8d, 0xff00
movzx edi, bh
mov r10d, r11d
xor dword [rsp + 0x94], r9d
or ecx, r8d
xor dword [rsp + 0xd8], ecx
mov r8d, edi
xor esi, ecx
mov dword [rsp + 0xa4], ecx
mov ecx, ebx
mov edi, dword [rbp + r8*4]
shr ecx, 0x10
movzx r8d, bl
shr ebx, 0x18
movzx ecx, cl
mov ecx, dword [r13 + rcx*4]
mov r11, qword [rsp + 8]
mov r9d, dword [r15 + rbx*4]
mov r8d, dword [r11 + r8*4]
xor r9d, r8d
mov ebx, r9d
mov r9d, r10d
xor ebx, ecx
shr r9d, 0x18
xor ebx, edi
mov r9d, dword [r15 + r9*4]
mov dword [rsp + 0x4c], ebx
mov ebx, r10d
movzx ebx, bh
mov r11d, ebx
mov rbx, qword [rsp + 8]
mov r12d, dword [rbp + r11*4]
movzx r11d, r10b
shr r10d, 0x10
mov ebp, dword [rbx + r11*4]
mov r11d, r9d
movzx r10d, r10b
xor edi, r12d
xor r11d, ebp
xor r8d, ebp
mov ebp, esi
xor r11d, dword [r13 + r10*4]
shr ebp, 0x10
mov r10d, esi
xor r11d, r12d
mov r12, qword [rsp + 0x10]
movzx ebp, bpl
shr r10d, 0x18
mov r13d, dword [r13 + rbp*4]
movzx ebp, sil
mov r10d, dword [r15 + r10*4]
mov ebp, dword [rbx + rbp*4]
mov ebx, esi
movzx esi, bh
xor ecx, r13d
xor r9d, r10d
mov esi, esi
xor r10d, ebp
xor r8d, ebp
mov ebp, dword [rsp + 0xc8]
xor r10d, r13d
xor r10d, dword [r12 + rsi*4]
mov rsi, qword [rsp + 0xd0]
mov r13, qword [rsp + 0x18]
shr ebp, 0x18
mov dword [rsp + 0x20], r10d
shr rsi, 0x10
mov r10d, ebp
and esi, 0xff
mov r10d, dword [r15 + r10*4]
mov ebp, dword [r13 + rsi*4]
mov rsi, qword [rsp + 0x60]
xor r9d, r10d
xor r14, rsi
xor ecx, ebp
mov rbx, r14
mov r14d, edi
movzx edi, byte [rsp + 0xdc]
movzx esi, bh
mov rbx, r12
mov esi, dword [r12 + rsi*4]
mov r12, qword [rsp + 8]
xor r10d, dword [r12 + rdi*4]
xor r14d, esi
mov r12d, dword [rsp + 0x4c]
mov edi, r8d
xor r10d, ebp
shr edi, 0x18
xor r10d, esi
mov esi, r8d
xor edi, r12d
mov ebp, r12d
xor esi, r10d
movzx edi, dil
mov r12d, dword [rsp + 0x20]
xor ebp, r9d
mov dword [rsp + 0xd0], esi
mov esi, r9d
shl esi, 8
mov dword [rsp + 0xdc], ebp
mov ebp, r11d
xor esi, r11d
xor ebp, ecx
and esi, 0xff000000
mov dword [rsp + 0xc8], ebp
or esi, edi
mov edi, ecx
shl edi, 8
xor edi, r12d
and edi, 0xff0000
or esi, edi
mov edi, r14d
shl edi, 8
xor edi, r10d
and edi, 0xff00
or esi, edi
mov edi, r8d
mov ebp, esi
mov dword [rsp + 0x7c], esi
mov esi, r9d
shl esi, 0x10
xor esi, r12d
shr edi, 0x10
mov r12d, dword [rsp + 0x4c]
xor edi, r11d
and esi, 0xff000000
shl r9d, 0x18
movzx edi, dil
xor r9d, r10d
shr r8d, 8
or esi, edi
mov edi, ecx
shr ecx, 8
and r9d, 0xff000000
shl edi, 0x10
xor ecx, r12d
xor edi, r10d
and ecx, 0xff0000
and edi, 0xff0000
or esi, edi
mov edi, r14d
shr edi, 0x10
xor edi, r12d
and edi, 0xff00
or esi, edi
mov dword [rsp + 0xbc], esi
mov r10d, dword [rsp + 0x20]
mov edi, esi
xor dword [rsp + 0xb0], ebp
xor r8d, r10d
mov r10d, dword [rsp + 0x30]
movzx r8d, r8b
or r8d, r9d
xor r10d, ebp
mov r9d, dword [rsp + 0x78]
mov rbp, rbx
or ecx, r8d
mov r8d, r14d
shr r8d, 8
mov esi, ecx
mov ecx, dword [rsp + 0x9c]
xor r8d, r11d
mov r11d, dword [rsp + 0x2c]
xor ecx, edi
and r8d, 0xff00
xor r11d, edi
mov edi, dword [rsp + 0xa0]
or esi, r8d
mov dword [rsp + 0x9c], ecx
mov ecx, r10d
xor r9d, esi
mov dword [rsp + 0x60], esi
xor edi, esi
shr ecx, 0x10
mov r12d, r9d
movzx r9d, r10b
movzx ecx, cl
mov dword [rsp + 0xa0], edi
mov r8d, dword [r13 + rcx*4]
mov ecx, r10d
shr r10d, 0x18
movzx ecx, ch
mov edi, dword [r15 + r10*4]
mov r10d, r11d
mov ecx, ecx
shr r10d, 0x18
mov ecx, dword [rbx + rcx*4]
mov rbx, qword [rsp + 8]
mov r10d, dword [r15 + r10*4]
mov r9d, dword [rbx + r9*4]
mov ebx, r11d
movzx esi, bh
mov rbx, qword [rsp + 8]
mov esi, esi
xor edi, r9d
mov r13d, dword [rbp + rsi*4]
xor edi, r8d
movzx esi, r11b
shr r11d, 0x10
xor edi, ecx
mov ebp, dword [rbx + rsi*4]
movzx r11d, r11b
mov esi, r10d
xor ecx, r13d
mov dword [rsp + 0x2c], ecx
mov rcx, qword [rsp + 0x18]
xor esi, ebp
xor r9d, ebp
xor esi, dword [rcx + r11*4]
mov r11d, r12d
shr r11d, 0x18
xor esi, r13d
movzx r13d, r12b
mov ebp, dword [r15 + r11*4]
mov r11d, r12d
mov r13d, dword [rbx + r13*4]
mov ebx, r12d
shr r11d, 0x10
movzx ebx, bh
mov r12d, dword [rsp + 0xdc]
movzx r11d, r11b
xor r10d, ebp
xor ebp, r13d
mov ebx, ebx
mov r11d, dword [rcx + r11*4]
shr r12d, 0x18
xor r9d, r13d
xor r8d, r11d
xor ebp, r11d
mov r11, qword [rsp + 0x10]
xor ebp, dword [r11 + rbx*4]
mov ebx, r12d
mov r11d, ebp
mov rbp, qword [rsp + 0xc8]
mov ebx, dword [r15 + rbx*4]
shr rbp, 0x10
xor r10d, ebx
and ebp, 0xff
mov ebp, dword [rcx + rbp*4]
mov r12, qword [rsp + 0x20]
movzx r13d, byte [rsp + 0xd0]
xor r12, r14
mov r14, qword [rsp + 8]
xor r8d, ebp
mov rcx, r12
movzx ecx, ch
xor ebx, dword [r14 + r13*4]
mov r12, rcx
mov rcx, qword [rsp + 0x10]
xor ebx, ebp
mov ebp, edi
xor ebp, r10d
mov r12d, dword [rcx + r12*4]
mov ecx, dword [rsp + 0x2c]
xor ebx, r12d
xor ecx, r12d
mov r12d, esi
and ebp, 0xff000000
xor r12d, r8d
and r12d, 0xff0000
or ebp, r12d
mov r12d, r9d
xor r12d, ebx
movzx r12d, r12b
or ebp, r12d
mov r12d, r11d
xor r12d, ecx
and r12d, 0xff00
or ebp, r12d
mov r12d, r9d
mov dword [rsp + 0x30], ebp
mov ebp, r10d
shr r12d, 0x18
shl ebp, 8
xor r12d, edi
xor ebp, esi
movzx r12d, r12b
and ebp, 0xff000000
or ebp, r12d
mov r12d, r8d
shl r12d, 8
xor r12d, r11d
and r12d, 0xff0000
or ebp, r12d
mov r12d, ecx
shl r12d, 8
xor r12d, ebx
and r12d, 0xff00
or ebp, r12d
mov r12d, r9d
mov dword [rsp + 0x2c], ebp
mov ebp, r10d
shr r12d, 0x10
shl ebp, 0x10
xor r12d, esi
xor ebp, r11d
movzx r12d, r12b
and ebp, 0xff000000
or ebp, r12d
mov r12d, r8d
shl r12d, 0x10
xor r12d, ebx
and r12d, 0xff0000
or ebp, r12d
shl r10d, 0x18
mov r12d, ecx
shr r9d, 8
xor r10d, ebx
shr r8d, 8
xor r9d, r11d
and r10d, 0xff000000
xor r8d, edi
shr ecx, 8
shr r12d, 0x10
movzx r9d, r9b
and r8d, 0xff0000
xor ecx, esi
xor r12d, edi
or r9d, r10d
and ecx, 0xff00
and r12d, 0xff00
or r8d, r9d
or r8d, ecx
or ebp, r12d
cmp qword [rsp + 0x140], 4
mov dword [rsp + 0x4c], r8d
mov r8d, 2
mov dword [rsp + 0x78], ebp
jbe 0x14010ed36
mov ecx, dword [rdx]
bswap ecx
sub qword [rsp + 0x140], 4
add rdx, 4
mov dword [rsp + 0x20], ecx
jmp 0x14010f9bb
mov ebx, dword [rsp + 0x140]
lea r9d, [rbx - 1]
jmp 0x14010eb91
xor ecx, ecx
jmp 0x14010ed73