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

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x48
mov rdi, rcx
lea rax, vtable.juce::TextEditor.1.0
mov qword [rcx], rax
lea rax, vtable.juce::TextEditor.2.0
mov qword [rcx + 0xd8], rax
lea rax, vtable.juce::TextEditor.0
mov qword [rcx + 0xe0], rax
cmp byte [rcx + 0x21c], 0
je 0x14028059a
test byte [rcx + 0xd0], 1
je 0x14028057b
call fcn.1401fe600
jmp 0x140280589
mov rcx, qword [rcx + 0x30]
test rcx, rcx
je 0x14028059a
call fcn.14026b700
mov rcx, rax
test rax, rax
je 0x14028059a
mov rax, qword [rax]
call qword [rax + 0xe0]
mov rax, qword [rdi + 0x1f8]
lea rsi, [rdi + 0x300]
lea rdx, [rax + 0xf0]
xor ebp, ebp
test rax, rax
cmove rdx, rbp
mov rcx, rsi
call fcn.140185d90
lea ecx, [rbp + 0x40]
call fcn.1400daadc
mov rbx, rax
mov rcx, rax
call fcn.140186600
lea rax, vtable.juce::SimpleValueSource.0
mov qword [rbx], rax
lea rax, vtable.juce::SimpleValueSource.1.0
mov qword [rbx + 0x10], rax
lea rax, reloc.WS2_32.dll_accept
mov qword [rbx + 0x30], rax
mov qword [rsp + 0x28], rbx
lock inc dword [rbx + 8]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rbp
mov rcx, qword [rsi]
lea ebx, [rbp - 1]
mov rax, qword [rsp + 0x28]
cmp rax, rcx
je 0x1402806c2
cmp dword [rsi + 0x14], ebp
jle 0x140280655
mov qword [rsp + 0x78], rsi
add rcx, 0x20
lea rdx, [rsp + 0x78]
call fcn.14001e080
mov qword [rsp + 0x80], rsi
mov rcx, qword [rsp + 0x28]
add rcx, 0x20
lea rdx, [rsp + 0x80]
call fcn.14001e150
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14028066b
cmp qword [rsi], rax
je 0x14028068c
lock inc dword [rax + 8]
mov rcx, qword [rsi]
mov qword [rsi], rax
jmp 0x140280671
mov rcx, qword [rsi]
mov qword [rsi], rbp
test rcx, rcx
je 0x14028068c
mov eax, ebx
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14028068c
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, rsi
call fcn.140185ca0
cmp dword [rsp + 0x3c], ebp
jle 0x1402806c2
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1402806c2
lea rax, [rsp + 0x28]
mov qword [rsp + 0x88], rax
add rcx, 0x20
lea rdx, [rsp + 0x88]
call fcn.14001e080
mov dword [rsp + 0x3c], ebp
mov rcx, qword [rsp + 0x30]
call fcn.1400e1bf4
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1402806f0
mov eax, ebx
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1402806f0
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rdi + 0x1f0]
mov qword [rdi + 0x1f0], rbp
test rcx, rcx
je 0x14028070d
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rdi + 0x1f8], rbp
mov dword [rdi + 0x344], ebp
mov rcx, qword [rdi + 0x338]
call fcn.1400e1bf4
mov dword [rdi + 0x334], ebp
mov rcx, qword [rdi + 0x328]
call fcn.1400e1bf4
cmp dword [rsi + 0x14], ebp
jle 0x140280758
mov rcx, qword [rsi]
test rcx, rcx
je 0x140280758
mov qword [rsp + 0x20], rsi
add rcx, 0x20
lea rdx, [rsp + 0x20]
call fcn.14001e080
mov dword [rsi + 0x14], ebp
mov rcx, qword [rsi + 8]
call fcn.1400e1bf4
mov rcx, qword [rsi]
test rcx, rcx
je 0x140280782
mov eax, ebx
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140280782
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
cmp byte [rdi + 0x2f8], bpl
jne 0x140280794
mov qword [rdi + 0x2f0], rbp
jmp 0x1402807b1
mov rcx, qword [rdi + 0x2f0]
mov qword [rdi + 0x2f0], rbp
test rcx, rcx
je 0x1402807b1
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rdi + 0x2f0]
test rcx, rcx
je 0x1402807c7
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rdi + 0x2e0]
sub rcx, 0x10
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x1402807ed
mov eax, ebx
lock xadd dword [rcx], eax
dec eax
cmp eax, ebx
jne 0x1402807ed
call fcn.1400daaa8
lea rcx, [rdi + 0x2d0]
call fcn.1400991d0
mov rcx, qword [rdi + 0x2c0]
test rcx, rcx
je 0x14028081b
mov eax, ebx
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14028081b
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rdi + 0x2a0]
test rcx, rcx
je 0x140280831
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
lea rcx, [rdi + 0x228]
call fcn.140184540
mov rcx, qword [rdi + 0x1f0]
test rcx, rcx
je 0x140280853
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
lea rsi, [rdi + 0x1b0]
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x140280873
mov rax, qword [rcx]
cmp rcx, rsi
setne dl
call qword [rax + 0x20]
mov qword [rsi + 0x38], rbp
lea rsi, [rdi + 0x170]
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x140280893
mov rax, qword [rcx]
cmp rcx, rsi
setne dl
call qword [rax + 0x20]
mov qword [rsi + 0x38], rbp
lea rsi, [rdi + 0x130]
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x1402808b3
mov rax, qword [rcx]
cmp rcx, rsi
setne dl
call qword [rax + 0x20]
mov qword [rsi + 0x38], rbp
lea rsi, [rdi + 0xf0]
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x1402808d3
mov rax, qword [rcx]
cmp rcx, rsi
setne dl
call qword [rax + 0x20]
mov qword [rsi + 0x38], rbp
mov rcx, qword [rdi + 0xe8]
sub rcx, 0x10
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x1402808f8
lock xadd dword [rcx], ebx
dec ebx
cmp ebx, 0xffffffff
jne 0x1402808f8
call fcn.1400daaa8
mov rcx, rdi
add rsp, 0x48
pop rdi
pop rsi
pop rbp
pop rbx
jmp fcn.14028c230