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

Disassembly:
push rbp
push rbx
push rsi
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x140050010]
xor rax, rsp
mov qword [rbp - 0x50], rax
mov eax, dword [rcx + 0xa4]
mov rbx, rcx
mov r15, qword [0x140050840]
inc eax
movzx ecx, byte [rcx + 0xbc]
mov r13, rdx
mov dword [rsp + 0x40], eax
mov edx, dword [r15 + 0x1c90]
mov dword [rbp - 0x80], edx
test cl, 0x10
je 0x14001c57c
mov byte [rsp + 0x30], 1
cmp eax, edx
je 0x14001c581
mov byte [rsp + 0x30], 0
xor r14d, r14d
lea r9d, [r14 + 1]
cmp dword [rbx + 0xb4], r14d
je 0x14001c59a
mov dword [rsp + 0x60], r9d
cmp eax, edx
je 0x14001c59f
mov dword [rsp + 0x60], r14d
and cl, 0xef
mov dword [rbx + 0xb4], r14d
xor sil, sil
mov byte [rbx + 0xbc], cl
mov rax, qword [rbx + 0x10]
mov rdx, rbx
mov dword [rsp + 0x34], esi
mov qword [rsp + 0x68], rbx
test rax, rax
je 0x14001c5e7
nop word [rax + rax]
mov qword [rsp + 0x68], rax
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14001c5d0
mov esi, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x68]
mov rax, qword [r15 + 0x2080]
test rax, rax
je 0x14001c600
cmp qword [rax + 0x448], rbx
sete sil
jmp 0x14001c62c
mov r8, qword [r15 + 0x1f50]
test r8, r8
je 0x14001c630
mov rax, qword [r13 + 0x3d8]
cmp qword [r8 + 0x3e0], rax
jne 0x14001c630
mov eax, dword [rbx]
cmp dword [rdx + 0xac], eax
movzx esi, sil
cmove esi, r9d
mov dword [rsp + 0x34], esi
mov eax, dword [rbx + 8]
test eax, 0x3000
jne 0x14001d59a
movzx ecx, byte [r13 + 0xd4]
mov qword [rsp + 0x180], rdi
mov qword [rsp + 0x130], r12
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x100], xmm8
movaps xmmword [rsp + 0xf0], xmm9
movaps xmmword [rsp + 0xe0], xmm10
shr eax, 0xa
movaps xmmword [rsp + 0xd0], xmm11
movaps xmmword [rsp + 0xc0], xmm12
mov byte [rsp + 0x31], cl
test r9b, al
jne 0x14001c6a5
mov byte [r13 + 0xd4], r14b
mov dword [r13 + 0x18c], r9d
mov ecx, dword [rbx]
call fcn.140010d40
mov rax, qword [rbx + 0x38]
mov qword [rbp - 0x78], rax
mov rdi, rax
test rax, rax
jne 0x14001c6c8
mov rcx, rbx
call fcn.14001d620
mov rdi, qword [rbx + 0x38]
movzx r12d, byte [rbx + 0xbc]
movzx eax, sil
add al, al
mov dword [rsp + 0x38], r14d
and r12b, 0xfd
or r12b, al
mov eax, dword [rbx + 4]
or eax, dword [rbx + 8]
mov byte [rbx + 0xbc], r12b
bt eax, 0xe
jb 0x14001c7b7
cmp dword [r15 + 0x165c], 0xffffffff
je 0x14001c7b7
mov rsi, qword [0x140050840]
lea rcx, str.WindowMenu
xor edx, edx
mov byte [rbp - 0x58], 1
mov r8, qword [rsi + 0x1d18]
movsxd rax, dword [r8 + 0x108]
mov r8, qword [r8 + 0x110]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140002940
mov edx, eax
cmp dword [rsi + 0x1d6c], eax
jne 0x14001c752
mov dword [rsi + 0x1d70], eax
movzx r12d, byte [rbx + 0xbc]
cmp dword [rsi + 0x1da8], edx
jne 0x14001c769
mov byte [rsi + 0x1dac], 1
movzx r12d, byte [rbx + 0xbc]
movsxd rax, dword [rsi + 0x1ee0]
cmp dword [rsi + 0x1ed0], eax
jle 0x14001c7c2
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x1ed8]
add rcx, rcx
cmp dword [rax + rcx*8], edx
jne 0x14001c7c2
mov rdx, rdi
mov rcx, rbx
call fcn.14001c350
test eax, eax
je 0x14001c7a1
mov dword [rdi + 0x1c], eax
mov dword [rsp + 0x38], eax
movzx r12d, byte [rbx + 0xbc]
movzx eax, r12b
shr al, 1
and al, 1
or byte [rsp + 0x34], al
jmp 0x14001c7bb
mov byte [rbp - 0x58], r14b
mov rsi, qword [0x140050840]
movss xmm4, dword [rbx + 0x44]
movss xmm5, dword [rbx + 0x40]
movss xmm1, dword [rsi + 0x1674]
movaps xmm2, xmm5
movss xmm3, dword [rsi + 0x1a80]
addss xmm1, xmm1
movss dword [rsp + 0x54], xmm4
movaps xmm0, xmm3
movss dword [rsp + 0x70], xmm5
addss xmm0, xmm4
movss dword [rsp + 0x74], xmm4
addss xmm2, dword [rbx + 0x48]
addss xmm1, xmm0
movss xmm0, dword [rsi + 0x1670]
movss dword [rsp + 0x78], xmm2
subss xmm2, xmm0
movss dword [rsp + 0x5c], xmm1
movss dword [rsp + 0x7c], xmm1
movaps xmm1, xmm0
movss dword [rsp + 0x58], xmm2
addss xmm1, xmm5
movss dword [rsp + 0x50], xmm1
test r12b, 4
je 0x14001c846
subss xmm2, xmm3
movss dword [rsp + 0x58], xmm2
test r12b, 8
je 0x14001c894
cmp dword [rsi + 0x165c], r14d
jne 0x14001c861
addss xmm3, xmm1
movss dword [rsp + 0x50], xmm3
jmp 0x14001c894
cmp dword [rsi + 0x165c], 1
jne 0x14001c894
addss xmm0, xmm3
subss xmm2, xmm0
movaps xmm1, xmm2
movss dword [rsp + 0x58], xmm2
unpcklps xmm1, xmm4
movaps xmm0, xmm1
movsd qword [rsp + 0x48], xmm1
movss xmm5, dword [rsp + 0x48]
shufps xmm0, xmm0, 0x55
movaps xmm4, xmm0
mov r12d, r14d
mov eax, dword [rdi]
movups xmm0, xmmword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movss dword [rsp + 0x48], xmm5
movups xmmword [rbp - 0x70], xmm0
movss dword [rsp + 0x4c], xmm4
cmp dword [rbx + 0x28], r14d
jle 0x14001c925
mov rsi, r14
nop dword [rax + rax]
mov rax, qword [rbx + 0x30]
mov r10, qword [rsi + rax]
mov r8d, dword [r10 + 8]
test r8d, r8d
je 0x14001c901
mov edx, dword [rdi]
mov eax, r14d
test edx, edx
jle 0x14001c901
mov r9, qword [rdi + 8]
mov rcx, r9
cmp dword [rcx], r8d
je 0x14001c8f2
inc eax
add rcx, 0x30
cmp eax, edx
jl 0x14001c8e1
jmp 0x14001c901
cdqe
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, r9
jne 0x14001c911
mov r8, r10
mov edx, 0x400000
mov rcx, rdi
call fcn.14003dd00
inc r12d
add rsi, 8
cmp r12d, dword [rbx + 0x28]
jl 0x14001c8c0
mov rsi, qword [0x140050840]
mov r12d, dword [rsp + 0x34]
test r12b, r12b
je 0x14001c93c
mov eax, dword [r15 + 0x1c90]
mov dword [rbx + 0xa8], eax
cmp byte [r13 + 0xd2], r14b
je 0x14001c94c
mov eax, 0xc
jmp 0x14001c959
test r12b, r12b
mov rax, r14
setne al
add rax, 0xa
add rax, rax
lea rcx, [rsp + 0x50]
movups xmm0, xmmword [rsi + rax*8 + 0x16fc]
movups xmmword [rsp + 0x50], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rsi + 0x1638]
movss dword [rsp + 0x5c], xmm0
call fcn.140002e10
movss xmm0, dword [r13 + 0x88]
lea r8, [rsp + 0x78]
mov rcx, qword [r13 + 0x2f8]
lea rdx, [rsp + 0x70]
mov r9d, eax
mov dword [rsp + 0x28], 0x30
movss dword [rsp + 0x20], xmm0
call fcn.14002df30
cmp byte [rbp - 0x58], r14b
je 0x14001ca91
movsxd rax, dword [r13 + 0x108]
lea rcx, str.COLLAPSE
mov r8, qword [r13 + 0x110]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140002940
mov rcx, qword [0x140050840]
cmp dword [rcx + 0x1d6c], eax
jne 0x14001c9f5
mov dword [rcx + 0x1d70], eax
cmp dword [rcx + 0x1da8], eax
jne 0x14001ca04
mov byte [rcx + 0x1dac], 1
mov r8, rbx
lea rdx, [rsp + 0x48]
mov ecx, eax
call fcn.14003a0a0
test al, al
je 0x14001ca6a
mov rsi, qword [0x140050840]
lea rcx, str.WindowMenu
xor edx, edx
mov r8, qword [rsi + 0x1d18]
movsxd rax, dword [r8 + 0x108]
mov r8, qword [r8 + 0x110]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140002940
cmp dword [rsi + 0x1d6c], eax
jne 0x14001ca54
mov dword [rsi + 0x1d70], eax
cmp dword [rsi + 0x1da8], eax
jne 0x14001ca63
mov byte [rsi + 0x1dac], 1
mov ecx, eax
call fcn.140011960
mov rax, qword [0x140050840]
mov ecx, dword [rax + 0x1d6c]
test ecx, ecx
je 0x14001ca91
mov rax, qword [rax + 0x1d18]
cmp ecx, dword [rax + 0x164]
jne 0x14001ca91
mov eax, dword [rdi + 0x18]
mov dword [rsp + 0x38], eax
mov r9d, dword [rdi]
lea edx, [r9 - 1]
test edx, edx
js 0x14001cad4
movsxd rax, edx
lea rcx, [rax + rax*2]
shl rcx, 4
nop word [rax + rax]
mov r8, qword [rdi + 8]
mov eax, dword [r8 + rcx + 4]
bt eax, 0x16
jae 0x14001cad4
btr eax, 0x16
mov r9d, edx
mov dword [r8 + rcx + 4], eax
sub rcx, 0x30
sub edx, 1
jns 0x14001cab0
mov ecx, dword [rdi]
cmp ecx, r9d
jle 0x14001cb0b
lea eax, [r9 + 1]
cmp ecx, eax
jle 0x14001cb0b
sub ecx, r9d
movsxd rax, r9d
movsxd rdx, ecx
lea r9, [0x14001c300]
mov r8d, 0x30
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, qword [rdi + 8]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
mov rax, qword [r15 + 0x1f50]
test rax, rax
je 0x14001cb2d
mov rax, qword [rax + 0x3d0]
cmp qword [rax + 0x448], rbx
jne 0x14001cb2d
mov eax, dword [rax + 8]
mov dword [rdi + 0x18], eax
cmp qword [rbp - 0x78], r14
jne 0x14001cb63
mov edx, dword [rbx + 0xb0]
test edx, edx
je 0x14001cb63
mov r8d, dword [rdi]
mov eax, r14d
test r8d, r8d
jle 0x14001cb63
mov r9, qword [rdi + 8]
mov rcx, r9
nop
cmp dword [rcx], edx
je 0x14001d064
inc eax
add rcx, 0x30
cmp eax, r8d
jl 0x14001cb50
movsxd rax, dword [rdi]
cmp eax, dword [rsp + 0x3c]
jle 0x14001cb85
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
add rcx, rcx
mov rcx, qword [rax + rcx*8 - 0x28]
mov eax, dword [rcx + 8]
mov dword [rdi + 0x1c], eax
mov dword [rdi + 0x18], eax
mov r8d, 0x500003
cmp byte [r13 + 0xd2], r14b
jne 0x14001cba0
test r12b, r12b
mov eax, 0x700003
cmovne r8d, eax
mov r9, rbx
movaps xmmword [rsp + 0x120], xmm6
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.14003ca10
movups xmm7, xmmword [r15 + 0x16fc]
mov dword [rsp + 0x3c], r14d
movups xmm8, xmmword [r15 + 0x190c]
movups xmm9, xmmword [r15 + 0x191c]
movups xmm10, xmmword [r15 + 0x192c]
movups xmm11, xmmword [r15 + 0x193c]
movups xmm12, xmmword [r15 + 0x194c]
mov qword [rbx + 0x88], r14
cmp dword [rbx + 0x28], r14d
jle 0x14001cfd0
movss xmm6, dword [0x140048c80]
mov r12, r14
nop dword [rax + rax]
mov rax, qword [rbx + 0x30]
mov rsi, qword [r12 + rax]
cmp byte [rsp + 0x30], r14b
jne 0x14001cc28
mov eax, dword [rsp + 0x60]
cmp eax, dword [rsi + 8]
jne 0x14001cc3e
cmp byte [rsi + 0xd8], r14b
je 0x14001cc3e
test dword [rsi + 0xc], 0x100000
je 0x14001cfad
mov eax, dword [rsi + 0x2b8]
inc eax
cmp eax, dword [r15 + 0x1c90]
jge 0x14001cc5c
mov eax, dword [rbp - 0x80]
cmp dword [rsp + 0x40], eax
je 0x14001cfad
mov ecx, dword [rsi + 0x42c]
xorps xmm3, xmm3
mov edx, dword [rsi + 0x24]
xorps xmm2, xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
or edx, 1
mov eax, ecx
test dword [rsi + 0xc], 0x100000
cmove edx, dword [rsi + 0x24]
mov r9d, edx
or r9d, 4
test byte [rdi + 0x10], 8
cmove r9d, edx
shr eax, 8
movzx eax, al
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 0x10
movzx eax, al
cvtsi2ss xmm2, rax
mov eax, ecx
shr eax, 0x18
mulss xmm3, xmm6
cvtsi2ss xmm1, rax
movzx eax, cl
cvtsi2ss xmm0, rax
mulss xmm2, xmm6
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 + 0x16fc], xmm0
xorps xmm0, xmm0
movss dword [r15 + 0x1700], xmm3
xorps xmm3, xmm3
movss dword [r15 + 0x1704], xmm2
xorps xmm2, xmm2
movss dword [r15 + 0x1708], xmm1
xorps xmm1, xmm1
mov ecx, dword [rsi + 0x430]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 0x10
movzx eax, al
cvtsi2ss xmm2, rax
mov eax, ecx
shr eax, 0x18
mulss xmm3, xmm6
cvtsi2ss xmm1, rax
movzx eax, cl
cvtsi2ss xmm0, rax
mulss xmm2, xmm6
mulss xmm1, xmm6
mulss xmm0, xmm6
movss dword [r15 + 0x190c], xmm0
xorps xmm0, xmm0
movss dword [r15 + 0x1910], xmm3
xorps xmm3, xmm3
movss dword [r15 + 0x1914], xmm2
xorps xmm2, xmm2
movss dword [r15 + 0x1918], xmm1
xorps xmm1, xmm1
mov ecx, dword [rsi + 0x434]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 0x10
movzx eax, al
cvtsi2ss xmm2, rax
mov eax, ecx
shr eax, 0x18
mulss xmm3, xmm6
cvtsi2ss xmm1, rax
movzx eax, cl
mulss xmm2, xmm6
mulss xmm1, xmm6
cvtsi2ss xmm0, rax
mulss xmm0, xmm6
movss dword [r15 + 0x191c], xmm0
xorps xmm0, xmm0
movss dword [r15 + 0x1920], xmm3
xorps xmm3, xmm3
movss dword [r15 + 0x1924], xmm2
xorps xmm2, xmm2
movss dword [r15 + 0x1928], xmm1
xorps xmm1, xmm1
mov ecx, dword [rsi + 0x438]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 0x10
movzx eax, al
cvtsi2ss xmm2, rax
mov eax, ecx
shr eax, 0x18
mulss xmm3, xmm6
cvtsi2ss xmm1, rax
movzx eax, cl
cvtsi2ss xmm0, rax
mulss xmm2, xmm6
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r15 + 0x192c], xmm0
xorps xmm0, xmm0
movss dword [r15 + 0x1930], xmm3
xorps xmm3, xmm3
movss dword [r15 + 0x1934], xmm2
xorps xmm2, xmm2
movss dword [r15 + 0x1938], xmm1
xorps xmm1, xmm1
mov ecx, dword [rsi + 0x43c]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 0x10
movzx eax, al
cvtsi2ss xmm2, rax
mov eax, ecx
shr eax, 0x18
mulss xmm3, xmm6
cvtsi2ss xmm1, rax
movzx eax, cl
cvtsi2ss xmm0, rax
mulss xmm2, xmm6
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r15 + 0x193c], xmm0
xorps xmm0, xmm0
movss dword [r15 + 0x1940], xmm3
xorps xmm3, xmm3
movss dword [r15 + 0x1944], xmm2
xorps xmm2, xmm2
movss dword [r15 + 0x1948], xmm1
xorps xmm1, xmm1
mov ecx, dword [rsi + 0x440]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtsi2ss xmm3, rax
mov eax, ecx
shr eax, 0x10
movzx eax, al
cvtsi2ss xmm2, rax
mov eax, ecx
shr eax, 0x18
mulss xmm3, xmm6
cvtsi2ss xmm1, rax
movzx eax, cl
cvtsi2ss xmm0, rax
mulss xmm2, xmm6
mulss xmm0, xmm6
mulss xmm1, xmm6
movss dword [r15 + 0x194c], xmm0
movss dword [r15 + 0x1950], xmm3
movss dword [r15 + 0x1954], xmm2
lea r8, [rbp - 0x58]
movss dword [r15 + 0x1958], xmm1
mov rcx, rdi
cmp byte [rsi + 0xd8], r14b
mov rdx, qword [rsi]
cmove r8, r14
mov byte [rbp - 0x58], 1
mov qword [rsp + 0x20], rsi
call fcn.14003e620
cmp byte [rbp - 0x58], r14b
jne 0x14001cf5a
mov eax, dword [rsi + 8]
mov dword [rbx + 0xb4], eax
mov eax, dword [rsi + 8]
cmp dword [rdi + 0x20], eax
jne 0x14001cf69
mov qword [rbx + 0x88], rsi
mov eax, dword [r13 + 0x168]
mov dword [rsi + 0x45c], eax
movups xmm0, xmmword [r13 + 0x16c]
movups xmmword [rsi + 0x460], xmm0
mov rax, qword [r15 + 0x1f50]
test rax, rax
je 0x14001cfad
cmp qword [rax + 0x3d0], rsi
jne 0x14001cfad
test byte [rsi + 0x190], 2
jne 0x14001cfad
mov eax, dword [rsi + 8]
mov dword [r13 + 0x3fc], eax
mov eax, dword [rsp + 0x3c]
add r12, 8
inc eax
mov dword [rsp + 0x3c], eax
cmp eax, dword [rbx + 0x28]
jl 0x14001cc10
mov r12d, dword [rsp + 0x34]
nop dword [rax]
movups xmmword [r15 + 0x16fc], xmm7
movups xmmword [r15 + 0x190c], xmm8
movups xmmword [r15 + 0x191c], xmm9
movups xmmword [r15 + 0x192c], xmm10
movups xmmword [r15 + 0x193c], xmm11
movaps xmm11, xmmword [rsp + 0xd0]
movups xmmword [r15 + 0x194c], xmm12
mov rcx, qword [rbx + 0x88]
movaps xmm12, xmmword [rsp + 0xc0]
test rcx, rcx
je 0x14001d038
mov rax, qword [rsp + 0x68]
test r12b, r12b
jne 0x14001d031
cmp qword [rax + 0x88], r14
jne 0x14001d038
mov qword [rax + 0x88], rcx
movzx eax, byte [rbx + 0xbc]
xorps xmm10, xmm10
and al, 4
je 0x14001d082
mov rcx, qword [rbx + 0x88]
test rcx, rcx
je 0x14001d082
cmp byte [rcx + 0xd8], r14b
je 0x14001d082
mov sil, 1
jmp 0x14001d16e
cdqe
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, r9
je 0x14001cb63
mov dword [rdi + 0x1c], edx
mov dword [rdi + 0x18], edx
jmp 0x14001cb85
test al, al
je 0x14001d2ca
mov rsi, qword [0x140050840]
mov eax, dword [rsi + 0x1d54]
lea r12, [rsi + 0x1eb0]
or eax, 4
mov dword [rsi + 0x1d54], eax
mov ecx, dword [r12 + 4]
mov r8d, dword [r12]
mov dword [rsp + 0x40], eax
cmp r8d, ecx
jne 0x14001d0e9
inc r8d
test ecx, ecx
je 0x14001d0cb
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14001d0d0
mov eax, 8
cmp eax, r8d
mov rcx, r12
cmovg r8d, eax
mov edx, r8d
call fcn.140022990
mov rsi, qword [0x140050840]
movsxd rcx, dword [r12]
mov rax, qword [r12 + 8]
mov edx, dword [rsp + 0x40]
mov dword [rbp - 0x70], r14d
mov dword [rax + rcx*4], edx
lea rcx, [rsi + 0x1e70]
inc dword [r12]
lea rdx, [rbp - 0x70]
movups xmm0, xmmword [rsi + 0x16fc]
movss xmm9, dword [r15 + 0x1708]
movss xmm6, dword [r15 + 0x16fc]
movss xmm7, dword [r15 + 0x1700]
movss xmm8, dword [r15 + 0x1704]
mulss xmm9, dword [0x140048cb4]
movups xmmword [rbp - 0x6c], xmm0
call fcn.1400222a0
movss dword [rsi + 0x16fc], xmm6
movss dword [rsi + 0x1700], xmm7
movss dword [rsi + 0x1704], xmm8
movss dword [rsi + 0x1708], xmm9
xor sil, sil
movsxd rax, dword [r13 + 0x108]
lea rcx, str.CLOSE
mov r8, qword [r13 + 0x110]
xor edx, edx
movss xmm1, dword [r15 + 0x1a80]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140002940
mov rcx, qword [0x140050840]
cmp dword [rcx + 0x1d6c], eax
jne 0x14001d1ad
mov dword [rcx + 0x1d70], eax
cmp dword [rcx + 0x1da8], eax
jne 0x14001d1bc
mov byte [rcx + 0x1dac], 1
movss xmm0, dword [r15 + 0x1670]
lea rdx, [rsp + 0x48]
xorps xmm0, xmmword [0x140048e90]
mov ecx, eax
addss xmm0, xmm0
subss xmm0, xmm1
addss xmm0, dword [rsp + 0x78]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [rsp + 0x74]
addss xmm0, xmm10
movss dword [rsp + 0x4c], xmm0
call fcn.140039ce0
test al, al
je 0x14001d26e
mov r8d, dword [rdi + 0x20]
test r8d, r8d
je 0x14001d26e
mov edx, dword [rdi]
mov eax, r14d
test edx, edx
jle 0x14001d26e
mov r9, qword [rdi + 8]
mov rcx, r9
nop word [rax + rax]
cmp dword [rcx], r8d
je 0x14001d231
inc eax
add rcx, 0x30
cmp eax, edx
jl 0x14001d220
jmp 0x14001d26e
cdqe
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, r9
je 0x14001d26e
mov eax, dword [rcx]
mov dword [rbx + 0xb4], eax
test byte [rcx + 4], 1
mov eax, dword [rcx]
jne 0x14001d266
mov byte [rcx + 0x2a], 1
cmp dword [rdi + 0x20], eax
jne 0x14001d26e
mov dword [rcx + 0x10], 0xffffffff
mov qword [rdi + 0x18], r14
jmp 0x14001d26e
cmp dword [rdi + 0x20], eax
je 0x14001d26e
mov dword [rdi + 0x1c], eax
test sil, sil
jne 0x14001d2ca
mov rsi, qword [0x140050840]
mov rcx, qword [rsi + 0x1e78]
movsxd rax, dword [rsi + 0x1e70]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [rsi + rax*8 + 0x16fc], xmm0
dec dword [rsi + 0x1e70]
movsxd rcx, dword [rsi + 0x1eb0]
lea eax, [rcx - 1]
mov dword [rsi + 0x1eb0], eax
mov rax, qword [rsi + 0x1eb8]
mov ecx, dword [rax + rcx*4 - 8]
mov dword [rsi + 0x1d54], ecx
jmp 0x14001d2d1
mov rsi, qword [0x140050840]
movsxd rax, dword [r13 + 0x108]
lea rcx, str.TITLEBAR
mov r8, qword [r13 + 0x110]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.140002940
mov r12d, eax
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x120]
cmp dword [rsi + 0x1d6c], eax
jne 0x14001d325
mov dword [rsi + 0x1d70], eax
cmp dword [rsi + 0x1da8], r12d
jne 0x14001d335
mov byte [rsi + 0x1dac], 1
mov eax, dword [r15 + 0x1d58]
test eax, eax
je 0x14001d352
cmp eax, r12d
je 0x14001d352
cmp dword [r15 + 0x1d6c], r12d
jne 0x14001d423
lea r9, [rsp + 0x30]
mov dword [rsp + 0x20], 0x1000
xor r8d, r8d
lea rcx, [rsp + 0x70]
mov edx, r12d
call fcn.140038de0
mov rcx, qword [0x140050840]
cmp dword [r15 + 0x1d58], r12d
jne 0x14001d3b1
mov dword [r13 + 0x164], r12d
mov rax, qword [rcx + 0x1d18]
mov edx, dword [rax + 0x164]
cmp dword [rcx + 0x1d58], edx
jne 0x14001d3a2
mov byte [rcx + 0x1d60], 1
cmp dword [rcx + 0x1d6c], edx
jne 0x14001d3b1
mov byte [rcx + 0x1d79], 1
cmp byte [rsp + 0x30], r14b
je 0x14001d423
movss xmm0, dword [rcx + 0x434]
ucomiss xmm0, xmm10
jp 0x14001d3cf
jne 0x14001d3cf
mov eax, dword [rdi + 0x18]
mov dword [rsp + 0x38], eax
mov edx, dword [rdi + 0x18]
test edx, edx
je 0x14001d423
mov r8d, dword [rdi]
mov eax, r14d
test r8d, r8d
jle 0x14001d423
mov r9, qword [rdi + 8]
mov rcx, r9
cmp dword [rcx], edx
je 0x14001d3f9
inc eax
add rcx, 0x30
cmp eax, r8d
jl 0x14001d3e8
jmp 0x14001d423
cdqe
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, r9
je 0x14001d423
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14001d418
mov rcx, qword [rbx + 0x80]
xor r8d, r8d
mov rdx, rbx
call fcn.140005950
mov edx, dword [rdi + 0x1c]
test edx, edx
movaps xmm10, xmmword [rsp + 0xe0]
cmove edx, dword [rsp + 0x38]
mov r12, qword [rsp + 0x130]
test edx, edx
je 0x14001d55a
mov r8d, dword [rdi]
mov eax, r14d
test r8d, r8d
jle 0x14001d55a
mov r9, qword [rdi + 8]
mov rcx, r9
nop dword [rax]
cmp dword [rcx], edx
je 0x14001d474
inc eax
add rcx, 0x30
cmp eax, r8d
jl 0x14001d460
jmp 0x14001d55a
cdqe
lea rdi, [rax + rax*2]
shl rdi, 4
add rdi, r9
je 0x14001d55a
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14001d55a
call fcn.1400105b0
mov rax, qword [rdi + 8]
mov rdx, qword [0x140050840]
mov ecx, dword [rax + 0xc]
bt ecx, 0x12
jae 0x14001d4b9
mov qword [rdx + 0x1f58], r14
jmp 0x14001d55a
cmp rax, qword [rax + 0x3d0]
je 0x14001d4e1
bt ecx, 0x1a
jb 0x14001d4e1
mov ecx, dword [rax + 0x3f8]
test ecx, ecx
je 0x14001d4e1
mov dword [rdx + 0x1f58], ecx
mov dword [rdx + 0x1f5c], r14d
jmp 0x14001d55a
movsxd rax, dword [rdx + 0x1f9c]
mov dword [rdx + 0x1f9c], eax
mov rcx, rax
mov rax, qword [rdx + 0x1f50]
mov qword [rdx + 0x1f58], r14
mov dword [rax + rcx*4 + 0x3f8], r14d
add rcx, 0x40
mov rax, qword [rdx + 0x1f50]
add rcx, rcx
mov qword [rax + rcx*8], r14
mov qword [rax + rcx*8 + 8], r14
mov word [rdx + 0x1fa9], 1
mov qword [rdx + 0x1fac], r14
mov qword [rdx + 0x1fb4], r14
mov dword [rdx + 0x1fbc], r14d
cmp byte [rdx + 0x1fc0], r14b
jne 0x14001d552
cmp byte [rdx + 0x1fa9], r14b
jne 0x14001d552
xor al, al
jmp 0x14001d554
mov al, 1
mov byte [rdx + 0x1fa8], al
call fcn.14003cd20
mov rax, qword [0x140050840]
mov rdi, qword [rsp + 0x180]
mov rcx, qword [rax + 0x1d18]
dec dword [rcx + 0x108]
mov eax, dword [rbx + 8]
shr eax, 0xa
test al, 1
jne 0x14001d602
movzx eax, byte [rsp + 0x31]
mov byte [r13 + 0xd4], al
mov dword [r13 + 0x18c], r14d
jmp 0x14001d602
cmp dword [rbx + 0x28], r14d
jle 0x14001d5a7
mov rax, qword [rbx + 0x30]
mov r14, qword [rax]
and cl, 0xfd
mov qword [rbx + 0x88], r14
movzx eax, sil
add al, al
or cl, al
mov byte [rbx + 0xbc], cl
test sil, sil
je 0x14001d5d1
mov eax, dword [r15 + 0x1c90]
mov dword [rbx + 0xa8], eax
test r14, r14
je 0x14001d602
test sil, sil
jne 0x14001d5e5
cmp qword [rdx + 0x88], 0
jne 0x14001d5ec
mov qword [rdx + 0x88], r14
mov rdx, qword [rbx + 0x38]
test rdx, rdx
je 0x14001d602
mov rax, qword [rbx + 0x88]
mov ecx, dword [rax + 8]
mov dword [rdx + 0x20], ecx
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.140041a20
add rsp, 0x138
pop r15
pop r14
pop r13
pop rsi
pop rbx
pop rbp
ret