Function at 0x5ae610
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, 0x88
movzx eax, byte [rcx]
movzx r9d, byte [rcx + 0x40]
movzx ebp, byte [rcx + 0x60]
movzx r8d, byte [rcx + 0x20]
mov r11d, eax
lea edi, [rax + r9]
mov r10d, r9d
sub r11d, r9d
mov r9d, ebp
shl r10d, 4
lea esi, [r8 + rbp]
shl r9d, 6
lea ebx, [rax + r10]
lea r14d, [rdi + rsi]
sub eax, r10d
lea r9d, [r9 + r8*4]
sub edi, esi
movzx r10d, r9b
sar r9d, 8
mov dword [rsp + 0x20], edi
sub r10d, r9d
mov r9d, r8d
shl r8d, 6
sub r9d, ebp
lea ebp, [r8 + rbp*4]
lea r15d, [rbx + r10]
sub ebx, r10d
movzx r8d, bpl
sar ebp, 8
mov dword [rsp + 0x24], ebx
movzx ebx, byte [rcx + 0x70]
sub r8d, ebp
shl r9d, 4
mov dword [rsp + 0xc], r15d
mov ebp, dword [rsp + 0xc]
lea r12d, [rax + r8]
sub eax, r8d
movzx r8d, byte [rcx + 0x50]
lea r13d, [r11 + r9]
mov dword [rsp + 0x10], r13d
mov r13d, eax
movzx eax, byte [rcx + 0x10]
sub r11d, r9d
mov esi, r8d
mov dword [rsp + 0x18], r11d
movzx r11d, byte [rcx + 0x30]
shl esi, 4
lea r10d, [rax + r8]
mov edi, eax
mov dword [rsp + 0x14], r12d
lea r9d, [rax + rsi]
sub eax, esi
mov esi, ebx
sub edi, r8d
shl esi, 6
lea r15d, [r11 + rbx]
mov r8d, edi
lea esi, [rsi + r11*4]
movzx r12d, sil
sar esi, 8
sub r12d, esi
mov esi, r11d
shl r11d, 6
sub esi, ebx
lea r11d, [r11 + rbx*4]
lea ebx, [r10 + r15]
sub r10d, r15d
shl esi, 4
movzx edi, r11b
sar r11d, 8
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x1c], esi
lea esi, [r9 + r12]
sub edi, r11d
add ebx, r14d
add esi, esi
mov dword [rdx], ebx
mov r15d, dword [rsp + 0x20]
lea r11d, [rbp + rsi]
mov ebp, dword [rsp + 0x1c]
mov dword [rsp + 0x38], ebx
mov dword [rdx + 4], r11d
lea ebx, [r8 + rbp]
mov dword [rsp + 0x28], r11d
mov r11d, dword [rsp + 0x10]
shl ebx, 2
lea ebp, [r11 + rbx]
lea r11d, [rax + rdi]
mov dword [rdx + 8], ebp
shl r11d, 3
mov dword [rsp + 0x2c], ebp
mov ebp, dword [rsp + 0x14]
add ebp, r11d
shl r10d, 4
sub r9d, r12d
mov r12d, dword [rsp + 0x24]
shl r9d, 5
mov dword [rdx + 0xc], ebp
sub eax, edi
mov dword [rsp + 0x30], ebp
lea ebp, [r15 + r10]
shl eax, 7
sub r15d, r10d
mov dword [rdx + 0x10], ebp
lea edi, [r13 + rax]
sub r13d, eax
mov dword [rsp + 0x40], ebp
lea ebp, [r12 + r9]
sub r12d, r9d
mov dword [rsp + 0x44], ebp
sub r14d, dword [rsp + 0x34]
mov dword [rdx + 0x14], ebp
sub r8d, dword [rsp + 0x1c]
mov ebp, dword [rsp + 0x18]
mov dword [rdx + 0x20], r14d
shl r8d, 6
mov dword [rsp + 0x50], r14d
mov r14d, dword [rsp + 0xc]
add ebp, r8d
mov dword [rdx + 0x1c], edi
mov dword [rdx + 0x18], ebp
sub r14d, esi
mov esi, dword [rsp + 0x10]
mov dword [rsp + 0x48], ebp
mov ebp, dword [rsp + 0x18]
mov dword [rsp + 0x4c], edi
mov edi, dword [rsp + 0x14]
sub esi, ebx
sub ebp, r8d
mov dword [rdx + 0x24], r14d
sub edi, r11d
mov dword [rdx + 0x28], esi
mov dword [rdx + 0x2c], edi
mov dword [rdx + 0x30], r15d
mov dword [rdx + 0x34], r12d
mov dword [rdx + 0x3c], r13d
mov dword [rdx + 0x38], ebp
movzx r10d, byte [rcx + 0x48]
movzx eax, byte [rcx + 8]
movzx r8d, byte [rcx + 0x28]
mov dword [rsp + 0x68], ebp
mov r9d, r10d
movzx ebp, byte [rcx + 0x68]
mov dword [rsp + 0x5c], edi
shl r9d, 4
lea edi, [rax + r10]
mov dword [rsp + 0x6c], r13d
mov r13d, eax
lea ebx, [rax + r9]
sub eax, r9d
mov r9d, ebp
sub r13d, r10d
shl r9d, 6
mov dword [rsp + 0x58], esi
lea esi, [r8 + rbp]
mov r11d, r13d
lea r9d, [r9 + r8*4]
mov dword [rsp + 0x60], r15d
movzx r10d, r9b
sar r9d, 8
mov dword [rsp + 0x54], r14d
lea r14d, [rdi + rsi]
sub r10d, r9d
mov r9d, r8d
shl r8d, 6
mov dword [rsp + 0x64], r12d
sub r9d, ebp
lea ebp, [r8 + rbp*4]
lea r15d, [rbx + r10]
sub ebx, r10d
movzx r8d, bpl
sar ebp, 8
mov dword [rsp + 0xc], r15d
mov r10d, r11d
sub r8d, ebp
shl r9d, 4
mov dword [rsp + 0x18], ebx
mov r15d, edi
lea r12d, [rax + r8]
sub eax, r8d
movzx r8d, byte [rcx + 0x58]
sub r10d, r9d
mov dword [rsp + 0x20], eax
lea r13d, [r13 + r9]
movzx eax, byte [rcx + 0x18]
sub r15d, esi
mov r9d, r8d
movzx ebx, byte [rcx + 0x78]
mov dword [rsp + 0x10], r12d
shl r9d, 4
mov r12d, eax
movzx r11d, byte [rcx + 0x38]
mov dword [rsp + 0x1c], r10d
mov esi, r9d
sub r12d, r8d
lea r10d, [rax + r8]
mov dword [rsp + 0x14], r15d
lea r9d, [rax + r9]
sub eax, esi
mov esi, ebx
mov r8d, r12d
shl esi, 6
lea r15d, [r11 + rbx]
mov dword [rsp + 0x34], r13d
lea esi, [rsi + r11*4]
movzx r12d, sil
sar esi, 8
sub r12d, esi
mov esi, r11d
shl r11d, 6
sub esi, ebx
lea r11d, [r11 + rbx*4]
mov ebp, esi
movzx edi, r11b
lea esi, [r10 + r15]
sar r11d, 8
sub edi, r11d
lea r11d, [r14 + rsi]
mov dword [rsp + 0x3c], esi
lea esi, [r9 + r12]
mov dword [rsp + 0x24], r11d
mov r11d, dword [rsp + 0xc]
add esi, esi
shl ebp, 4
sub r10d, r15d
mov r15d, dword [rsp + 0x14]
sub r9d, r12d
mov r12d, dword [rsp + 0x18]
lea ebx, [r11 + rsi]
shl r10d, 4
shl r9d, 5
sub r14d, dword [rsp + 0x3c]
mov dword [rsp + 0x70], ebx
lea ebx, [r8 + rbp]
add r15d, r10d
add r12d, r9d
shl ebx, 2
sub r8d, ebp
mov ebp, dword [rsp + 0x1c]
lea r11d, [r13 + rbx]
mov r13d, dword [rsp + 0x10]
shl r8d, 6
mov dword [rsp + 0x74], r11d
lea r11d, [rax + rdi]
sub eax, edi
mov edi, dword [rsp + 0x20]
shl r11d, 3
shl eax, 7
add ebp, r8d
add r13d, r11d
add edi, eax
mov dword [rsp + 0x78], r13d
mov r13d, dword [rsp + 0xc]
sub r13d, esi
mov esi, r13d
mov r13d, dword [rsp + 0x34]
sub r13d, ebx
mov ebx, r13d
mov r13d, dword [rsp + 0x10]
sub r13d, r11d
mov r11d, dword [rsp + 0x14]
sub r11d, r10d
mov r10d, r11d
mov r11d, dword [rsp + 0x18]
sub r11d, r9d
mov r9d, r11d
mov r11d, dword [rsp + 0x1c]
sub r11d, r8d
mov r8d, dword [rsp + 0x20]
imul r12d, r12d, 0xf0
shl ebp, 3
shl r15d, 2
sub r8d, eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0xc], r8d
mov r8d, dword [rsp + 0x24]
add r8d, eax
mov dword [rsp + 0x38], r8d
sub eax, dword [rsp + 0x24]
mov dword [rdx + 0x40], eax
imul eax, dword [rsp + 0x70], 0x3c
mov dword [rdx], r8d
movzx r8d, ax
sar eax, 0x10
add eax, r8d
mov r8d, dword [rsp + 0x28]
add r8d, eax
mov dword [rdx + 4], r8d
mov r8d, dword [rsp + 0x28]
sub r8d, eax
mov eax, dword [rsp + 0x74]
mov dword [rdx + 0x44], r8d
add eax, eax
movzx r8d, ax
sar eax, 0x10
add eax, r8d
mov r8d, dword [rsp + 0x2c]
add r8d, eax
mov dword [rdx + 8], r8d
mov r8d, dword [rsp + 0x2c]
sub r8d, eax
imul eax, dword [rsp + 0x78], 0x78
mov dword [rdx + 0x48], r8d
movzx r8d, ax
sar eax, 0x10
add eax, r8d
mov r8d, dword [rsp + 0x30]
add r8d, eax
mov dword [rdx + 0xc], r8d
mov r8d, dword [rsp + 0x30]
sub r8d, eax
movzx eax, r15w
sar r15d, 0x10
mov dword [rdx + 0x4c], r8d
mov r8d, dword [rsp + 0x40]
add r15d, eax
mov eax, r8d
add eax, r15d
mov dword [rdx + 0x10], eax
mov eax, r8d
mov r8d, dword [rsp + 0x44]
sub eax, r15d
mov dword [rdx + 0x50], eax
movzx eax, r12w
sar r12d, 0x10
add r12d, eax
mov eax, r8d
add eax, r12d
mov dword [rdx + 0x14], eax
mov eax, r8d
mov r8d, dword [rsp + 0x48]
sub eax, r12d
mov dword [rdx + 0x54], eax
movzx eax, bp
sar ebp, 0x10
add ebp, eax
mov eax, r8d
add eax, ebp
imul edi, edi, 0xdf
shl r14d, 4
mov dword [rdx + 0x18], eax
mov eax, r8d
imul esi, esi, 0xbd
shl ebx, 5
sub eax, ebp
mov ebp, dword [rsp + 0x4c]
shl r10d, 6
imul r9d, r9d, 0xf2
mov dword [rdx + 0x58], eax
movzx eax, di
sar edi, 0x10
add edi, eax
mov eax, ebp
add eax, edi
mov dword [rdx + 0x1c], eax
mov eax, ebp
mov ebp, dword [rsp + 0x50]
sub eax, edi
mov dword [rdx + 0x5c], eax
movzx eax, r14w
sar r14d, 0x10
add r14d, eax
mov eax, ebp
add eax, r14d
mov dword [rdx + 0x20], eax
mov eax, ebp
sub eax, r14d
mov dword [rdx + 0x60], eax
mov r14d, dword [rsp + 0x54]
movzx eax, si
sar esi, 0x10
add esi, eax
mov r15d, dword [rsp + 0x60]
mov r12d, dword [rsp + 0x64]
lea eax, [r14 + rsi]
sub r14d, esi
mov esi, dword [rsp + 0x58]
mov edi, dword [rsp + 0x68]
mov dword [rdx + 0x24], eax
movzx eax, bx
sar ebx, 0x10
add ebx, eax
mov dword [rdx + 0x64], r14d
lea eax, [rsi + rbx]
sub esi, ebx
mov ebx, dword [rsp + 0x5c]
mov dword [rdx + 0x28], eax
imul eax, r13d, 0x79
mov dword [rdx + 0x68], esi
movzx r8d, ax
sar eax, 0x10
add eax, r8d
lea r8d, [rbx + rax]
sub ebx, eax
movzx eax, r10w
sar r10d, 0x10
add r10d, eax
mov dword [rdx + 0x2c], r8d
lea eax, [r15 + r10]
sub r15d, r10d
mov dword [rdx + 0x6c], ebx
mov dword [rdx + 0x30], eax
movzx eax, r9w
sar r9d, 0x10
add r9d, eax
mov dword [rdx + 0x70], r15d
lea eax, [r12 + r9]
sub r12d, r9d
shl r11d, 7
mov dword [rdx + 0x34], eax
movzx eax, r11w
sar r11d, 0x10
add r11d, eax
mov dword [rdx + 0x74], r12d
lea eax, [rdi + r11]
sub edi, r11d
mov dword [rdx + 0x38], eax
imul eax, dword [rsp + 0xc], 0xe3
mov dword [rdx + 0x78], edi
mov edi, dword [rsp + 0x6c]
movzx r8d, ax
sar eax, 0x10
mov r13d, edi
add eax, r8d
lea r8d, [rdi + rax]
sub r13d, eax
mov dword [rdx + 0x7c], r13d
mov dword [rdx + 0x3c], r8d
movzx eax, byte [rcx + 4]
movzx r9d, byte [rcx + 0x44]
movzx ebp, byte [rcx + 0x64]
mov r11d, eax
movzx r8d, byte [rcx + 0x24]
lea edi, [rax + r9]
sub r11d, r9d
mov r10d, r9d
mov r9d, ebp
shl r9d, 6
shl r10d, 4
lea esi, [r8 + rbp]
lea r9d, [r9 + r8*4]
lea ebx, [rax + r10]
sub eax, r10d
movzx r10d, r9b
sar r9d, 8
lea r14d, [rdi + rsi]
sub edi, esi
sub r10d, r9d
mov r9d, r8d
shl r8d, 6
mov dword [rsp + 0x20], edi
sub r9d, ebp
lea ebp, [r8 + rbp*4]
lea r15d, [rbx + r10]
sub ebx, r10d
movzx r8d, bpl
sar ebp, 8
mov dword [rsp + 0xc], r15d
sub r8d, ebp
shl r9d, 4
mov dword [rsp + 0x24], ebx
lea r13d, [r11 + r9]
lea r12d, [rax + r8]
sub r11d, r9d
sub eax, r8d
mov dword [rsp + 0x10], r13d
mov r13d, eax
mov dword [rsp + 0x14], r12d
mov dword [rsp + 0x18], r11d
movzx eax, byte [rcx + 0x14]
movzx r8d, byte [rcx + 0x54]
movzx ebx, byte [rcx + 0x74]
movzx r11d, byte [rcx + 0x34]
mov edi, eax
mov ebp, dword [rsp + 0xc]
mov esi, r8d
lea r10d, [rax + r8]
sub edi, r8d
shl esi, 4
lea r15d, [r11 + rbx]
mov r8d, edi
lea r9d, [rax + rsi]
sub eax, esi
mov esi, ebx
shl esi, 6
lea esi, [rsi + r11*4]
movzx r12d, sil
sar esi, 8
sub r12d, esi
mov esi, r11d
shl r11d, 6
sub esi, ebx
lea r11d, [r11 + rbx*4]
lea ebx, [r10 + r15]
shl esi, 4
movzx edi, r11b
sar r11d, 8
mov dword [rsp + 0x2c], ebx
mov dword [rsp + 0x1c], esi
lea esi, [r14 + rbx]
sub edi, r11d
mov r11d, dword [rsp + 0x1c]
mov dword [rdx + 0x80], esi
sub r10d, r15d
mov r15d, dword [rsp + 0x20]
mov dword [rsp + 0x30], esi
lea esi, [r9 + r12]
shl r10d, 4
sub r9d, r12d
add esi, esi
mov r12d, dword [rsp + 0x24]
shl r9d, 5
sub r14d, dword [rsp + 0x2c]
lea ebx, [rbp + rsi]
mov ebp, dword [rsp + 0x14]
mov dword [rsp + 0x54], r14d
mov dword [rdx + 0x84], ebx
mov dword [rsp + 0x28], ebx
lea ebx, [r8 + r11]
mov r11d, dword [rsp + 0x10]
shl ebx, 2
sub r8d, dword [rsp + 0x1c]
add r11d, ebx
shl r8d, 6
mov dword [rdx + 0x88], r11d
mov dword [rsp + 0x3c], r11d
lea r11d, [rax + rdi]
sub eax, edi
shl r11d, 3
shl eax, 7
add ebp, r11d
lea edi, [r13 + rax]
sub r13d, eax
mov dword [rdx + 0x8c], ebp
mov dword [rsp + 0x40], ebp
lea ebp, [r15 + r10]
sub r15d, r10d
mov dword [rdx + 0x90], ebp
mov dword [rsp + 0x44], ebp
lea ebp, [r12 + r9]
sub r12d, r9d
mov dword [rdx + 0x94], ebp
mov dword [rsp + 0x48], ebp
mov ebp, dword [rsp + 0x18]
mov dword [rdx + 0x9c], edi
add ebp, r8d
mov dword [rsp + 0x50], edi
mov dword [rdx + 0x98], ebp
mov dword [rsp + 0x4c], ebp
mov dword [rdx + 0xa0], r14d
mov edi, dword [rsp + 0xc]
mov ebp, dword [rsp + 0x18]
mov dword [rdx + 0xb0], r15d
sub edi, esi
mov esi, dword [rsp + 0x10]
mov dword [rsp + 0x70], r13d
sub ebp, r8d
mov dword [rdx + 0xa4], edi
sub esi, ebx
mov ebx, dword [rsp + 0x14]
mov dword [rsp + 0x6c], ebp
mov dword [rdx + 0xa8], esi
sub ebx, r11d
mov dword [rdx + 0xb4], r12d
mov dword [rdx + 0xac], ebx
mov dword [rdx + 0xbc], r13d
mov dword [rdx + 0xb8], ebp
movzx r10d, byte [rcx + 0x4c]
movzx eax, byte [rcx + 0xc]
movzx ebp, byte [rcx + 0x6c]
mov dword [rsp + 0x58], edi
mov r9d, r10d
movzx r8d, byte [rcx + 0x2c]
mov dword [rsp + 0x60], ebx
shl r9d, 4
lea edi, [rax + r10]
mov r13d, eax
mov dword [rsp + 0x5c], esi
lea ebx, [rax + r9]
sub eax, r9d
mov r9d, ebp
sub r13d, r10d
shl r9d, 6
lea esi, [r8 + rbp]
mov r11d, r13d
mov dword [rsp + 0x64], r15d
lea r9d, [r9 + r8*4]
mov dword [rsp + 0x68], r12d
movzx r10d, r9b
sar r9d, 8
sub r10d, r9d
mov r9d, r8d
sub r9d, ebp
lea r13d, [rbx + r10]
shl r9d, 4
shl r8d, 6
mov dword [rsp + 0x10], r13d
lea ebp, [r8 + rbp*4]
lea r13d, [r11 + r9]
sub r11d, r9d
movzx r8d, bpl
sar ebp, 8
mov dword [rsp + 0x14], r13d
mov r13d, ebx
sub r8d, ebp
sub r13d, r10d
movzx ebx, byte [rcx + 0x5c]
lea ebp, [rdi + rsi]
lea r14d, [rax + r8]
movzx r10d, byte [rcx + 0x3c]
mov dword [rsp + 0xc], ebp
mov dword [rsp + 0x18], r14d
mov r14d, edi
sub r14d, esi
mov dword [rsp + 0x20], r11d
movzx r11d, byte [rcx + 0x7c]
mov dword [rsp + 0x1c], r14d
mov r14d, r13d
mov r13d, eax
movzx eax, byte [rcx + 0x1c]
sub r13d, r8d
lea r15d, [r10 + r11]
lea r9d, [rax + rbx]
mov ecx, eax
mov dword [rsp + 0x24], r9d
mov r9d, ebx
sub ecx, ebx
shl r9d, 4
lea r8d, [rax + r9]
sub eax, r9d
mov r9d, r11d
shl r9d, 6
lea ebx, [r9 + r10*4]
mov r9d, r10d
shl r10d, 6
sub r9d, r11d
lea r10d, [r10 + r11*4]
mov r11d, dword [rsp + 0xc]
movzx r12d, bl
mov ebp, r9d
mov r9d, dword [rsp + 0x24]
sar ebx, 8
movzx edi, r10b
sar r10d, 8
sub r12d, ebx
shl ebp, 4
add r9d, r15d
lea esi, [r8 + r12]
sub edi, r10d
mov r10d, dword [rsp + 0x14]
add r11d, r9d
add esi, esi
mov dword [rsp + 0x2c], r9d
lea ebx, [rcx + rbp]
mov dword [rsp + 0x34], r11d
mov r11d, dword [rsp + 0x10]
sub ecx, ebp
shl ebx, 2
mov ebp, dword [rsp + 0x20]
sub r8d, r12d
shl ecx, 6
add r10d, ebx
lea r9d, [r11 + rsi]
lea r11d, [rax + rdi]
shl r8d, 5
mov dword [rsp + 0x74], r9d
mov r9d, dword [rsp + 0x18]
shl r11d, 3
lea r12d, [r14 + r8]
add r9d, r11d
mov dword [rsp + 0x78], r9d
mov r9d, dword [rsp + 0x24]
mov dword [rsp + 0x24], r13d
sub r9d, r15d
mov r15d, dword [rsp + 0x1c]
shl r9d, 4
add r15d, r9d
add ebp, ecx
sub eax, edi
sub r14d, r8d
shl eax, 7
mov r8d, dword [rsp + 0x20]
imul r12d, r12d, 0xf0
lea edi, [r13 + rax]
mov r13d, dword [rsp + 0x10]
sub r8d, ecx
mov dword [rsp + 0x7c], edi
mov ecx, dword [rsp + 0x30]
sub r13d, esi
mov edi, dword [rsp + 0xc]
sub edi, dword [rsp + 0x2c]
mov dword [rsp + 0xc], r8d
mov esi, r13d
mov r13d, dword [rsp + 0x14]
mov r8d, dword [rsp + 0x34]
sub r13d, ebx
mov ebx, r13d
mov r13d, dword [rsp + 0x18]
sub r13d, r11d
mov r11d, r13d
mov r13d, dword [rsp + 0x1c]
sub r13d, r9d
mov r9d, r13d
mov r13d, dword [rsp + 0x24]
sub r13d, eax
mov eax, ecx
sub ecx, r8d
mov dword [rdx + 0xc0], ecx
imul ecx, dword [rsp + 0x74], 0x3c
add eax, r8d
mov r8d, ecx
movzx ecx, cx
sar r8d, 0x10
add ecx, r8d
mov r8d, dword [rsp + 0x28]
add r8d, ecx
mov dword [rdx + 0x84], r8d
mov r8d, dword [rsp + 0x28]
sub r8d, ecx
lea ecx, [r10 + r10]
sar r10d, 0xf
mov dword [rdx + 0xc4], r8d
mov r8d, dword [rsp + 0x3c]
movzx ecx, cx
add r10d, ecx
mov ecx, r8d
add ecx, r10d
mov dword [rdx + 0x88], ecx
mov ecx, r8d
sub ecx, r10d
mov r10d, dword [rsp + 0x40]
mov dword [rdx + 0xc8], ecx
imul ecx, dword [rsp + 0x78], 0x78
mov r8d, ecx
movzx ecx, cx
sar r8d, 0x10
add ecx, r8d
lea r8d, [rcx + r10]
sub r10d, ecx
lea ecx, [r15*4]
sar r15d, 0xe
mov dword [rdx + 0xcc], r10d
mov r10d, dword [rsp + 0x44]
movzx ecx, cx
add r15d, ecx
mov dword [rdx + 0x8c], r8d
mov ecx, r10d
add ecx, r15d
mov dword [rdx + 0x90], ecx
mov ecx, r10d
mov r10d, dword [rsp + 0x48]
sub ecx, r15d
mov r15d, dword [rsp + 0x64]
mov dword [rdx + 0xd0], ecx
mov ecx, r12d
movzx r12d, r12w
sar ecx, 0x10
add r12d, ecx
imul esi, esi, 0xbd
mov ecx, r10d
shl ebx, 5
add ecx, r12d
imul r11d, r11d, 0x79
shl r9d, 6
mov dword [rdx + 0x94], ecx
mov ecx, r10d
mov r10d, dword [rsp + 0x4c]
sub ecx, r12d
mov dword [rdx + 0xd4], ecx
lea ecx, [rbp*8]
sar ebp, 0xd
movzx ecx, cx
add ebp, ecx
mov ecx, r10d
add ecx, ebp
mov dword [rdx + 0x98], ecx
mov ecx, r10d
mov r10d, dword [rsp + 0x54]
sub ecx, ebp
mov ebp, dword [rsp + 0x50]
mov dword [rdx + 0xd8], ecx
imul ecx, dword [rsp + 0x7c], 0xdf
movzx r8d, cx
sar ecx, 0x10
add ecx, r8d
lea r8d, [rcx + rbp]
sub ebp, ecx
mov ecx, edi
sar edi, 0x1f
shl ecx, 4
mov dword [rdx + 0x9c], r8d
movzx ecx, cx
mov dword [rdx + 0xdc], ebp
add edi, ecx
mov ecx, r10d
add ecx, edi
mov dword [rdx + 0xa0], ecx
mov ecx, r10d
mov r10d, dword [rsp + 0x58]
sub ecx, edi
mov dword [rdx + 0xe0], ecx
mov ecx, esi
movzx esi, si
sar ecx, 0x10
add esi, ecx
lea ecx, [rsi + r10]
mov dword [rdx + 0xa4], ecx
mov ecx, r10d
sub ecx, esi
mov esi, dword [rsp + 0x5c]
mov dword [rdx + 0xe4], ecx
movzx ecx, bx
sar ebx, 0x10
add ebx, ecx
lea ecx, [rsi + rbx]
sub esi, ebx
mov ebx, dword [rsp + 0x60]
mov dword [rdx + 0xa8], ecx
movzx ecx, r11w
sar r11d, 0x10
add r11d, ecx
mov dword [rdx + 0xe8], esi
lea ecx, [rbx + r11]
sub ebx, r11d
mov dword [rdx + 0xac], ecx
movzx ecx, r9w
sar r9d, 0x10
add r9d, ecx
mov dword [rdx + 0xec], ebx
lea ecx, [r15 + r9]
sub r15d, r9d
imul r14d, r14d, 0xf2
mov dword [rdx + 0xb0], ecx
add rdx, 4
mov dword [rdx + 0xec], r15d
mov r12d, dword [rsp + 0x68]
mov edi, dword [rsp + 0x6c]
movzx ecx, r14w
sar r14d, 0x10
add r14d, ecx
lea ecx, [r12 + r14]
sub r12d, r14d
mov dword [rdx + 0xb0], ecx
mov ecx, dword [rsp + 0xc]
mov dword [rdx + 0xf0], r12d
shl ecx, 7
movzx r8d, cx
sar ecx, 0x10
add ecx, r8d
lea r8d, [rdi + rcx]
sub edi, ecx
imul ecx, r13d, 0xe3
mov dword [rdx + 0xb4], r8d
mov dword [rdx + 0xf4], edi
mov edi, dword [rsp + 0x70]
movzx r8d, cx
sar ecx, 0x10
mov r13d, edi
add ecx, r8d
lea r8d, [rdi + rcx]
sub r13d, ecx
mov dword [rdx + 0xb8], r8d
mov r8d, dword [rsp + 0x38]
mov dword [rdx + 0xf8], r13d
lea ecx, [r8 + rax]
sub r8d, eax
mov dword [rdx - 4], ecx
lea rcx, [0x006c1fb0]
mov dword [rdx + 0x7c], r8d
lea r8, [rcx + 0x1c0]
jmp 0x5af348
mov eax, dword [rdx + 0x7c]
imul eax, dword [rcx + 0x30]
add rcx, 0x40
mov r9d, dword [rdx - 4]
movzx r10d, ax
sar eax, 0x10
add eax, r10d
lea r10d, [r9 + rax]
sub r9d, eax
mov dword [rdx - 4], r10d
mov dword [rdx + 0x7c], r9d
mov eax, dword [rdx + 0x80]
imul eax, dword [rcx]
add rdx, 0x10
mov r9d, dword [rdx - 0x10]
movzx r10d, ax
sar eax, 0x10
add eax, r10d
lea r10d, [r9 + rax]
sub r9d, eax
mov eax, dword [rdx + 0x74]
mov dword [rdx - 0x10], r10d
mov dword [rdx + 0x70], r9d
imul eax, dword [rcx + 0x10]
mov r9d, dword [rdx - 0xc]
movzx r10d, ax
sar eax, 0x10
add eax, r10d
lea r10d, [r9 + rax]
sub r9d, eax
mov eax, dword [rdx + 0x78]
mov dword [rdx - 0xc], r10d
mov dword [rdx + 0x74], r9d
imul eax, dword [rcx + 0x20]
mov r9d, dword [rdx - 8]
movzx r10d, ax
sar eax, 0x10
add eax, r10d
lea r10d, [r9 + rax]
sub r9d, eax
mov dword [rdx - 8], r10d
mov dword [rdx + 0x78], r9d
cmp rcx, r8
jne 0x5af320
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret