Function at 0x1400c81f0
Capabilities:
Get file system object information

Disassembly:
push rbp
push rbx
push rdi
push r13
push r14
lea rbp, [rsp - 0x310]
sub rsp, 0x410
movdqa xmm0, xmmword [0x1401f8bd0]
xor edi, edi
mov r13, rdx
mov word [rsp + 0x40], di
mov rbx, rcx
lea rdx, str.filepath
lea rcx, [rsp + 0x40]
lea r8d, [rdi + 8]
movdqu xmmword [rsp + 0x50], xmm0
call fcn.140003280
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.14002ab20
mov rdx, qword [rsp + 0x58]
mov r14, rax
cmp rdx, 8
jb 0x1400c8289
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8284
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9357
call fcn.14017b7ac
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, str.iconbox
mov r8d, 7
mov qword [rsp + 0x408], r12
lea rcx, [rbp - 0x28]
mov word [rsp + 0x40], di
movdqu xmmword [rsp + 0x50], xmm0
mov word [rbp - 0x28], di
movdqu xmmword [rbp - 0x18], xmm0
call fcn.140003280
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.14002ab20
mov rcx, rax
mov dword [rsp + 0x20], edi
lea r9, vtable.type_info.0
xor edx, edx
lea r8, vtable.type_info.0
call sub.msvcrt.dll___RTDynamicCast
mov rdx, qword [rbp - 0x10]
mov r12, rax
cmp rdx, 8
jb 0x1400c832e
mov rcx, qword [rbp - 0x28]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8329
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c935d
call fcn.14017b7ac
movdqa xmm0, xmmword [0x1401f8bd0]
movdqu xmmword [rbp - 0x18], xmm0
mov word [rbp - 0x28], di
cmp qword [r13 + 0x10], rdi
jne 0x1400c8352
mov rcx, r13
call fcn.1400034d0
jmp 0x1400c85d6
cmp qword [r13 + 0x18], 8
mov rdx, r13
mov qword [rsp + 0x440], rsi
mov qword [rsp + 0x400], r15
jb 0x1400c8370
mov rdx, qword [r13]
lea rcx, str.IconWnd:AddPathToCache__s_n
call fcn.1400821b0
cmp qword [r13 + 0x18], 8
mov rbx, r13
mov rsi, qword [r13 + 0x10]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
jb 0x1400c8398
mov rbx, qword [r13]
movabs rax, 0x7ffffffffffffffe
cmp rsi, 8
jae 0x1400c83c1
movups xmm0, xmmword [rbx]
mov edi, 7
lea rdx, [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm0
mov r9, qword [rsp + 0x60]
jmp 0x1400c8407
mov rdi, rsi
lea rcx, [rsp + 0x60]
or rdi, 7
cmp rdi, rax
cmova rdi, rax
lea rdx, [rdi + 1]
call fcn.1400035a0
lea r8, [rsi*2 + 2]
mov qword [rsp + 0x60], rax
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x60]
lea rdx, [rsp + 0x60]
cmp rdi, 8
cmovae rdx, r9
mov qword [rsp + 0x78], rdi
mov r15, 0xffffffffffffffff
mov qword [rsp + 0x70], rsi
test rsi, rsi
je 0x1400c844d
lea rcx, [rsi - 1]
mov rax, r15
cmp rcx, rax
cmovb rax, rcx
cmp word [rdx + rax*2], 0x2c
lea rbx, [rdx + rax*2]
je 0x1400c8445
cmp rbx, rdx
je 0x1400c844d
sub rbx, 2
cmp word [rbx], 0x2c
jne 0x1400c8436
sub rbx, rdx
sar rbx, 1
jmp 0x1400c8450
mov rbx, r15
xor edx, edx
mov dword [rbp + 0x358], edx
cmp rbx, r15
je 0x1400c8560
movdqa xmm0, xmmword [0x1401f8bd0]
lea rcx, [rbx + 1]
mov word [rbp - 0x78], dx
movdqu xmmword [rbp - 0x68], xmm0
cmp rsi, rcx
jb 0x1400c9363
sub rsi, rcx
lea rax, [rsp + 0x60]
cmp rsi, r15
mov r8, r15
cmovb r8, rsi
cmp rdi, 8
cmovae rax, r9
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x78]
call fcn.140003280
cmp qword [rbp - 0x60], 8
lea rcx, [rbp - 0x78]
cmovae rcx, qword [rbp - 0x78]
call sub.msvcrt.dll__wtol
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [rsp + 0x60]
mov dword [rbp + 0x358], eax
lea rcx, [rbp - 0x48]
xor eax, eax
cmp qword [rsp + 0x70], rbx
movdqu xmmword [rbp - 0x38], xmm0
cmovb rbx, qword [rsp + 0x70]
cmp qword [rsp + 0x78], 8
mov r8, rbx
mov word [rbp - 0x48], ax
cmovae rdx, qword [rsp + 0x60]
call fcn.140003280
lea rcx, [rsp + 0x60]
call fcn.1400034d0
movups xmm0, xmmword [rbp - 0x48]
mov rdx, qword [rbp - 0x60]
movups xmm1, xmmword [rbp - 0x38]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
cmp rdx, 8
jb 0x1400c8556
mov rcx, qword [rbp - 0x78]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8551
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9369
call fcn.14017b7ac
mov r9, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x78]
cmp qword [rsp + 0x70], 0
jne 0x1400c85ed
cmp rdi, 8
jb 0x1400c85a7
lea rdx, [rdi*2 + 2]
mov rax, r9
cmp rdx, 0x1000
jb 0x1400c859f
mov r9, qword [r9 - 8]
add rdx, 0x27
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c933f
mov rcx, r9
call fcn.14017b7ac
xor r15d, r15d
mov rcx, r13
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r15w
call fcn.1400034d0
mov rsi, qword [rsp + 0x440]
mov r15, qword [rsp + 0x400]
mov r12, qword [rsp + 0x408]
add rsp, 0x410
pop r14
pop r13
pop rdi
pop rbx
pop rbp
ret
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.1400576f0
cmp qword [rsp + 0x78], 8
lea rsi, [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
cmovae rsi, qword [rsp + 0x60]
cmp rdi, 8
jae 0x1400c8629
movups xmm0, xmmword [rsi]
mov qword [rsp + 0x58], 7
movups xmmword [rsp + 0x40], xmm0
jmp 0x1400c866c
movabs rax, 0x7ffffffffffffffe
lea rcx, [rsp + 0x40]
mov rbx, rdi
or rbx, 7
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
call fcn.1400035a0
lea r8, [rdi*2 + 2]
mov qword [rsp + 0x40], rax
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x58], rbx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x50], rdi
lea rcx, [rbp - 0x78]
call fcn.14007e6c0
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.140001620
mov rbx, rax
lea rax, [rsp + 0x60]
cmp rax, rbx
je 0x1400c86c6
lea rcx, [rsp + 0x60]
call fcn.1400034d0
movups xmm0, xmmword [rbx]
xor edi, edi
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 7
mov word [rbx], di
jmp 0x1400c86c8
xor edi, edi
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x1400c8708
mov rcx, qword [rbp - 0x48]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8703
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c936f
call fcn.14017b7ac
mov rdx, qword [rbp - 0x60]
movdqa xmm0, xmmword [0x1401f8bd0]
mov word [rbp - 0x48], di
movdqu xmmword [rbp - 0x38], xmm0
cmp rdx, 8
jb 0x1400c8759
mov rcx, qword [rbp - 0x78]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8754
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c936f
call fcn.14017b7ac
cmp qword [rsp + 0x78], 8
lea rcx, [rsp + 0x60]
cmovae rcx, qword [rsp + 0x60]
call qword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov rbx, rax
test rax, rax
jne 0x1400c87c2
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c85a7
mov rcx, qword [rsp + 0x60]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c85a2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c933f
jmp 0x1400c85a2
mov r9d, 0x2b8
mov dword [rsp + 0x20], 0x4008
lea r8, [rbp + 0x40]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov rcx, rbx
call qword [sym.imp.SHELL32.dll_ILFree]
cmp qword [rsp + 0x78], 8
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x38], edi
cmovae rcx, qword [rsp + 0x60]
xor r9d, r9d
mov dword [rsp + 0x30], edi
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.USER32.dll_PrivateExtractIconsW]
mov r14d, eax
test eax, eax
je 0x1400c89f1
xor r15d, r15d
mov ebx, r15d
test eax, eax
je 0x1400c8e85
mov r8d, ebx
lea rdx, [0x1401d0310]
lea rcx, [rbp - 0x48]
call fcn.1400015b0
call fcn.14008f190
mov rcx, rax
lea rdx, [rbp - 0x48]
call fcn.1400815d0
cmp qword [rsp + 0x78], 8
lea rax, [rbp + 0x350]
mov dword [rsp + 0x38], r15d
lea rcx, [rsp + 0x60]
cmovae rcx, qword [rsp + 0x60]
mov r9d, InitCommonControls
mov dword [rsp + 0x30], 1
mov r8d, r9d
mov qword [rsp + 0x28], rax
mov edx, ebx
lea rax, [rbp - 0x80]
mov qword [rbp - 0x80], r15
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], r15
call qword [sym.imp.USER32.dll_PrivateExtractIconsW]
cmp eax, 1
jne 0x1400c8974
cmp qword [rsp + 0x78], 8
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x38], r15d
mov r9d, 0x20
cmovae rcx, qword [rsp + 0x60]
mov r8d, r9d
mov dword [rsp + 0x30], eax
mov edx, ebx
lea rax, [rbp + 0x350]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_PrivateExtractIconsW]
cmp eax, 1
jne 0x1400c8974
cmp qword [rsp + 0x78], 8
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x38], r15d
mov r9d, 0x30
cmovae rcx, qword [rsp + 0x60]
mov r8d, r9d
mov dword [rsp + 0x30], eax
mov edx, ebx
lea rax, [rbp + 0x350]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_PrivateExtractIconsW]
cmp eax, 1
jne 0x1400c8974
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400c8983
cmp qword [rbp - 0x58], r15
je 0x1400c8978
cmp qword [rbp - 0x50], r15
je 0x1400c8978
call fcn.14008f190
mov r9, qword [rbp - 0x58]
lea rdx, [rbp - 0x48]
mov r8, qword [rbp - 0x80]
mov rcx, rax
mov rax, qword [rbp - 0x50]
mov qword [rsp + 0x20], rax
call fcn.14007c0e0
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400c8983
call qword [sym.imp.USER32.dll_DestroyIcon]
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1400c8992
call qword [sym.imp.USER32.dll_DestroyIcon]
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1400c89a1
call qword [sym.imp.USER32.dll_DestroyIcon]
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x1400c89e1
mov rcx, qword [rbp - 0x48]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c89dc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9375
call fcn.14017b7ac
inc ebx
cmp ebx, r14d
jb 0x1400c8832
jmp 0x1400c8e85
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401d4680]
mov r14d, 1
mov word [rsp + 0x40], di
mov r8d, r14d
lea rcx, [rsp + 0x40]
movdqu xmmword [rsp + 0x50], xmm0
call fcn.140003280
call fcn.14008f190
mov rcx, rax
lea rdx, [rsp + 0x40]
call fcn.1400815d0
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400c8a72
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8a6d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c937b
call fcn.14017b7ac
mov rdi, qword [rsp + 0x78]
lea r10, [rsp + 0x60]
mov rbx, qword [rsp + 0x60]
cmp rdi, 8
mov r11, qword [rsp + 0x70]
cmovae r10, rbx
cmp r11, 4
jb 0x1400c8bb1
lea rcx, [r11 - 4]
mov rax, r15
cmp rcx, rax
lea rsi, str..ico
cmovb rax, rcx
lea r9, [r10 + rax*2]
mov r8, r9
sub r8, rsi
nop word [rax + rax]
cmp word [r9], 0x2e
jne 0x1400c8b9f
mov edx, 4
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x1400c8b9f
add rcx, 2
sub rdx, r14
jne 0x1400c8ae0
sub r9, r10
sar r9, 1
cmp r9, r15
je 0x1400c8bb1
lea rax, [r11 - 4]
cmp r9, rax
jne 0x1400c8bb1
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401d4680]
xor r15d, r15d
lea rcx, [rsp + 0x40]
mov r8, r14
mov word [rsp + 0x40], r15w
movdqu xmmword [rsp + 0x50], xmm0
call fcn.140003280
call fcn.14008f190
mov rcx, rax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
call fcn.14007bed0
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400c8e85
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8e80
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9345
jmp 0x1400c8e80
cmp r9, r10
je 0x1400c8bb1
sub r9, 2
sub r8, 2
jmp 0x1400c8ac0
cmp rdi, 8
lea r10, [rsp + 0x60]
cmovae r10, rbx
cmp r11, 4
jb 0x1400c8ce1
lea rcx, [r11 - 4]
mov rax, r15
cmp rcx, rax
lea rsi, str..png
cmovb rax, rcx
lea r9, [r10 + rax*2]
mov r8, r9
sub r8, rsi
nop word [rax + rax]
cmp word [r9], 0x2e
jne 0x1400c8ccf
mov edx, 4
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x1400c8ccf
add rcx, 2
sub rdx, r14
jne 0x1400c8c10
sub r9, r10
sar r9, 1
cmp r9, r15
je 0x1400c8ce1
lea rax, [r11 - 4]
cmp r9, rax
jne 0x1400c8ce1
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401d4680]
xor r15d, r15d
lea rcx, [rsp + 0x40]
mov r8, r14
mov word [rsp + 0x40], r15w
movdqu xmmword [rsp + 0x50], xmm0
call fcn.140003280
call fcn.14008f190
mov rcx, rax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
call fcn.14007cd70
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400c8e85
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8e80
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c934b
jmp 0x1400c8e80
cmp r9, r10
je 0x1400c8ce1
sub r9, 2
sub r8, 2
jmp 0x1400c8bf0
cmp rdi, 8
lea r10, [rsp + 0x60]
cmovae r10, rbx
cmp r11, 4
jb 0x1400c8e02
lea rax, [r11 - 4]
cmp rax, r15
lea rbx, str..svg
cmovb r15, rax
lea r9, [r10 + r15*2]
mov r8, r9
sub r8, rbx
cmp word [r9], 0x2e
jne 0x1400c8df0
mov edx, 4
mov rcx, rbx
nop word [rax + rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x1400c8df0
add rcx, 2
sub rdx, r14
jne 0x1400c8d30
sub r9, r10
sar r9, 1
cmp r9, 0xffffffffffffffff
je 0x1400c8e02
lea rax, [r11 - 4]
cmp r9, rax
jne 0x1400c8e02
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401d4680]
xor r15d, r15d
lea rcx, [rsp + 0x40]
mov r8, r14
mov word [rsp + 0x40], r15w
movdqu xmmword [rsp + 0x50], xmm0
call fcn.140003280
call fcn.14008f190
mov rcx, rax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
call fcn.14007d240
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400c8e85
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8e80
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9351
jmp 0x1400c8e80
cmp r9, r10
je 0x1400c8e02
sub r9, 2
sub r8, 2
jmp 0x1400c8d14
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, [0x1401d4680]
xor r15d, r15d
lea rcx, [rsp + 0x40]
mov r8, r14
mov word [rsp + 0x40], r15w
movdqu xmmword [rsp + 0x50], xmm0
call fcn.140003280
call fcn.14008f190
mov r8d, dword [rbp + 0x48]
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.14007c000
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400c8e85
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8e80
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9381
call fcn.14017b7ac
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x2e0]
mov esi, r15d
test r14d, r14d
je 0x1400c92a8
nop
mov r8d, esi
lea rdx, [0x1401d0310]
lea rcx, [rbp - 0x48]
call fcn.1400015b0
mov r8d, esi
lea rdx, str._n:_d
lea rcx, [rbp - 0x78]
call fcn.1400015b0
mov ecx, 0x5d8
call fcn.14017b770
test rax, rax
je 0x1400c8ee7
mov edx, 1
mov rcx, rax
call fcn.1400472e0
mov rdi, rax
jmp 0x1400c8eea
mov rdi, r15
mov r8d, reloc.SHELL32.dll_ILCombine
mov qword [rsp + 0x50], r15
lea rdx, str.main_item_tile32_icon.xml
mov qword [rsp + 0x58], 7
lea rcx, [rsp + 0x40]
mov word [rsp + 0x40], r15w
call fcn.140003280
lea r8, [rbp - 8]
mov qword [rbp + 0x30], r15
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14000bdd0
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400c8f6c
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c8f67
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9387
call fcn.14017b7ac
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x2b8]
test eax, eax
jne 0x1400c8fd7
mov rcx, rdi
call fcn.14002e410
mov rcx, rdi
mov ebx, eax
call fcn.14002e370
mov dword [rbp + 0x350], eax
mov rcx, r12
mov rax, qword [r12]
mov dword [rbp + 0x354], ebx
call qword [rax + 0x318]
lea r9, vtable.type_info.0
mov dword [rsp + 0x20], r15d
mov rcx, rax
lea r8, vtable.type_info.0
xor edx, edx
call sub.msvcrt.dll___RTDynamicCast
mov rcx, rax
lea rdx, [rbp + 0x350]
mov r8b, 1
call fcn.140043af0
mov r8d, 9
mov qword [rsp + 0x50], r15
lea rdx, str.item_icon
mov qword [rsp + 0x58], 7
lea rcx, [rsp + 0x40]
mov word [rsp + 0x40], r15w
call fcn.140003280
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140039c90
mov rdx, qword [rsp + 0x58]
mov rbx, rax
cmp rdx, 8
jb 0x1400c9054
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c904f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c938d
call fcn.14017b7ac
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r15w
test rbx, rbx
je 0x1400c9156
call fcn.14008f190
mov rcx, rax
lea rdx, [rbp - 0x78]
call fcn.140080670
test al, al
jne 0x1400c914a
mov r8d, 7
lea rdx, str._s:err
lea rcx, [rbp - 0x78]
call fcn.140003280
call fcn.14008f190
mov rcx, rax
lea rdx, [rbp - 0x78]
call fcn.140080670
test al, al
je 0x1400c9156
mov r8d, 9
mov qword [rsp + 0x50], r15
lea rdx, str.item_icon
mov qword [rsp + 0x58], 7
lea rcx, [rsp + 0x40]
mov word [rsp + 0x40], r15w
call fcn.140003280
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140039c90
mov rdx, qword [rsp + 0x58]
mov rbx, rax
cmp rdx, 8
jb 0x1400c9136
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c9131
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9393
call fcn.14017b7ac
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r15w
lea rdx, [rbp - 0x78]
mov rcx, rbx
call fcn.14002f830
mov r8d, 9
mov qword [rsp + 0x50], r15
lea rdx, str.item_text
mov qword [rsp + 0x58], 7
lea rcx, [rsp + 0x40]
mov word [rsp + 0x40], r15w
call fcn.140003280
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140039c90
mov rdx, qword [rsp + 0x58]
mov rbx, rax
cmp rdx, 8
jb 0x1400c91d3
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c91ce
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9399
call fcn.14017b7ac
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r15w
test rbx, rbx
je 0x1400c91fc
mov rax, qword [rbx]
lea rdx, [rbp - 0x48]
mov rcx, rbx
call qword [rax + 0x2a8]
mov rax, qword [r12]
mov rdx, rdi
mov rcx, r12
call qword [rax + 0x2c0]
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x1400c924c
mov rcx, qword [rbp - 0x78]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c9247
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9339
call fcn.14017b7ac
mov rdx, qword [rbp - 0x30]
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
cmp rdx, 8
jb 0x1400c929d
mov rcx, qword [rbp - 0x48]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c9298
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c9339
call fcn.14017b7ac
inc esi
cmp esi, r14d
jb 0x1400c8ea0
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x2b8]
test eax, eax
jle 0x1400c92e6
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x2b8]
mov edx, dword [rbp + 0x358]
lea rcx, [r12 + 0x720]
cmp edx, eax
mov r9b, 1
mov rax, qword [rcx]
cmovge edx, r15d
xor r8d, r8d
call qword [rax + ILCombine]
mov rax, qword [r12]
xor edx, edx
mov rcx, r12
call qword [rax + 0x58]
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c85aa
mov rcx, qword [rsp + 0x60]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c932f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c933f
call fcn.14017b7ac
jmp 0x1400c85aa
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1400027c0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3