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

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbp
push rsi
mov eax, 0x58
call fcn.1404a6760
sub rsp, rax
lea eax, [rdx + 0x100]
mov ebp, edx
cdq
mov rsi, rcx
and edx, 0x1f
add eax, edx
sar eax, 5
test rcx, rcx
je 0x140311fd2
test r8, r8
je 0x140311fd2
lea edx, [rbp - 0x80]
test edx, 0xffffff3f
jne 0x140311fc6
cmp ebp, 0x140
je 0x140311fc6
mov dword [r8 + 0x110], eax
lea eax, [rbp - 0x80]
movzx ecx, byte [rcx]
cdq
movzx r8d, byte [rsi + 8]
and edx, 0x3f
movzx r9d, byte [rsi + 0xc]
add eax, edx
movzx edx, byte [rsi + 4]
sar eax, 6
movsxd r11, eax
lea rax, [0x14055de50]
shl ecx, 8
shl edx, 8
mov qword [rsp + 0x50], rbx
shl r8d, 8
shl r9d, 8
mov qword [rsp + 0x48], rdi
shl r11, 4
add r11, rax
mov qword [rsp + 0x40], r12
movzx eax, byte [rsi + 1]
xor ecx, eax
mov qword [rsp + 0x38], r13
movzx eax, byte [rsi + 2]
shl ecx, 8
xor ecx, eax
mov qword [rsp + 0x30], r14
movzx eax, byte [rsi + 3]
lea r14, [0x140000000]
shl ecx, 8
xor ecx, eax
mov qword [rsp + 0x28], r15
movzx eax, byte [rsi + 5]
mov edi, ecx
xor edi, dword [r11]
xor edx, eax
movzx eax, byte [rsi + 6]
shl edx, 8
xor edx, eax
mov dword [rsp + 0xc], ecx
movzx eax, byte [rsi + 7]
shl edx, 8
xor edx, eax
mov qword [rsp + 0x70], r11
movzx eax, byte [rsi + 9]
mov r10d, edx
xor r10d, dword [r11 + 4]
xor r8d, eax
movzx eax, byte [rsi + 0xa]
shl r8d, 8
xor r8d, eax
mov dword [rsp + 0x10], edx
movzx eax, byte [rsi + 0xb]
shl r8d, 8
xor r8d, eax
movzx eax, byte [rsi + 0xd]
xor r9d, eax
mov dword [rsp + 0x14], r8d
xor r8d, dword [r11 + 8]
movzx eax, byte [rsi + 0xe]
shl r9d, 8
xor r9d, eax
mov edx, r8d
movzx eax, byte [rsi + 0xf]
shl r9d, 8
xor r9d, eax
shr rdx, 0x18
mov eax, r8d
mov dword [rsp + 0x18], r9d
xor r9d, dword [r11 + 0xc]
shr eax, 0x10
mov ebx, dword [r14 + rdx*4 + 0x55dea0]
movzx ecx, al
mov eax, r8d
shr eax, 8
xor ebx, dword [r14 + rcx*4 + 0x55e2a0]
movzx ecx, al
movzx eax, r8b
xor ebx, dword [r14 + rcx*4 + 0x55e6a0]
xor ebx, dword [r14 + rax*4 + 0x55eaa0]
mov eax, r9d
mov edx, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
shr rdx, 0x18
mov r11d, dword [r14 + rdx*4 + 0x55dea0]
xor r11d, dword [r14 + rcx*4 + 0x55e2a0]
movzx ecx, al
movzx eax, r9b
mov edx, r10d
shr rdx, 0x18
xor r11d, dword [r14 + rcx*4 + 0x55e6a0]
xor r11d, dword [r14 + rax*4 + 0x55eaa0]
mov eax, r10d
shr eax, 0x10
mov r8d, dword [r14 + rdx*4 + 0x55dea0]
movzx ecx, al
mov eax, r10d
shr eax, 8
mov edx, edi
shr rdx, 0x18
xor r8d, dword [r14 + rcx*4 + 0x55e2a0]
movzx ecx, al
movzx eax, r10b
mov r10d, r11d
mov r9d, dword [r14 + rdx*4 + 0x55dea0]
xor r11d, ebx
xor r8d, dword [r14 + rcx*4 + 0x55e6a0]
xor r8d, dword [r14 + rax*4 + 0x55eaa0]
mov eax, edi
xor r8d, ebx
shr eax, 0x10
xor r10d, r8d
movzx ecx, al
mov eax, edi
shr eax, 8
bswap r10d
xor r9d, dword [r14 + rcx*4 + 0x55e2a0]
movzx ecx, al
movzx eax, dil
xor r9d, dword [r14 + rcx*4 + 0x55e6a0]
xor r9d, dword [r14 + rax*4 + 0x55eaa0]
xor r9d, r8d
xor r11d, r9d
xor r8d, r11d
mov edx, r11d
shr edx, 0x10
mov ecx, r8d
and ecx, 0xffff00ff
shr r8d, 8
shl ecx, 8
and r8d, 0xff00ff
xor ecx, r8d
shl r11d, 0x10
or edx, r11d
xor ecx, edx
xor edx, r10d
xor r9d, ecx
xor r10d, ecx
xor edx, r9d
xor ecx, edx
cmp ebp, 0x80
jle 0x1403116e9
movzx eax, byte [rsi + 0x11]
movzx r13d, byte [rsi + 0x10]
movzx r12d, byte [rsi + 0x14]
shl r13d, 8
xor r13d, eax
shl r12d, 8
movzx eax, byte [rsi + 0x12]
shl r13d, 8
xor r13d, eax
movzx eax, byte [rsi + 0x13]
shl r13d, 8
xor r13d, eax
movzx eax, byte [rsi + 0x15]
xor r12d, eax
movzx eax, byte [rsi + 0x16]
shl r12d, 8
xor r12d, eax
movzx eax, byte [rsi + 0x17]
shl r12d, 8
xor r12d, eax
cmp ebp, 0xc0
jle 0x1403116e4
movzx eax, byte [rsi + 0x19]
movzx r14d, byte [rsi + 0x18]
movzx r15d, byte [rsi + 0x1c]
shl r14d, 8
xor r14d, eax
shl r15d, 8
movzx eax, byte [rsi + 0x1a]
shl r14d, 8
xor r14d, eax
movzx eax, byte [rsi + 0x1b]
shl r14d, 8
xor r14d, eax
movzx eax, byte [rsi + 0x1d]
xor r15d, eax
movzx eax, byte [rsi + 0x1e]
shl r15d, 8
xor r15d, eax
movzx eax, byte [rsi + 0x1f]
shl r15d, 8
xor r15d, eax
jmp 0x1403116f5
xor r14d, r14d
jmp 0x1403116f2
xor r14d, r14d
mov r12d, r14d
mov r13d, r14d
mov r15d, r14d
mov rdi, qword [rsp + 0x70]
lea rsi, [0x140000000]
xor r14d, edx
xor r12d, ecx
xor r13d, r9d
xor r15d, r10d
mov r8d, r14d
mov r9d, r15d
xor r8d, dword [rdi + 0x18]
mov r10d, r12d
xor r9d, dword [rdi + 0x1c]
mov eax, r8d
xor r10d, dword [rdi + 0x14]
mov ebx, r13d
xor ebx, dword [rdi + 0x10]
shr eax, 0x10
movzx ecx, al
mov eax, r8d
shr eax, 8
mov edx, r8d
shr rdx, 0x18
mov ebp, dword [rsi + rdx*4 + 0x55e6a0]
xor ebp, dword [rsi + rcx*4 + 0x55eaa0]
movzx ecx, al
movzx eax, r8b
mov edx, r9d
shr rdx, 0x18
xor ebp, dword [rsi + rcx*4 + 0x55dea0]
xor ebp, dword [rsi + rax*4 + 0x55e2a0]
mov eax, r9d
shr eax, 0x10
mov r11d, dword [rsi + rdx*4 + 0x55e6a0]
movzx ecx, al
mov eax, r9d
shr eax, 8
mov edx, r10d
shr rdx, 0x18
xor r11d, dword [rsi + rcx*4 + 0x55eaa0]
movzx ecx, al
movzx eax, r9b
mov r8d, dword [rsi + rdx*4 + 0x55e6a0]
mov edx, ebx
xor r11d, dword [rsi + rcx*4 + 0x55dea0]
xor r11d, dword [rsi + rax*4 + 0x55e2a0]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
shr rdx, 0x18
xor r8d, dword [rsi + rcx*4 + 0x55eaa0]
movzx ecx, al
movzx eax, r10b
xor r8d, dword [rsi + rcx*4 + 0x55dea0]
xor r8d, dword [rsi + rax*4 + 0x55e2a0]
mov eax, ebx
mov esi, dword [rsi + rdx*4 + 0x55e6a0]
xor r8d, ebp
shr eax, 0x10
lea rdx, [0x140000000]
movzx ecx, al
xor ebp, r11d
mov eax, ebx
xor r11d, r8d
shr eax, 8
mov r9d, r11d
shr r9d, 8
and r11d, 0xffff00ff
xor esi, dword [rdx + rcx*4 + 0x55eaa0]
and r9d, 0xff00ff
movzx ecx, al
movzx eax, bl
shl r11d, 8
xor r9d, r11d
xor esi, dword [rdx + rcx*4 + 0x55dea0]
xor esi, dword [rdx + rax*4 + 0x55e2a0]
xor esi, r8d
xor ebp, esi
mov ebx, ebp
xor ebx, r8d
bswap ebx
mov eax, dword [rsp + 0x10]
lea r8, [0x140000000]
xor ebx, ebp
ror esi, 0x10
xor ebp, r9d
xor esi, ebx
xor r9d, ebx
xor ebp, esi
xor r9d, dword [rsp + 0x18]
xor eax, ebp
xor ebp, dword [rsp + 0x14]
xor ebx, eax
xor esi, dword [rsp + 0xc]
mov dword [rsp + 4], r9d
xor r9d, dword [rdi + 0x2c]
mov dword [rsp], ebp
xor ebp, dword [rdi + 0x28]
mov eax, ebp
mov edx, ebp
shr eax, 0x10
movzx ecx, al
mov eax, ebp
shr eax, 8
shr rdx, 0x18
mov dword [rsp + 0x70], esi
xor esi, dword [rdi + 0x20]
mov dword [rsp + 0x88], ebx
xor ebx, dword [rdi + 0x24]
mov edi, dword [r8 + rdx*4 + 0x55dea0]
xor edi, dword [r8 + rcx*4 + 0x55e2a0]
movzx ecx, al
mov edx, r9d
shr rdx, 0x18
movzx eax, bpl
xor edi, dword [r8 + rcx*4 + 0x55e6a0]
mov r11d, dword [r8 + rdx*4 + 0x55dea0]
xor edi, dword [r8 + rax*4 + 0x55eaa0]
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov edx, ebx
shr rdx, 0x18
xor r11d, dword [r8 + rcx*4 + 0x55e2a0]
movzx ecx, al
movzx eax, r9b
mov r10d, dword [r8 + rdx*4 + 0x55dea0]
mov edx, esi
xor r11d, dword [r8 + rcx*4 + 0x55e6a0]
xor r11d, dword [r8 + rax*4 + 0x55eaa0]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
shr rdx, 0x18
xor r10d, dword [r8 + rcx*4 + 0x55e2a0]
movzx ecx, al
mov r9d, dword [r8 + rdx*4 + 0x55dea0]
movzx eax, bl
xor r10d, dword [r8 + rcx*4 + 0x55e6a0]
xor r10d, dword [r8 + rax*4 + 0x55eaa0]
mov eax, esi
shr eax, 0x10
xor r10d, edi
movzx ecx, al
mov eax, esi
shr eax, 8
xor r9d, dword [r8 + rcx*4 + 0x55e2a0]
movzx ecx, al
movzx eax, sil
xor r9d, dword [r8 + rcx*4 + 0x55e6a0]
xor r9d, dword [r8 + rax*4 + 0x55eaa0]
mov r8d, r11d
xor r9d, r10d
xor r11d, edi
xor r11d, r9d
xor r8d, r10d
xor r10d, r11d
mov ecx, r11d
shr ecx, 0x10
mov edx, r10d
and edx, 0xffff00ff
shr r10d, 8
shl edx, 8
and r10d, 0xff00ff
xor edx, r10d
shl r11d, 0x10
or ecx, r11d
mov r10d, dword [rsp + 0x14]
xor edx, ecx
mov r11d, dword [rsp + 0x18]
xor r9d, edx
mov edi, r12d
bswap r8d
mov eax, r8d
mov ebx, r14d
xor eax, ecx
mov esi, r15d
xor eax, r9d
xor esi, r8d
mov r8d, dword [rsp + 0xc]
xor edi, eax
xor ebx, eax
xor edi, edx
xor esi, edx
mov dword [rsp + 8], ebx
mov rdx, qword [rsp + 0x80]
mov eax, r13d
shr eax, 0x13
mov ecx, r15d
shl ecx, 0xd
mov ebp, r13d
xor ecx, eax
xor ebp, r9d
mov r9d, dword [rsp + 0x10]
xor ecx, r8d
mov dword [rdx], ecx
mov eax, r13d
shl eax, 0xd
mov ecx, r12d
shr ecx, 0x13
xor ecx, eax
mov eax, r14d
xor ecx, r9d
shr eax, 0x13
mov dword [rdx + 4], ecx
mov ecx, r12d
shl ecx, 0xd
xor ecx, eax
mov eax, r15d
xor ecx, r10d
shr eax, 0x13
mov dword [rdx + 8], ecx
mov ecx, r14d
shl ecx, 0xd
xor ecx, eax
mov eax, dword [rsp + 4]
xor ecx, r11d
shl eax, 0xd
mov dword [rdx + 0xc], ecx
mov ecx, dword [rsp + 0x70]
shr ecx, 0x13
xor ecx, eax
mov eax, dword [rsp + 0x88]
xor ecx, r13d
shr eax, 0x13
mov dword [rdx + 0x10], ecx
mov ecx, dword [rsp + 0x70]
shl ecx, 0xd
xor ecx, eax
mov eax, dword [rsp]
xor ecx, r12d
shr eax, 0x13
mov dword [rdx + 0x14], ecx
mov ecx, dword [rsp + 0x88]
shl ecx, 0xd
xor ecx, eax
xor ecx, r14d
mov dword [rdx + 0x18], ecx
mov ecx, dword [rsp]
shl ecx, 0xd
mov eax, dword [rsp + 4]
shr eax, 0x13
xor ecx, eax
mov eax, esi
xor ecx, r15d
shl eax, 0xd
mov dword [rdx + 0x1c], ecx
mov ecx, ebp
shr ecx, 0x13
xor ecx, eax
mov eax, edi
xor ecx, dword [rsp + 0x70]
mov dword [rdx + 0x20], ecx
mov ecx, ebp
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, ebx
xor ecx, dword [rsp + 0x88]
mov dword [rdx + 0x24], ecx
mov ecx, edi
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, esi
xor ecx, dword [rsp]
mov dword [rdx + 0x28], ecx
mov ecx, ebx
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, r8d
xor ecx, dword [rsp + 4]
mov dword [rdx + 0x2c], ecx
mov ecx, r11d
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, r8d
xor ecx, ebp
shl eax, 0xd
mov dword [rdx + 0x30], ecx
mov ecx, r9d
shr ecx, 0x13
xor ecx, eax
mov eax, r9d
xor ecx, edi
shl eax, 0xd
mov dword [rdx + 0x34], ecx
mov ecx, r10d
shr ecx, 0x13
xor ecx, eax
mov eax, r10d
xor ecx, ebx
shl eax, 0xd
mov dword [rdx + 0x38], ecx
mov ecx, r11d
shr ecx, 0x13
xor ecx, eax
lea eax, [r15 + r15]
xor ecx, esi
mov dword [rdx + 0x3c], ecx
mov ecx, r13d
shr ecx, 0x1f
xor ecx, eax
lea eax, [r13*2]
xor ecx, r8d
mov dword [rdx + 0x40], ecx
mov ecx, r12d
shr ecx, 0x1f
xor ecx, eax
lea eax, [r12 + r12]
xor ecx, r9d
mov dword [rdx + 0x44], ecx
mov ecx, r14d
shr ecx, 0x1f
xor ecx, eax
xor ecx, r10d
mov dword [rdx + 0x48], ecx
mov ecx, r15d
shr ecx, 0x1f
lea eax, [r14 + r14]
xor ecx, eax
mov eax, dword [rsp + 4]
xor ecx, r11d
add eax, eax
mov dword [rdx + 0x4c], ecx
mov ecx, dword [rsp + 0x70]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rsp + 0x70]
xor ecx, r13d
add eax, eax
mov dword [rdx + 0x50], ecx
mov ecx, dword [rsp + 0x88]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rsp + 0x88]
xor ecx, r12d
add eax, eax
mov dword [rdx + 0x54], ecx
mov ecx, dword [rsp]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rsp]
xor ecx, r14d
add eax, eax
mov dword [rdx + 0x58], ecx
mov ecx, dword [rsp + 4]
shr ecx, 0x1f
xor ecx, eax
lea eax, [rsi + rsi]
xor ecx, r15d
mov dword [rdx + 0x5c], ecx
mov ecx, ebp
shr ecx, 0x1f
xor ecx, eax
lea eax, [rbp*2]
xor ecx, dword [rsp + 0x70]
mov dword [rdx + 0x60], ecx
mov ecx, edi
shr ecx, 0x1f
xor ecx, eax
lea eax, [rdi + rdi]
xor ecx, dword [rsp + 0x88]
mov dword [rdx + 0x64], ecx
mov ecx, ebx
shr ecx, 0x1f
xor ecx, eax
lea eax, [rbx + rbx]
xor ecx, dword [rsp]
mov dword [rdx + 0x68], ecx
mov ecx, esi
shr ecx, 0x1f
xor ecx, eax
mov eax, r8d
xor ecx, dword [rsp + 4]
mov dword [rdx + 0x6c], ecx
lea ecx, [r11 + r11]
shr eax, 0x1f
xor ecx, eax
lea eax, [r8 + r8]
xor ecx, ebp
mov dword [rdx + 0x70], ecx
mov ecx, r9d
shr ecx, 0x1f
xor ecx, eax
lea eax, [r9 + r9]
xor ecx, edi
mov dword [rdx + 0x74], ecx
mov ecx, r10d
shr ecx, 0x1f
xor ecx, eax
lea eax, [r10 + r10]
xor ecx, ebx
mov dword [rdx + 0x78], ecx
mov ecx, r11d
shr ecx, 0x1f
xor ecx, eax
xor ecx, esi
mov dword [rdx + 0x7c], ecx
mov ecx, r12d
mov eax, r14d
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, r15d
xor ecx, r8d
shr eax, 3
mov dword [rdx + 0x80], ecx
mov ecx, r14d
shl ecx, 0x1d
xor ecx, eax
mov eax, r13d
xor ecx, r9d
shr eax, 3
mov dword [rdx + 0x84], ecx
mov ecx, r15d
shl ecx, 0x1d
xor ecx, eax
mov eax, r13d
xor ecx, r10d
shl eax, 0x1d
mov dword [rdx + 0x88], ecx
mov ecx, r12d
shr ecx, 3
xor ecx, eax
mov eax, dword [rsp]
xor ecx, r11d
shr eax, 3
mov dword [rdx + 0x8c], ecx
mov ecx, dword [rsp + 0x88]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [rsp + 4]
xor ecx, r13d
shr eax, 3
mov dword [rdx + 0x90], ecx
mov ecx, dword [rsp]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [rsp + 4]
xor ecx, r12d
shl eax, 0x1d
mov dword [rdx + 0x94], ecx
mov ecx, dword [rsp + 0x70]
shr ecx, 3
xor ecx, eax
mov eax, dword [rsp + 0x88]
xor ecx, r14d
shr eax, 3
mov dword [rdx + 0x98], ecx
mov ecx, dword [rsp + 0x70]
shl ecx, 0x1d
xor ecx, eax
mov eax, ebx
xor ecx, r15d
shr eax, 3
mov dword [rdx + 0x9c], ecx
mov ecx, edi
shl ecx, 0x1d
xor ecx, eax
mov eax, esi
xor ecx, dword [rsp + 0x70]
mov dword [rdx + 0xa0], ecx
mov ecx, ebx
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, esi
xor ecx, dword [rsp + 0x88]
mov dword [rdx + 0xa4], ecx
mov ecx, ebp
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, edi
xor ecx, dword [rsp]
mov dword [rdx + 0xa8], ecx
mov ecx, ebp
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, r9d
xor ecx, dword [rsp + 4]
mov dword [rdx + 0xac], ecx
mov ecx, r10d
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, r10d
xor ecx, ebp
shl eax, 0x1d
mov dword [rdx + 0xb0], ecx
mov ecx, r11d
shr ecx, 3
xor ecx, eax
mov eax, r8d
xor ecx, edi
shr eax, 3
mov dword [rdx + 0xb4], ecx
mov ecx, r11d
shl ecx, 0x1d
xor ecx, eax
mov eax, r8d
xor ecx, ebx
shl eax, 0x1d
mov ebx, dword [rsp + 0x78]
mov dword [rdx + 0xb8], ecx
mov ecx, r9d
shr ecx, 3
xor ecx, eax
mov eax, r13d
xor ecx, esi
shl eax, 0x1f
mov dword [rdx + 0xbc], ecx
add rdx, 0xc0
mov ecx, r12d
shr ecx, 1
xor ecx, eax
mov eax, r14d
xor ecx, r8d
shr eax, 1
mov dword [rdx], ecx
mov ecx, r12d
shl ecx, 0x1f
xor ecx, eax
mov eax, r15d
xor ecx, r9d
shr eax, 1
mov dword [rdx + 4], ecx
mov ecx, r14d
shl ecx, 0x1f
xor ecx, eax
mov eax, r13d
xor ecx, r10d
shr eax, 1
mov dword [rdx + 8], ecx
mov ecx, r15d
shl ecx, 0x1f
xor ecx, eax
xor ecx, r11d
mov dword [rdx + 0xc], ecx
cmp ebx, 0x80
jle 0x140311efb
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x88]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [rsp]
xor ecx, r13d
shr eax, 1
mov dword [rdx + 0x10], ecx
mov ecx, dword [rsp + 0x88]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [rsp + 4]
xor ecx, r12d
shr eax, 1
mov dword [rdx + 0x14], ecx
mov ecx, dword [rsp]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [rsp + 4]
xor ecx, r14d
shl eax, 0x1f
mov dword [rdx + 0x18], ecx
mov ecx, dword [rsp + 0x70]
shr ecx, 1
xor ecx, eax
mov eax, edi
xor ecx, r15d
shr eax, 1
mov dword [rdx + 0x1c], ecx
add rdx, 0x20
mov ecx, ebp
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [rsp + 8]
xor ecx, dword [rsp + 0x70]
mov dword [rdx], ecx
mov ecx, edi
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, esi
xor ecx, dword [rsp + 0x88]
mov dword [rdx + 4], ecx
mov ecx, dword [rsp + 8]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, esi
xor ecx, dword [rsp]
mov dword [rdx + 8], ecx
mov ecx, ebp
shr ecx, 1
shl eax, 0x1f
xor ecx, eax
xor ecx, dword [rsp + 4]
mov dword [rdx + 0xc], ecx
cmp ebx, 0xc0
mov rbx, qword [rsp + 0x50]
jle 0x140311fa4
mov ecx, r9d
mov eax, r8d
shr ecx, 1
shl eax, 0x1f
xor ecx, eax
mov eax, r10d
xor ecx, ebp
shr eax, 1
mov dword [rdx + 0x10], ecx
mov ecx, r9d
shl ecx, 0x1f
xor ecx, eax
mov eax, r10d
xor ecx, edi
shl eax, 0x1f
mov dword [rdx + 0x14], ecx
mov ecx, r11d
shr ecx, 1
xor ecx, eax
mov eax, r8d
xor ecx, dword [rsp + 8]
mov dword [rdx + 0x18], ecx
mov ecx, r11d
shr eax, 1
shl ecx, 0x1f
xor ecx, eax
mov eax, r13d
xor ecx, esi
shl eax, 0x13
mov dword [rdx + 0x1c], ecx
mov ecx, r12d
shr ecx, 0xd
xor ecx, eax
shl r12d, 0x13
mov eax, r14d
shr r13d, 0xd
shr eax, 0xd
xor ecx, r8d
xor r12d, eax
shl r14d, 0x13
mov eax, r15d
mov dword [rdx + 0x20], ecx
shr eax, 0xd
xor r12d, r9d
xor r14d, eax
shl r15d, 0x13
xor r14d, r10d
mov dword [rdx + 0x24], r12d
xor r15d, r13d
mov dword [rdx + 0x28], r14d
xor r15d, r11d
mov dword [rdx + 0x2c], r15d
mov r15, qword [rsp + 0x28]
xor eax, eax
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x58
pop rsi
pop rbp
ret
mov eax, 0xfffffffe
add rsp, 0x58
pop rsi
pop rbp
ret
mov eax, 0xffffffff
add rsp, 0x58
pop rsi
pop rbp
ret