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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rdi, rcx
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x1400b41ff
cmp dword [rax + 0x550], 0
jne 0x1400b371a
xor eax, eax
jmp 0x1400b41ff
xor esi, esi
mov dword [rsp + 0xc0], esi
add rcx, 0x30
call fcn.14013e5b8
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x1400b373d
mov rax, qword [rax]
test rax, rax
jne 0x1400b3735
mov qword [rdi + 0x80], rsi
mov qword [rdi + 0x88], rsi
mov qword [rdi + 0x78], rsi
mov qword [rdi + 0x70], rsi
mov rcx, qword [rdi + 0x90]
call fcn.140129c10
mov qword [rdi + 0x90], rsi
or r15d, 0xffffffff
mov dword [rdi + 0xa0], r15d
mov rcx, rdi
call fcn.1400b33c0
test byte [rdi + 0x10], 1
je 0x1400b37c7
mov edx, 0x827
mov rax, qword [rdi + 0x20]
test byte [rax + 0x3c], 4
je 0x1400b379f
mov edx, 0xd06
test byte [rax + 0x4c], 8
mov eax, 0xdc5
cmovne edx, eax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8d, [r9 + 8]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
test byte [rdi + 0x10], 2
je 0x1400b3839
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov edx, 0x829
lea r8d, [r9 + 0xa]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
mov rax, qword [rdi + 0x20]
test byte [rax + 0x3c], 0x40
je 0x1400b3839
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x101
xor r9d, r9d
mov edx, 0xd79
lea r8d, [r9 + 0xa]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
test byte [rdi + 0x10], 4
je 0x1400b3892
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov edx, 0x81c
lea r8d, [r9 + 2]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
mov rax, qword [rdi + 0x20]
bt dword [rax + 0x1bc], 0xf
jae 0x1400b3892
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
lea rdx, str._HiFi
call fcn.140005840
mov rax, qword [rdi + 0x20]
bt dword [rax + 0x530], 0xa
jae 0x1400b38da
test byte [rdi + 0x14], 1
je 0x1400b38da
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x107
mov edx, 0xe23
mov r9d, reloc.OLEAUT32.dll_SafeArrayDestroy
lea r8d, [r9 - 0xd]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
test byte [rdi + 0x10], 0x10
je 0x1400b3999
mov dword [rsp + 0xc8], 8
lea rcx, [rsp + 0x60]
mov rax, qword [0x14018e378]
mov qword [rcx], rax
mov rax, qword [0x14018e380]
mov qword [rcx + 8], rax
cmp qword [0x140206e20], rsi
je 0x1400b3968
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0xc8]
xor r8d, r8d
lea edx, [r8 + 7]
lea rcx, [rsp + 0x60]
call fcn.140086370
cmp dword [rsp + 0xc8], 2
ja 0x1400b3968
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov edx, 0x846
lea r8d, [r9 + 1]
mov rcx, rdi
call fcn.1400b42d0
jmp 0x1400b3991
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov edx, 0x826
lea r8d, [r9 + 1]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
test byte [rdi + 0x10], 0x20
je 0x1400b39d2
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 5
mov edx, 0x828
mov r9d, 1
mov r8d, r9d
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
test byte [rdi + 0x10], 0x40
je 0x1400b3a1d
mov edx, 0x82a
mov rax, qword [rdi + 0x20]
mov ecx, 0x885
bt dword [rax + 0x50], 0xc
cmovb edx, ecx
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 6
mov r9d, 2
lea r8d, [r9 - 1]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
test byte [rdi + 0x10], 0x80
je 0x1400b3a57
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 7
mov edx, 0x835
mov r9d, 3
lea r8d, [r9 - 2]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
test byte [rdi + 0x10], 8
je 0x1400b3a8d
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x846
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
bt word [rdi + 0x10], 9
jae 0x1400b3ac6
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 9
xor r9d, r9d
mov edx, 0x856
lea r8d, [r9 + 0xc]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
test byte [rdi + 0x11], 1
je 0x1400b3afd
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 8
xor r9d, r9d
mov edx, 0x8a6
lea r8d, [r9 + 4]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
bt word [rdi + 0x10], 0xa
jae 0x1400b3c9e
mov rax, qword [rdi + 0x20]
mov ecx, dword [rax + 0x188]
shr ecx, 0x11
and ecx, 1
je 0x1400b3c65
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 2
mov edx, 0x81c
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea r8d, [r9 - 0xa]
mov rcx, rdi
call fcn.1400b42d0
mov ebp, eax
cmp dword [rdi + 0x48], esi
jle 0x1400b3c65
call fcn.14012a060
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400b3b75
mov ecx, 0x80004005
call fcn.140002cb0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xd0], rax
call fcn.14012a060
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400b3ba9
mov ecx, 0x80004005
call fcn.140002cb0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xd8], rax
mov rcx, qword [rdi + 0x20]
add rcx, 0x538
mov r8d, 0xd06
lea rdx, [rsp + 0xd0]
call fcn.1400b0330
mov rcx, qword [rdi + 0x20]
add rcx, 0x538
mov r8d, 0x81c
lea rdx, [rsp + 0xd8]
call fcn.1400b0330
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov r9, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov r8, rbx
lea rdx, str._s____s
call fcn.140004aa0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400b3c3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400b3c93
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400b3c93
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x20
mov edx, 0x1027
mov r9d, 0xa
lea r8d, [r9 - 8]
mov rcx, rdi
call fcn.1400b42d0
mov ebp, eax
test ebp, ebp
jne 0x1400b3c9e
xor eax, eax
jmp 0x1400b41ff
mov rax, qword [rdi + 0x20]
mov ecx, dword [rax + 0x5c]
test cl, 4
je 0x1400b3d9f
bt word [rdi + 0x10], 0xc
jae 0x1400b3d24
test cl, 8
je 0x1400b3cf0
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x22
mov edx, 0xe0b
mov r9d, 0xa
lea r8d, [r9 - 8]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
jne 0x1400b3d24
jmp 0x1400b41ff
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x22
mov edx, 0xd06
mov r9d, 0xa
lea r8d, [r9 - 8]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
bt word [rdi + 0x10], 0xd
jae 0x1400b3d9f
mov rax, qword [rdi + 0x20]
test byte [rax + 0x5c], 8
je 0x1400b3d6b
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x23
mov edx, 0xe0c
mov r9d, SafeArrayDestroy
lea r8d, [r9 - 9]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
jne 0x1400b3d9f
jmp 0x1400b41ff
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x22
mov edx, 0xd06
mov r9d, 0xa
lea r8d, [r9 - 8]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
bt word [rdi + 0x10], 0xb
jae 0x1400b3dda
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x21
mov edx, 0x1028
mov r9d, 0xa
mov r8d, r9d
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
mov rax, qword [rdi + 0x20]
test byte [rax + 0x162], 1
je 0x1400b3ec6
movzx ecx, word [rdi + 0x10]
test cl, 4
jne 0x1400b3e0d
bt dword [rax + 0x188], 0x11
jae 0x1400b3ec6
bt cx, 0xa
jae 0x1400b3ec6
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x103
mov edx, 0x81c
mov r9d, SafeArrayDestroy
lea r8d, [r9 - 0xb]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
call fcn.14012a060
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400b3e60
mov ecx, 0x80004005
call fcn.140002cb0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rcx, qword [rdi + 0x20]
add rcx, 0x538
mov r8d, 0x81c
lea rdx, [rsp + 0x30]
call fcn.1400b0330
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov rbx, qword [rsp + 0x30]
mov r8, rbx
lea rdx, str.Skullcandy__s
call fcn.140004aa0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400b3ec6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi + 0x20]
test byte [rax + 0x160], 1
je 0x1400b3fa0
movzx eax, word [rdi + 0x10]
test al, 0x10
jne 0x1400b3ee7
test al, 8
je 0x1400b3fa0
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
mov edx, 0x846
mov r9d, SafeArrayDestroy
lea r8d, [r9 - 0xc]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
call fcn.14012a060
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400b3f3a
mov ecx, 0x80004005
call fcn.140002cb0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov rcx, qword [rdi + 0x20]
add rcx, 0x538
mov r8d, 0x846
lea rdx, [rsp + 0x38]
call fcn.1400b0330
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov rbx, qword [rsp + 0x38]
mov r8, rbx
lea rdx, str.Dell__s
call fcn.140004aa0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400b3fa0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi + 0x20]
test byte [rax + 0x162], 1
je 0x1400b4080
test byte [rax + 0x5c], 4
je 0x1400b4080
bt word [rdi + 0x10], 0xc
jae 0x1400b4080
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x105
mov edx, 0x1027
mov r9d, SafeArrayDestroy
lea r8d, [r9 - 0xc]
mov rcx, rdi
call fcn.1400b42d0
test eax, eax
je 0x1400b41ff
call fcn.14012a060
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400b401a
mov ecx, 0x80004005
call fcn.140002cb0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rcx, qword [rdi + 0x20]
add rcx, 0x538
mov r8d, 0xd06
lea rdx, [rsp + 0x40]
call fcn.1400b0330
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov rbx, qword [rsp + 0x40]
mov r8, rbx
lea rdx, str.Skullcandy__s
call fcn.140004aa0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400b4080
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi + 0x20]
bt dword [rax + 0x114], 0x1c
jae 0x1400b41fa
mov edx, esi
mov r8d, r15d
mov rcx, qword [rdi + 0x70]
test rcx, rcx
je 0x1400b41d0
nop
nop
nop
mov eax, dword [rcx + 0x10]
mov rcx, qword [rcx]
shr eax, 0x10
cmp eax, 2
jne 0x1400b40c3
mov r8d, edx
jmp 0x1400b40cd
cmp eax, 0x22
jne 0x1400b40cd
test r8d, r8d
jns 0x1400b40db
add edx, 1
test rcx, rcx
je 0x1400b41d0
jmp 0x1400b40b0
movsxd r14, r8d
mov rax, r14
cmp r14, qword [rdi + 0x80]
jge 0x1400b410c
test rax, rax
js 0x1400b410c
mov rbp, qword [rdi + 0x70]
test rax, rax
je 0x1400b410f
nop
nop
sub rax, 1
mov rbp, qword [rbp]
jne 0x1400b4100
jmp 0x1400b410f
mov rbp, rsi
movsxd r13, edx
mov rax, r13
cmp r13, qword [rdi + 0x80]
jge 0x1400b413b
test rax, rax
js 0x1400b413b
mov rdx, qword [rdi + 0x70]
test rax, rax
je 0x1400b413e
nop
sub rax, 1
mov rdx, qword [rdx]
jne 0x1400b4130
jmp 0x1400b413e
mov rdx, rsi
mov ebx, dword [rdx + 0x10]
lea rcx, [rdi + 0x68]
call fcn.1400403a0
mov r8d, ebx
mov rdx, rbp
lea rcx, [rdi + 0x68]
call fcn.1400b4840
mov rdx, r14
lea rcx, [rdi + 0x30]
call fcn.14013a0fc
mov rbp, rax
mov rdx, r13
lea rcx, [rdi + 0x30]
call fcn.14013a0fc
mov rbx, rax
test rax, rax
jne 0x1400b4182
call fcn.140129ec4
int3
lea rdx, [rax + 0x10]
lea rcx, [rsp + 0x48]
call fcn.140002e40
nop
mov rdx, rbx
lea rcx, [rdi + 0x30]
call fcn.14013e754
lea r8, [rsp + 0x48]
mov rdx, rbp
lea rcx, [rdi + 0x30]
call fcn.14013e838
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
add r15d, 0xffffffff
test r15d, r15d
jg 0x1400b41d0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x70]
test rdx, rdx
je 0x1400b41fa
mov r8d, dword [rdi + 0x1c]
nop
movzx ecx, word [rdx + 0x12]
mov rdx, qword [rdx]
cmp ecx, r8d
jne 0x1400b41f2
mov dword [rdi + 0xa0], esi
add esi, 1
test rdx, rdx
jne 0x1400b41e0
mov eax, 1
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret