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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x18007c040]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov r13, r9
mov rdi, r8
movzx r12d, cl
mov rbx, qword [0x1801ccb78]
mov r15, rbx
mov rax, qword [rbx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov r14, qword [rbx + 0x3eb0]
cmp byte [r14 + 0xb3], 0
jne 0x18003bea4
movsxd r8, dword [r14 + 0xe8]
mov rax, qword [r14 + 0xf0]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
mov rcx, rdi
call fcn.18000ebb0
mov esi, eax
cmp dword [rbx + 0x3ef8], eax
jne 0x18003b4ad
mov r8, rdi
mov edx, 0xb
mov ecx, eax
call fcn.180025810
mov rbx, qword [0x1801ccb78]
mov rcx, rdi
cmp rdi, 0xffffffffffffffff
jae 0x18003b4d3
movzx edx, byte [rcx]
test dl, dl
je 0x18003b4d3
lea rax, [rcx + 1]
cmp dl, 0x23
jne 0x18003b4ca
cmp byte [rax], dl
je 0x18003b4d3
mov rcx, rax
cmp rax, 0xffffffffffffffff
jb 0x18003b4b6
movss xmm0, dword [rbx + 0x3c10]
movss xmm10, dword [0x1800746d4]
movss xmm12, dword [0x1800746b4]
xorps xmm11, xmm11
cmp rdi, rcx
jne 0x18003b4fb
xorps xmm2, xmm2
jmp 0x18003b543
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm10
movaps xmm3, xmm12
movaps xmm2, xmm0
lea rdx, [rsp + 0x58]
mov rcx, qword [rbx + 0x3c08]
call fcn.1800350f0
movss xmm0, dword [rsp + 0x58]
addss xmm0, dword [0x18007453c]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss xmm0, dword [rsp + 0x5c]
movss xmm6, dword [r14 + 0xf8]
movss xmm7, dword [r14 + 0xfc]
movaps xmm3, xmm0
mov rdx, qword [r13]
lea rcx, [rsp + 0x58]
call fcn.18001dee0
movss xmm1, dword [rsp + 0x5c]
addss xmm1, xmm7
movss xmm0, dword [rsp + 0x58]
addss xmm0, xmm6
movss dword [rbp - 0x30], xmm6
movss dword [rbp - 0x2c], xmm7
movss dword [rbp - 0x28], xmm0
movss dword [rbp - 0x24], xmm1
movss xmm4, dword [r13 + 4]
movaps xmm0, xmm4
addss xmm0, dword [0x1800745f4]
movss xmm9, dword [0x180074504]
mulss xmm0, xmm9
movaps xmm3, xmm7
addss xmm3, xmm0
movaps xmm2, xmm6
addss xmm2, dword [0x1800745fc]
subss xmm4, dword [0x1800745f4]
mulss xmm4, xmm9
addss xmm7, xmm4
addss xmm6, dword [0x1800745a0]
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm7
movss dword [rbp - 0x68], xmm2
movss dword [rbp - 0x64], xmm3
xorps xmm1, xmm1
lea rcx, [rsp + 0x58]
call fcn.18001d9e0
xor r9d, r9d
xor r8d, r8d
mov edx, esi
lea rcx, [rbp - 0x30]
call fcn.18001db50
test al, al
je 0x18003bea4
xor ebx, ebx
mov dword [rsp + 0x20], ebx
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x38]
mov edx, esi
lea rcx, [rbp - 0x30]
call fcn.18003c500
mov byte [rsp + 0x50], al
mov edx, dword [0x1801cca10]
mov rcx, qword gs:[0x58]
mov eax, 4
mov rcx, qword [rcx + rdx*8]
mov ecx, dword [rax + rcx]
cmp dword [0x1801ccf50], ecx
jle 0x18003b6b0
lea rcx, [0x1801ccf50]
call fcn.180052cc8
cmp dword [0x1801ccf50], 0xffffffff
jne 0x18003b6b0
mov qword [0x1801ccf58], rbx
mov qword [0x1801ccf60], rbx
mov ecx, 0x48
call fcn.1800525e0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x1801ccf58], rax
lea rcx, [0x1800541e0]
call fcn.1800529b0
nop
lea rcx, [0x1801ccf50]
call fcn.180052c5c
mov r14, qword [0x1801ccf58]
mov rax, qword [r14 + 8]
mov rbx, r14
movzx edx, byte [rax + 0x19]
test dl, dl
jne 0x18003b6e7
mov rcx, rax
nop dword [rax]
cmp dword [rcx + 0x1c], esi
jae 0x18003b6db
mov rcx, qword [rcx + 0x10]
jmp 0x18003b6e1
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x18003b6d0
cmp byte [rbx + 0x19], 0
jne 0x18003b6f2
cmp esi, dword [rbx + 0x1c]
jae 0x18003b6f5
mov rbx, r14
cmp rbx, r14
jne 0x18003b815
xorps xmm0, xmm0
xorps xmm1, xmm1
mov dword [rbp - 0x60], esi
movups xmmword [rbp - 0x5c], xmm0
movups xmmword [rbp - 0x4c], xmm1
movss dword [rbp - 0x3c], xmm11
mov qword [rsp + 0x68], rax
xor r8d, r8d
mov dword [rsp + 0x70], r8d
mov rcx, r14
test dl, dl
jne 0x18003b759
nop dword [rax]
mov qword [rsp + 0x68], rax
cmp dword [rax + 0x1c], esi
jae 0x18003b745
mov dword [rsp + 0x70], r8d
mov rax, qword [rax + 0x10]
jmp 0x18003b753
mov dword [rsp + 0x70], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x18003b730
cmp byte [rcx + 0x19], r8b
jne 0x18003b764
cmp esi, dword [rcx + 0x1c]
jae 0x18003b7df
movabs rax, 0x38e38e38e38e38e
cmp qword [0x1801ccf60], rax
je 0x18003bef6
lea rbx, [0x1801ccf58]
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], r8
mov ecx, 0x48
call fcn.1800525e0
nop
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rax + 0x1c], xmm0
movups xmm1, xmmword [rbp - 0x50]
movups xmmword [rax + 0x2c], xmm1
movsd xmm0, qword [rbp - 0x40]
movsd qword [rax + 0x3c], xmm0
mov qword [rax], r14
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
mov word [rax + 0x18], 0
movups xmm0, xmmword [rsp + 0x68]
movaps xmmword [rbp - 0x80], xmm0
mov r8, rax
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.180052310
mov r14, qword [0x1801ccf58]
mov rax, qword [r14 + 8]
mov rbx, r14
cmp byte [rax + 0x19], 0
jne 0x18003b807
nop dword [rax]
cmp dword [rax + 0x1c], esi
jae 0x18003b7fb
mov rax, qword [rax + 0x10]
jmp 0x18003b801
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18003b7f0
cmp byte [rbx + 0x19], 0
jne 0x18003b812
cmp esi, dword [rbx + 0x1c]
jae 0x18003b815
mov rbx, r14
movss xmm1, dword [r15 + 0x18]
movss xmm4, dword [0x1800745b0]
mulss xmm1, xmm4
movss xmm8, dword [0x180074544]
test r12b, r12b
je 0x18003b83b
movaps xmm3, xmm8
jmp 0x18003b83f
movaps xmm3, xmm11
subss xmm3, dword [rbx + 0x40]
mulss xmm3, xmm1
addss xmm3, dword [rbx + 0x40]
movss dword [rbx + 0x40], xmm3
movss xmm2, dword [r15 + 0x18]
mulss xmm2, xmm4
shufps xmm2, xmm2, 0
lea rdx, [0x1801cce60]
lea rax, [0x1801cce70]
test r12b, r12b
je 0x18003b87c
lea rcx, [0x1801cd0b8]
jmp 0x18003b887
mov rcx, rax
cmp byte [rbp - 0x38], 0
cmovne rcx, rdx
movups xmm0, xmmword [rbx + 0x20]
movups xmm1, xmmword [rcx]
subps xmm1, xmm0
mulps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [rbx + 0x20], xmm1
movss xmm1, dword [r15 + 0x18]
mulss xmm1, xmm4
shufps xmm1, xmm1, 0
test r12b, r12b
je 0x18003b8b7
lea rax, [0x1801cce98]
jmp 0x18003b8bf
cmp byte [rbp - 0x38], 0
cmovne rax, rdx
movups xmm0, xmmword [rbx + 0x30]
movups xmm2, xmmword [rax]
subps xmm2, xmm0
mulps xmm2, xmm1
addps xmm2, xmm0
movups xmmword [rbx + 0x30], xmm2
movaps xmm1, xmm3
xor ecx, ecx
call fcn.18000f590
mov r8, qword [0x1801ccb78]
mov rax, qword [r8 + 0x3eb0]
mov byte [rax + 0xb0], 1
movss xmm0, dword [0x1801cd098]
movss dword [rsp + 0x68], xmm0
movss xmm1, dword [0x1801cd09c]
movss dword [rsp + 0x6c], xmm1
movss xmm0, dword [0x1801cd0a0]
movss dword [rsp + 0x70], xmm0
movss xmm1, dword [0x1801cd0a4]
mulss xmm1, dword [r8 + 0x37e0]
movss dword [rsp + 0x74], xmm1
lea rcx, [rsp + 0x68]
call fcn.18000f000
mov r9d, eax
mov rcx, qword [r8 + 0x3eb0]
xor r12d, r12d
mov dword [rsp + 0x28], r12d
movss xmm0, dword [0x1800745b0]
movss dword [rsp + 0x20], xmm0
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x30]
mov rcx, qword [rcx + 0x2a0]
call fcn.180030d10
mov r8, qword [0x1801ccb78]
mov rax, qword [r8 + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [r8 + 0x3eb0]
mov rsi, qword [rax + 0x2a0]
movss xmm0, dword [0x1801cd0a8]
movss dword [rsp + 0x68], xmm0
movss xmm1, dword [0x1801cd0ac]
movss dword [rsp + 0x6c], xmm1
movss xmm0, dword [0x1801cd0b0]
movss dword [rsp + 0x70], xmm0
movss xmm1, dword [0x1801cd0b4]
mulss xmm1, dword [r8 + 0x37e0]
movss dword [rsp + 0x74], xmm1
lea rcx, [rsp + 0x68]
call fcn.18000f000
mov r14d, eax
test eax, 0xff000000
je 0x18003bacf
movss xmm0, dword [rbp - 0x28]
mov dword [rsp + 0x20], r12d
movss xmm3, dword [0x1800745b0]
mov rcx, rsi
test byte [rsi + 0x30], 1
je 0x18003ba4f
subss xmm0, xmm9
movss dword [rsp + 0x58], xmm0
movss xmm1, dword [rbp - 0x24]
subss xmm1, xmm9
movss dword [rsp + 0x5c], xmm1
movss xmm0, dword [rbp - 0x30]
addss xmm0, xmm9
movss dword [rsp + 0x68], xmm0
movss xmm1, dword [rbp - 0x2c]
addss xmm1, xmm9
movss dword [rsp + 0x6c], xmm1
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x68]
jmp 0x18003ba9a
subss xmm0, dword [0x180074500]
movss dword [rsp + 0x68], xmm0
movss xmm0, dword [rbp - 0x24]
subss xmm0, dword [0x180074500]
movss dword [rsp + 0x6c], xmm0
movss xmm1, dword [rbp - 0x30]
addss xmm1, xmm9
movss dword [rsp + 0x58], xmm1
movss xmm0, dword [rbp - 0x2c]
addss xmm0, xmm9
movss dword [rsp + 0x5c], xmm0
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x58]
call fcn.180030670
movss dword [rsp + 0x28], xmm8
mov dword [rsp + 0x20], 1
mov r9d, r14d
mov r8d, dword [rsi + 0x78]
mov rdx, qword [rsi + 0x80]
mov rcx, rsi
call fcn.18002e7e0
mov dword [rsi + 0x78], r12d
mov r8, qword [0x1801ccb78]
mov rax, qword [r8 + 0x3eb0]
mov byte [rax + 0xb0], 1
movss xmm0, dword [0x1801cd0b8]
movss dword [rbp - 0x80], xmm0
movss xmm1, dword [0x1801cd0bc]
movss dword [rbp - 0x7c], xmm1
movss xmm0, dword [0x1801cd0c0]
movss dword [rbp - 0x78], xmm0
movss xmm1, dword [0x1801cd0c4]
mulss xmm1, dword [r8 + 0x37e0]
movss dword [rbp - 0x74], xmm1
movss xmm0, dword [rbp - 0x28]
subss xmm0, xmm11
movss dword [rsp + 0x68], xmm0
movss xmm1, dword [rbp - 0x24]
subss xmm1, dword [0x1800745b0]
movss dword [rsp + 0x6c], xmm1
movss xmm0, dword [r13]
subss xmm0, dword [0x18007459c]
addss xmm0, dword [rbp - 0x30]
movss dword [rsp + 0x58], xmm0
movss xmm0, dword [rbp - 0x2c]
addss xmm0, dword [0x1800745b0]
movss dword [rsp + 0x5c], xmm0
lea rcx, [rbp - 0x80]
call fcn.18000f000
mov r9d, eax
mov rcx, qword [r8 + 0x3eb0]
mov dword [rsp + 0x28], 0x50
movss xmm0, dword [0x180074600]
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x58]
mov rcx, qword [rcx + 0x2a0]
call fcn.180030d10
mov ecx, 1
call fcn.18000f6a0
mov r8, qword [0x1801ccb78]
mov rax, qword [r8 + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [r8 + 0x3eb0]
mov rsi, qword [rax + 0x2a0]
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x37e0]
movss dword [rbp - 0x74], xmm0
lea rcx, [rbp - 0x80]
call fcn.18000f000
mov r15d, eax
mov dword [rsp + 0x68], 0x3f800000
mov dword [rsp + 0x6c], 0x3f800000
mov qword [rsp + 0x58], r12
test eax, 0xff000000
je 0x18003bc9f
mov r14, qword [rsi + 0x98]
test r14, r14
je 0x18003bc31
xor edx, edx
mov rcx, rsi
call fcn.18002e4f0
mov edx, 6
mov r8d, 4
mov rcx, rsi
call fcn.18002e570
mov dword [rsp + 0x28], r15d
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x70]
mov rcx, rsi
call fcn.18002e690
test r14, r14
je 0x18003bc98
movsxd rcx, dword [rsi + 0x68]
lea eax, [rcx - 1]
mov dword [rsi + 0x68], eax
test eax, eax
jne 0x18003bc80
mov rax, r12
jmp 0x18003bc89
mov rax, qword [rsi + 0x70]
mov rax, qword [rax + rcx*8 - 0x10]
mov qword [rsi + 0x98], rax
mov rcx, rsi
call fcn.18002e2b0
mov r8, qword [0x1801ccb78]
movups xmm0, xmmword [rbx + 0x30]
movups xmmword [rbp - 0x80], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x37e0]
movss dword [rbp - 0x74], xmm0
lea rcx, [rbp - 0x80]
call fcn.18000f000
mov r14d, eax
movss xmm0, dword [r8 + 0x3c10]
test rdi, rdi
je 0x18003bd02
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rdi
movss dword [rsp + 0x20], xmm10
movaps xmm3, xmm12
movaps xmm2, xmm0
lea rdx, [rsp + 0x68]
mov rcx, qword [r8 + 0x3c08]
call fcn.1800350f0
movss xmm0, dword [rsp + 0x6c]
movss xmm10, dword [rbp - 0x30]
addss xmm10, dword [0x180074604]
movss xmm7, dword [r13 + 4]
subss xmm7, xmm0
mulss xmm7, xmm9
addss xmm7, dword [rbp - 0x2c]
mov r15, qword [0x1801ccb20]
mov rcx, r15
call fcn.18001ae40
mov esi, r12d
movaps xmm6, xmm11
movss xmm12, dword [0x1800745d0]
movss xmm9, dword [0x1800745e8]
nop dword [rax]
mov rbx, qword [0x1801ccb78]
mov dword [rsp + 0x58], r12d
movss xmm0, dword [rbx + 0x37e0]
movss dword [rsp + 0x5c], xmm0
lea rcx, [rbx + 0x4808]
lea rdx, [rsp + 0x58]
call fcn.180025f60
movaps xmm0, xmm8
divss xmm0, xmm6
divss xmm0, xmm12
movss dword [rbx + 0x37e0], xmm0
mov rcx, qword [0x1801ccb78]
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
mov rdx, qword [rax + 0x2a0]
movss xmm1, dword [rcx + 0x37e0]
comiss xmm1, xmm8
jb 0x18003bdc6
mov ecx, r14d
jmp 0x18003bdea
mov eax, r14d
shr eax, 0x18
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mulss xmm0, xmm1
cvttss2si rcx, xmm0
shl ecx, 0x18
mov eax, r14d
and eax, 0xffffff
or ecx, eax
movaps xmm0, xmm10
addss xmm0, xmm6
movss dword [rsp + 0x68], xmm0
movaps xmm1, xmm7
addss xmm1, xmm6
movss dword [rsp + 0x6c], xmm1
mov rax, r15
test ecx, 0xff000000
je 0x18003be74
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], r12b
jne 0x18003be17
add r8, rdi
cmp rdi, r8
je 0x18003be74
test r15, r15
jne 0x18003be35
mov rax, qword [rdx + 0x38]
mov rax, qword [rax + 8]
movups xmm0, xmmword [rdx + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], r12b
movss dword [rsp + 0x40], xmm11
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rdi
lea r8, [rbp - 0x80]
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], ecx
lea r9, [rsp + 0x68]
movaps xmm2, xmm9
mov rcx, rax
call fcn.180035310
mov ecx, 1
call fcn.18000f6a0
inc esi
movd xmm6, esi
cvtdq2ps xmm6, xmm6
movss xmm0, dword [0x1800745c4]
comiss xmm0, xmm6
ja 0x18003bd50
call fcn.18001aee0
movzx eax, byte [rsp + 0x50]
jmp 0x18003bea6
xor al, al
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.1800525c0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18003b3c0
int3