Function at 0x1400c2420
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, 0x88
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov rdi, rcx
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x1400c2f4f
cmp dword [rax + 0x568], 0
jne 0x1400c245d
xor eax, eax
jmp 0x1400c2f4f
xor esi, esi
mov dword [rsp + 0xd0], esi
add rcx, 0x30
call fcn.140154c84
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x1400c2480
mov rax, qword [rax]
test rax, rax
jne 0x1400c2478
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.14013db70
mov qword [rdi + 0x90], rsi
or r15d, 0xffffffff
mov dword [rdi + 0xa0], r15d
mov rcx, rdi
call fcn.1400c2000
test byte [rdi + 0x10], 1
je 0x1400c250a
mov edx, 0x827
mov rax, qword [rdi + 0x20]
test byte [rax + 0x3c], 4
je 0x1400c24e2
mov edx, 0xd06
test byte [rax + 0x4c], 8
mov eax, 0xdc5
cmovne edx, eax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8d, [r9 + 8]
mov rcx, rdi
call fcn.1400c3030
test eax, eax
je 0x1400c2f4f
test byte [rdi + 0x10], 2
je 0x1400c257c
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
mov rax, qword [rdi + 0x20]
test byte [rax + 0x3c], 0x40
je 0x1400c257c
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
test byte [rdi + 0x10], 4
je 0x1400c25d7
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
mov rax, qword [rdi + 0x20]
bt dword [rax + 0x1bc], 0xf
jae 0x1400c25d7
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
lea r8, str.HiFi
xor edx, edx
call fcn.140009b40
mov rax, qword [rdi + 0x20]
bt dword [rax + 0x548], 0xa
jae 0x1400c261f
test byte [rdi + 0x14], 1
je 0x1400c261f
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x107
mov edx, 0xf9a
mov r9d, reloc.OLEAUT32.dll_SafeArrayDestroy
lea r8d, [r9 - 0xd]
mov rcx, rdi
call fcn.1400c3030
test eax, eax
je 0x1400c2f4f
test byte [rdi + 0x10], 0x10
je 0x1400c26fe
mov dword [rsp + 0xd8], 8
mov rcx, qword [0x14022c510]
test rcx, rcx
je 0x1400c26cd
mov dword [rsp + 0xe0], esi
lea rdx, [rsp + 0x70]
mov rax, qword [0x1401ab228]
mov qword [rdx], rax
mov rax, qword [0x1401ab230]
mov qword [rdx + 8], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8d, [r9 + 7]
lea rdx, [rsp + 0x70]
call fcn.14008acf0
cmp dword [rsp + 0xd8], 2
ja 0x1400c26cd
lea rax, [rsp + 0xd0]
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.1400c3030
jmp 0x1400c26f6
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
test byte [rdi + 0x10], 0x20
je 0x1400c2737
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 5
mov edx, 0x828
mov r9d, 1
mov r8d, r9d
mov rcx, rdi
call fcn.1400c3030
test eax, eax
je 0x1400c2f4f
test byte [rdi + 0x10], 0x40
je 0x1400c2782
mov edx, 0x82a
mov rax, qword [rdi + 0x20]
mov ecx, 0x885
bt dword [rax + 0x50], 0xc
cmovb edx, ecx
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 6
mov r9d, 2
lea r8d, [r9 - 1]
mov rcx, rdi
call fcn.1400c3030
test eax, eax
je 0x1400c2f4f
test byte [rdi + 0x10], 0x80
je 0x1400c27bc
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
test byte [rdi + 0x10], 8
je 0x1400c27f2
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x846
mov rcx, rdi
call fcn.1400c3030
test eax, eax
je 0x1400c2f4f
bt word [rdi + 0x10], 9
jae 0x1400c282b
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
test byte [rdi + 0x11], 1
je 0x1400c2862
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
bt word [rdi + 0x10], 0xa
jae 0x1400c29fa
mov rax, qword [rdi + 0x20]
mov ecx, dword [rax + 0x188]
shr ecx, 0x11
and ecx, 1
je 0x1400c29c1
lea rax, [rsp + 0xd0]
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.1400c3030
mov ebp, eax
cmp dword [rdi + 0x48], esi
jle 0x1400c29c1
call fcn.14013e120
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c28da
mov ecx, 0x80004005
call fcn.140001c70
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe8], rax
call fcn.14013e120
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c290e
mov ecx, 0x80004005
call fcn.140001c70
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, 0x550
mov r8d, 0xd06
lea rdx, [rsp + 0xe8]
call fcn.1400be170
mov rcx, qword [rdi + 0x20]
add rcx, 0x550
mov r8d, 0x81c
lea rdx, [rsp + 0x40]
call fcn.1400be170
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov r9, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x40]
mov r8, rbx
lea rdx, str._s____s
call fcn.140001df0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c299b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c29ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400c29ef
lea rax, [rsp + 0xd0]
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.1400c3030
mov ebp, eax
test ebp, ebp
jne 0x1400c29fa
xor eax, eax
jmp 0x1400c2f4f
mov rax, qword [rdi + 0x20]
mov ecx, dword [rax + 0x5c]
test cl, 4
je 0x1400c2afb
bt word [rdi + 0x10], 0xc
jae 0x1400c2a80
test cl, 8
je 0x1400c2a4c
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
jne 0x1400c2a80
jmp 0x1400c2f4f
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
bt word [rdi + 0x10], 0xd
jae 0x1400c2afb
mov rax, qword [rdi + 0x20]
test byte [rax + 0x5c], 8
je 0x1400c2ac7
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x23
mov edx, 0xe0c
mov r9d, VariantTimeToDosDateTime
lea r8d, [r9 - 9]
mov rcx, rdi
call fcn.1400c3030
test eax, eax
jne 0x1400c2afb
jmp 0x1400c2f4f
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
bt word [rdi + 0x10], 0xb
jae 0x1400c2b36
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x21
mov edx, 0x1028
mov r9d, 0xa
mov r8d, r9d
mov rcx, rdi
call fcn.1400c3030
test eax, eax
je 0x1400c2f4f
mov rax, qword [rdi + 0x20]
test byte [rax + 0x162], 1
je 0x1400c2c22
movzx ecx, word [rdi + 0x10]
test cl, 4
jne 0x1400c2b69
bt dword [rax + 0x188], 0x11
jae 0x1400c2c22
bt cx, 0xa
jae 0x1400c2c22
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
call fcn.14013e120
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c2bbc
mov ecx, 0x80004005
call fcn.140001c70
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov rcx, qword [rdi + 0x20]
add rcx, 0x550
mov r8d, 0x81c
lea rdx, [rsp + 0x48]
call fcn.1400be170
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov rbx, qword [rsp + 0x48]
mov r8, rbx
lea rdx, str.Skullcandy__s
call fcn.140001df0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c2c22
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 0x1400c2cfc
movzx eax, word [rdi + 0x10]
test al, 0x10
jne 0x1400c2c43
test al, 8
je 0x1400c2cfc
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
call fcn.14013e120
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c2c96
mov ecx, 0x80004005
call fcn.140001c70
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov rcx, qword [rdi + 0x20]
add rcx, 0x550
mov r8d, 0x846
lea rdx, [rsp + 0x50]
call fcn.1400be170
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov rbx, qword [rsp + 0x50]
mov r8, rbx
lea rdx, str.Dell__s
call fcn.140001df0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c2cfc
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 0x1400c2ddc
test byte [rax + 0x5c], 4
je 0x1400c2ddc
bt word [rdi + 0x10], 0xc
jae 0x1400c2ddc
lea rax, [rsp + 0xd0]
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.1400c3030
test eax, eax
je 0x1400c2f4f
call fcn.14013e120
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c2d76
mov ecx, 0x80004005
call fcn.140001c70
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
mov rcx, qword [rdi + 0x20]
add rcx, 0x550
mov r8d, 0xd06
lea rdx, [rsp + 0x58]
call fcn.1400be170
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov rbx, qword [rsp + 0x58]
mov r8, rbx
lea rdx, str.Skullcandy__s
call fcn.140001df0
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c2ddc
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 0x1400c2f4a
mov edx, esi
mov r8d, r15d
mov rcx, qword [rdi + 0x70]
test rcx, rcx
je 0x1400c2f20
mov eax, dword [rcx + 0x10]
mov rcx, qword [rcx]
shr eax, 0x10
cmp eax, 2
jne 0x1400c2e13
mov r8d, edx
jmp 0x1400c2e1d
cmp eax, 0x22
jne 0x1400c2e1d
test r8d, r8d
jns 0x1400c2e2b
add edx, 1
test rcx, rcx
je 0x1400c2f20
jmp 0x1400c2e00
movsxd r14, r8d
mov rax, r14
cmp r14, qword [rdi + 0x80]
jge 0x1400c2e5c
test rax, rax
js 0x1400c2e5c
mov rbp, qword [rdi + 0x70]
test rax, rax
je 0x1400c2e5f
nop
nop
sub rax, 1
mov rbp, qword [rbp]
jne 0x1400c2e50
jmp 0x1400c2e5f
mov rbp, rsi
movsxd r13, edx
mov rax, r13
cmp r13, qword [rdi + 0x80]
jge 0x1400c2e8b
test rax, rax
js 0x1400c2e8b
mov rdx, qword [rdi + 0x70]
test rax, rax
je 0x1400c2e8e
nop
sub rax, 1
mov rdx, qword [rdx]
jne 0x1400c2e80
jmp 0x1400c2e8e
mov rdx, rsi
mov ebx, dword [rdx + 0x10]
lea rcx, [rdi + 0x68]
call fcn.140044300
mov r8d, ebx
mov rdx, rbp
lea rcx, [rdi + 0x68]
call fcn.1400c35c0
mov rdx, r14
lea rcx, [rdi + 0x30]
call fcn.140154ad0
mov rbp, rax
mov rdx, r13
lea rcx, [rdi + 0x30]
call fcn.140154ad0
mov rbx, rax
test rax, rax
jne 0x1400c2ed2
call fcn.14013de24
int3
lea rdx, [rax + 0x10]
lea rcx, [rsp + 0x60]
call fcn.140003520
nop
mov rdx, rbx
lea rcx, [rdi + 0x30]
call fcn.140154e20
lea r8, [rsp + 0x60]
mov rdx, rbp
lea rcx, [rdi + 0x30]
call fcn.140154f04
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
add r15d, 0xffffffff
test r15d, r15d
jg 0x1400c2f20
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x70]
test rdx, rdx
je 0x1400c2f4a
mov r8d, dword [rdi + 0x1c]
nop
movzx ecx, word [rdx + 0x12]
mov rdx, qword [rdx]
cmp ecx, r8d
jne 0x1400c2f42
mov dword [rdi + 0xa0], esi
add esi, 1
test rdx, rdx
jne 0x1400c2f30
mov eax, 1
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret