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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x110
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
mov rax, qword [0x1800f9040]
xor rax, rsp
mov qword [rbp - 0x50], rax
mov r14, rdx
mov rdi, rcx
mov rsi, qword [0x180121770]
mov rax, qword [rsi + 0x3f08]
mov byte [rax + 0xb8], 1
mov rbx, qword [rsi + 0x3f08]
cmp byte [rbx + 0xbb], 0
je 0x18003ce77
xor al, al
jmp 0x18003d9ca
movss xmm7, dword [rsi + 0x3808]
addss xmm7, xmm7
addss xmm7, dword [rsi + 0x3c30]
test byte [rsi + 0x4790], 1
je 0x18003ce9e
movss xmm0, dword [rsi + 0x4798]
jmp 0x18003cea6
movss xmm0, dword [rbx + 0x1bc]
xorps xmm6, xmm6
addss xmm7, dword [rsi + 0x381c]
mov rax, rdi
cmp rdi, 0xffffffffffffffff
jae 0x18003ced9
nop word [rax + rax]
movzx ecx, byte [rax]
test cl, cl
je 0x18003ced9
inc rax
cmp cl, 0x23
jne 0x18003ced3
cmp byte [rax], cl
je 0x18003ced9
cmp rax, 0xffffffffffffffff
jb 0x18003cec0
xor eax, eax
mov qword [rsi + 0x4790], rax
call fcn.18001aea0
mov rcx, rdi
call fcn.1800180e0
mov eax, dword [rsi + 0x5b80]
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x18003cf15
movsxd rcx, dword [rbx + 0xf0]
mov rax, qword [rbx + 0xf8]
mov ecx, dword [rax + rcx*4 - 4]
mov dword [rsi + 0x5b80], ecx
mov r15d, dword [rsi + 0x5b7c]
and r15d, 0xff9fffff
or r15d, 0x1001a8
mov eax, r15d
shr eax, 1
not al
and al, 1
movzx r13d, al
movss xmm3, dword [r14]
movss dword [rbp - 0x70], xmm3
movss xmm1, dword [r14 + 4]
movss dword [rbp - 0x6c], xmm1
movss xmm2, dword [r14 + 8]
movss dword [rbp - 0x68], xmm2
movss xmm9, dword [0x1800e83a0]
je 0x18003cf6a
movss xmm0, dword [r14 + 0xc]
jmp 0x18003cf6e
movaps xmm0, xmm9
movss dword [rbp - 0x64], xmm0
mov eax, r15d
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x18003cfb4
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x70]
movaps xmm0, xmm3
call fcn.18000b730
movss xmm0, dword [rbp - 0x64]
movss xmm2, dword [rbp - 0x68]
movss xmm1, dword [rbp - 0x6c]
movss xmm3, dword [rbp - 0x70]
movss xmm5, dword [0x1800e8534]
movss xmm4, dword [0x1800e8368]
comiss xmm3, xmm6
jb 0x18003cfcf
movaps xmm10, xmm4
jmp 0x18003cfd3
movaps xmm10, xmm5
movss xmm8, dword [0x1800e84dc]
mulss xmm3, xmm8
addss xmm3, xmm10
cvttss2si eax, xmm3
mov dword [rbp - 0x60], eax
comiss xmm1, xmm6
jb 0x18003cff7
movaps xmm3, xmm4
jmp 0x18003cffa
movaps xmm3, xmm5
mulss xmm1, xmm8
addss xmm1, xmm3
cvttss2si eax, xmm1
mov dword [rbp - 0x5c], eax
comiss xmm2, xmm6
jb 0x18003d014
movaps xmm1, xmm4
jmp 0x18003d017
movaps xmm1, xmm5
mulss xmm2, xmm8
addss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [rbp - 0x58], eax
comiss xmm0, xmm6
jae 0x18003d02f
movaps xmm4, xmm5
mulss xmm0, xmm8
addss xmm0, xmm4
cvttss2si eax, xmm0
mov dword [rbp - 0x54], eax
xor r12b, r12b
movss xmm1, dword [rbx + 0x100]
movss xmm2, dword [rbx + 0x104]
movaps xmm0, xmm1
cmp dword [rsi + 0x385c], 0
jne 0x18003d064
addss xmm0, xmm7
jmp 0x18003d068
addss xmm0, xmm6
movss dword [rbx + 0x100], xmm0
mov qword [rsp + 0x30], 0
test r15b, 0x10
jne 0x18003d6e2
addss xmm1, xmm6
movss dword [rbx + 0x100], xmm1
movss dword [rbx + 0x104], xmm2
test r13b, r13b
je 0x18003d0a2
movss xmm9, dword [r14 + 0xc]
movss xmm2, dword [r14 + 8]
movss xmm1, dword [r14 + 4]
movss xmm0, dword [r14]
movss dword [rbp - 0x80], xmm0
movss dword [rbp - 0x7c], xmm1
movss dword [rbp - 0x78], xmm2
movss dword [rbp - 0x74], xmm9
mov qword [rsp + 0x40], 0
lea r9, [rsp + 0x40]
lea rdx, [rbp - 0x80]
call fcn.18003efa0
test al, al
je 0x18003d14f
test r15b, 4
jne 0x18003d14f
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rsi + 0x5b94], xmm0
lea rcx, [0x1800e77e4]
call fcn.18001bbb0
movss xmm1, dword [rsi + 0x47c0]
addss xmm1, dword [rsi + 0x3818]
movss xmm0, dword [rsi + 0x47b4]
addss xmm0, xmm6
mov rax, qword [0x180121770]
or dword [rax + 0x47e8], 1
movss dword [rax + 0x47f8], xmm0
movss dword [rax + 0x47fc], xmm1
xor ebx, ebx
mov qword [rax + 0x4800], rbx
mov dword [rax + 0x47ec], 1
jmp 0x18003d151
xor ebx, ebx
mov ecx, dword [0x1801212ac]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x180157538], eax
jle 0x18003d1d2
lea rcx, [0x180157538]
call fcn.1800c04b0
cmp dword [0x180157538], 0xffffffff
jne 0x18003d1d2
mov qword [0x180157578], rbx
mov qword [0x180157580], rbx
mov ecx, 0x28
call fcn.1800c03b0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x180157578], rax
lea rcx, [0x1800c2820]
call fcn.1800c0b4c
nop
lea rcx, [0x180157538]
call fcn.1800c0444
mov rcx, rdi
call fcn.180018190
mov rdx, qword [0x180157578]
mov rcx, qword [rdx + 8]
mov rbx, rdx
cmp byte [rcx + 0x19], 0
jne 0x18003d207
nop
cmp dword [rcx + 0x1c], eax
jae 0x18003d1fb
mov rcx, qword [rcx + 0x10]
jmp 0x18003d201
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x18003d1f0
cmp byte [rbx + 0x19], 0
jne 0x18003d212
cmp eax, dword [rbx + 0x1c]
jae 0x18003d215
mov rbx, rdx
cmp rbx, rdx
jne 0x18003d348
mov rcx, rdi
call fcn.180018190
mov r8d, eax
xor r9d, r9d
mov qword [rsp + 0x40], r9
mov dword [rsp + 0x40], r9d
mov dword [rbp - 0x80], eax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x7c], rax
mov rbx, qword [0x180157578]
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x60], r9d
mov rdx, rbx
cmp byte [rcx + 0x19], r9b
jne 0x18003d28a
mov qword [rsp + 0x58], rcx
cmp dword [rcx + 0x1c], r8d
jae 0x18003d276
mov dword [rsp + 0x60], r9d
mov rcx, qword [rcx + 0x10]
jmp 0x18003d284
mov dword [rsp + 0x60], 1
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r9b
je 0x18003d260
cmp byte [rdx + 0x19], r9b
jne 0x18003d296
cmp r8d, dword [rdx + 0x1c]
jae 0x18003d307
movabs rax, 0x666666666666666
cmp qword [0x180157580], rax
je 0x18003da0a
lea rax, [0x180157578]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r9
mov ecx, 0x28
call fcn.1800c03b0
mov r8, rax
movsd xmm0, qword [rbp - 0x80]
movsd qword [rax + 0x1c], xmm0
mov eax, dword [rbp - 0x78]
mov dword [r8 + 0x24], eax
mov qword [r8], rbx
mov qword [r8 + 8], rbx
mov qword [r8 + 0x10], rbx
mov word [r8 + 0x18], 0
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rbp - 0x80], xmm0
lea rdx, [rbp - 0x80]
lea rcx, [0x180157578]
call fcn.180023e70
mov rcx, rdi
call fcn.180018190
mov rdx, qword [0x180157578]
mov rcx, qword [rdx + 8]
mov rbx, rdx
cmp byte [rcx + 0x19], 0
jne 0x18003d33a
cmp dword [rcx + 0x1c], eax
jae 0x18003d32e
mov rcx, qword [rcx + 0x10]
jmp 0x18003d334
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x18003d323
cmp byte [rbx + 0x19], 0
jne 0x18003d345
cmp eax, dword [rbx + 0x1c]
jae 0x18003d348
mov rbx, rdx
lea rcx, [rsi + 0x47b4]
xor r8d, r8d
mov edx, dword [rsi + 0x47a8]
call fcn.18000e560
movss xmm2, dword [0x1800e83a0]
test al, al
je 0x18003d378
cmp byte [rsi + 0x3740], 0
je 0x18003d378
movzx eax, byte [rbx + 0x25]
jmp 0x18003d38f
movzx eax, byte [rbx + 0x25]
test al, al
je 0x18003d3a0
cmp byte [rsi + 0x3740], 0
je 0x18003d39b
cmp byte [rbx + 0x24], 0
jne 0x18003d39b
test al, al
sete al
mov byte [rbx + 0x25], al
test al, al
je 0x18003d3a0
movaps xmm1, xmm2
jmp 0x18003d3a8
movss xmm1, dword [0x1800e8540]
movss xmm0, dword [rsi + 0x18]
mulss xmm0, dword [0x1800e8410]
mulss xmm0, xmm1
addss xmm0, dword [rbx + 0x20]
comiss xmm6, xmm0
ja 0x18003d3ca
movaps xmm6, xmm2
minss xmm6, xmm0
movss dword [rbx + 0x20], xmm6
movss xmm0, dword [0x180157468]
movss dword [rbp - 0x80], xmm0
movss xmm1, dword [0x18015746c]
movss dword [rbp - 0x7c], xmm1
movss xmm0, dword [0x180157470]
movss dword [rbp - 0x78], xmm0
movss xmm1, dword [0x180157474]
mov rax, qword [0x180121770]
mulss xmm1, dword [rax + 0x37c8]
movss dword [rbp - 0x74], xmm1
lea rcx, [rbp - 0x80]
call fcn.18000b5d0
mov edx, eax
mov ecx, 2
call fcn.18000bae0
mov rdi, qword [0x180121770]
mov dword [rbp - 0x80], 3
movss xmm0, dword [rdi + 0x37d8]
movss dword [rbp - 0x7c], xmm0
lea rcx, [rdi + 0x4868]
lea rdx, [rbp - 0x80]
call fcn.1800231c0
mov dword [rdi + 0x37d8], 0x3f800000
mov dword [rsp + 0x40], 0x41200000
mov dword [rsp + 0x44], 0x41200000
lea rdx, [rsp + 0x40]
mov ecx, 2
call fcn.18000bc30
movss xmm1, dword [rbx + 0x20]
xor ecx, ecx
call fcn.18000bbb0
movss xmm0, dword [rbx + 0x20]
comiss xmm0, dword [0x1800e8320]
jb 0x18003d6e2
mov rdx, qword [0x180121770]
mov eax, dword [rdx + 0x47e8]
or eax, 2
mov dword [rdx + 0x47e8], eax
mov dword [rdx + 0x4808], 0x43640000
mov dword [rdx + 0x480c], 0x433e0000
mov dword [rdx + 0x47f0], 1
movss xmm1, dword [rsi + 0x47bc]
subss xmm1, dword [0x1800e8460]
movss xmm0, dword [rsi + 0x47b8]
subss xmm0, dword [0x1800e840c]
or eax, 1
mov dword [rdx + 0x47e8], eax
movss dword [rdx + 0x47f8], xmm1
movss dword [rdx + 0x47fc], xmm0
xor eax, eax
mov qword [rdx + 0x4800], rax
mov dword [rdx + 0x47ec], 1
xor edx, edx
mov r8d, 0x2f
lea rcx, [0x1800e77e4]
call fcn.180014c00
call fcn.180017c60
mov byte [rbx + 0x24], al
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movss xmm0, dword [0x180157318]
movss dword [rsp + 0x30], xmm0
movss xmm1, dword [0x18015731c]
movss dword [rsp + 0x34], xmm1
movss xmm0, dword [0x180157320]
movss dword [rsp + 0x38], xmm0
movss xmm1, dword [0x180157324]
mov rax, qword [0x180121770]
mulss xmm1, dword [rax + 0x37c8]
movss dword [rsp + 0x3c], xmm1
lea rcx, [rsp + 0x30]
call fcn.18000b5d0
mov ecx, eax
movzx eax, al
xorps xmm4, xmm4
cvtsi2ss xmm4, rax
movss xmm0, dword [0x1800e830c]
mulss xmm4, xmm0
mov eax, ecx
shr eax, 8
movzx eax, al
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, xmm0
mov eax, ecx
shr eax, 0x10
movzx eax, al
xorps xmm2, xmm2
cvtsi2ss xmm2, rax
mulss xmm2, xmm0
shr ecx, 0x18
mov eax, ecx
xorps xmm3, xmm3
cvtsi2ss xmm3, rax
mulss xmm3, xmm0
shufps xmm4, xmm4, 0xe1
movss xmm4, xmm1
shufps xmm4, xmm4, 0xc6
movss xmm4, xmm2
shufps xmm4, xmm4, 0x27
movss xmm4, xmm3
shufps xmm4, xmm4, 0x39
movups xmmword [rsp + 0x30], xmm4
movups xmmword [rsp + 0x58], xmm4
mov dword [rsp + 0x40], 0x3f800000
mov dword [rsp + 0x44], 0x3f800000
mov qword [rbp - 0x80], 0
mov dword [rsp + 0x30], 0x41200000
mov dword [rsp + 0x34], 0x41200000
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x30]
mov rcx, qword [0x180121790]
call fcn.1800390c0
mov rcx, qword [0x180121770]
mov rax, qword [rcx + 0x3f08]
movss xmm1, dword [rax + 0x104]
subss xmm1, dword [rax + 0x24]
addss xmm1, dword [rax + 0x88]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3f08]
movss xmm0, dword [rax + 0x24]
subss xmm0, dword [rax + 0x88]
subss xmm1, dword [0x1800e83f4]
addss xmm0, xmm1
movss dword [rax + 0x104], xmm0
mov byte [rax + 0x141], 1
mov rdi, qword [rsi + 0x3f08]
lea r9, [rsi + 0x5b94]
mov r8d, 0x740080
mov rdx, r14
lea rcx, str.picker
call fcn.18003da10
or r12b, al
call fcn.1800170a0
jmp 0x18003d6e7
mov rdi, qword [rsp + 0x30]
mov rbx, qword [0x180121770]
movsxd rax, dword [rbx + 0x4858]
cmp eax, 1
jl 0x18003d723
lea r8, [rax + rax*4]
mov rdx, qword [rbx + 0x4860]
movsxd rax, dword [rdx + r8*4 - 0x14]
add rax, 0x38b
add rax, rax
movups xmm0, xmmword [rdx + r8*4 - 0x10]
movups xmmword [rbx + rax*8], xmm0
dec dword [rbx + 0x4858]
mov ecx, 3
call fcn.18000bcc0
test r12b, r12b
je 0x18003d7b7
test rdi, rdi
jne 0x18003d7b7
movdqu xmm0, xmmword [rbp - 0x60]
cvtdq2ps xmm1, xmm0
divps xmm1, xmmword [0x1800e87f0]
movups xmmword [rbp - 0x70], xmm1
mov eax, r15d
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x18003d787
lea rax, [rbp - 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x70]
movss xmm2, dword [rbp - 0x68]
movss xmm1, dword [rbp - 0x6c]
movss xmm0, dword [rbp - 0x70]
call fcn.18000b680
movss xmm0, dword [rbp - 0x70]
movss dword [r14], xmm0
movss xmm1, dword [rbp - 0x6c]
movss dword [r14 + 4], xmm1
movss xmm0, dword [rbp - 0x68]
movss dword [r14 + 8], xmm0
test r13b, r13b
je 0x18003d7b7
movss xmm0, dword [rbp - 0x64]
movss dword [r14 + 0xc], xmm0
cmp dword [rsp + 0x50], 0
jne 0x18003d7c8
mov dword [rsi + 0x5b80], 0
mov rax, qword [rbx + 0x3f08]
dec dword [rax + 0xf0]
call fcn.18001afd0
test byte [rsi + 0x47b0], 1
je 0x18003d966
bt r15d, 9
jb 0x18003d966
mov r11, qword [0x180121770]
cmp byte [r11 + 0x4ac0], 0
je 0x18003d96d
mov rcx, qword [r11 + 0x3f08]
mov edx, dword [r11 + 0x47b0]
test dl, 1
je 0x18003d96d
mov rax, qword [r11 + 0x3f18]
test rax, rax
je 0x18003d96d
mov rax, qword [rax + 0x378]
cmp qword [rcx + 0x378], rax
jne 0x18003d96d
cmp byte [rcx + 0xbb], 0
jne 0x18003d96d
test dl, 2
lea rbx, [r11 + 0x47d4]
jne 0x18003d862
lea rbx, [r11 + 0x47b4]
mov eax, dword [r11 + 0x47a8]
test eax, eax
jne 0x18003d896
mov rdx, rbx
call fcn.18000dfc0
cmp dword [r11 + 0x3f68], eax
jne 0x18003d885
mov dword [r11 + 0x3f6c], eax
cmp dword [r11 + 0x3f98], eax
jne 0x18003d896
mov byte [r11 + 0x3f9c], 1
cmp dword [r11 + 0x4adc], eax
je 0x18003d96d
movups xmm0, xmmword [rbx]
movups xmmword [r11 + 0x4b10], xmm0
mov dword [r11 + 0x4b20], eax
mov byte [r11 + 0x4ac2], 1
xor bl, bl
lea rcx, str._COL3F
call fcn.1800212e0
test rax, rax
je 0x18003d8e9
mov rax, qword [rax]
movsd xmm0, qword [rax]
movsd qword [r14], xmm0
mov eax, dword [rax + 8]
mov dword [r14 + 8], eax
mov bl, 1
movzx r12d, bl
lea rcx, str._COL4F
call fcn.1800212e0
test rax, rax
je 0x18003d912
lea r8d, [r13 + 3]
shl r8, 2
mov rdx, qword [rax]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov r12b, 1
jmp 0x18003d916
test bl, bl
je 0x18003d948
bt r15d, 0x1c
jae 0x18003d948
lea rax, [r14 + 8]
lea rcx, [r14 + 4]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov r9, r14
movss xmm2, dword [r14 + 8]
movss xmm1, dword [r14 + 4]
movss xmm0, dword [r14]
call fcn.18000b680
mov r11, qword [0x180121770]
mov byte [r11 + 0x4ac2], 0
cmp byte [r11 + 0x4b0a], 0
je 0x18003d96d
call fcn.180021220
mov r11, qword [0x180121770]
test rdi, rdi
je 0x18003d98b
mov eax, dword [rsi + 0x3f68]
test eax, eax
je 0x18003d98b
cmp qword [rsi + 0x3f88], rdi
jne 0x18003d98b
mov dword [rsi + 0x47a8], eax
test r12b, r12b
je 0x18003d9c6
mov eax, dword [rsi + 0x47a8]
test eax, eax
je 0x18003d9c6
cmp word [r11 + 0x5bf2], 0
jg 0x18003d9c6
mov ecx, dword [r11 + 0x3f68]
cmp ecx, eax
je 0x18003d9b4
test ecx, ecx
jne 0x18003d9be
mov word [r11 + 0x3f78], 0x101
or dword [r11 + 0x47b0], 4
movzx eax, r12b
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.1800c0390
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x50]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18000a5d0
int3