Function at 0x1800198d0
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
test edx, edx
js 0x180010166
push rsi
push r12
sub rsp, 0x38
mov r9, qword [rcx + 0x10]
mov rsi, rcx
mov r8, qword [rcx + 0x18]
movsxd r12, edx
sub r8, r9
mov qword [rsp + 0x60], rdi
movabs rdi, 0x6666666666666667
mov rax, rdi
imul r8
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r12, rdx
jae 0x18001015a
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbp
xor ebp, ebp
mov qword [rsp + 0x30], r13
mov r13, qword [rcx + 0x18]
mov qword [rsp + 0x28], r14
lea r14, [r12 + r12*4]
shl r14, 4
add r14, r9
mov qword [rsp + 0x20], r15
lea rbx, [r14 + 0x50]
cmp rbx, r13
je 0x180010076
lea rdi, [r14 + 0x30]
cmp r14, rbx
je 0x18000ffb5
mov rcx, r14
call fcn.180009cf0
mov rax, qword [rbx]
mov qword [r14], rax
mov rax, qword [rbx + 8]
mov qword [rdi - 0x28], rax
mov rax, qword [rbx + 0x10]
mov qword [rdi - 0x20], rax
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
mov qword [rbx + 0x10], rbp
lea r15, [rdi - 0x18]
lea rbp, [rbx + 0x18]
cmp r15, rbp
je 0x18001002b
mov rdx, qword [rdi]
cmp rdx, 0x10
jb 0x18000fffb
mov rcx, qword [r15]
inc rdx
cmp rdx, 0x1000
jb 0x18000fff6
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180010167
mov rcx, r8
call fcn.180077bd0
mov qword [rdi], 0xf
xor eax, eax
mov qword [rdi - 8], rax
mov byte [r15], al
movups xmm0, xmmword [rbp]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [r15 + 0x10], xmm1
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], 0xf
mov byte [rbp], al
mov eax, dword [rbx + 0x38]
add r14, 0x50
mov dword [rdi + 8], eax
xor ebp, ebp
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 0x3d]
mov byte [rdi + 0xd], al
movsd xmm0, qword [rbx + 0x40]
movsd qword [rdi + 0x10], xmm0
mov eax, dword [rbx + 0x48]
mov dword [rdi + 0x18], eax
mov eax, dword [rbx + 0x4c]
add rbx, 0x50
mov dword [rdi + 0x1c], eax
add rdi, 0x50
cmp rbx, r13
jne 0x18000ff87
movabs rdi, 0x6666666666666667
mov rcx, qword [rsi + 0x18]
sub rcx, 0x50
call fcn.180007ac0
mov r8, qword [rsi + 0x18]
mov rax, rdi
add r8, 0xffffffffffffffb0
mov qword [rsi + 0x18], r8
mov rcx, r8
mov r9, qword [rsi + 0x10]
sub rcx, r9
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x1800100b8
mov dword [rsi + 8], 0xffffffff
jmp 0x1800100fe
mov ecx, dword [rsi + 8]
cmp ecx, r12d
jne 0x1800100fe
sub ecx, 1
mov dword [rsi + 8], ecx
jns 0x1800100e6
sub r8, r9
mov rax, rdi
imul r8
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1800100e6
mov dword [rsi + 8], ebp
jmp 0x1800100fe
test ecx, ecx
jns 0x1800100fe
movzx ecx, byte [rsi + 0x3c]
sub cl, 2
cmp cl, 1
ja 0x1800100fe
mov rcx, rsi
call fcn.18000f550
cmp byte [rsi + 0x121], 0
je 0x180010139
mov rcx, qword [rsi + 0x18]
mov rax, rdi
sub rcx, qword [rsi + 0x10]
mov r8d, dword [rsi + 8]
imul rcx
inc r8d
lea rcx, str.Path_at_index__d_removed._Active_path:__d____d
sar rdx, 5
mov r9, rdx
shr r9, 0x3f
add r9, rdx
mov edx, r12d
call fcn.1800359d0
mov rcx, rsi
call fcn.18000e740
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r15, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x60]
add rsp, 0x38
pop r12
pop rsi
ret
call fcn.18008a744
int3
test rdx, rdx
je 0x180019d24
push rbx
sub rsp, 0xe0
mov r9d, r8d
mov rbx, rcx
cmp r8d, 2
jb case.0x18001992f.6
cmp byte [0x180139108], 0
je case.0x18001992f.6
cmp dword [rcx + 0x1ba0], 4
je case.0x18001992f.6
movzx eax, byte [rdx + 1]
add eax, 0xfffffffc
cmp eax, 0x16
ja case.0x18001992f.6
lea r8, [0x180000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x19d28]
add rcx, r8
jmp rcx
mov rax, qword [rbx]
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [rax + 0x110]
lea rcx, [rbx + 0x1e0]
movsd xmm0, qword [rax]
movsd qword [rbx + 0x2f4], xmm0
mov eax, dword [rax + 8]
mov dword [rbx + 0x2fc], eax
add rsp, 0xe0
pop rbx
jmp fcn.18000f480
lea rcx, [rbx + 0x1e0]
add rsp, 0xe0
pop rbx
jmp fcn.18000f550
lea rcx, [rbx + 0x1e0]
mov edx, dword [rcx + 8]
add rsp, 0xe0
pop rbx
jmp 0x18000ff00
lea rcx, [rbx + 0x1e0]
mov edx, dword [rcx + 8]
test edx, edx
jle case.0x18001992f.6
dec edx
add rsp, 0xe0
pop rbx
jmp fcn.18000fc20
lea rcx, [rbx + 0x1e0]
movsxd r8, dword [rcx + 8]
test r8d, r8d
js case.0x18001992f.6
mov rdx, qword [rcx + 0x18]
movabs rax, 0x6666666666666667
sub rdx, qword [rcx + 0x10]
imul rdx
sar rdx, 5
mov rax, rdx
dec rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jae case.0x18001992f.6
lea edx, [r8 + 1]
add rsp, 0xe0
pop rbx
jmp fcn.18000fc20
lea rcx, [rbx + 0x1e0]
add rsp, 0xe0
pop rbx
jmp fcn.18000fd30
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0xd8], r14
lea r14, [rbx + 0x1e0]
mov rcx, r14
call fcn.180010180
mov rsi, rax
movsxd rax, dword [rax + 0x38]
test eax, eax
js 0x180019b2b
mov r8, qword [rsi]
mov r9, rax
mov qword [rsp + 0xf0], rbp
mov rbp, qword [rsi + 8]
mov qword [rsp + 0xd0], r15
mov rcx, rbp
sub rcx, r8
movabs r15, 0x7878787878787879
mov rax, r15
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jae 0x180019b1b
mov qword [rsp + 0x108], rdi
imul rdi, r9, 0x88
add rdi, r8
lea rbx, [rdi + 0x88]
cmp rbx, rbp
je 0x180019ad0
mov rdx, rbx
mov rcx, rdi
call fcn.18000abd0
add rdi, 0x88
add rbx, 0x88
cmp rbx, rbp
jne 0x180019ab2
mov rcx, qword [rsi + 8]
sub rcx, 0x88
call fcn.180005140
add qword [rsi + 8], 0xffffffffffffff78
mov rax, r15
mov rcx, qword [rsi + 8]
sub rcx, qword [rsi]
movsxd r8, dword [rsi + 0x38]
mov rdi, qword [rsp + 0x108]
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jb 0x180019b1b
lea eax, [r8 - 1]
mov dword [rsi + 0x38], eax
mov rbp, qword [rsp + 0xf0]
mov r15, qword [rsp + 0xd0]
xorps xmm1, xmm1
lea r8, [rsp + 0x20]
xorps xmm0, xmm0
movss dword [rsp + 0x28], xmm1
unpcklps xmm0, xmm1
lea rdx, [rsp + 0x30]
mov rcx, r14
movsd qword [rsp + 0x20], xmm0
call fcn.18000e310
mov rcx, r14
mov r14, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x100]
add rsp, 0xe0
pop rbx
jmp fcn.18000e740
lea rcx, [rbx + 0x1e0]
add rsp, 0xe0
pop rbx
jmp fcn.18000e6b0
lea rcx, [rbx + 0x1e0]
add rsp, 0xe0
pop rbx
jmp fcn.18000e610
mov rcx, rbx
add rsp, 0xe0
pop rbx
jmp fcn.180019d90
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.18001ccf0
lea rcx, [rbx + 0x1e0]
mov rdx, rax
call fcn.18000fb60
add rsp, 0xe0
pop rbx
ret
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.18001ccf0
lea rcx, [rbx + 0x1e0]
mov rdx, rax
call fcn.18000f910
add rsp, 0xe0
pop rbx
ret
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.18001ccf0
lea rcx, [rbx + 0x1e0]
mov rdx, rax
call fcn.18000faa0
add rsp, 0xe0
pop rbx
ret
cmp r9d, 6
jb 0x180019c35
mov eax, dword [rdx + 2]
test eax, eax
jle 0x180019c35
cmp byte [rbx + 0x21c], 1
jne 0x180019c35
mov dword [rbx + 0x208], eax
cmp byte [rdx + 6], 1
sete cl
mov byte [rbx + 0x228], cl
mov r8, qword [rbx + 0x1f8]
mov rax, qword [rbx + 0x1f0]
cmp rax, r8
je 0x180019c6c
nop word [rax + rax]
mov byte [rax + 0x3d], cl
add rax, 0x50
cmp rax, r8
jne 0x180019c60
cmp byte [rdx + 7], 1
xorps xmm1, xmm1
movss xmm4, dword [0x1801161c4]
sete al
mov byte [rbx + 0x229], al
cmp byte [rdx + 8], 1
sete al
mov byte [rbx + 0x22a], al
cmp byte [rdx + 9], 1
sete al
mov byte [rbx + 0x22b], al
cmp byte [rdx + 0xa], 1
sete al
mov byte [rbx + 0x22c], al
cmp r9d, 0x17
jae 0x180019ccd
movss xmm0, dword [0x1801161f4]
movaps xmm2, xmm0
cmp r9d, 0x13
jae 0x180019cd2
cmp r9d, 0xf
jae 0x180019cd7
xorps xmm3, xmm3
jmp 0x180019cea
movss xmm2, dword [rdx + 0x13]
movss xmm0, dword [rdx + 0xf]
movss xmm3, dword [rdx + 0xb]
comiss xmm1, xmm3
jbe 0x180019ce6
xorps xmm3, xmm3
jmp 0x180019cea
minss xmm3, xmm4
comiss xmm1, xmm0
movss dword [rbx + 0x304], xmm3
jbe 0x180019cfc
xorps xmm0, xmm0
jmp 0x180019d00
minss xmm0, xmm4
comiss xmm1, xmm2
movss dword [rbx + 0x308], xmm0
ja 0x180019d14
minss xmm2, xmm4
movaps xmm1, xmm2
movss dword [rbx + 0x30c], xmm1
add rsp, 0xe0
pop rbx
ret