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

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
push rbp
push rdi
mov eax, 0x58
call fcn.1800b9c10
sub rsp, rax
lea eax, [rdx + 0x100]
mov ebp, edx
mov rdi, rcx
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
test rcx, rcx
je 0x1801d41dc
test r8, r8
je 0x1801d41dc
cmp ebp, 0x80
je 0x1801d35c2
cmp ebp, 0xc0
je 0x1801d35c2
cmp ebp, 0x100
je 0x1801d35c2
mov eax, 0xfffffffe
add rsp, 0x58
pop rdi
pop rbp
ret
mov dword [r8 + 0x110], eax
movzx r11d, byte [rdi + 0xc]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r12
shl r11d, 8
lea eax, [rbp - 0x80]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r14
cdq
mov qword [rsp + 0x28], r15
movzx r15d, byte [rcx]
and edx, 0x3f
shl r15d, 8
lea r12, [0x180000000]
add eax, edx
movzx edx, byte [rdi + 8]
sar eax, 6
shl edx, 8
movsxd r9, eax
lea rax, [0x1802a2b80]
shl r9, 4
add r9, rax
movzx eax, byte [rcx + 1]
mov r8d, dword [r9 + 8]
mov r10d, dword [r9 + 4]
mov ebx, dword [r9]
xor r15d, eax
movzx eax, byte [rcx + 2]
mov qword [rsp + 8], r9
mov r9d, dword [r9 + 0xc]
shl r15d, 8
xor r15d, eax
movzx eax, byte [rcx + 3]
movzx ecx, byte [rcx + 4]
shl ecx, 8
shl r15d, 8
xor r15d, eax
movzx eax, byte [rdi + 5]
xor ecx, eax
movzx eax, byte [rdi + 6]
xor ebx, r15d
shl ecx, 8
xor ecx, eax
movzx eax, byte [rdi + 7]
shl ecx, 8
xor ecx, eax
movzx eax, byte [rdi + 9]
xor edx, eax
movzx eax, byte [rdi + 0xa]
xor r10d, ecx
shl edx, 8
mov dword [rsp + 0x70], ecx
xor edx, eax
movzx eax, byte [rdi + 0xb]
shl edx, 8
xor edx, eax
movzx eax, byte [rdi + 0xd]
xor r11d, eax
movzx eax, byte [rdi + 0xe]
xor r8d, edx
shl r11d, 8
mov dword [rsp + 0x10], edx
xor r11d, eax
movzx eax, byte [rdi + 0xf]
shl r11d, 8
xor r11d, eax
mov eax, r8d
shr eax, 0x18
xor r9d, r11d
mov dword [rsp + 0x14], r11d
movzx edx, al
mov eax, r8d
mov esi, dword [r12 + rdx*4 + 0x2a2bd0]
shr eax, 0x10
movzx ecx, al
mov eax, r8d
xor esi, dword [r12 + rcx*4 + 0x2a2fd0]
shr eax, 8
movzx ecx, al
xor esi, dword [r12 + rcx*4 + 0x2a33d0]
movzx eax, r8b
xor esi, dword [r12 + rax*4 + 0x2a37d0]
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
mov r11d, dword [r12 + rdx*4 + 0x2a2bd0]
shr eax, 0x10
movzx ecx, al
mov eax, r9d
xor r11d, dword [r12 + rcx*4 + 0x2a2fd0]
shr eax, 8
movzx ecx, al
movzx eax, r9b
xor r11d, dword [r12 + rcx*4 + 0x2a33d0]
xor r11d, dword [r12 + rax*4 + 0x2a37d0]
mov eax, r10d
shr eax, 0x18
movzx edx, al
mov eax, r10d
mov r8d, dword [r12 + rdx*4 + 0x2a2bd0]
shr eax, 0x10
movzx ecx, al
mov eax, r10d
xor r8d, dword [r12 + rcx*4 + 0x2a2fd0]
shr eax, 8
movzx ecx, al
movzx eax, r10b
xor r8d, dword [r12 + rcx*4 + 0x2a33d0]
xor r8d, dword [r12 + rax*4 + 0x2a37d0]
mov eax, ebx
shr eax, 0x18
xor r8d, esi
xor esi, r11d
movzx edx, al
xor r11d, r8d
mov eax, ebx
mov r9d, dword [r12 + rdx*4 + 0x2a2bd0]
shr eax, 0x10
mov edx, r11d
movzx ecx, al
and edx, 0xff0000
mov eax, ebx
xor r9d, dword [r12 + rcx*4 + 0x2a2fd0]
shr eax, 8
movzx ecx, al
movzx eax, bl
xor r9d, dword [r12 + rcx*4 + 0x2a33d0]
xor r9d, dword [r12 + rax*4 + 0x2a37d0]
mov eax, r11d
shr eax, 0x10
xor r9d, r8d
xor edx, eax
xor esi, r9d
mov eax, r11d
xor r8d, esi
shl eax, 0x10
rol esi, 0x10
shr edx, 8
and r11d, 0xff00
mov ecx, r8d
shr ecx, 8
xor eax, r11d
shl eax, 8
xor edx, eax
mov eax, r8d
shl r8d, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, r8d
xor ecx, esi
xor esi, edx
xor r9d, ecx
xor edx, ecx
xor esi, r9d
xor ecx, esi
cmp ebp, 0x80
jle 0x1801d38cb
movzx eax, byte [rdi + 0x11]
movzx r13d, byte [rdi + 0x10]
movzx r14d, byte [rdi + 0x14]
shl r13d, 8
shl r14d, 8
xor r13d, eax
movzx eax, byte [rdi + 0x12]
shl r13d, 8
xor r13d, eax
movzx eax, byte [rdi + 0x13]
shl r13d, 8
xor r13d, eax
movzx eax, byte [rdi + 0x15]
xor r14d, eax
movzx eax, byte [rdi + 0x16]
shl r14d, 8
xor r14d, eax
movzx eax, byte [rdi + 0x17]
shl r14d, 8
xor r14d, eax
cmp ebp, 0xc0
jle 0x1801d38c7
movzx eax, byte [rdi + 0x19]
movzx ebp, byte [rdi + 0x18]
movzx r12d, byte [rdi + 0x1c]
shl ebp, 8
shl r12d, 8
xor ebp, eax
movzx eax, byte [rdi + 0x1a]
shl ebp, 8
xor ebp, eax
movzx eax, byte [rdi + 0x1b]
shl ebp, 8
xor ebp, eax
movzx eax, byte [rdi + 0x1d]
xor r12d, eax
movzx eax, byte [rdi + 0x1e]
shl r12d, 8
xor r12d, eax
movzx eax, byte [rdi + 0x1f]
shl r12d, 8
xor r12d, eax
jmp 0x1801d38d6
xor ebp, ebp
jmp 0x1801d38d3
xor ebp, ebp
mov r14d, ebp
mov r13d, ebp
mov r12d, ebp
mov rax, qword [rsp + 8]
xor r14d, ecx
xor ebp, esi
mov r10d, dword [rax + 0x14]
mov r8d, dword [rax + 0x18]
mov ebx, dword [rax + 0x10]
lea rsi, [0x180000000]
xor r8d, ebp
xor r13d, r9d
mov r9d, dword [rax + 0x1c]
mov eax, r8d
xor r12d, edx
shr eax, 0x18
xor r9d, r12d
xor r10d, r14d
movzx edx, al
mov eax, r8d
xor ebx, r13d
mov edi, dword [rsi + rdx*4 + 0x2a33d0]
shr eax, 0x10
movzx ecx, al
mov eax, r8d
xor edi, dword [rsi + rcx*4 + 0x2a37d0]
shr eax, 8
movzx ecx, al
movzx eax, r8b
xor edi, dword [rsi + rcx*4 + 0x2a2bd0]
xor edi, dword [rsi + rax*4 + 0x2a2fd0]
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
mov r11d, dword [rsi + rdx*4 + 0x2a33d0]
shr eax, 0x10
movzx ecx, al
mov eax, r9d
xor r11d, dword [rsi + rcx*4 + 0x2a37d0]
shr eax, 8
movzx ecx, al
movzx eax, r9b
xor r11d, dword [rsi + rcx*4 + 0x2a2bd0]
xor r11d, dword [rsi + rax*4 + 0x2a2fd0]
mov eax, r10d
shr eax, 0x18
movzx edx, al
mov eax, r10d
mov r8d, dword [rsi + rdx*4 + 0x2a33d0]
shr eax, 0x10
movzx ecx, al
mov eax, r10d
xor r8d, dword [rsi + rcx*4 + 0x2a37d0]
shr eax, 8
movzx ecx, al
movzx eax, r10b
lea r10, [0x180000000]
xor r8d, dword [rsi + rcx*4 + 0x2a2bd0]
xor r8d, dword [rsi + rax*4 + 0x2a2fd0]
mov eax, ebx
shr eax, 0x18
xor r8d, edi
xor edi, r11d
movzx edx, al
xor r11d, r8d
mov eax, ebx
mov esi, dword [rsi + rdx*4 + 0x2a33d0]
shr eax, 0x10
mov r9d, r11d
movzx ecx, al
mov eax, ebx
shr r9d, 8
xor esi, dword [r10 + rcx*4 + 0x2a37d0]
shr eax, 8
movzx ecx, al
movzx eax, bl
xor esi, dword [r10 + rcx*4 + 0x2a2bd0]
xor esi, dword [r10 + rax*4 + 0x2a2fd0]
mov eax, r11d
xor esi, r8d
xor edi, esi
xor r8d, edi
shl eax, 8
xor r9d, eax
mov ebx, dword [rsp + 0x70]
mov ecx, r8d
and ecx, 0xff0000
and r9d, 0xff00ff
mov eax, r8d
shr eax, 0x10
shl r11d, 8
xor ecx, eax
xor r9d, r11d
mov eax, r8d
and eax, 0xff00
shr ecx, 8
shl r8d, 0x10
xor eax, r8d
shl eax, 8
xor ecx, eax
mov rax, qword [rsp + 8]
xor ecx, edi
xor edi, r9d
rol esi, 0x10
xor r9d, ecx
xor esi, ecx
xor r9d, dword [rsp + 0x14]
xor edi, esi
xor esi, r15d
mov dword [rsp + 4], r9d
xor r9d, dword [rax + 0x2c]
mov r8d, edi
xor edi, dword [rsp + 0x10]
xor r8d, ecx
mov dword [rsp + 0x70], esi
xor esi, dword [rax + 0x20]
xor r8d, ebx
mov dword [rsp], edi
xor edi, dword [rax + 0x28]
mov dword [rsp + 0x88], r8d
xor r8d, dword [rax + 0x24]
mov eax, edi
shr eax, 0x18
movzx edx, al
mov eax, edi
mov r11d, dword [r10 + rdx*4 + 0x2a2bd0]
shr eax, 0x10
movzx ecx, al
mov eax, edi
xor r11d, dword [r10 + rcx*4 + 0x2a2fd0]
shr eax, 8
movzx ecx, al
movzx eax, dil
lea rdi, [0x180000000]
xor r11d, dword [r10 + rcx*4 + 0x2a33d0]
xor r11d, dword [rdi + rax*4 + 0x2a37d0]
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
mov r10d, dword [rdi + rdx*4 + 0x2a2bd0]
shr eax, 0x10
movzx ecx, al
mov eax, r9d
xor r10d, dword [rdi + rcx*4 + 0x2a2fd0]
shr eax, 8
movzx ecx, al
movzx eax, r9b
xor r10d, dword [rdi + rcx*4 + 0x2a33d0]
xor r10d, dword [rdi + rax*4 + 0x2a37d0]
mov eax, r8d
shr eax, 0x18
movzx edx, al
mov eax, r8d
mov r9d, dword [rdi + rdx*4 + 0x2a2bd0]
shr eax, 0x10
movzx ecx, al
mov eax, r8d
xor r9d, dword [rdi + rcx*4 + 0x2a2fd0]
shr eax, 8
movzx ecx, al
movzx eax, r8b
xor r9d, dword [rdi + rcx*4 + 0x2a33d0]
xor r9d, dword [rdi + rax*4 + 0x2a37d0]
xor r9d, r11d
xor r11d, r10d
mov eax, esi
shr eax, 0x18
xor r10d, r9d
movzx edx, al
mov eax, esi
mov r8d, dword [rdi + rdx*4 + 0x2a2bd0]
shr eax, 0x10
mov edx, r10d
movzx ecx, al
and edx, 0xff0000
mov eax, esi
xor r8d, dword [rdi + rcx*4 + 0x2a2fd0]
shr eax, 8
movzx ecx, al
movzx eax, sil
mov esi, r13d
xor r8d, dword [rdi + rcx*4 + 0x2a33d0]
xor r8d, dword [rdi + rax*4 + 0x2a37d0]
mov eax, r10d
mov edi, r14d
shr eax, 0x10
xor r8d, r9d
xor edx, eax
xor r11d, r8d
mov eax, r10d
shl eax, 0x10
xor r9d, r11d
rol r11d, 0x10
and r10d, 0xff00
shr edx, 8
mov ecx, r9d
shr ecx, 8
xor eax, r10d
mov r10d, ebp
shl eax, 8
xor edx, eax
mov eax, r9d
shl r9d, 8
shl eax, 8
xor ecx, eax
mov eax, r13d
and ecx, 0xff00ff
shr eax, 0x13
xor ecx, r9d
xor ecx, r11d
xor r11d, edx
xor r8d, ecx
xor r11d, r8d
xor esi, r8d
mov r8d, dword [rsp + 0x10]
xor edi, r11d
xor r10d, r11d
mov r11d, r12d
xor edi, ecx
xor r11d, edx
mov rdx, qword [rsp + 0x80]
xor r11d, ecx
mov ecx, r12d
mov dword [rsp + 8], r10d
shl ecx, 0xd
xor ecx, eax
mov eax, r13d
xor ecx, r15d
shl eax, 0xd
mov dword [rdx], ecx
mov ecx, r14d
shr ecx, 0x13
xor ecx, eax
mov eax, r14d
xor ecx, ebx
shl eax, 0xd
mov dword [rdx + 4], ecx
mov ecx, ebp
shr ecx, 0x13
xor ecx, eax
xor ecx, r8d
mov dword [rdx + 8], ecx
mov ecx, r12d
shr ecx, 0x13
mov r9d, dword [rsp + 0x14]
mov eax, ebp
shl eax, 0xd
xor ecx, eax
mov eax, dword [rsp + 0x70]
xor ecx, r9d
shr eax, 0x13
mov dword [rdx + 0xc], ecx
mov ecx, dword [rsp + 4]
shl ecx, 0xd
xor ecx, eax
mov eax, dword [rsp + 0x70]
xor ecx, r13d
shl eax, 0xd
mov dword [rdx + 0x10], ecx
mov ecx, dword [rsp + 0x88]
shr ecx, 0x13
xor ecx, eax
mov eax, dword [rsp + 0x88]
xor ecx, r14d
shl eax, 0xd
mov dword [rdx + 0x14], ecx
mov ecx, dword [rsp]
shr ecx, 0x13
xor ecx, eax
mov eax, dword [rsp]
xor ecx, ebp
shl eax, 0xd
mov dword [rdx + 0x18], ecx
mov ecx, dword [rsp + 4]
shr ecx, 0x13
xor ecx, eax
mov eax, esi
xor ecx, r12d
shr eax, 0x13
mov dword [rdx + 0x1c], ecx
mov ecx, r11d
shl ecx, 0xd
xor ecx, eax
mov eax, esi
xor ecx, dword [rsp + 0x70]
shl eax, 0xd
mov dword [rdx + 0x20], ecx
mov ecx, edi
shr ecx, 0x13
xor ecx, eax
mov eax, edi
xor ecx, dword [rsp + 0x88]
shl eax, 0xd
mov dword [rdx + 0x24], ecx
mov ecx, r10d
shr ecx, 0x13
xor ecx, eax
mov eax, r10d
xor ecx, dword [rsp]
shl eax, 0xd
mov dword [rdx + 0x28], ecx
mov ecx, r11d
shr ecx, 0x13
xor ecx, eax
mov eax, r15d
xor ecx, dword [rsp + 4]
shr eax, 0x13
mov dword [rdx + 0x2c], ecx
mov ecx, r9d
shl ecx, 0xd
xor ecx, eax
mov eax, r15d
xor ecx, esi
shl eax, 0xd
mov dword [rdx + 0x30], ecx
mov ecx, ebx
shr ecx, 0x13
xor ecx, eax
mov eax, ebx
xor ecx, edi
shl eax, 0xd
mov dword [rdx + 0x34], ecx
mov ecx, r8d
shr ecx, 0x13
xor ecx, eax
xor ecx, r10d
mov eax, r8d
mov dword [rdx + 0x38], ecx
shl eax, 0xd
mov ecx, r9d
shr ecx, 0x13
xor ecx, eax
mov eax, r13d
xor ecx, r11d
shr eax, 0x1f
mov dword [rdx + 0x3c], ecx
lea ecx, [r12 + r12]
xor ecx, eax
lea eax, [r13 + r13]
xor ecx, r15d
mov dword [rdx + 0x40], ecx
mov ecx, r14d
shr ecx, 0x1f
xor ecx, eax
lea eax, [r14 + r14]
xor ecx, ebx
mov dword [rdx + 0x44], ecx
mov ecx, ebp
shr ecx, 0x1f
xor ecx, eax
lea eax, [rbp + rbp]
xor ecx, r8d
mov dword [rdx + 0x48], ecx
mov ecx, r12d
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rsp + 4]
xor ecx, r9d
mov dword [rdx + 0x4c], ecx
lea ecx, [rax + rax]
mov eax, dword [rsp + 0x70]
shr eax, 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, r14d
add eax, eax
mov dword [rdx + 0x54], ecx
mov ecx, dword [rsp]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rsp]
xor ecx, ebp
add eax, eax
mov dword [rdx + 0x58], ecx
mov ecx, dword [rsp + 4]
shr ecx, 0x1f
xor ecx, eax
mov eax, esi
xor ecx, r12d
shr eax, 0x1f
mov dword [rdx + 0x5c], ecx
lea ecx, [r11 + r11]
xor ecx, eax
lea eax, [rsi + rsi]
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, r10d
shr ecx, 0x1f
xor ecx, eax
xor ecx, dword [rsp]
mov dword [rdx + 0x68], ecx
mov ecx, r11d
shr ecx, 0x1f
lea eax, [r10 + r10]
xor ecx, eax
mov eax, r15d
xor ecx, dword [rsp + 4]
shr eax, 0x1f
mov dword [rdx + 0x6c], ecx
lea ecx, [r9 + r9]
xor ecx, eax
lea eax, [r15 + r15]
xor ecx, esi
mov dword [rdx + 0x70], ecx
mov ecx, ebx
shr ecx, 0x1f
xor ecx, eax
lea eax, [rbx + rbx]
xor ecx, edi
mov dword [rdx + 0x74], ecx
mov ecx, r8d
shr ecx, 0x1f
xor ecx, eax
lea eax, [r8 + r8]
xor ecx, r10d
mov dword [rdx + 0x78], ecx
mov ecx, r9d
shr ecx, 0x1f
xor ecx, eax
mov eax, ebp
xor ecx, r11d
shr eax, 3
mov dword [rdx + 0x7c], ecx
mov ecx, r14d
shl ecx, 0x1d
xor ecx, eax
mov eax, r12d
xor ecx, r15d
shr eax, 3
mov dword [rdx + 0x80], ecx
mov ecx, ebp
shl ecx, 0x1d
xor ecx, eax
mov eax, r13d
xor ecx, ebx
shr eax, 3
mov dword [rdx + 0x84], ecx
mov ecx, r12d
shl ecx, 0x1d
xor ecx, eax
mov eax, r14d
xor ecx, r8d
shr eax, 3
mov dword [rdx + 0x88], ecx
mov ecx, r13d
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [rsp]
xor ecx, r9d
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 + 0x70]
xor ecx, r14d
shr eax, 3
mov dword [rdx + 0x94], ecx
mov ecx, dword [rsp + 4]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [rsp + 0x88]
xor ecx, ebp
mov dword [rdx + 0x98], ecx
mov ecx, dword [rsp + 0x70]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, r10d
add rdx, 0xc0
xor ecx, r12d
shr eax, 3
mov dword [rdx - 0x24], ecx
mov ecx, edi
shl ecx, 0x1d
xor ecx, eax
mov eax, r11d
xor ecx, dword [rsp + 0x70]
shr eax, 3
mov dword [rdx - 0x20], ecx
mov ecx, r10d
shl ecx, 0x1d
xor ecx, eax
mov eax, esi
xor ecx, dword [rsp + 0x88]
shr eax, 3
mov dword [rdx - 0x1c], ecx
mov ecx, r11d
shl ecx, 0x1d
xor ecx, eax
mov eax, edi
xor ecx, dword [rsp]
shr eax, 3
mov dword [rdx - 0x18], ecx
mov ecx, esi
shl ecx, 0x1d
xor ecx, eax
mov eax, r8d
xor ecx, dword [rsp + 4]
shr eax, 3
mov dword [rdx - 0x14], ecx
mov ecx, ebx
shl ecx, 0x1d
xor ecx, eax
mov eax, r9d
xor ecx, esi
shr eax, 3
mov dword [rdx - 0x10], ecx
mov ecx, r8d
shl ecx, 0x1d
xor ecx, eax
mov eax, r15d
xor ecx, edi
shr eax, 3
mov dword [rdx - 0xc], ecx
mov ecx, r9d
shl ecx, 0x1d
xor ecx, eax
mov eax, ebx
xor ecx, r10d
shr eax, 3
mov dword [rdx - 8], ecx
mov ecx, r15d
shl ecx, 0x1d
xor ecx, eax
mov eax, r14d
xor ecx, r11d
shr eax, 1
mov dword [rdx - 4], ecx
mov ecx, r13d
shl ecx, 0x1f
xor ecx, eax
mov eax, ebp
xor ecx, r15d
shr eax, 1
mov dword [rdx], ecx
mov ecx, r14d
shl ecx, 0x1f
xor ecx, eax
mov eax, r12d
xor ecx, ebx
shr eax, 1
mov dword [rdx + 4], ecx
mov ecx, ebp
shl ecx, 0x1f
xor ecx, eax
xor ecx, r8d
mov dword [rdx + 8], ecx
mov r10d, dword [rsp + 0x78]
mov ecx, r12d
mov eax, r13d
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
xor ecx, r9d
mov dword [rdx + 0xc], ecx
cmp r10d, 0x80
jle 0x1801d4117
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x88]
add rdx, 0x20
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, r14d
shr eax, 1
mov dword [rdx - 0xc], ecx
mov ecx, dword [rsp]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [rsp + 0x70]
xor ecx, ebp
shr eax, 1
mov dword [rdx - 8], ecx
mov ecx, dword [rsp + 4]
shl ecx, 0x1f
xor ecx, eax
mov eax, edi
xor ecx, r12d
shr eax, 1
mov dword [rdx - 4], ecx
mov ecx, esi
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [rsp + 8]
xor ecx, dword [rsp + 0x70]
shr eax, 1
mov dword [rdx], ecx
mov ecx, edi
shl ecx, 0x1f
xor ecx, eax
mov eax, r11d
xor ecx, dword [rsp + 0x88]
shr eax, 1
mov dword [rdx + 4], ecx
mov ecx, dword [rsp + 8]
shl ecx, 0x1f
xor ecx, eax
mov eax, esi
xor ecx, dword [rsp]
shr eax, 1
mov dword [rdx + 8], ecx
mov ecx, r11d
shl ecx, 0x1f
xor ecx, eax
xor ecx, dword [rsp + 4]
mov dword [rdx + 0xc], ecx
cmp r10d, 0xc0
jle 0x1801d41b5
mov ecx, r15d
mov eax, ebx
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, r8d
xor ecx, esi
shr eax, 1
mov dword [rdx + 0x10], ecx
mov ecx, ebx
shl ecx, 0x1f
xor ecx, eax
mov eax, r9d
xor ecx, edi
shr eax, 1
mov dword [rdx + 0x14], ecx
mov ecx, r8d
shl ecx, 0x1f
xor ecx, eax
mov eax, r15d
xor ecx, dword [rsp + 8]
shr eax, 1
mov dword [rdx + 0x18], ecx
mov ecx, r9d
shl ecx, 0x1f
xor ecx, eax
mov eax, r13d
shr r13d, 0xd
shl eax, 0x13
xor ecx, r11d
mov dword [rdx + 0x1c], ecx
mov ecx, r14d
shl r14d, 0x13
shr ecx, 0xd
xor ecx, eax
mov eax, ebp
shl ebp, 0x13
shr eax, 0xd
xor ecx, r15d
xor eax, r14d
mov dword [rdx + 0x20], ecx
xor eax, ebx
mov dword [rdx + 0x24], eax
mov eax, r12d
shl r12d, 0x13
shr eax, 0xd
xor r12d, r13d
xor eax, ebp
xor eax, r8d
xor r12d, r9d
mov dword [rdx + 0x2c], r12d
mov dword [rdx + 0x28], eax
mov r15, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
xor eax, eax
add rsp, 0x58
pop rdi
pop rbp
ret
or eax, 0xffffffff
add rsp, 0x58
pop rdi
pop rbp
ret