Function at 0x1400c0fa0
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 0x1400c1b0f
cmp dword [rax + 0x568], 0
jne 0x1400c0fdd
xor eax, eax
jmp 0x1400c1b0f
xor esi, esi
mov dword [rsp + 0xd0], esi
add rcx, 0x30
call fcn.140155788
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x1400c1000
mov rax, qword [rax]
test rax, rax
jne 0x1400c0ff8
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.14013dadc
mov qword [rdi + 0x90], rsi
or r15d, 0xffffffff
mov dword [rdi + 0xa0], r15d
mov rcx, rdi
call fcn.1400c0bd0
test byte [rdi + 0x10], 1
je 0x1400c108a
mov edx, 0x827
mov rax, qword [rdi + 0x20]
test byte [rax + 0x3c], 4
je 0x1400c1062
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
test byte [rdi + 0x10], 2
je 0x1400c10fc
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
mov rax, qword [rdi + 0x20]
test byte [rax + 0x3c], 0x40
je 0x1400c10fc
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
test byte [rdi + 0x10], 4
je 0x1400c1157
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
mov rax, qword [rdi + 0x20]
bt dword [rax + 0x1bc], 0xf
jae 0x1400c1157
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
lea r8, str.HiFi
xor edx, edx
call fcn.14000a170
mov rax, qword [rdi + 0x20]
bt dword [rax + 0x548], 0xa
jae 0x1400c119f
test byte [rdi + 0x14], 1
je 0x1400c119f
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
test byte [rdi + 0x10], 0x10
je 0x1400c12bc
mov dword [rsp + 0xd8], 8
movsxd rcx, dword [rdi + 0x28]
imul rcx, rcx, 0xac
mov rax, qword [rdi + 0x20]
mov edx, dword [rcx + rax + 0x6b4]
cmp edx, 0xffffffff
jl 0x1400c128b
add edx, 1
mov dword [rsp + 0xe0], esi
mov rcx, qword [0x14021cc50]
cmp ecx, edx
jle 0x1400c128b
lea r8, [rsp + 0x70]
mov rax, qword [0x1401ac360]
mov qword [r8], rax
mov rax, qword [0x1401ac368]
mov qword [r8 + 8], rax
movsxd rax, edx
test edx, edx
js 0x1400c1285
cmp rax, rcx
jge 0x1400c1285
mov rcx, qword [0x14021cc48]
lea rdx, [rsp + 0xe0]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], 4
lea rdx, [rsp + 0xd8]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
lea r8d, [r9 + 7]
lea rdx, [rsp + 0x70]
mov rcx, qword [rcx + rax*8]
call fcn.14008b3c0
cmp dword [rsp + 0xd8], 2
ja 0x1400c128b
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.1400c1bf0
jmp 0x1400c12b4
call fcn.14013d908
int3
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
test byte [rdi + 0x10], 0x20
je 0x1400c12f5
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
test byte [rdi + 0x10], 0x40
je 0x1400c1340
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
test byte [rdi + 0x10], 0x80
je 0x1400c137a
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
test byte [rdi + 0x10], 8
je 0x1400c13b0
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
bt word [rdi + 0x10], 9
jae 0x1400c13e9
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
test byte [rdi + 0x11], 1
je 0x1400c1420
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
bt word [rdi + 0x10], 0xa
jae 0x1400c15b8
mov rax, qword [rdi + 0x20]
mov ecx, dword [rax + 0x188]
shr ecx, 0x11
and ecx, 1
je 0x1400c157f
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.1400c1bf0
mov ebp, eax
cmp dword [rdi + 0x48], esi
jle 0x1400c157f
call fcn.14013d07c
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c1498
mov ecx, 0x80004005
call fcn.140001c00
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe8], rax
call fcn.14013d07c
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c14cc
mov ecx, 0x80004005
call fcn.140001c00
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.1400bccd0
mov rcx, qword [rdi + 0x20]
add rcx, 0x550
mov r8d, 0x81c
lea rdx, [rsp + 0x40]
call fcn.1400bccd0
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.140001f50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c1559
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 0x1400c15ad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400c15ad
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.1400c1bf0
mov ebp, eax
test ebp, ebp
jne 0x1400c15b8
xor eax, eax
jmp 0x1400c1b0f
mov rax, qword [rdi + 0x20]
mov ecx, dword [rax + 0x5c]
test cl, 4
je 0x1400c16b9
bt word [rdi + 0x10], 0xc
jae 0x1400c163e
test cl, 8
je 0x1400c160a
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.1400c1bf0
test eax, eax
jne 0x1400c163e
jmp 0x1400c1b0f
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
bt word [rdi + 0x10], 0xd
jae 0x1400c16b9
mov rax, qword [rdi + 0x20]
test byte [rax + 0x5c], 8
je 0x1400c1685
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.1400c1bf0
test eax, eax
jne 0x1400c16b9
jmp 0x1400c1b0f
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
bt word [rdi + 0x10], 0xb
jae 0x1400c16f4
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
mov rax, qword [rdi + 0x20]
test byte [rax + 0x162], 1
je 0x1400c17e0
movzx ecx, word [rdi + 0x10]
test cl, 4
jne 0x1400c1727
bt dword [rax + 0x188], 0x11
jae 0x1400c17e0
bt cx, 0xa
jae 0x1400c17e0
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
call fcn.14013d07c
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c177a
mov ecx, 0x80004005
call fcn.140001c00
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.1400bccd0
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov rbx, qword [rsp + 0x48]
mov r8, rbx
lea rdx, str.Skullcandy__s
call fcn.140001f50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c17e0
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 0x1400c18ba
movzx eax, word [rdi + 0x10]
test al, 0x10
jne 0x1400c1801
test al, 8
je 0x1400c18ba
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
call fcn.14013d07c
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c1854
mov ecx, 0x80004005
call fcn.140001c00
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.1400bccd0
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov rbx, qword [rsp + 0x50]
mov r8, rbx
lea rdx, str.Dell__s
call fcn.140001f50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c18ba
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 0x1400c199a
test byte [rax + 0x5c], 4
je 0x1400c199a
bt word [rdi + 0x10], 0xc
jae 0x1400c199a
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.1400c1bf0
test eax, eax
je 0x1400c1b0f
call fcn.14013d07c
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400c1934
mov ecx, 0x80004005
call fcn.140001c00
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.1400bccd0
mov rcx, qword [rdi + 0x40]
add rcx, 0x10
mov rbx, qword [rsp + 0x58]
mov r8, rbx
lea rdx, str.Skullcandy__s
call fcn.140001f50
nop
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400c199a
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 0x1400c1b0a
mov edx, esi
mov r8d, r15d
mov rcx, qword [rdi + 0x70]
test rcx, rcx
je 0x1400c1ae0
nop
mov eax, dword [rcx + 0x10]
mov rcx, qword [rcx]
shr eax, 0x10
cmp eax, 2
jne 0x1400c19d3
mov r8d, edx
jmp 0x1400c19dd
cmp eax, 0x22
jne 0x1400c19dd
test r8d, r8d
jns 0x1400c19eb
add edx, 1
test rcx, rcx
je 0x1400c1ae0
jmp 0x1400c19c0
movsxd r14, r8d
mov rax, r14
cmp r14, qword [rdi + 0x80]
jge 0x1400c1a1c
test rax, rax
js 0x1400c1a1c
mov rbp, qword [rdi + 0x70]
test rax, rax
je 0x1400c1a1f
nop
nop
sub rax, 1
mov rbp, qword [rbp]
jne 0x1400c1a10
jmp 0x1400c1a1f
mov rbp, rsi
movsxd r13, edx
mov rax, r13
cmp r13, qword [rdi + 0x80]
jge 0x1400c1a4b
test rax, rax
js 0x1400c1a4b
mov rdx, qword [rdi + 0x70]
test rax, rax
je 0x1400c1a4e
nop
sub rax, 1
mov rdx, qword [rdx]
jne 0x1400c1a40
jmp 0x1400c1a4e
mov rdx, rsi
mov ebx, dword [rdx + 0x10]
lea rcx, [rdi + 0x68]
call fcn.140044680
mov r8d, ebx
mov rdx, rbp
lea rcx, [rdi + 0x68]
call fcn.1400c2180
mov rdx, r14
lea rcx, [rdi + 0x30]
call fcn.1401555d4
mov rbp, rax
mov rdx, r13
lea rcx, [rdi + 0x30]
call fcn.1401555d4
mov rbx, rax
test rax, rax
jne 0x1400c1a92
call fcn.14013d908
int3
lea rdx, [rax + 0x10]
lea rcx, [rsp + 0x60]
call fcn.140001cd0
nop
mov rdx, rbx
lea rcx, [rdi + 0x30]
call fcn.140155924
lea r8, [rsp + 0x60]
mov rdx, rbp
lea rcx, [rdi + 0x30]
call fcn.140155a08
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
add r15d, 0xffffffff
test r15d, r15d
jg 0x1400c1ae0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rdi + 0x70]
test rdx, rdx
je 0x1400c1b0a
mov r8d, dword [rdi + 0x1c]
nop
movzx ecx, word [rdx + 0x12]
mov rdx, qword [rdx]
cmp ecx, r8d
jne 0x1400c1b02
mov dword [rdi + 0xa0], esi
add esi, 1
test rdx, rdx
jne 0x1400c1af0
mov eax, 1
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret