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

Disassembly:
mov qword [rsp + 0x18], r8
push rdi
push r13
sub rsp, 0x68
cmp dword [rcx + 0x3c], 0
mov r11, r8
movsxd rdi, edx
mov r13, rcx
jne 0x180124846
mov rcx, rdi
add rcx, rcx
movsxd rax, dword [r8 + rcx*8 + 0x24]
test eax, eax
je 0x180124846
mov qword [rsp + 0x50], r12
imul rdx, rax, 0x38
add rdx, qword [r8 + rcx*8 + 0x28]
lea r8d, [rdi - 1]
movsxd rcx, r8d
mov r12d, dword [rdx - 0x30]
sub r12d, dword [rdx - 0x34]
inc r12d
test r8d, r8d
js 0x1801244d7
mov rax, rcx
lea rdx, [r11 + 0x24]
shl rax, 4
add rdx, rax
cmp dword [rdx], 0
jne 0x1801244d7
dec r8d
sub rdx, 0x10
sub rcx, 1
jns 0x1801244c5
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x58], rsi
test r8d, r8d
js 0x1801246b4
movsxd r9, r8d
xor edx, edx
add r9, 2
xor ebx, ebx
add r9, r9
movsxd r10, dword [r11 + r9*8 + 4]
test r10d, r10d
jle 0x18012466b
cmp r10d, 8
jb 0x18012466b
cmp dword [0x180191018], 2
jl 0x18012466b
mov rdx, qword [r11 + r9*8 + 8]
mov ecx, r10d
movaps xmmword [rsp + 0x30], xmm6
xorps xmm5, xmm5
movaps xmmword [rsp + 0x20], xmm7
xorps xmm6, xmm6
and ecx, 0x80000007
jge 0x180124547
dec ecx
or ecx, 0xfffffff8
inc ecx
movdqa xmm7, xmmword [0x18017a5d0]
mov eax, r10d
sub eax, ecx
movsxd rsi, eax
xor ecx, ecx
lea rax, [rdx + 0x74]
nop dword [rax]
movd xmm1, dword [rax + 0x38]
movdqa xmm4, xmm7
movd xmm0, dword [rax - 0x38]
add ebx, 8
movd xmm2, dword [rax]
add rcx, 8
movd xmm3, dword [rax - 0x70]
lea rax, [rax + 0x1c0]
punpckldq xmm3, xmm0
movd xmm0, dword [rax - 0x1f4]
punpckldq xmm2, xmm1
movd xmm1, dword [rax - 0x184]
punpcklqdq xmm3, xmm2
movd xmm2, dword [rax - 0x1bc]
psubd xmm4, xmm3
movd xmm3, dword [rax - 0x22c]
punpckldq xmm3, xmm0
movd xmm0, dword [rax - 0x118]
punpckldq xmm2, xmm1
movd xmm1, dword [rax - 0xa8]
punpcklqdq xmm3, xmm2
movd xmm2, dword [rax - 0xe0]
paddd xmm4, xmm3
movd xmm3, dword [rax - 0x150]
pmaxsd xmm5, xmm4
punpckldq xmm3, xmm0
movdqa xmm4, xmm7
movd xmm0, dword [rax - 0x114]
punpckldq xmm2, xmm1
movd xmm1, dword [rax - 0xa4]
punpcklqdq xmm3, xmm2
movd xmm2, dword [rax - 0xdc]
psubd xmm4, xmm3
movd xmm3, dword [rax - 0x14c]
punpckldq xmm3, xmm0
punpckldq xmm2, xmm1
punpcklqdq xmm3, xmm2
paddd xmm4, xmm3
pmaxsd xmm6, xmm4
cmp rcx, rsi
jl 0x180124560
movaps xmm7, xmmword [rsp + 0x20]
pmaxsd xmm5, xmm6
movaps xmm6, xmmword [rsp + 0x30]
movdqa xmm0, xmm5
psrldq xmm0, 8
pmaxsd xmm5, xmm0
movdqa xmm0, xmm5
psrldq xmm0, 4
pmaxsd xmm5, xmm0
movd edx, xmm5
movsxd rbx, ebx
cmp rbx, r10
jge 0x1801246aa
mov r9, qword [r11 + r9*8 + 8]
imul rax, rbx, 0x38
add r9, 4
add r9, rax
sub r10, rbx
nop word [rax + rax]
mov eax, dword [r9 + 4]
sub eax, dword [r9]
lea r9, [r9 + 0x38]
inc eax
cmp eax, edx
cmovle eax, edx
mov edx, eax
sub r10, 1
jne 0x180124690
cmp edx, r12d
jl 0x1801246b4
mov eax, r8d
jmp 0x1801246be
mov eax, 0xffffffff
mov r8d, edi
xor edx, edx
test eax, eax
movsxd rdi, r8d
cmovns r12d, edx
add rdi, 2
shl rdi, 4
add rdi, r11
cmp dword [rdi], 0
jne 0x180124834
lea ecx, [r8 + 1]
mov dword [rsp + 0x80], ecx
cmp ecx, dword [r11 + 0x1c]
jge 0x180124834
mov qword [rsp + 0x60], rbp
lea rsi, [r11 + 0x24]
movsxd rax, ecx
shl rax, 4
mov qword [rsp + 0x48], r14
add rsi, rax
mov qword [rsp + 0x40], r15
nop dword [rax]
cmp dword [rsi - 4], 0
jne 0x180124825
mov eax, dword [rsi]
sub eax, 1
movsxd r14, eax
js 0x180124804
imul rbp, r14, 0x38
nop dword [rax]
mov rax, qword [rsi + 4]
mov ecx, dword [rax + rbp + 8]
sub ecx, dword [rax + rbp + 4]
cmp ecx, r12d
jge 0x180124825
mov eax, dword [r13 + 0x3c]
test eax, eax
jne 0x180124825
mov eax, dword [rdi + 4]
mov r15, qword [rdi + 8]
inc eax
cdqe
imul rbx, rax, 0x38
call fcn.1800e74e0
test eax, eax
jne 0x18012481d
mov rdx, rbx
mov rcx, r15
call fcn.18002a5c0
mov rbx, rax
test rax, rax
je 0x18012481d
imul eax, dword [rdi + 4], 0x38
lea rcx, [rbx + 0x38]
mov rdx, rbx
movsxd r8, eax
call fcn.18013fe80
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
mov qword [rbx + 0x30], rax
mov qword [rdi + 8], rbx
mov eax, dword [r13 + 0x3c]
test eax, eax
jne 0x180124825
mov rax, qword [rsi + 4]
mov rcx, rbx
movups xmm0, xmmword [rax + rbp]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rax + rbp + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rax + rbp + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rax + rbp + 0x30]
sub rbp, 0x38
movsd qword [rbx + 0x30], xmm1
inc dword [rdi + 4]
dec dword [rsi]
sub r14, 1
jns 0x180124730
mov ecx, dword [rsp + 0x80]
mov r11, qword [rsp + 0x90]
inc ecx
add rsi, 0x10
mov dword [rsp + 0x80], ecx
cmp ecx, dword [r11 + 0x1c]
jl 0x180124710
jmp 0x180124825
mov dword [r13 + 0x3c], 7
mov r14, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x88]
mov r12, qword [rsp + 0x50]
add rsp, 0x68
pop r13
pop rdi
ret