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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbp
push rbx
push r13
lea rbp, [rax - 0x48]
sub rsp, 0x130
mov r13d, r8d
mov r11, rdx
mov rbx, rcx
test rcx, rcx
je 0x18005c33a
mov rcx, qword [rcx + 0x40d8]
test rcx, rcx
je 0x18005c33a
mov rcx, qword [rcx + 0xa8]
test rcx, rcx
je 0x18005c33a
mov qword [rax + 0x18], rsi
mov rdx, rcx
mov qword [rax - 0x20], rdi
mov esi, 0x1c0
mov qword [rax - 0x30], r14
mov r8d, esi
mov qword [rax - 0x38], r15
mov edi, 4
and edx, 3
je 0x18005b75c
mov eax, edi
sub rax, rdx
sub r8, rax
nop word [rax + rax]
mov byte [rcx], 0
inc rcx
sub rax, 1
jne 0x18005b750
mov rax, r8
shr rax, 2
xor r14d, r14d
nop word [rax + rax]
mov dword [rcx], r14d
add rcx, rdi
sub rax, 1
jne 0x18005b770
and r8d, 3
test r8, r8
je 0x18005b790
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rbp + 0x58]
mov r15, qword [rbx + 0x40d8]
mov r9d, dword [r15 + 0x48]
test r9d, 0x6000
jne 0x18005c2d9
mov rdi, qword [r15 + 0xa8]
lea rsi, [rbx + 0x168]
mov rax, qword [rsi]
bt r9d, 0xa
mov qword [rsp + 0x120], r12
mov r10, r14
movaps xmmword [rsp + 0x100], xmm6
lea r12, [r15 + 0x68]
movaps xmmword [rsp + 0xf0], xmm7
cmovae r10, rbx
movss xmm7, dword [rbx + 0x1e98]
mov edx, r13d
movaps xmmword [rsp + 0xe0], xmm8
mov rcx, rsi
movss xmm8, dword [rbx + 0x1e94]
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xc0], xmm10
mov qword [rbp - 0x80], r10
mov qword [rsp + 0x60], rax
call fcn.18005b5d0
mov qword [rbp + 0x50], rax
mov eax, r9d
movss xmm6, dword [rbp + 0x54]
and eax, 0x1002
cmp eax, 2
jne 0x18005b953
movss xmm4, dword [r15 + 0x4c]
movss xmm2, dword [r15 + 0x50]
test r9b, 0x58
je 0x18005b881
bt r9d, 0xd
jb 0x18005b881
test r11, r11
je 0x18005b881
movss xmm1, dword [rbx + 0x1df0]
mov rdx, qword [rsp + 0x60]
addss xmm1, xmm1
movss xmm0, dword [rbx + 0x1df8]
addss xmm0, xmm0
addss xmm1, dword [rdx + 8]
addss xmm1, xmm0
jmp 0x18005b889
mov rdx, qword [rsp + 0x60]
movaps xmm1, xmm6
mov ecx, dword [r10 + 0x104]
test r10, r10
je 0x18005b8db
cmp byte [r10 + 0x167], r14b
jne 0x18005b8db
movss xmm3, dword [r10 + 0x10c]
comiss xmm3, xmm4
jb 0x18005b8db
movaps xmm0, xmm4
addss xmm0, dword [r15 + 0x54]
comiss xmm0, xmm3
jbe 0x18005b8db
movss xmm0, dword [r10 + 0x110]
comiss xmm0, xmm2
jb 0x18005b8db
addss xmm1, xmm2
comiss xmm1, xmm0
jbe 0x18005b8db
mov eax, 1
cmp ecx, 1
je 0x18005b8de
mov eax, r14d
test ecx, ecx
je 0x18005b958
test eax, eax
je 0x18005b958
cmp dword [r10 + 0x108], r14d
jne 0x18005b958
addss xmm4, dword [r10 + 0x154]
movss dword [r15 + 0x4c], xmm4
addss xmm2, dword [r10 + 0x158]
movss dword [r15 + 0x50], xmm2
movss xmm1, dword [r10 + 0x110]
movss xmm0, dword [r10 + 0x154]
addss xmm0, dword [r10 + 0x10c]
addss xmm1, dword [r10 + 0x158]
movss dword [r10 + 0x10c], xmm0
movss dword [r10 + 0x110], xmm1
mov rax, qword [rbx + 0x180]
mov qword [rbx + 0x1a8], rax
jmp 0x18005b958
mov rdx, qword [rsp + 0x60]
movss xmm1, dword [rbp + 0x50]
mov dword [rdi], r13d
movaps xmm2, xmm1
mov eax, dword [r15 + 0x48]
addss xmm1, xmm1
mov dword [rdi + 4], eax
movups xmm0, xmmword [r15 + 0x4c]
movups xmmword [rdi + 8], xmm0
addss xmm2, xmm0
movss xmm0, dword [rdi + 0x10]
subss xmm0, xmm1
movss dword [rdi + 8], xmm2
movss dword [rdi + 0x10], xmm0
test byte [r15 + 0x48], 1
je 0x18005ba72
lea eax, [r13 - 1]
cmp eax, 0x7f
ja case.0x18005b9bf.1
lea r8, [0x180000000]
cdqe
movzx eax, byte [r8 + rax + 0x5c364]
mov ecx, dword [r8 + rax*4 + 0x5c348]
add rcx, r8
jmp rcx
movss xmm2, dword [rbx + 0x1e78]
jmp 0x18005b9fb
movss xmm2, dword [rbx + 0x1e80]
jmp 0x18005b9fb
movss xmm2, dword [rbx + 0x1e70]
jmp 0x18005b9fb
movss xmm2, dword [rbx + 0x1e6c]
jmp 0x18005b9fb
movss xmm2, dword [rbx + 0x1e74]
jmp 0x18005b9fb
movss xmm2, dword [rbx + 0x1e68]
movups xmm4, xmmword [rdi + 8]
movaps xmm3, xmm2
movss dword [rdi + 0x3c], xmm2
addss xmm3, xmm2
movaps xmmword [rsp + 0x40], xmm4
shufps xmm4, xmm4, 0xaa
comiss xmm3, xmm4
jbe 0x18005ba1c
movaps xmm4, xmm3
movss xmm5, dword [rsp + 0x4c]
comiss xmm3, xmm5
jbe 0x18005ba2a
movaps xmm5, xmm3
movss xmm1, dword [rsp + 0x40]
subss xmm4, xmm3
movss xmm0, dword [rsp + 0x44]
addss xmm1, xmm2
addss xmm0, xmm2
subss xmm5, xmm3
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm0
shufps xmm1, xmm1, 0xc6
movss xmm1, xmm4
shufps xmm1, xmm1, 0x27
movss xmm1, xmm5
shufps xmm1, xmm1, 0x39
movups xmmword [rdi + 8], xmm1
movss xmm2, dword [rdi + 8]
movups xmmword [rsp + 0x40], xmm1
jmp 0x18005ba76
mov dword [rdi + 0x3c], r14d
mov eax, dword [rdi + 0xc]
mov dword [rdi + 0x2c], eax
movss dword [rdi + 0x28], xmm2
mov qword [rdi + 0x30], r14
mov dword [rdi + 0x38], r14d
mov rcx, qword [rbx + 0x40d8]
test rcx, rcx
je 0x18005bad8
mov rcx, qword [rcx + 0xa8]
test rcx, rcx
je 0x18005bad8
mov rax, qword [rsi]
movss xmm0, dword [rax + 8]
movss dword [rcx + 0x7c], xmm0
movss xmm1, dword [rbx + 0x1c4]
addss xmm1, xmm1
addss xmm1, xmm0
movss dword [rcx + 0x7c], xmm1
movss xmm0, dword [rbx + 0x1e84]
addss xmm0, xmm0
addss xmm0, xmm1
movss dword [rcx + 0x7c], xmm0
movss dword [rdi + 0x78], xmm6
mov dword [rdi + 0x74], r14d
mov dword [rdi + 0x80], r14d
mov qword [rdi + 0x88], r14
mov dword [rdi + 0x90], r14d
mov dword [rdi + 0xb0], r14d
mov dword [rdi + 0x40], 1
test byte [r15 + 0x48], 0x20
jne 0x18005bb1a
movss xmm0, dword [rdi + 0x10]
subss xmm0, xmm8
movss dword [rdi + 0x10], xmm0
xorps xmm10, xmm10
test r13b, 0xf0
jne 0x18005bb4b
mov dword [rdi + 0x34], r14d
xorps xmm1, xmm1
mov eax, dword [r15 + 0x48]
and al, 0x24
cmp al, 0x20
je 0x18005bb3d
movss dword [rdi + 0x34], xmm7
movaps xmm1, xmm7
movss xmm0, dword [rdi + 0x14]
subss xmm0, xmm1
movss dword [rdi + 0x14], xmm0
mov eax, dword [r15 + 0x48]
test al, 0x58
je 0x18005c0b2
bt eax, 0xd
jb 0x18005c0b2
test r11, r11
je 0x18005c0b2
movss xmm6, dword [rbx + 0x1df0]
movss xmm0, dword [rbx + 0x1df8]
addss xmm6, xmm6
movss xmm8, dword [r15 + 0x4c]
addss xmm0, xmm0
movss xmm7, dword [r15 + 0x54]
movss xmm1, dword [rdi + 0x14]
movaps xmmword [rsp + 0xb0], xmm11
addss xmm6, dword [rdx + 8]
movss xmm11, dword [r15 + 0x50]
addss xmm6, xmm0
movaps xmm0, xmm6
movss dword [rdi + 0x38], xmm6
addss xmm0, dword [rdi + 0xc]
subss xmm1, xmm6
movss dword [rdi + 0xc], xmm0
movaps xmm0, xmm6
addss xmm0, dword [rdi + 0x2c]
movss dword [rdi + 0x14], xmm1
movss dword [rdi + 0x2c], xmm0
cmp qword [rbx + 0x40d0], r15
jne 0x18005bbed
mov eax, dword [rbx + 0x1de4]
mov dword [rsp + 0x5c], eax
mov eax, 0x1c50
jmp 0x18005bc43
movss xmm1, dword [rbx + 0x144]
comiss xmm1, xmm8
jb 0x18005bc34
movaps xmm0, xmm7
addss xmm0, xmm8
comiss xmm0, xmm1
jbe 0x18005bc34
movss xmm1, dword [rbx + 0x148]
comiss xmm1, xmm11
jb 0x18005bc34
movaps xmm0, xmm11
addss xmm0, xmm6
comiss xmm0, xmm1
jbe 0x18005bc34
mov eax, dword [rbx + 0x1de0]
mov dword [rsp + 0x5c], eax
mov eax, 0x1c30
jmp 0x18005bc43
mov eax, dword [rbx + 0x1ddc]
mov dword [rsp + 0x5c], eax
mov eax, 0x1c10
cmp dword [rax + rbx], 1
lea rcx, [rax + rbx]
addss xmm6, dword [0x18009618c]
movss dword [rsp + 0x40], xmm8
lea rdx, [rsp + 0x40]
movss dword [rsp + 0x44], xmm11
movss dword [rsp + 0x48], xmm7
movss dword [rsp + 0x4c], xmm6
jne 0x18005bc94
mov r9d, dword [0x1800929c0]
lea r8, [rcx + 8]
mov eax, r14d
mov dword [rbp + 0x50], r14d
mov rcx, r12
mov dword [rsp + 0x58], eax
call fcn.18004c460
jmp 0x18005bca9
mov eax, dword [rcx + 8]
xorps xmm2, xmm2
mov r9d, eax
mov dword [rsp + 0x58], eax
mov rcx, r12
call fcn.18004c010
test byte [r15 + 0x48], 8
movss xmm0, dword [rbx + 0x1df0]
movaps xmm9, xmm0
addss xmm0, xmm0
addss xmm9, xmm11
subss xmm6, xmm0
je 0x18005be26
cmp dword [rbx + 0x1de8], 1
movaps xmm2, xmm6
addss xmm2, dword [rbx + 0x1dfc]
movss xmm3, dword [rbx + 0x1dec]
movaps xmm1, xmm8
mov dword [rbp + 0x50], r14d
addss xmm2, xmm3
jne 0x18005bd0a
addss xmm1, xmm7
movaps xmm0, xmm6
addss xmm0, xmm3
subss xmm7, xmm2
subss xmm1, xmm0
jmp 0x18005bd20
addss xmm1, xmm3
addss xmm8, xmm2
nop dword [rax]
nop word [rax + rax]
mov r13, qword [rsi]
lea rsi, [rbx + 0x1c70]
mov eax, dword [rbx + 0x1dd0]
mov dword [rbp + 0x68], eax
movss dword [rsp + 0x40], xmm1
movss dword [rsp + 0x44], xmm9
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm6
test r12, r12
je 0x18005be1f
test rsi, rsi
je 0x18005be1f
test r13, r13
je 0x18005be1f
movaps xmm0, xmmword [rsp + 0x40]
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x70]
mov rax, qword [rbp - 0x80]
lea rcx, [rbp + 0x50]
mov dword [rsp + 0x28], r14d
mov r9, rsi
mov rdx, r12
mov qword [rsp + 0x20], rax
movdqa xmmword [rsp + 0x70], xmm0
call fcn.18005f830
mov dword [rsp + 0x70], eax
mov rax, qword [rsi + 0xa0]
test rax, rax
je 0x18005bdb9
mov rdx, qword [rsi + 0x98]
mov rcx, r12
call rax
mov eax, dword [rbp + 0x68]
lea r8, [rbp - 0x70]
mov r9d, dword [rbp + 0x50]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], r13
mov rcx, r12
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
call fcn.18005fb60
mov rax, qword [rsi + 0xa8]
test rax, rax
je 0x18005bdf7
mov rdx, qword [rsi + 0x98]
mov rcx, r12
call rax
cmp dword [rsp + 0x70], r14d
je 0x18005be1f
test dword [r15 + 0x48], 0x1000
lea rsi, [rbx + 0x168]
jne 0x18005be26
mov eax, dword [rdi + 4]
btr eax, 0xf
bts eax, 0xd
mov dword [rdi + 4], eax
jmp 0x18005be26
lea rsi, [rbx + 0x168]
mov eax, dword [r15 + 0x48]
test al, 0x10
je 0x18005bfaf
cmp dword [rbx + 0x1de8], 1
mov dword [rbp + 0x50], r14d
jne 0x18005be70
movaps xmm1, xmm7
addss xmm1, xmm8
subss xmm1, xmm6
test al, 8
jne 0x18005be5f
movss xmm0, dword [rbx + 0x1dec]
subss xmm1, xmm0
subss xmm7, xmm0
movaps xmm0, xmm6
addss xmm0, dword [rbx + 0x1dfc]
subss xmm7, xmm0
jmp 0x18005be8c
movaps xmm0, xmm6
movaps xmm1, xmm8
addss xmm0, dword [rbx + 0x1dfc]
addss xmm0, dword [rbx + 0x1dec]
addss xmm8, xmm0
test dword [rdi + 4], 0x8000
mov rax, qword [rsi]
lea rsi, [rbx + 0x1d20]
mov qword [rsp + 0x70], rax
je 0x18005bead
mov r13d, dword [rbx + 0x1dd8]
jmp 0x18005bec0
mov r13d, dword [rbx + 0x1dd4]
nop dword [rax]
nop dword [rax + rax]
movss dword [rsp + 0x40], xmm1
movss dword [rsp + 0x44], xmm9
movss dword [rsp + 0x48], xmm6
movss dword [rsp + 0x4c], xmm6
test r12, r12
je 0x18005bfaf
test rsi, rsi
je 0x18005bfaf
test rax, rax
je 0x18005bfaf
movaps xmm0, xmmword [rsp + 0x40]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x30], rax
lea r8, [rbp - 0x70]
mov rax, qword [rbp - 0x80]
lea rcx, [rbp + 0x50]
mov dword [rsp + 0x28], r14d
mov r9, rsi
mov rdx, r12
mov qword [rsp + 0x20], rax
movdqa xmmword [rbp - 0x70], xmm0
call fcn.18005f830
mov dword [rbp + 0x68], eax
mov rax, qword [rsi + 0xa0]
test rax, rax
je 0x18005bf43
mov rdx, qword [rsi + 0x98]
mov rcx, r12
call rax
mov rax, qword [rsp + 0x70]
lea r8, [rbp - 0x60]
mov r9d, dword [rbp + 0x50]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov rcx, r12
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rsi
call fcn.18005fb60
mov rax, qword [rsi + 0xa8]
test rax, rax
je 0x18005bf84
mov rdx, qword [rsi + 0x98]
mov rcx, r12
call rax
cmp dword [rbp + 0x68], r14d
je 0x18005bfaf
test dword [r15 + 0x48], 0x1000
jne 0x18005bfaf
mov edx, dword [rdi + 4]
mov eax, edx
mov ecx, edx
bts eax, 0xf
btr edx, 0xf
and ecx, 0x8000
cmove edx, eax
mov dword [rdi + 4], edx
mov r13, qword [rbp + 0x58]
mov esi, r14d
mov rcx, r13
nop dword [rax]
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18005bfd1
inc esi
test rcx, rcx
jne 0x18005bfc0
mov rcx, qword [rsp + 0x60]
mov r9d, esi
mov r8, r13
mov rax, qword [rcx + 0x10]
movss xmm1, dword [rcx + 8]
mov rcx, qword [rcx]
call rax
movss xmm2, dword [rbx + 0x1df8]
addss xmm7, xmm8
movss xmm1, dword [rbx + 0x1dfc]
movaps xmm4, xmm2
mov rax, qword [rsp + 0x60]
addss xmm1, xmm1
movaps xmm3, xmm8
mov qword [rsp + 0x50], r14
addss xmm3, dword [rbx + 0x1dec]
addss xmm2, xmm2
addss xmm4, xmm11
movaps xmm11, xmmword [rsp + 0xb0]
addss xmm1, xmm0
addss xmm3, dword [rbx + 0x1df4]
addss xmm2, dword [rax + 8]
subss xmm7, xmm3
comiss xmm7, xmm1
jbe 0x18005c04d
movaps xmm0, xmm1
jmp 0x18005c050
movaps xmm0, xmm7
comiss xmm10, xmm0
jbe 0x18005c05c
movaps xmm1, xmm10
jmp 0x18005c070
comiss xmm7, xmm1
ja 0x18005c070
movaps xmm1, xmm7
nop dword [rax]
nop dword [rax + rax]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x40]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], 0x11
mov r9d, esi
mov qword [rsp + 0x20], rax
mov r8, r13
movss dword [rsp + 0x40], xmm3
mov rcx, r12
movss dword [rsp + 0x44], xmm4
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x4c], xmm2
call fcn.18005ef90
test dword [rdi + 4], 0x8800
jne 0x18005c12d
cmp dword [rbx + 0x1e08], 1
lea rdx, [rsp + 0x40]
movss xmm0, dword [rdi + 0x38]
mov rcx, r12
movss xmm2, dword [r15 + 0x58]
movaps xmm1, xmm0
addss xmm1, dword [r15 + 0x50]
movss xmm3, dword [r15 + 0x4c]
subss xmm2, xmm0
movss xmm4, dword [r15 + 0x54]
movss dword [rsp + 0x40], xmm3
movss dword [rsp + 0x48], xmm4
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x4c], xmm2
jne 0x18005c11d
mov r9d, dword [0x1800929c0]
lea r8, [rbx + 0x1e10]
call fcn.18004c460
jmp 0x18005c12d
mov r9d, dword [rbx + 0x1e10]
movaps xmm2, xmm10
call fcn.18004c010
movups xmm0, xmmword [rdi + 8]
movups xmmword [rdi + 0x44], xmm0
movss xmm9, dword [rdi + 0x44]
movss xmm7, dword [r15 + 0x70]
movaps xmm0, xmm9
movss xmm8, dword [rdi + 0x48]
maxss xmm9, xmm7
movss xmm6, dword [r15 + 0x74]
movaps xmm1, xmm8
addss xmm0, dword [rdi + 0x4c]
addss xmm7, dword [r15 + 0x78]
addss xmm1, dword [rdi + 0x50]
maxss xmm8, xmm6
movss dword [rsp + 0x50], xmm9
comiss xmm0, xmm7
movss dword [rsp + 0x54], xmm8
ja 0x18005c185
movaps xmm7, xmm0
addss xmm6, dword [r15 + 0x7c]
subss xmm7, xmm9
comiss xmm1, xmm6
movss dword [rsp + 0x58], xmm7
ja 0x18005c19e
movaps xmm6, xmm1
comiss xmm7, xmm10
subss xmm6, xmm8
movss dword [rsp + 0x5c], xmm6
ja 0x18005c1b9
movaps xmm7, xmm10
movss dword [rsp + 0x58], xmm7
comiss xmm6, xmm10
ja 0x18005c1c9
movaps xmm6, xmm10
movss dword [rsp + 0x5c], xmm6
test r12, r12
je 0x18005c263
mov edx, 1
movss dword [r12 + 8], xmm9
mov rcx, r12
movss dword [r12 + 0xc], xmm8
movss dword [r12 + 0x10], xmm7
movss dword [r12 + 0x14], xmm6
lea r8d, [rdx + 0x1f]
call fcn.18004be00
mov r8, rax
test rax, rax
je 0x18005c263
cvttss2si eax, xmm9
maxss xmm7, xmm10
movsx ecx, ax
maxss xmm6, xmm10
cvttss2si eax, xmm8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movsx ecx, ax
cvttss2si eax, xmm7
movss dword [r8 + 0x10], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx ecx, ax
movss dword [r8 + 0x14], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm6
movss dword [r8 + 0x18], xmm0
movzx edx, cx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [r8 + 0x1c], xmm0
test dword [rdi + 4], 0xa000
movups xmm0, xmmword [rsp + 0x50]
sete r14b
mov r12, qword [rsp + 0x120]
movaps xmm10, xmmword [rsp + 0xc0]
mov eax, r14d
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
movups xmmword [rdi + 0x44], xmm0
mov r14, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x160]
mov r15, qword [rsp + 0x110]
add rsp, 0x130
pop r13
pop rbx
pop rbp
ret
mov rcx, qword [r15 + 0xa8]
mov rax, rcx
and eax, 3
je 0x18005c2fc
sub rdi, rax
sub rsi, rdi
nop
mov byte [rcx], r14b
inc rcx
sub rdi, 1
jne 0x18005c2f0
mov rax, rsi
shr rax, 2
mov dword [rcx], r14d
add rcx, 4
sub rax, 1
jne 0x18005c303
and esi, 3
test rsi, rsi
je 0x18005c322
mov r8d, esi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rbx + 0x40d8]
mov rcx, qword [rax + 0xa8]
xor eax, eax
mov dword [rcx], r13d
jmp 0x18005c2ad
xor eax, eax
add rsp, 0x130
pop r13
pop rbx
pop rbp
ret