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

Disassembly:
mov rax, rsp
sub rsp, 0x58
mov r10, rcx
test edx, edx
jle 0x1803631eb
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax - 8], rdi
cmp r9d, 0xc
ja 0x1803638e4
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
cmp r9d, 8
jbe 0x1803634b2
mov ebx, edx
cmp r9d, 0xa
jbe 0x1803632ed
cmp r9d, 0xc
jne 0x1803631f0
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 0x180363110
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 0x180363241
jmp 0x1803631c3
jne 0x1803633df
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 0x180363340
jmp 0x1803631c3
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 0x180363420
jmp 0x1803631c3
cmp r9d, 4
jbe 0x18036375a
mov ebx, edx
cmp r9d, 6
jbe 0x180363634
cmp r9d, 8
jne 0x180363591
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 0x180363510
jmp 0x1803631c3
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 0x1803635c0
jmp 0x1803631c3
mov rax, qword [rsp + 0x88]
jne 0x1803636d5
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 0x180363670
jmp 0x1803631c3
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 0x180363700
jmp 0x1803631c3
cmp r9d, 2
jbe 0x180363854
mov rax, qword [rsp + 0x88]
sub r10, rax
mov ebx, edx
cmp r9d, 4
jne 0x1803637ef
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 0x1803637a0
jmp 0x1803631c3
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 0x180363810
jmp 0x1803631c3
mov ecx, dword [rsp + 0x80]
jne 0x1803638ac
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 0x180363880
jmp 0x1803631c3
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 0x1803638c0
jmp 0x1803631c3
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.0x180363926
mov ecx, dword [rbp + rbx*4 + 0x363b24]
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 0x180363910
jmp 0x1803631d7