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

Disassembly:
mov rax, rsp
mov byte [rax + 0x20], r9b
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1c8
mov rdi, qword [0x1802d3a90]
mov r13, rdx
movaps xmmword [rax - 0x58], xmm6
mov rdx, rcx
movaps xmmword [rax - 0x68], xmm7
mov r12, r8
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
mov rax, qword [rdi + 0x3ed8]
mov byte [rax + 0xb8], 1
mov r15, qword [rdi + 0x3ed8]
mov rcx, r15
call fcn.1800421d0
lea rcx, [rbp + 0x118]
mov esi, eax
call fcn.18004cf5c
movss xmm1, dword [r15 + 0x100]
lea rcx, [rbp + 0x118]
movss xmm2, dword [r15 + 0x104]
movss xmm11, dword [0x1801696e4]
movaps xmm3, xmm2
movss xmm0, dword [rax]
addss xmm3, dword [0x180169570]
subss xmm0, dword [rdi + 0x37fc]
movss dword [rsp + 0x40], xmm1
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x4c], xmm3
subss xmm3, dword [0x1801694f8]
addss xmm0, xmm1
subss xmm3, xmm2
movss dword [rsp + 0x48], xmm0
subss xmm0, xmm1
movaps xmm1, xmm11
movss dword [rbp + 0x11c], xmm3
movss dword [rbp + 0x118], xmm0
call fcn.18004ca08
xor r9d, r9d
lea rcx, [rsp + 0x40]
xor r8d, r8d
mov edx, esi
call fcn.18004cb64
mov eax, dword [str.None]
lea rcx, [rbp - 0x78]
movsxd r14, dword [r13]
xorps xmm0, xmm0
mov dword [rbp - 0x50], eax
xor ebx, ebx
mov al, byte [0x1801028f8]
mov byte [rbp - 0x4c], al
xor eax, eax
mov qword [rbp - 0x1b], rax
mov word [rbp - 0x13], ax
mov byte [rbp - 0x11], al
lea rax, str.None
mov rdx, qword [rax + r14*8]
movups xmmword [rbp - 0x78], xmm0
mov byte [rbp + 0x118], bl
movups xmmword [rbp - 0x4b], xmm0
mov qword [rbp - 0x68], rbx
movups xmmword [rbp - 0x3b], xmm0
mov qword [rbp - 0x60], 0xf
movups xmmword [rbp - 0x2b], xmm0
mov byte [rbp - 0x78], bl
call fcn.18003aa64
lea rax, [rdi + 0x3f38]
cmp dword [r13], ebx
je 0x18006148f
cmp dword [rax], esi
je 0x180061493
cmp qword [rbp - 0x60], 0xf
lea r8, [rbp - 0x78]
cmova r8, qword [rbp - 0x78]
jmp 0x18006149a
cmp dword [rax], esi
jne 0x1800614a9
lea r8, [0x18010003c]
mov edx, 0x40
lea rcx, [rbp - 0x50]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
mov r9b, 1
movss dword [rsp + 0x20], xmm11
xor r8d, r8d
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x80]
call fcn.18004503c
movss xmm8, dword [rsp + 0x48]
lea rcx, [rsp + 0x60]
movss xmm9, dword [rsp + 0x44]
movaps xmm7, xmm8
subss xmm7, dword [0x180169564]
movss xmm10, dword [rsp + 0x4c]
mov edx, esi
movss dword [rsp + 0x64], xmm9
movss dword [rsp + 0x68], xmm8
movss dword [rsp + 0x6c], xmm10
subss xmm7, dword [rbp - 0x80]
movss dword [rsp + 0x60], xmm7
call fcn.1800426fc
mov edx, dword [0x1802d31c0]
mov rcx, qword gs:[0x58]
mov byte [rbp + 0x128], al
mov eax, 4
mov rcx, qword [rcx + rdx*8]
mov ecx, dword [rax + rcx]
cmp dword [0x18030a73c], ecx
jg 0x180061f6e
mov rcx, qword [0x18030a7a0]
xor r8d, r8d
mov rbx, rcx
mov rax, qword [rcx + 8]
jmp 0x180061561
cmp dword [rax + 0x1c], esi
jae 0x18006155b
mov rax, qword [rax + 0x10]
jmp 0x180061561
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x180061550
cmp byte [rbx + 0x19], r8b
jne 0x180061572
cmp esi, dword [rbx + 0x1c]
jae 0x180061575
mov rbx, rcx
cmp rbx, rcx
jne 0x1800615ed
and dword [rbp + 0x10], r8d
lea rdx, [rsp + 0x70]
and dword [rbp + 0x14], r8d
xorps xmm0, xmm0
and dword [rbp + 0x1c], r8d
xorps xmm1, xmm1
mov dword [rbp + 0x18], r8d
movups xmmword [rbp + 0x28], xmm0
mov dword [rbp + 0x58], r8d
lea r8, [rbp + 0x24]
movups xmm0, xmmword [rbp + 0x10]
mov dword [rbp + 0x24], esi
movups xmmword [rbp + 0x38], xmm1
movups xmmword [rbp + 0x48], xmm0
call fcn.18006dd24
mov rcx, qword [0x18030a7a0]
xor r8d, r8d
mov rbx, rcx
mov rax, qword [rcx + 8]
jmp 0x1800615d9
cmp dword [rax + 0x1c], esi
jae 0x1800615d3
mov rax, qword [rax + 0x10]
jmp 0x1800615d9
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x1800615c8
cmp byte [rbx + 0x19], r8b
jne 0x1800615ea
cmp esi, dword [rbx + 0x1c]
jae 0x1800615ed
mov rbx, rcx
cmp dword [rdi + 0x3f38], esi
lea rcx, [0x18030a0b8]
movss xmm2, dword [rdi + 0x18]
lea rax, [0x180309e18]
movss xmm4, dword [0x180169554]
cmove rax, rcx
mov rcx, qword [0x1802d3a90]
mulss xmm2, xmm4
movss xmm0, dword [rax]
subss xmm0, dword [rbx + 0x20]
movss xmm1, dword [rax + 4]
subss xmm1, dword [rbx + 0x24]
mulss xmm0, xmm2
mulss xmm1, xmm2
addss xmm0, dword [rbx + 0x20]
addss xmm1, dword [rbx + 0x24]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [rax + 8]
subss xmm0, dword [rbx + 0x28]
movss dword [rsp + 0x54], xmm1
movss xmm1, dword [rax + 0xc]
subss xmm1, dword [rbx + 0x2c]
mulss xmm0, xmm2
mulss xmm1, xmm2
addss xmm0, dword [rbx + 0x28]
addss xmm1, dword [rbx + 0x2c]
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm1
movups xmm3, xmmword [rsp + 0x50]
movdqu xmmword [rbx + 0x20], xmm3
movss xmm2, dword [rcx + 0x18]
mulss xmm2, dword [0x180169504]
cmp dword [rdi + 0x3f38], esi
jne 0x1800616b0
movss xmm0, dword [0x180309db8]
lea rax, [0x180309db8]
jmp 0x1800616cd
cmp byte [rbp + 0x128], r8b
lea rdx, [0x180309dc8]
lea rax, [0x180309da8]
cmovne rax, rdx
movss xmm0, dword [rax]
subss xmm0, dword [rbx + 0x30]
movss xmm1, dword [rax + 8]
subss xmm1, dword [rbx + 0x38]
movss xmm6, dword [rsp + 0x40]
movups xmmword [rsp + 0x70], xmm3
mulss xmm0, xmm2
mulss xmm1, xmm2
addss xmm0, dword [rbx + 0x30]
shufps xmm3, xmm3, 0xff
addss xmm1, dword [rbx + 0x38]
movss dword [rsp + 0x44], xmm9
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [rax + 4]
subss xmm0, dword [rbx + 0x34]
movss dword [rsp + 0x58], xmm1
mulss xmm0, xmm2
addss xmm0, dword [rbx + 0x34]
movss dword [rsp + 0x54], xmm0
movss xmm0, dword [rax + 0xc]
subss xmm0, dword [rbx + 0x3c]
mulss xmm0, xmm2
addss xmm0, dword [rbx + 0x3c]
movss dword [rsp + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0x50]
movss dword [rsp + 0x50], xmm8
movdqu xmmword [rbx + 0x30], xmm0
movaps xmm0, xmm7
movss dword [rsp + 0x54], xmm10
subss xmm0, xmm6
subss xmm0, dword [rbx + 0x50]
mulss xmm0, dword [rdi + 0x18]
mulss xmm0, xmm4
addss xmm0, dword [rbx + 0x50]
movss dword [rbx + 0x50], xmm0
addss xmm0, xmm6
mulss xmm3, dword [rcx + 0x37f4]
lea rcx, [rsp + 0x70]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x7c], xmm3
call fcn.18004057c
movss xmm0, dword [0x180169498]
lea rdx, [rsp + 0x40]
mov rcx, qword [r15 + 0x2a0]
mov r9d, eax
mov dword [rsp + 0x28], r8d
lea r8, [rsp + 0x50]
movss dword [rsp + 0x20], xmm0
call fcn.180057210
movss xmm0, dword [0x180309e08]
lea rcx, [rsp + 0x70]
movss xmm1, dword [0x180309e0c]
mov rax, qword [0x1802d3a90]
movss dword [rsp + 0x70], xmm0
movss xmm0, dword [0x180309e10]
movss dword [rsp + 0x78], xmm0
movaps xmm0, xmm6
addss xmm0, dword [rbx + 0x50]
movss dword [rsp + 0x74], xmm1
movss xmm1, dword [0x180309e14]
mulss xmm1, dword [rax + 0x37f4]
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x7c], xmm1
movss dword [rsp + 0x44], xmm10
movss dword [rsp + 0x54], xmm9
call fcn.18004057c
movss xmm0, dword [0x180169498]
lea r8, [rsp + 0x40]
movss xmm10, dword [0x180169454]
lea rdx, [rsp + 0x50]
mov rcx, qword [r15 + 0x2a0]
mov r9d, eax
movss dword [rsp + 0x30], xmm10
and dword [rsp + 0x28], 0
movss dword [rsp + 0x20], xmm0
call fcn.180057110
addss xmm6, dword [rbx + 0x50]
movss dword [rsp + 0x44], xmm9
lea rdx, [rsp + 0x68]
mov r8b, 1
movss dword [rsp + 0x40], xmm6
lea rcx, [rsp + 0x40]
call fcn.1800443e4
lea rdx, [0x180309db8]
xor ecx, ecx
call fcn.180040ac0
and qword [rsp + 0x30], 0
lea rax, [rsp + 0x40]
movss xmm8, dword [0x1801693fc]
lea r8, [rbp - 0x50]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x68]
lea rax, [rbp - 0x80]
movss dword [rsp + 0x50], xmm7
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x50]
movss dword [rsp + 0x54], xmm9
mov dword [rsp + 0x40], 0x3f000000
mov dword [rsp + 0x44], 0x3f000000
call fcn.1800410f8
mov ecx, 1
call fcn.180040b1c
call fcn.180044468
cmp byte [rbp + 0x128], 0
je 0x180061965
cmp byte [rdi + 0x3748], 0
je 0x180061965
cmp dword [rdi + 0x3f38], esi
je 0x18006194e
xor eax, eax
lea rcx, [rdi + 0xb30]
mov dword [rdi + 0xe10], eax
xor edx, edx
mov r8d, 0x28c
mov byte [rdi + 0xe14], al
call sub.VCRUNTIME140.dll_memset
and dword [r13], 0
mov rdx, r15
mov ecx, esi
call fcn.1800423b8
mov rcx, r15
call fcn.180049fb8
xor r15d, r15d
jmp 0x180061986
xor r15d, r15d
cmp byte [rdi + 0x3748], r15b
je 0x180061986
cmp dword [rdi + 0x3f38], esi
jne 0x180061a60
xor edx, edx
xor ecx, ecx
call fcn.1800423b8
cmp dword [rdi + 0x3f38], esi
jne 0x180061a60
mov r12b, byte [rbp + 0x118]
mov esi, r15d
lea r15, [rdi + 0xe10]
cmp byte [r15], 0
je 0x1800619f3
mov ecx, esi
test esi, esi
je 0x1800619e1
sub ecx, 1
je 0x1800619d9
sub ecx, 1
je 0x1800619d1
sub ecx, 1
je 0x1800619c9
cmp ecx, 1
jne 0x1800619e7
lea r14d, [rcx + 5]
jmp 0x1800619e7
mov r14d, 5
jmp 0x1800619e7
mov r14d, 4
jmp 0x1800619e7
mov r14d, 2
jmp 0x1800619e7
mov r14d, 1
xor edx, edx
xor ecx, ecx
mov r12b, 1
call fcn.1800423b8
inc esi
inc r15
cmp esi, 5
jl 0x1800619a3
xor r15d, r15d
test r12b, r12b
mov r12, qword [rbp + 0x120]
jne 0x180061a39
lea esi, [r15 + 8]
lea r15, [rdi + 0xb38]
cmp byte [r15], 0
je 0x180061a29
xor edx, edx
xor ecx, ecx
mov r14d, esi
call fcn.1800423b8
inc esi
inc r15
cmp esi, 0xa5
jle 0x180061a17
xor r15d, r15d
xor edx, edx
mov ecx, 0x20e
lea r8d, [rdx + 1]
call fcn.18004b008
test al, al
je 0x180061a5c
xor edx, edx
mov dword [r13], r15d
xor ecx, ecx
call fcn.1800423b8
jmp 0x180061a60
mov dword [r13], r14d
cmp byte [rbp + 0x128], r15b
je 0x180061a72
cmp byte [rdi + 0x3749], r15b
jne 0x180061a91
mov al, byte [rbx + 0x48]
test al, al
je 0x180061aa9
cmp byte [rdi + 0x3748], r15b
jne 0x180061a8b
cmp byte [rdi + 0x3749], r15b
je 0x180061a9f
cmp byte [rbx + 0x49], r15b
jne 0x180061a9f
cmp byte [rbx + 0x48], r15b
sete al
mov byte [rbx + 0x48], al
test al, al
je 0x180061aa9
movss xmm0, dword [0x180169530]
jmp 0x180061ab1
movss xmm0, dword [0x1801696fc]
mulss xmm0, dword [rdi + 0x18]
addss xmm0, dword [rbx + 0x4c]
comiss xmm0, dword [0x18016930c]
jae 0x180061ac9
xorps xmm0, xmm0
jmp 0x180061ace
minss xmm0, xmm10
lea rdx, [rbp + 0x118]
movss dword [rbx + 0x4c], xmm0
mov ecx, 0xe
mov dword [rbp + 0x118], 0x41400000
mov dword [rbp + 0x11c], 0x41400000
call fcn.180040bec
movss xmm1, dword [rbx + 0x4c]
xor ecx, ecx
call fcn.180040b74
and dword [rbp + 0x118], 0
lea rdx, [rbp + 0x118]
mov edi, 2
mov dword [rbp + 0x11c], 0x40a00000
mov ecx, edi
call fcn.180040bec
movss xmm1, dword [0x180169498]
lea ecx, [rdi + 1]
call fcn.180040b74
lea rdx, [0x18030a3e0]
mov ecx, edi
call fcn.180040ac0
xorps xmm1, xmm1
lea ecx, [rdi + 2]
call fcn.180040b74
movss xmm0, dword [0x18016936c]
comiss xmm0, dword [rbx + 0x4c]
ja 0x180061ee6
mov rax, qword [0x1802d3a90]
lea r8d, [rdi + 0x2d]
movss xmm1, dword [rsp + 0x60]
xor edx, edx
addss xmm1, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x6c]
addss xmm0, dword [0x1801694f8]
mov rcx, qword [rbp + 0x110]
and qword [rax + 0x47c8], 0
or dword [rax + 0x47b0], 3
mulss xmm1, xmm8
mov dword [rax + 0x47b4], 1
movss dword [rax + 0x47c4], xmm0
mov dword [rax + 0x47d0], 0x42ac0000
subss xmm1, dword [0x1801695ac]
mov dword [rax + 0x47d4], 0x42ae0000
mov dword [rax + 0x47b8], 1
movss dword [rax + 0x47c0], xmm1
call fcn.180047bc8
call fcn.18004a490
xor r9d, r9d
movss dword [rsp + 0x20], xmm11
xor r8d, r8d
mov byte [rbx + 0x49], al
lea rdx, str.Hold
lea rcx, [rbp + 0x118]
call fcn.18004503c
mov rcx, qword [0x1802d3a90]
lea r9, [rbp + 0x118]
movss xmm7, dword [0x1801695e0]
movss xmm2, dword [rax]
mov rax, qword [rcx + 0x3ed8]
movss xmm1, dword [rax + 0x20]
movss xmm0, dword [rax + 0x84]
movss xmm6, dword [rax + 0x100]
movss xmm5, dword [rax + 0x104]
subss xmm6, xmm1
movss xmm3, dword [rax + 0x24]
movss xmm4, dword [rax + 0x88]
subss xmm5, xmm3
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ed8]
lea rcx, str.Hold
addss xmm6, xmm0
movaps xmm0, xmm7
subss xmm0, xmm2
addss xmm5, xmm4
movss xmm1, dword [rax + 0x24]
subss xmm1, dword [rax + 0x88]
mulss xmm0, xmm8
addss xmm1, xmm5
addss xmm6, xmm0
movss xmm0, dword [rax + 0x20]
subss xmm0, dword [rax + 0x84]
mov byte [rax + 0x141], 1
movss dword [rax + 0x104], xmm1
addss xmm6, xmm0
movss dword [rax + 0x100], xmm6
and dword [rbp + 0x118], 0
and dword [rbp + 0x11c], 0
cmp dword [r12], r15d
sete dl
call fcn.18006d05c
test al, al
je 0x180061cf1
mov dword [r12], r15d
mov byte [rbx + 0x48], r15b
xor r9d, r9d
movss dword [rsp + 0x20], xmm11
xor r8d, r8d
lea rdx, str.Toggle
lea rcx, [rbp + 0x118]
call fcn.18004503c
mov rcx, qword [0x1802d3a90]
lea r9, [rbp + 0x118]
movss xmm2, dword [rax]
mov rax, qword [rcx + 0x3ed8]
movss xmm1, dword [rax + 0x20]
movss xmm0, dword [rax + 0x84]
movss xmm6, dword [rax + 0x100]
movss xmm5, dword [rax + 0x104]
subss xmm6, xmm1
movss xmm3, dword [rax + 0x24]
movss xmm4, dword [rax + 0x88]
subss xmm5, xmm3
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ed8]
lea rcx, str.Toggle
addss xmm6, xmm0
movaps xmm0, xmm7
subss xmm0, xmm2
addss xmm5, xmm4
movss xmm1, dword [rax + 0x24]
subss xmm1, dword [rax + 0x88]
mulss xmm0, xmm8
addss xmm1, xmm5
addss xmm6, xmm0
movss xmm0, dword [rax + 0x20]
subss xmm0, dword [rax + 0x84]
mov byte [rax + 0x141], 1
movss dword [rax + 0x104], xmm1
addss xmm6, xmm0
movss dword [rax + 0x100], xmm6
and dword [rbp + 0x118], 0
and dword [rbp + 0x11c], 0
cmp dword [r12], 1
sete dl
call fcn.18006d05c
test al, al
je 0x180061ded
mov dword [r12], 1
mov byte [rbx + 0x48], r15b
xor r9d, r9d
movss dword [rsp + 0x20], xmm11
xor r8d, r8d
lea rdx, str.Always
lea rcx, [rbp + 0x118]
call fcn.18004503c
mov rcx, qword [0x1802d3a90]
lea r9, [rbp + 0x118]
movss xmm2, dword [rax]
mov rax, qword [rcx + 0x3ed8]
subss xmm7, xmm2
movss xmm1, dword [rax + 0x20]
movss xmm0, dword [rax + 0x84]
movss xmm6, dword [rax + 0x100]
movss xmm5, dword [rax + 0x104]
subss xmm6, xmm1
movss xmm3, dword [rax + 0x24]
movss xmm4, dword [rax + 0x88]
subss xmm5, xmm3
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ed8]
lea rcx, str.Always
addss xmm6, xmm0
mulss xmm7, xmm8
addss xmm5, xmm4
movss xmm0, dword [rax + 0x20]
movss xmm1, dword [rax + 0x24]
subss xmm0, dword [rax + 0x84]
subss xmm1, dword [rax + 0x88]
mov byte [rax + 0x141], 1
addss xmm6, xmm7
addss xmm1, xmm5
addss xmm6, xmm0
movss dword [rax + 0x104], xmm1
movss dword [rax + 0x100], xmm6
and dword [rbp + 0x118], 0
and dword [rbp + 0x11c], 0
cmp dword [r12], edi
sete dl
call fcn.18006d05c
test al, al
je 0x180061ee1
mov dword [r12], edi
mov byte [rbx + 0x48], r15b
call fcn.180049d48
mov ecx, 1
call fcn.180040b1c
mov ecx, 5
call fcn.180040c78
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x180061f38
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061f33
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180061f33
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800747f4
lea r11, [rsp + 0x1c8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, [0x18030a73c]
call fcn.18007489c
cmp dword [0x18030a73c], 0xffffffff
jne 0x18006153d
mov ecx, 0x58
call fcn.1800747b8
lea rcx, [0x1800e0d98]
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [0x18030a7a0], rax
call fcn.180074c6c
lea rcx, [0x18030a73c]
call fcn.180074830
jmp 0x18006153d