Function at 0x140054ce0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x10], rdx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
movzx r15d, r8b
mov rsi, rdx
mov r14, rcx
test r9b, r9b
je 0x140054d43
cmp byte [rcx + 0x10], 0
jne 0x140054d43
mov rdx, qword [rdx]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140055001
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140054ff7
mov edi, 0xffffffff
jmp 0x140054fed
mov rax, qword [rcx]
mov rbx, qword [rax + 0x18]
test rbx, rbx
jne 0x140054d51
jmp 0x140054d18
mov rcx, rsi
call fcn.140048c60
mov r8d, 0x104
mov rdx, qword [rsi]
lea rcx, [rbx + 0x20c]
call fcn.1400f6d88
xor r12d, r12d
mov word [rbx + 0x412], r12w
lea edi, [r12 - 1]
test r15b, r15b
je 0x140054e9b
mov rdx, rsi
lea rcx, [rbp - 0x59]
call fcn.1400f5083
mov r15, rax
mov qword [rsp + 0x28], rax
mov rcx, qword [r14]
mov rbx, qword [rcx + 0x18]
test rbx, rbx
jne 0x140054dbd
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140054e11
mov eax, dword [rdx + 0x10]
jmp 0x140054df6
mov rcx, r15
call fcn.140048c60
mov r8d, 0x104
mov rdx, qword [r15]
lea rcx, [rbx + 0x416]
call fcn.1400f6d88
mov word [rbx + 0x61c], r12w
mov rdx, qword [r15]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140054e11
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140054e07
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140054e11
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, rsi
lea rcx, [rsp + 0x28]
call fcn.1400080e0
mov r15, rax
mov qword [rbp - 0x69], rax
mov rcx, qword [r14]
mov rbx, qword [rcx + 0x18]
test rbx, rbx
jne 0x140054e47
mov rdx, qword [rax]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140054e9b
mov eax, dword [rdx + 0x10]
jmp 0x140054e80
mov rcx, r15
call fcn.140048c60
mov r8d, 0x104
mov rdx, qword [r15]
lea rcx, [rbx + 0x620]
call fcn.1400f6d88
mov word [rbx + 0x826], r12w
mov rdx, qword [r15]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140054e9b
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140054e91
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140054e9b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x140054eb0
mov rax, qword [rcx]
call qword [rax + 0x110]
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp - 0x79], rax
mov dword [rbp - 0x69], r12d
movaps xmm0, xmmword [rbp - 0x69]
movdqa xmmword [rbp + 0x27], xmm0
mov dword [rbp - 0x69], r12d
movaps xmm1, xmmword [rbp - 0x69]
movdqa xmmword [rbp + 0x17], xmm1
mov dword [rbp - 0x49], 3
mov qword [rbp - 0x41], rsi
movaps xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp + 7], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp - 0x39], 4
mov eax, eax
mov qword [rbp - 0x31], rax
movaps xmm0, xmmword [rbp - 0x39]
movdqa xmmword [rbp - 9], xmm0
lea rax, [rbp - 9]
mov qword [rbp - 0x29], rax
lea rax, [rbp + 7]
mov qword [rbp - 0x21], rax
lea rax, [rbp + 0x17]
mov qword [rbp - 0x19], rax
lea rax, [rbp + 0x27]
mov qword [rbp - 0x11], rax
call fcn.140008400
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x20]
mov r8d, 4
lea rdx, [rbp - 0x29]
lea rcx, str.JRiver_install_path__process:__d_:__s_r_n
call fcn.14005db80
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x79]
call fcn.1400333a0
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140054f9a
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140054f90
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140054f9a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rbx, qword [rbp - 0x79]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140054fd4
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140054fca
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140054fd4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsi]
sub rdx, 0x18
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140055001
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140054ff7
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140055001
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret