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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r10, qword [rdx + 0x58]
mov r11, r8
movsx ebx, word [r8]
mov rax, qword [rcx + 0x198]
movsx r8d, word [r8 + 0x20]
imul r8d, dword [r10 + 0x40]
imul ebx, dword [r10]
movsx ecx, word [r11 + 0x40]
imul ecx, dword [r10 + 0x80]
mov r13d, dword [rsp + 0xa0]
mov qword [rsp + 0x48], rax
shl ebx, 0xd
add ebx, 0x400
mov qword [rsp + 0x40], r9
lea eax, [rcx + r8]
sub r8d, ecx
movsx ecx, word [r11 + 0x10]
imul ecx, dword [r10 + 0x20]
imul edx, eax, 0x194c
imul eax, r8d, 0xb50
imul r8d, ecx, 0x1071
lea edi, [rax + rbx]
lea esi, [rdi + rdx]
sub edi, edx
movsx edx, word [r11 + 0x30]
lea eax, [rax*4]
imul edx, dword [r10 + 0x60]
sub ebx, eax
sar ebx, 0xb
mov dword [rsp + 0x10], ebx
movsx ebx, word [r11 + 2]
imul ebx, dword [r10 + 4]
lea eax, [rdx + rcx]
movsx ecx, word [r11 + 0x42]
imul ecx, dword [r10 + 0x84]
imul r9d, eax, 0x1a9a
imul eax, edx, 0x45a4
shl ebx, 0xd
add ebx, 0x400
add r8d, r9d
sub r9d, eax
lea eax, [rsi + r8]
sub esi, r8d
movsx r8d, word [r11 + 0x22]
imul r8d, dword [r10 + 0x44]
mov dword [rsp], eax
lea eax, [rdi + r9]
mov dword [rsp + 8], eax
sub edi, r9d
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x30], esi
lea eax, [rcx + r8]
sub r8d, ecx
movsx ecx, word [r11 + 0x12]
imul ecx, dword [r10 + 0x24]
imul edx, eax, 0x194c
imul eax, r8d, 0xb50
imul r8d, ecx, 0x1071
lea edi, [rax + rbx]
lea esi, [rdi + rdx]
sub edi, edx
movsx edx, word [r11 + 0x32]
lea eax, [rax*4]
imul edx, dword [r10 + 0x64]
sub ebx, eax
lea eax, [rdx + rcx]
imul r9d, eax, 0x1a9a
imul eax, edx, 0x45a4
add r8d, r9d
sub r9d, eax
lea r15d, [rsi + r8]
sub esi, r8d
lea eax, [rdi + r9]
sar esi, 0xb
sar eax, 0xb
sub edi, r9d
sar r15d, 0xb
sar edi, 0xb
mov dword [rsp + 0x2c], edi
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0xc], eax
movsx r8d, word [r11 + 0x24]
imul r8d, dword [r10 + 0x48]
movsx ecx, word [r11 + 0x44]
imul ecx, dword [r10 + 0x88]
movsx ebp, word [r11 + 6]
imul ebp, dword [r10 + 0xc]
sar ebx, 0xb
mov dword [rsp + 0x1c], ebx
movsx ebx, word [r11 + 4]
imul ebx, dword [r10 + 8]
shl ebp, 0xd
lea eax, [rcx + r8]
add ebp, 0x400
sub r8d, ecx
imul edx, eax, 0x194c
movsx ecx, word [r11 + 0x14]
imul ecx, dword [r10 + 0x28]
imul eax, r8d, 0xb50
shl ebx, 0xd
add ebx, 0x400
imul r8d, ecx, 0x1071
lea esi, [rax + rbx]
lea r14d, [rsi + rdx]
sub esi, edx
movsx edx, word [r11 + 0x34]
lea eax, [rax*4]
imul edx, dword [r10 + 0x68]
sub ebx, eax
sar ebx, 0xb
mov dword [rsp + 0x14], ebx
lea eax, [rdx + rcx]
movsx ecx, word [r11 + 0x46]
imul ecx, dword [r10 + 0x8c]
imul r9d, eax, 0x1a9a
imul eax, edx, 0x45a4
add r8d, r9d
sub r9d, eax
lea edi, [r14 + r8]
sub r14d, r8d
movsx r8d, word [r11 + 0x26]
imul r8d, dword [r10 + 0x4c]
sar r14d, 0xb
mov dword [rsp + 0x34], r14d
lea r14d, [rsi + r9]
sub esi, r9d
sar edi, 0xb
sar esi, 0xb
mov dword [rsp + 0x24], esi
sar r14d, 0xb
lea eax, [rcx + r8]
sub r8d, ecx
movsx ecx, word [r11 + 0x16]
imul ecx, dword [r10 + 0x2c]
imul edx, eax, 0x194c
imul eax, r8d, 0xb50
imul r8d, ecx, 0x1071
lea r12d, [rax + rbp]
lea esi, [r12 + rdx]
sub r12d, edx
movsx edx, word [r11 + 0x36]
lea eax, [rax*4]
imul edx, dword [r10 + 0x6c]
sub ebp, eax
lea eax, [rdx + rcx]
imul r9d, eax, 0x1a9a
imul eax, edx, 0x45a4
add r8d, r9d
sub r9d, eax
lea ebx, [rsi + r8]
sub esi, r8d
sar esi, 0xb
mov dword [rsp + 0x38], esi
lea esi, [r12 + r9]
sub r12d, r9d
sar ebx, 0xb
sar r12d, 0xb
sar esi, 0xb
sar ebp, 0xb
mov dword [rsp + 0x18], ebp
movsx ebp, word [r11 + 8]
mov dword [rsp + 0x28], r12d
imul ebp, dword [r10 + 0x10]
movsx r8d, word [r11 + 0x28]
imul r8d, dword [r10 + 0x50]
movsx ecx, word [r11 + 0x48]
imul ecx, dword [r10 + 0x90]
shl ebp, 0xd
add ebp, 0x400
lea eax, [rcx + r8]
sub r8d, ecx
movsx ecx, word [r11 + 0x18]
imul ecx, dword [r10 + 0x30]
imul edx, eax, 0x194c
imul eax, r8d, 0xb50
lea r12d, [rax + rbp]
lea eax, [rax*4]
sub ebp, eax
lea r8d, [r12 + rdx]
mov dword [rsp + 4], r8d
sub r12d, edx
movsx edx, word [r11 + 0x38]
imul edx, dword [r10 + 0x70]
imul r8d, ecx, 0x1071
sar ebp, 0xb
lea eax, [rdx + rcx]
imul r9d, eax, 0x1a9a
imul eax, edx, 0x45a4
add r8d, r9d
sub r9d, eax
mov eax, dword [rsp + 4]
lea edx, [rax + r8]
sub eax, r8d
mov r8d, dword [rsp]
lea r11d, [r12 + r9]
sar eax, 0xb
sub r12d, r9d
mov dword [rsp + 4], eax
mov rax, qword [rsp + 0x40]
sar r8d, 0xb
add r8d, 0x4010
sar edx, 0xb
shl r8d, 0xd
mov r10, qword [rax]
add r10, r13
sar r11d, 0xb
lea eax, [rdx + rdi]
sar r12d, 0xb
imul ecx, eax, 0x194c
sub edi, edx
imul eax, edi, 0xb50
lea r9d, [rax + r8]
lea eax, [rax*4]
sub r8d, eax
lea edx, [r9 + rcx]
sub r9d, ecx
mov dword [rsp], r8d
lea eax, [rbx + r15]
imul ecx, r15d, 0x1071
mov r15, qword [rsp + 0x48]
imul r8d, eax, 0x1a9a
imul eax, ebx, 0x45a4
add ecx, r8d
sub r8d, eax
lea eax, [rdx + rcx]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10], al
mov eax, edx
sub eax, ecx
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 4], al
lea eax, [r9 + r8]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 1], al
mov eax, r9d
sub eax, r8d
sar rax, 0x12
and eax, 0x3ff
mov rdi, qword [rsp + 0x40]
mov ebx, dword [rsp + 8]
sar ebx, 0xb
add ebx, 0x4010
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 3], al
mov eax, dword [rsp]
sar rax, 0x12
and eax, 0x3ff
shl ebx, 0xd
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 2], al
lea eax, [r14 + r11]
mov r10, qword [rdi + 8]
sub r14d, r11d
imul ecx, eax, 0x194c
add r10, r13
imul eax, r14d, 0xb50
lea r9d, [rax + rbx]
lea eax, [rax*4]
sub ebx, eax
lea edx, [r9 + rcx]
sub r9d, ecx
mov ecx, dword [rsp + 0xc]
lea eax, [rsi + rcx]
imul ecx, ecx, 0x1071
imul r8d, eax, 0x1a9a
imul eax, esi, 0x45a4
add ecx, r8d
sub r8d, eax
lea eax, [rdx + rcx]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10], al
mov eax, edx
mov edx, dword [rsp + 0x14]
sub eax, ecx
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 4], al
lea eax, [r9 + r8]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 1], al
mov eax, r9d
sub eax, r8d
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 3], al
mov eax, ebx
mov ebx, dword [rsp + 0x18]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 2], al
lea eax, [rdx + rbp]
mov r10d, dword [rsp + 0x10]
sub edx, ebp
mov r11, qword [rdi + 0x10]
add r10d, 0x4010
imul ecx, eax, 0x194c
add r11, r13
imul eax, edx, 0xb50
shl r10d, 0xd
lea r9d, [rax + r10]
lea edx, [r9 + rcx]
sub r9d, ecx
mov ecx, dword [rsp + 0x1c]
lea eax, [rax*4]
sub r10d, eax
lea eax, [rcx + rbx]
imul ecx, ecx, 0x1071
imul r8d, eax, 0x1a9a
imul eax, ebx, 0x45a4
add ecx, r8d
sub r8d, eax
mov ebx, dword [rsp + 0x20]
lea eax, [rdx + rcx]
sar rax, 0x12
and eax, 0x3ff
sar ebx, 0xb
add ebx, 0x4010
shl ebx, 0xd
movzx eax, byte [rax + r15 - 0x180]
mov byte [r11], al
mov eax, edx
sub eax, ecx
mov edx, dword [rsp + 0x24]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r11 + 4], al
lea eax, [r9 + r8]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r11 + 1], al
mov eax, r9d
sub eax, r8d
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r11 + 3], al
mov eax, r10d
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r11 + 2], al
lea eax, [r12 + rdx]
mov r10, qword [rdi + 0x18]
sub edx, r12d
mov r11d, dword [rsp + 0x28]
add r10, r13
imul ecx, eax, 0x194c
imul eax, edx, 0xb50
lea r9d, [rax + rbx]
lea eax, [rax*4]
sub ebx, eax
lea edx, [r9 + rcx]
sub r9d, ecx
mov ecx, dword [rsp + 0x2c]
lea eax, [rcx + r11]
imul ecx, ecx, 0x1071
imul r8d, eax, 0x1a9a
imul eax, r11d, 0x45a4
add ecx, r8d
sub r8d, eax
lea eax, [rdx + rcx]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10], al
mov eax, edx
sub eax, ecx
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 4], al
lea eax, [r9 + r8]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 1], al
mov eax, r9d
sub eax, r8d
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 3], al
mov eax, ebx
mov ebx, dword [rsp + 0x30]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 2], al
mov r10, qword [rdi + 0x20]
add r10, r13
mov r8d, dword [rsp + 4]
mov r11d, dword [rsp + 0x38]
mov edx, dword [rsp + 0x34]
sar ebx, 0xb
add ebx, 0x4010
shl ebx, 0xd
lea eax, [r8 + rdx]
sub edx, r8d
imul ecx, eax, 0x194c
imul eax, edx, 0xb50
lea r9d, [rax + rbx]
lea eax, [rax*4]
sub ebx, eax
lea edx, [r9 + rcx]
sub r9d, ecx
mov ecx, dword [rsp + 0x3c]
lea eax, [r11 + rcx]
imul ecx, ecx, 0x1071
imul r8d, eax, 0x1a9a
imul eax, r11d, 0x45a4
lea r11, [rsp + 0x50]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
add ecx, r8d
sub r8d, eax
lea eax, [rdx + rcx]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10], al
mov eax, edx
sub eax, ecx
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 4], al
lea eax, [r9 + r8]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 1], al
mov eax, r9d
sub eax, r8d
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 3], al
mov eax, ebx
mov rbx, qword [r11 + 0x30]
sar rax, 0x12
and eax, 0x3ff
movzx eax, byte [rax + r15 - 0x180]
mov byte [r10 + 2], al
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret