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

Disassembly:
mov rax, rsp
sub rsp, 0x58
mov r10, rcx
test edx, edx
jle 0x1800ccc8b
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax - 8], rdi
cmp r9d, 0xc
ja 0x1800cd384
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
cmp r9d, 8
jbe 0x1800ccf52
mov ebx, edx
cmp r9d, 0xa
jbe 0x1800ccd8d
cmp r9d, 0xc
jne 0x1800ccc90
movsxd rax, dword [r8 + 0x10]
movsxd rdi, dword [r8 + 0x2c]
movsxd rsi, dword [r8 + 0x28]
movsxd rbp, dword [r8 + 0x24]
movsxd r14, dword [r8 + 0x20]
movsxd r15, dword [r8 + 0x1c]
movsxd r12, dword [r8 + 0x18]
movsxd r13, dword [r8 + 0x14]
mov qword [rsp + 0x20], rax
movsxd rax, dword [r8 + 0xc]
mov qword [rsp + 0x18], rax
movsxd rax, dword [r8 + 8]
mov qword [rsp + 0x10], rax
movsxd rax, dword [r8 + 4]
mov qword [rsp + 8], rax
movsxd rax, dword [r8]
mov qword [rsp], rax
mov rax, qword [rsp + 0x88]
mov ecx, dword [rax - 0x2c]
lea r11, [rax - 0x2c]
sub r10, rax
nop word [rax + rax]
movsxd r9, dword [r11 + 4]
mov r8, r11
add r11, 4
movsxd rdx, dword [r8 + 0x28]
imul rdx, qword [rsp]
movsxd rax, dword [r8 + 0x24]
imul rax, qword [rsp + 8]
add rdx, rax
movsxd rax, dword [r8 + 0x20]
imul rax, qword [rsp + 0x10]
add rdx, rax
movsxd rax, dword [r8 + 0x1c]
imul rax, qword [rsp + 0x18]
add rdx, rax
movsxd rax, dword [r8 + 0x18]
imul rax, qword [rsp + 0x20]
add rdx, rax
movsxd rax, dword [r8 + 0x14]
imul rax, r13
add rdx, rax
movsxd rax, dword [r8 + 0x10]
imul rax, r12
add rdx, rax
movsxd rax, dword [r8 + 0xc]
imul rax, r15
add rdx, rax
movsxd rax, dword [r8 + 8]
imul rax, r14
add rdx, rax
movsxd rax, dword [r8 - 4]
imul rax, rdi
add rdx, rax
movsxd rax, ecx
mov ecx, dword [rsp + 0x80]
imul rax, rsi
add rdx, rax
mov rax, r9
imul rax, rbp
add rdx, rax
sar rdx, cl
mov ecx, r9d
add edx, dword [r10 + r8 + 0x2c]
mov dword [r8 + 0x2c], edx
sub rbx, 1
jne 0x1800ccbb0
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x50]
add rsp, 0x58
ret
movsxd rax, dword [r8 + 0x20]
movsxd rdi, dword [r8 + 0x10]
movsxd rsi, dword [r8 + 0xc]
movsxd rbp, dword [r8 + 8]
movsxd r14, dword [r8 + 4]
movsxd r15, dword [r8]
movsxd r12, dword [r8 + 0x28]
movsxd r13, dword [r8 + 0x24]
mov qword [rsp + 8], rax
movsxd rax, dword [r8 + 0x1c]
mov qword [rsp + 0x10], rax
movsxd rax, dword [r8 + 0x18]
mov qword [rsp + 0x18], rax
movsxd rax, dword [r8 + 0x14]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x88]
mov ecx, dword [rax - 0x10]
lea r11, [rax - 0x10]
sub r10, rax
movsxd r9, dword [r11 + 4]
mov r8, r11
add r11, 4
movsxd rdx, dword [r8 + 0xc]
movsxd rax, dword [r8 + 8]
imul rax, r14
imul rdx, r15
add rdx, rax
movsxd rax, dword [r8 - 4]
imul rax, rdi
add rdx, rax
movsxd rax, dword [r8 - 8]
imul rax, qword [rsp + 0x20]
add rdx, rax
movsxd rax, dword [r8 - 0xc]
imul rax, qword [rsp + 0x18]
add rdx, rax
movsxd rax, dword [r8 - 0x10]
imul rax, qword [rsp + 0x10]
add rdx, rax
movsxd rax, dword [r8 - 0x14]
imul rax, qword [rsp + 8]
add rdx, rax
movsxd rax, dword [r8 - 0x18]
imul rax, r13
add rdx, rax
movsxd rax, dword [r8 - 0x1c]
imul rax, r12
add rdx, rax
mov rax, r9
imul rax, rbp
add rdx, rax
movsxd rax, ecx
mov ecx, dword [rsp + 0x80]
imul rax, rsi
add rdx, rax
sar rdx, cl
mov ecx, r9d
add edx, dword [r10 + r8 + 0x10]
mov dword [r8 + 0x10], edx
sub rbx, 1
jne 0x1800ccce1
jmp 0x1800ccc63
jne 0x1800cce7f
movsxd rax, dword [r8 + 8]
movsxd rdi, dword [r8 + 0x24]
movsxd rsi, dword [r8 + 0x20]
movsxd rbp, dword [r8 + 0x1c]
movsxd r14, dword [r8 + 0x18]
movsxd r15, dword [r8 + 0x14]
movsxd r12, dword [r8 + 0x10]
movsxd r13, dword [r8 + 0xc]
mov qword [rsp + 0x10], rax
movsxd rax, dword [r8 + 4]
mov qword [rsp + 0x18], rax
movsxd rax, dword [r8]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x88]
mov ecx, dword [rax - 0x24]
lea r11, [rax - 0x24]
sub r10, rax
nop dword [rax + rax]
movsxd r9, dword [r11 + 4]
mov r8, r11
add r11, 4
movsxd rdx, dword [r8 + 0x20]
imul rdx, qword [rsp + 0x20]
movsxd rax, dword [r8 + 0x1c]
imul rax, qword [rsp + 0x18]
add rdx, rax
movsxd rax, dword [r8 + 0x18]
imul rax, qword [rsp + 0x10]
add rdx, rax
movsxd rax, dword [r8 + 0x14]
imul rax, r13
add rdx, rax
movsxd rax, dword [r8 + 0x10]
imul rax, r12
add rdx, rax
movsxd rax, dword [r8 + 0xc]
imul rax, r15
add rdx, rax
movsxd rax, dword [r8 + 8]
imul rax, r14
add rdx, rax
movsxd rax, dword [r8 - 4]
imul rax, rdi
add rdx, rax
mov rax, r9
imul rax, rbp
add rdx, rax
movsxd rax, ecx
mov ecx, dword [rsp + 0x80]
imul rax, rsi
add rdx, rax
sar rdx, cl
mov ecx, r9d
add edx, dword [r10 + r8 + 0x24]
mov dword [r8 + 0x24], edx
sub rbx, 1
jne 0x1800ccde0
jmp 0x1800ccc63
movsxd rax, dword [r8 + 4]
movsxd rdi, dword [r8 + 0x20]
movsxd rsi, dword [r8 + 0x1c]
movsxd rbp, dword [r8 + 0x18]
movsxd r14, dword [r8 + 0x14]
movsxd r15, dword [r8 + 0x10]
movsxd r12, dword [r8 + 0xc]
movsxd r13, dword [r8 + 8]
mov qword [rsp + 0x18], rax
movsxd rax, dword [r8]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x88]
mov ecx, dword [rax - 0x20]
lea r11, [rax - 0x20]
sub r10, rax
nop
movsxd r9, dword [r11 + 4]
mov r8, r11
add r11, 4
movsxd rdx, dword [r8 + 0x1c]
imul rdx, qword [rsp + 0x20]
movsxd rax, dword [r8 + 0x18]
imul rax, qword [rsp + 0x18]
add rdx, rax
movsxd rax, dword [r8 + 0x14]
imul rax, r13
add rdx, rax
movsxd rax, dword [r8 + 0x10]
imul rax, r12
add rdx, rax
movsxd rax, dword [r8 + 0xc]
imul rax, r15
add rdx, rax
movsxd rax, dword [r8 + 8]
imul rax, r14
add rdx, rax
movsxd rax, dword [r8 - 4]
imul rax, rdi
add rdx, rax
mov rax, r9
imul rax, rbp
add rdx, rax
movsxd rax, ecx
mov ecx, dword [rsp + 0x80]
imul rax, rsi
add rdx, rax
sar rdx, cl
mov ecx, r9d
add edx, dword [r10 + r8 + 0x20]
mov dword [r8 + 0x20], edx
sub rbx, 1
jne 0x1800ccec0
jmp 0x1800ccc63
cmp r9d, 4
jbe 0x1800cd1fa
mov ebx, edx
cmp r9d, 6
jbe 0x1800cd0d4
cmp r9d, 8
jne 0x1800cd031
movsxd rax, dword [r8]
movsxd rdi, dword [r8 + 0x1c]
movsxd rsi, dword [r8 + 0x18]
movsxd rbp, dword [r8 + 0x14]
movsxd r14, dword [r8 + 0x10]
movsxd r15, dword [r8 + 0xc]
movsxd r12, dword [r8 + 8]
movsxd r13, dword [r8 + 4]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x88]
mov ecx, dword [rax - 0x1c]
lea r11, [rax - 0x1c]
sub r10, rax
nop dword [rax + rax]
movsxd r9, dword [r11 + 4]
mov r8, r11
add r11, 4
movsxd rdx, dword [r8 + 0x18]
imul rdx, qword [rsp + 0x20]
movsxd rax, dword [r8 + 0x14]
imul rax, r13
add rdx, rax
movsxd rax, dword [r8 + 0x10]
imul rax, r12
add rdx, rax
movsxd rax, dword [r8 + 0xc]
imul rax, r15
add rdx, rax
movsxd rax, dword [r8 + 8]
imul rax, r14
add rdx, rax
movsxd rax, dword [r8 - 4]
imul rax, rdi
add rdx, rax
movsxd rax, ecx
mov ecx, dword [rsp + 0x80]
imul rax, rsi
add rdx, rax
mov rax, r9
imul rax, rbp
add rdx, rax
sar rdx, cl
mov ecx, r9d
add edx, dword [r10 + r8 + 0x1c]
mov dword [r8 + 0x1c], edx
sub rbx, 1
jne 0x1800ccfb0
jmp 0x1800ccc63
mov rax, qword [rsp + 0x88]
mov ecx, dword [rax - 0x18]
lea r11, [rax - 0x18]
movsxd rdi, dword [r8 + 0x18]
sub r10, rax
movsxd rsi, dword [r8 + 0x14]
movsxd rbp, dword [r8 + 0x10]
movsxd r14, dword [r8 + 0xc]
movsxd r15, dword [r8 + 8]
movsxd r12, dword [r8 + 4]
movsxd r13, dword [r8]
nop
movsxd r9, dword [r11 + 4]
mov r8, r11
add r11, 4
movsxd rdx, dword [r8 + 0x14]
movsxd rax, dword [r8 + 0x10]
imul rax, r12
imul rdx, r13
add rdx, rax
movsxd rax, dword [r8 + 0xc]
imul rax, r15
add rdx, rax
movsxd rax, dword [r8 + 8]
imul rax, r14
add rdx, rax
movsxd rax, dword [r8 - 4]
imul rax, rdi
add rdx, rax
mov rax, r9
imul rax, rbp
add rdx, rax
movsxd rax, ecx
mov ecx, dword [rsp + 0x80]
imul rax, rsi
add rdx, rax
sar rdx, cl
mov ecx, r9d
add edx, dword [r10 + r8 + 0x18]
mov dword [r8 + 0x18], edx
sub rbx, 1
jne 0x1800cd060
jmp 0x1800ccc63
mov rax, qword [rsp + 0x88]
jne 0x1800cd175
mov ecx, dword [rax - 0x14]
lea r11, [rax - 0x14]
movsxd rdi, dword [r8 + 0x14]
sub r10, rax
movsxd rsi, dword [r8 + 0x10]
movsxd rbp, dword [r8 + 0xc]
movsxd r14, dword [r8 + 8]
movsxd r15, dword [r8 + 4]
movsxd r12, dword [r8]
mov r13d, dword [rsp + 0x80]
nop dword [rax + rax]
movsxd r9, dword [r11 + 4]
mov r8, r11
add r11, 4
movsxd rdx, dword [r8 + 0x10]
movsxd rax, dword [r8 + 0xc]
imul rax, r15
imul rdx, r12
add rdx, rax
movsxd rax, dword [r8 + 8]
imul rax, r14
add rdx, rax
movsxd rax, dword [r8 - 4]
imul rax, rdi
add rdx, rax
mov rax, r9
imul rax, rbp
add rdx, rax
movsxd rax, ecx
imul rax, rsi
mov ecx, r13d
add rdx, rax
sar rdx, cl
mov ecx, r9d
add edx, dword [r10 + r8 + 0x14]
mov dword [r8 + 0x14], edx
sub rbx, 1
jne 0x1800cd110
jmp 0x1800ccc63
mov ecx, dword [rax - 0x10]
lea r11, [rax - 0x10]
movsxd rdi, dword [r8 + 0x10]
sub r10, rax
movsxd rsi, dword [r8 + 0xc]
movsxd rbp, dword [r8 + 8]
movsxd r14, dword [r8 + 4]
movsxd r15, dword [r8]
mov r12d, dword [rsp + 0x80]
nop word [rax + rax]
movsxd r9, dword [r11 + 4]
mov r8, r11
add r11, 4
movsxd rdx, dword [r8 + 0xc]
movsxd rax, dword [r8 + 8]
imul rax, r14
imul rdx, r15
add rdx, rax
movsxd rax, dword [r8 - 4]
imul rax, rdi
add rdx, rax
mov rax, r9
imul rax, rbp
add rdx, rax
movsxd rax, ecx
imul rax, rsi
mov ecx, r12d
add rdx, rax
sar rdx, cl
mov ecx, r9d
add edx, dword [r10 + r8 + 0x10]
mov dword [r8 + 0x10], edx
sub rbx, 1
jne 0x1800cd1a0
jmp 0x1800ccc63
cmp r9d, 2
jbe 0x1800cd2f4
mov rax, qword [rsp + 0x88]
sub r10, rax
mov ebx, edx
cmp r9d, 4
jne 0x1800cd28f
mov ecx, dword [rax - 0xc]
lea r11, [rax - 0xc]
movsxd rdi, dword [r8 + 0xc]
movsxd rsi, dword [r8 + 8]
movsxd rbp, dword [r8 + 4]
movsxd r14, dword [r8]
mov r15d, dword [rsp + 0x80]
nop word [rax + rax]
movsxd r9, dword [r11 + 4]
mov r8, r11
add r11, 4
movsxd rdx, dword [r8 + 8]
movsxd rax, dword [r8 - 4]
imul rdx, r14
imul rax, rdi
add rdx, rax
mov rax, r9
imul rax, rbp
add rdx, rax
movsxd rax, ecx
imul rax, rsi
mov ecx, r15d
add rdx, rax
sar rdx, cl
mov ecx, r9d
add edx, dword [r10 + r8 + 0xc]
mov dword [r8 + 0xc], edx
sub rbx, 1
jne 0x1800cd240
jmp 0x1800ccc63
mov ecx, dword [rax - 8]
lea r11, [rax - 8]
movsxd rdi, dword [r8 + 8]
movsxd rsi, dword [r8 + 4]
movsxd rbp, dword [r8]
mov r14d, dword [rsp + 0x80]
nop dword [rax]
movsxd r9, dword [r11 + 4]
mov r8, r11
add r11, 4
mov rax, r9
imul rax, rbp
movsxd rdx, dword [r8 - 4]
imul rdx, rdi
add rdx, rax
movsxd rax, ecx
imul rax, rsi
mov ecx, r14d
add rdx, rax
sar rdx, cl
mov ecx, r9d
add edx, dword [r10 + r8 + 8]
mov dword [r8 + 8], edx
sub rbx, 1
jne 0x1800cd2b0
jmp 0x1800ccc63
mov ecx, dword [rsp + 0x80]
jne 0x1800cd34c
mov rax, qword [rsp + 0x88]
movsxd r11, dword [r8 + 4]
sub r10, rax
movsxd rbx, dword [r8]
mov r9d, edx
lea r8, [rax - 4]
mov eax, dword [rax - 4]
nop dword [rax]
movsxd rdx, dword [r8 - 4]
lea r8, [r8 + 4]
cdqe
imul rax, rbx
imul rdx, r11
add rdx, rax
mov eax, dword [r10 + r8]
sar rdx, cl
add eax, edx
mov dword [r8], eax
sub r9, 1
jne 0x1800cd320
jmp 0x1800ccc63
mov r9, qword [rsp + 0x88]
movsxd r11, dword [r8]
sub r9, r10
mov r8d, edx
nop dword [rax]
movsxd rax, dword [r10 + r9 - 4]
lea r10, [r10 + 4]
imul rax, r11
sar rax, cl
add eax, dword [r10 - 4]
mov dword [r10 + r9 - 4], eax
sub r8, 1
jne 0x1800cd360
jmp 0x1800ccc63
mov rax, qword [rsp + 0x88]
lea ebx, [r9 - 0xd]
mov esi, dword [rsp + 0x80]
lea rbp, [0x180000000]
sub r10, rax
mov edi, edx
lea r11, [rax - 0x7c]
nop word [rax + rax]
xor r9d, r9d
cmp ebx, 0x13
ja case.default.0x1800cd3c6
mov ecx, dword [rbp + rbx*4 + 0xcd5c4]
add rcx, rbp
jmp rcx
movsxd r9, dword [r11 - 4]
movsxd rax, dword [r8 + 0x7c]
imul r9, rax
movsxd rcx, dword [r8 + 0x78]
movsxd rax, dword [r11]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 4]
movsxd rax, dword [r8 + 0x74]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 8]
movsxd rax, dword [r8 + 0x70]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0xc]
movsxd rax, dword [r8 + 0x6c]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x10]
movsxd rax, dword [r8 + 0x68]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x14]
movsxd rax, dword [r8 + 0x64]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x18]
movsxd rax, dword [r8 + 0x60]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x1c]
movsxd rax, dword [r8 + 0x5c]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x20]
movsxd rax, dword [r8 + 0x58]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x24]
movsxd rax, dword [r8 + 0x54]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x28]
movsxd rax, dword [r8 + 0x50]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x2c]
movsxd rax, dword [r8 + 0x4c]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x30]
movsxd rax, dword [r8 + 0x48]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x34]
movsxd rax, dword [r8 + 0x44]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x38]
movsxd rax, dword [r8 + 0x40]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x3c]
movsxd rax, dword [r8 + 0x3c]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x40]
movsxd rax, dword [r8 + 0x38]
imul rcx, rax
add r9, rcx
movsxd rcx, dword [r11 + 0x44]
movsxd rax, dword [r8 + 0x34]
imul rcx, rax
add r9, rcx
movsxd rax, dword [r8]
movsxd rdx, dword [r11 + 0x78]
movsxd rcx, dword [r11 + 0x70]
imul rdx, rax
movsxd rax, dword [r8 + 8]
imul rcx, rax
movsxd rax, dword [r8 + 0x10]
add rdx, rcx
movsxd rcx, dword [r11 + 0x68]
imul rcx, rax
movsxd rax, dword [r8 + 0x18]
add rdx, rcx
movsxd rcx, dword [r11 + 0x60]
imul rcx, rax
movsxd rax, dword [r8 + 0x20]
add rdx, rcx
movsxd rcx, dword [r11 + 0x58]
imul rcx, rax
movsxd rax, dword [r8 + 0x28]
add rdx, rcx
movsxd rcx, dword [r11 + 0x50]
imul rcx, rax
movsxd rax, dword [r8 + 0x30]
add rdx, rcx
movsxd rcx, dword [r11 + 0x48]
imul rcx, rax
movsxd rax, dword [r8 + 4]
add rdx, rcx
movsxd rcx, dword [r11 + 0x74]
imul rcx, rax
movsxd rax, dword [r8 + 0xc]
add rdx, rcx
movsxd rcx, dword [r11 + 0x6c]
imul rcx, rax
movsxd rax, dword [r8 + 0x14]
add rdx, rcx
movsxd rcx, dword [r11 + 0x64]
imul rcx, rax
movsxd rax, dword [r8 + 0x1c]
add rdx, rcx
movsxd rcx, dword [r11 + 0x5c]
imul rcx, rax
movsxd rax, dword [r8 + 0x24]
add rdx, rcx
movsxd rcx, dword [r11 + 0x54]
imul rcx, rax
movsxd rax, dword [r8 + 0x2c]
add rdx, rcx
movsxd rcx, dword [r11 + 0x4c]
imul rcx, rax
add r9, rcx
add r9, rdx
mov ecx, esi
sar r9, cl
add r9d, dword [r10 + r11 + 0x7c]
mov dword [r11 + 0x7c], r9d
add r11, 4
sub rdi, 1
jne 0x1800cd3b0
jmp 0x1800ccc77