Function at 0x180011140
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x858]
sub rsp, 0x958
mov rax, qword [0x180050b58]
xor rax, rsp
mov qword [rbp + 0x840], rax
mov rdi, qword [rbp + 0x8c0]
movzx ebx, r8b
mov qword [rbp - 0x38], rcx
mov r13, rdx
mov qword [rsp + 0x68], rdx
lea rcx, [rbp + 0x210]
xor edx, edx
mov r8d, 0x208
mov qword [rsp + 0x78], rdi
mov r12, r9
mov qword [rsp + 0x70], r9
mov byte [rsp + 0x40], bl
call sub.MSVCR100.dll_memset
xor r15d, r15d
or r14, 0xffffffffffffffff
mov dword [rsp + 0x4c], 0x104
cmp qword [rdi + 0x10], r15
je 0x180011619
cmp qword [r13 + 0x18], 8
mov qword [rbp - 0x78], r15
mov dword [rbp - 0x70], r15d
mov qword [rbp - 0x68], r15
jb 0x1800111db
mov r8, qword [r13]
jmp 0x1800111de
mov r8, r13
mov ecx, 2
lea rax, [rbp - 0x78]
test bl, bl
cmovne ecx, r15d
xor r9d, r9d
mov qword [rsp + 0x20], rax
lea edx, [r9 + 3]
call qword [sym.imp.SHLWAPI.dll_AssocQueryKeyW]
test eax, eax
jne 0x18001160a
mov rdx, qword [rbp - 0x78]
lea r8, str.SupportedTypes
lea rcx, [rbp - 0x58]
mov r9d, 0x2001f
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x50], r15d
mov qword [rbp - 0x48], r15
call fcn.180001320
test eax, eax
jne 0x18001165a
lea rcx, [rbp + 0x420]
xor edx, edx
mov r8d, 0x208
mov dword [rsp + 0x48], 0x104
mov dword [rsp + 0x50], 0x104
call sub.MSVCR100.dll_memset
lea rcx, [rbp + 0x630]
xor edx, edx
mov r8d, 0x208
call sub.MSVCR100.dll_memset
lea rax, [rsp + 0x50]
mov r12, r15
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x630]
mov qword [rbp - 0x28], r15
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r15
mov rsi, r15
mov qword [rsp + 0x20], r15
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r15
mov r15, qword [rbp - 0x58]
lea r9, [rsp + 0x48]
lea r8, [rbp + 0x420]
mov rcx, r15
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
xor ebx, ebx
test eax, eax
jne 0x180011401
mov r13d, esi
nop word [rax + rax]
xor eax, eax
lea rdi, [rbp + 0x420]
mov rcx, r14
repne scasw ax, word [rdi]
lea rdx, [rbp + 0x420]
inc r13d
not rcx
mov qword [rbp + 0x1a8], 7
mov qword [rbp + 0x1a0], rbx
lea r8, [rcx - 1]
lea rcx, [rbp + 0x190]
mov word [rbp + 0x190], bx
call fcn.180007510
mov r8, qword [rbp + 0x190]
mov rdx, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0x1a0]
cmp rdx, 8
lea rcx, [rbp + 0x190]
cmovae rcx, r8
lea rbx, [rbp + 0x190]
lea rsi, [rbp + 0x190]
lea rdi, [rcx + rax*2]
cmovae rbx, r8
cmovae rsi, r8
cmp rbx, rdi
je 0x180011377
sub rsi, rbx
nop dword [rax + rax]
movzx ecx, word [rbx]
call qword [sym.imp.MSVCR100.dll_tolower]
add rbx, 2
mov word [rsi + rbx - 2], ax
cmp rbx, rdi
jne 0x180011360
lea rdx, [rbp + 0x190]
lea rcx, [rbp - 0x28]
call fcn.180010f40
cmp qword [rbp + 0x1a8], 8
mov dword [rsp + 0x48], 0x104
mov dword [rsp + 0x50], 0x104
jb 0x1800113ad
mov rcx, qword [rbp + 0x190]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
lea rax, [rsp + 0x50]
xor ebx, ebx
lea r9, [rsp + 0x48]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x630]
lea r8, [rbp + 0x420]
mov qword [rsp + 0x30], rax
mov edx, r13d
mov rcx, r15
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
je 0x1800112d0
mov rsi, qword [rbp - 0x20]
mov r12, qword [rbp - 0x28]
mov r13, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
test r15, r15
je 0x180011416
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r15, rbx
mov qword [rbp - 0x58], rbx
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x180011429
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp - 0x78], rbx
lea rcx, [rbp + 0x118]
mov r9, r14
xor r8d, r8d
mov rdx, rdi
mov dword [rbp - 0x70], ebx
mov qword [rbp + 0x130], 7
mov qword [rbp + 0x128], rbx
mov word [rbp + 0x118], bx
call fcn.1800073e0
mov r8, qword [rbp + 0x118]
mov rdx, qword [rbp + 0x130]
mov rax, qword [rbp + 0x128]
cmp rdx, 8
lea rcx, [rbp + 0x118]
lea rbx, [rbp + 0x118]
cmovae rcx, r8
lea r9, [rbp + 0x118]
cmovae rbx, r8
lea rdi, [rcx + rax*2]
cmovae r9, r8
cmp rbx, rdi
je 0x1800114c0
sub r9, rbx
mov r13, r9
movzx ecx, word [rbx]
call qword [sym.imp.MSVCR100.dll_tolower]
add rbx, 2
mov word [r13 + rbx - 2], ax
cmp rbx, rdi
jne 0x1800114a3
mov r13, qword [rsp + 0x68]
lea r8, [rbp + 0x118]
mov rdx, rsi
mov rcx, r12
call fcn.180003970
cmp rax, rsi
jne 0x180011580
cmp qword [rbp + 0x130], 8
jb 0x1800114f1
mov rcx, qword [rbp + 0x118]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
xor ebx, ebx
mov qword [rbp + 0x130], 7
mov qword [rbp + 0x128], rbx
mov word [rbp + 0x118], bx
test r12, r12
je 0x18001154f
mov rdi, r12
cmp r12, rsi
je 0x180011547
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x18001152f
mov rcx, qword [rdi]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x28
cmp rdi, rsi
jne 0x180011520
mov rcx, r12
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
test r15, r15
je 0x18001155d
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x180011570
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rbp - 0x78], rbx
mov rcx, r13
mov dword [rbp - 0x70], ebx
call fcn.1800034f0
jmp 0x180012090
cmp qword [rbp + 0x130], 8
jb 0x180011596
mov rcx, qword [rbp + 0x118]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
xor ebx, ebx
mov qword [rbp + 0x130], 7
mov qword [rbp + 0x128], rbx
mov word [rbp + 0x118], bx
test r12, r12
je 0x1800115ef
mov rdi, r12
cmp r12, rsi
je 0x1800115e7
nop
cmp qword [rdi + 0x18], 8
jb 0x1800115cf
mov rcx, qword [rdi]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x28
cmp rdi, rsi
jne 0x1800115c0
mov rcx, r12
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
movzx ebx, byte [rsp + 0x40]
mov r12, qword [rsp + 0x70]
test r15, r15
je 0x180011607
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor r15d, r15d
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x180011619
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp qword [r13 + 0x18], 8
mov qword [rbp + 0x108], 7
mov qword [rbp + 0x100], r15
mov word [rbp + 0xf0], r15w
mov qword [rbp + 0x158], 7
mov qword [rbp + 0x150], r15
mov word [rbp + 0x140], r15w
jb 0x180011660
mov r8, qword [r13]
jmp 0x180011663
mov r15, qword [rbp - 0x58]
jmp 0x1800115f9
mov r8, r13
lea rcx, [rsp + 0x4c]
mov eax, 2
test bl, bl
mov qword [rsp + 0x28], rcx
cmovne eax, r15d
lea rcx, [rbp + 0x210]
xor r9d, r9d
mov qword [rsp + 0x20], rcx
mov ecx, eax
lea edx, [r9 + 2]
mov dword [rsp + 0x44], eax
call qword [sym.imp.SHLWAPI.dll_AssocQueryStringW]
test eax, eax
jne 0x18001200f
xor eax, eax
lea rdi, [rbp + 0x210]
mov rcx, r14
repne scasw ax, word [rdi]
lea rdx, [rbp + 0x210]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp + 0xf0]
call fcn.180007510
cmp qword [rbp + 0x108], 8
lea rdx, [rbp + 0xf0]
cmovae rdx, qword [rbp + 0xf0]
lea rcx, [rbp - 0x60]
call fcn.18000a050
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x68]
call fcn.18001b5e0
mov rdx, qword [rbp - 0x60]
mov eax, r14d
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180011715
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0x68]
xor eax, eax
mov rcx, r14
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp + 0xf0]
call fcn.180007510
mov r8, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0x108]
mov rax, qword [rbp + 0x100]
cmp rdx, 8
lea rcx, [rbp + 0xf0]
cmovae rcx, r8
lea rbx, [rbp + 0xf0]
lea rsi, [rbp + 0xf0]
lea rdi, [rcx + rax*2]
cmovae rbx, r8
cmovae rsi, r8
cmp rbx, rdi
je 0x180011797
sub rsi, rbx
nop
movzx ecx, word [rbx]
call qword [sym.imp.MSVCR100.dll_tolower]
add rbx, 2
mov word [rsi + rbx - 2], ax
cmp rbx, rdi
jne 0x180011780
mov rax, qword [r12 + 8]
xor esi, esi
sub rax, qword [r12]
mov r15d, esi
sar rax, 4
test rax, rax
je 0x1800118fe
mov edi, esi
mov qword [rsp + 0x78], rsi
nop dword [rax]
mov rcx, qword [r12]
lea rdx, [rbp + 0x168]
mov rcx, qword [rcx + rdi]
call fcn.180009630
mov r10, qword [rbp + 0x168]
mov r9, qword [rbp + 0x180]
mov r8, qword [rbp + 0x178]
cmp r9, 8
lea rax, [rbp + 0x168]
cmovae rax, r10
lea rbx, [rbp + 0x168]
lea rsi, [rbp + 0x168]
lea rdi, [rax + r8*2]
cmovae rbx, r10
cmovae rsi, r10
cmp rbx, rdi
je 0x18001184c
sub rsi, rbx
nop word [rax + rax]
movzx ecx, word [rbx]
call qword [sym.imp.MSVCR100.dll_tolower]
add rbx, 2
mov word [rsi + rbx - 2], ax
cmp rbx, rdi
jne 0x180011820
mov r9, qword [rbp + 0x180]
mov r8, qword [rbp + 0x178]
mov r10, qword [rbp + 0x168]
cmp qword [rbp + 0x108], 8
mov r11, qword [rbp + 0x100]
lea rdx, [rbp + 0xf0]
cmovae rdx, qword [rbp + 0xf0]
cmp r9, 8
lea rcx, [rbp + 0x168]
cmovae rcx, r10
cmp r8, r11
mov rdi, r11
cmovb rdi, r8
test rdi, rdi
je 0x1800118a9
nop dword [rax + rax]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x180011954
add rcx, 2
add rdx, 2
dec rdi
jne 0x180011890
xor esi, esi
mov edi, esi
movsxd rax, edi
test edi, edi
jne 0x1800118be
cmp r8, r11
jb 0x1800118c6
mov eax, esi
setne al
test eax, eax
je 0x180011967
cmp r9, 8
jb 0x1800118d4
mov rcx, r10
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov rdi, qword [rsp + 0x78]
mov rcx, qword [r12 + 8]
inc r15d
sub rcx, qword [r12]
add rdi, 0x10
movsxd rax, r15d
sar rcx, 4
mov qword [rsp + 0x78], rdi
cmp rax, rcx
jb 0x1800117c0
mov rax, qword [0x1800509f0]
lea rcx, [0x1800509f0]
call qword [rax + 0x18]
lea rdx, [0x180038da0]
add rax, 0x18
mov qword [rbp - 0x80], rax
test rdx, 0xffffffffffff0000
jne 0x180011a32
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.180001260
test rax, rax
je 0x180011a41
lea rcx, [rbp - 0x80]
mov r8d, edi
mov rdx, rax
call fcn.1800057c0
jmp 0x180011a41
cmp word [rcx], ax
mov edi, 1
cmovb edi, r14d
xor esi, esi
jmp 0x1800118ad
cmp r9, 8
jb 0x180011975
mov rcx, r10
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov rax, qword [rsp + 0x68]
mov qword [rbp + 0x180], 7
mov qword [rbp + 0x178], rsi
lea rdx, [rax - 0x18]
mov word [rbp + 0x168], si
lock xadd dword [rdx + 0x10], r14d
dec r14d
test r14d, r14d
jg 0x1800119ae
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
cmp qword [rbp + 0x158], 8
jb 0x1800119c4
mov rcx, qword [rbp + 0x140]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
cmp qword [rbp + 0x108], 8
mov qword [rbp + 0x158], 7
mov qword [rbp + 0x150], rsi
mov word [rbp + 0x140], si
jb 0x1800119f3
mov rcx, qword [rbp + 0xf0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
cmp qword [r13 + 0x18], 8
mov qword [rbp + 0x108], 7
mov qword [rbp + 0x100], rsi
mov word [rbp + 0xf0], si
jb 0x180011a1c
mov rcx, qword [r13]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [r13 + 0x18], 7
mov qword [r13 + 0x10], rsi
mov word [r13], si
jmp 0x180012090
lea rcx, [rbp - 0x80]
mov r8d, 0xb
call fcn.180005490
mov rax, qword [0x1800509f0]
lea rcx, [0x1800509f0]
call qword [rax + 0x18]
lea rcx, [rbp + 0x210]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x210]
test rax, 0xffffffffffff0000
jne 0x180011a94
movzx edi, cx
xor edx, edx
mov ecx, edi
call fcn.180001260
test rax, rax
je 0x180011abb
lea rcx, [rsp + 0x70]
mov r8d, edi
mov rdx, rax
call fcn.1800057c0
jmp 0x180011abb
xor eax, eax
lea rdi, [rbp + 0x210]
mov rcx, r14
repne scasw ax, word [rdi]
lea rdx, [rbp + 0x210]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x70]
call fcn.180005490
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x40]
call fcn.18000b0b0
mov rcx, r14
mov rdx, qword [rax]
xor eax, eax
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp + 0x140]
call fcn.180007510
mov rdx, qword [rbp - 0x40]
mov eax, r14d
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180011b0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp - 0x80]
mov eax, r14d
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180011b2c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x50]
mov r9, r14
xor r8d, r8d
mov qword [rbp + 0x68], 7
mov qword [rbp + 0x60], rsi
mov word [rbp + 0x50], si
call fcn.1800073e0
mov rcx, qword [rbp - 0x38]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x40]
call sym.FileExtensionManager_vc100_mt.dll_private:_class_boost::shared_ptr_class_FileExtensionManagerLib::CIconT_1_____cdecl_FileExtensionManagerLib::CFileExtensionManager::createIcon_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64
mov rcx, qword [rax]
mov rbx, qword [rax + 8]
mov qword [rax + 8], rsi
mov qword [rax], rsi
mov rdi, qword [rbp + 0x48]
mov qword [rbp + 0x30], rcx
test rdi, rdi
je 0x180011b9c
lock dec dword [rdi + 8]
jne 0x180011b9c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
lock dec dword [rdi + 0xc]
jne 0x180011b9c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rdx, qword [rsp + 0x68]
mov eax, r14d
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180011bbc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rbp + 0x210]
xor edx, edx
mov r8d, 0x208
call sub.MSVCR100.dll_memset
cmp qword [r13 + 0x18], 8
mov dword [rsp + 0x4c], 0x104
mov qword [rbp + 0x1f8], 7
mov qword [rbp + 0x1f0], rsi
mov word [rbp + 0x1e0], si
jb 0x180011bfe
mov r8, qword [r13]
jmp 0x180011c01
mov r8, r13
mov ecx, dword [rsp + 0x44]
lea rax, [rsp + 0x4c]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x210]
lea edx, [r9 + 4]
mov qword [rsp + 0x20], rax
call qword [sym.imp.SHLWAPI.dll_AssocQueryStringW]
test eax, eax
jne 0x180011c55
xor eax, eax
lea rdi, [rbp + 0x210]
mov rcx, r14
repne scasw ax, word [rdi]
lea rdx, [rbp + 0x210]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp + 0x1e0]
call fcn.180007510
cmp byte [rsp + 0x40], 0
mov qword [rbp + 0x1d0], 7
mov qword [rbp + 0x1c8], rsi
mov word [rbp + 0x1b8], si
lea rcx, [rbp + 0x1b8]
je 0x180011c8c
mov r9, r14
xor r8d, r8d
mov rdx, r13
call fcn.1800073e0
jmp 0x180011cb3
lea rdx, str.Applications_
mov r8d, 0xd
call fcn.180007510
lea rcx, [rbp + 0x1b8]
mov r9, r14
xor r8d, r8d
mov rdx, r13
call fcn.180007700
mov ecx, 0xb0
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rdi, rax
test rax, rax
je 0x180011dc3
mov rcx, qword [rbp + 0x30]
mov qword [rbp], rbx
mov qword [rbp - 8], rcx
test rbx, rbx
je 0x180011cde
lock inc dword [rbx + 8]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xa0]
mov r9, r14
xor r8d, r8d
mov qword [rbp + 0xb8], 7
mov qword [rbp + 0xb0], rsi
mov word [rbp + 0xa0], si
call fcn.1800073e0
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0xc8]
mov r9, r14
xor r8d, r8d
mov qword [rbp + 0xe0], 7
mov qword [rbp + 0xd8], rsi
mov word [rbp + 0xc8], si
call fcn.1800073e0
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp + 8]
mov r9, r14
xor r8d, r8d
mov qword [rbp + 0x20], 7
mov qword [rbp + 0x18], rsi
mov word [rbp + 8], si
call fcn.1800073e0
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x78]
mov r9, r14
xor r8d, r8d
mov qword [rbp + 0x90], 7
mov qword [rbp + 0x88], rsi
mov word [rbp + 0x78], si
call fcn.1800073e0
lea r11, [rbp - 8]
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x28], r11
lea r9, [rbp + 0xc8]
lea r8, [rbp + 8]
lea rdx, [rbp + 0x78]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.180009450
mov rsi, rax
lea rcx, [rbp - 0x30]
xor r15d, r15d
mov rdx, rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r15
call fcn.180008c00
mov rcx, qword [rax]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x60], rcx
mov qword [rax], rdx
mov rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x180011e13
lock dec dword [rdi + 8]
jne 0x180011e13
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
lock dec dword [rdi + 0xc]
jne 0x180011e13
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
lea rcx, [rsp + 0x58]
mov r8, rsi
mov rdx, rsi
call fcn.180001180
mov r11, qword [r12 + 8]
lea rax, [rsp + 0x58]
cmp rax, r11
jae 0x180011e87
mov rax, qword [r12]
lea rcx, [rsp + 0x58]
cmp rax, rcx
ja 0x180011e87
lea rdi, [rsp + 0x58]
sub rdi, rax
cmp r11, qword [r12 + 0x10]
jne 0x180011e5c
mov edx, 1
mov rcx, r12
call fcn.18000cce0
mov rcx, qword [r12 + 8]
and rdi, 0xfffffffffffffff0
add rdi, qword [r12]
test rcx, rcx
je 0x180011ec4
mov rax, qword [rdi]
mov qword [rcx], rax
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
test rax, rax
je 0x180011ec4
lock inc dword [rax + 8]
jmp 0x180011ec4
cmp r11, qword [r12 + 0x10]
jne 0x180011e9b
mov edx, 1
mov rcx, r12
call fcn.18000cce0
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x180011ec4
mov rax, qword [rsp + 0x58]
mov qword [rcx], rax
mov rax, qword [rsp + 0x60]
mov qword [rcx + 8], rax
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x180011ec9
lock inc dword [rdi + 8]
mov rdi, qword [rsp + 0x60]
add qword [r12 + 8], 0x10
test rdi, rdi
je 0x180011efe
mov eax, r14d
lock xadd dword [rdi + 8], eax
dec eax
jne 0x180011efe
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov eax, r14d
lock xadd dword [rdi + 0xc], eax
dec eax
jne 0x180011efe
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
cmp qword [rbp + 0x1d0], 8
jb 0x180011f14
mov rcx, qword [rbp + 0x1b8]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
cmp qword [rbp + 0x1f8], 8
mov qword [rbp + 0x1d0], 7
mov qword [rbp + 0x1c8], r15
mov word [rbp + 0x1b8], r15w
jb 0x180011f44
mov rcx, qword [rbp + 0x1e0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
cmp qword [rbp + 0x158], 8
mov qword [rbp + 0x1f8], 7
mov qword [rbp + 0x1f0], r15
mov word [rbp + 0x1e0], r15w
jb 0x180011f74
mov rcx, qword [rbp + 0x140]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
cmp qword [rbp + 0x108], 8
mov qword [rbp + 0x158], 7
mov qword [rbp + 0x150], r15
mov word [rbp + 0x140], r15w
jb 0x180011fa4
mov rcx, qword [rbp + 0xf0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rbp + 0x108], 7
mov qword [rbp + 0x100], r15
mov word [rbp + 0xf0], r15w
test rbx, rbx
je 0x180011fe7
mov eax, r14d
lock xadd dword [rbx + 8], eax
dec eax
jne 0x180011fe7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lock dec dword [rbx + 0xc]
jne 0x180011fe7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
cmp qword [r13 + 0x18], 8
jb 0x180011ff7
mov rcx, qword [r13]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [r13 + 0x18], 7
mov qword [r13 + 0x10], r15
mov al, 1
mov word [r13], r15w
jmp 0x180012092
cmp qword [rbp + 0x158], 8
jb 0x180012025
mov rcx, qword [rbp + 0x140]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
cmp qword [rbp + 0x108], 8
mov qword [rbp + 0x158], 7
mov qword [rbp + 0x150], r15
mov word [rbp + 0x140], r15w
jb 0x180012055
mov rcx, qword [rbp + 0xf0]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
cmp qword [r13 + 0x18], 8
mov qword [rbp + 0x108], 7
mov qword [rbp + 0x100], r15
mov word [rbp + 0xf0], r15w
jb 0x18001207f
mov rcx, qword [r13]
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [r13 + 0x18], 7
mov qword [r13 + 0x10], r15
mov word [r13], r15w
xor al, al
mov rcx, qword [rbp + 0x840]
xor rcx, rsp
call fcn.18002f870
add rsp, 0x958
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret