Function at 0x1001a950
Capabilities:
Enumerate devices by category
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1bc
mov eax, dword [0x1017455c]
xor eax, esp
mov dword [esp + 0x1b8], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
xor edi, edi
push 0x103
lea eax, [esp + 0xbd]
push edi
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x50], edi
mov byte [esp + 0xc4], 0
call fcn.10116880
add esp, 0xc
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0xbc]
push ecx
call ebx
push edi
push edi
call dword [sym.imp.ole32.dll_CoInitializeEx]
cmp eax, 0x80070057
je 0x1001aa09
cmp eax, 0x8007000e
je 0x1001aa09
cmp eax, 0x8000ffff
je 0x1001aa09
cmp eax, 0x80010106
je 0x1001aa09
cmp eax, edi
je 0x1001aa09
push 0x1014bab4
push esi
call ebx
jmp 0x1001b44f
lea edx, [esp + 0x10]
push edx
push 0x1014ba94
push 1
push edi
push 0x1013b22c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
je 0x1001aa38
push str.Could_not_create_filter_graph
push esi
call ebx
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1001b44f
lea eax, [esp + 0x14]
push eax
push 0x1013b28c
push 1
push edi
push 0x1013b21c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
je 0x1001aa6d
push str.Could_not_create_capture_graph_builder
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
je 0x1001aaa7
push str.Could_not_create_capture_graph_builder
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
lea eax, [esp + 0x18]
push eax
push 0x1014d240
push 1
push edi
push 0x1013b23c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
je 0x1001aae8
push str.Could_not_crerate_system_device_enumerator
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
push edi
lea edx, [esp + 0x3c]
push edx
push 0x1013b24c
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
je 0x1001ab34
push str.No_video_devices_found
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
mov eax, dword [esp + 0x38]
cmp eax, edi
jne 0x1001ab6d
push str.No_devices_found
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov ecx, dword [eax]
push edi
lea edx, [esp + 0x4c]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
jne 0x1001ab8f
inc dword [esp + 0x24]
jmp 0x1001aba3
mov eax, dword [esp + 0x2c]
inc eax
cmp eax, 5
mov dword [esp + 0x2c], eax
jle 0x1001aba3
cmp dword [esp + 0x24], edi
je 0x1001abb0
cmp dword [esp + 0x24], 1
jge 0x1001abe1
mov eax, dword [esp + 0x38]
jmp 0x1001ab75
push str.Video_capture_device_not_found_Enumerated_upto_5
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
lea edx, [esp + 0x4c]
push edx
push 0x1014d230
push edi
push edi
push eax
mov eax, dword [ecx + 0x24]
call eax
lea ecx, [esp + 0x60]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x4c]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push edi
lea ecx, [esp + 0x64]
push ecx
push str.FriendlyName
push eax
call edx
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
lea edx, [esp + 0x40]
push edx
push 0x1014baa4
push edi
push edi
push eax
mov eax, dword [ecx + 0x20]
call eax
test eax, eax
je 0x1001ac73
push str.Could_not_create_capture_filter
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
mov ecx, dword [eax]
push str.Capture_Filter
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
je 0x1001acbe
push str.Could_not_add_capture_filter_to_graph
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
lea eax, [esp + 0x20]
push eax
push 0x1014baa4
push 1
push edi
push 0x1014ba74
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
je 0x1001ad0b
push str.Could_not_create_Sample_Grabber_filter
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push 0x1014ba64
push eax
mov eax, dword [ecx]
call eax
test eax, eax
je 0x1001ad6d
push str.Could_not_get_ISampleGrabber_interface_to_sample_grabber_filter
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
push 1
push eax
call edx
test eax, eax
je 0x1001adc8
push str.Could_not_enable_sample_buffering_in_the_sample_grabber
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1001b443
push 0x48
lea eax, [esp + 0x74]
push edi
push eax
call fcn.10116880
mov edx, dword [0x1013b200]
mov ecx, dword [str.vids]
mov eax, dword [0x1013b204]
mov dword [esp + 0x80], edx
mov edx, dword [0x1013b20c]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x1013b208]
mov dword [esp + 0x84], eax
mov eax, dword [0x1013b210]
mov dword [esp + 0x8c], edx
mov edx, dword [0x1013b218]
mov dword [esp + 0x88], ecx
mov ecx, dword [0x1013b214]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x98], edx
add esp, 0xc
lea edx, [esp + 0x70]
mov dword [esp + 0x88], ecx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
je 0x1001ae91
push str.Could_not_set_media_type_in_sample_grabber
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
jmp 0x1001b3fc
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, dword [eax]
push str.SampleGrab
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
je 0x1001aeec
push str.Could_not_add_Sample_Grabber_to_filter_graph
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
jmp 0x1001b3fc
lea eax, [esp + 0x28]
push eax
push 0x1014baa4
push 1
push edi
push 0x1014ba84
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
je 0x1001af49
push str.Could_not_create_Null_Renderer_filter
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
jmp 0x1001b3fc
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax]
push str.NullRender
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
je 0x1001af6d
push str.Could_not_add_Null_Renderer_to_filter_graph
jmp 0x1001b3b9
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x48]
push edx
push str.vids
push 0x1013b26c
push eax
mov eax, dword [ecx + 0x1c]
call eax
test eax, eax
je 0x1001afa0
push str.Could_not_render_capture_video_stream
jmp 0x1001b3b9
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push 0x1013b27c
push eax
mov eax, dword [ecx]
call eax
test eax, eax
je 0x1001afc3
push str.Could_not_get_media_control_interface
jmp 0x1001b3b9
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
push eax
mov dword [esp + 0x30], edi
call edx
cmp eax, edi
je 0x1001affe
cmp eax, 1
je 0x1001afee
mov eax, dword [esp + 0x2c]
inc eax
cmp eax, 0x64
mov dword [esp + 0x2c], eax
jg 0x1001b3b4
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
push eax
call edx
cmp eax, edi
jne 0x1001afd7
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0x30], edi
lea ecx, [ecx]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push edi
lea edx, [esp + 0x34]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
cmp eax, edi
jne 0x1001b074
cmp dword [esp + 0x30], edi
je 0x1001b010
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
push eax
call edx
mov eax, dword [esp + 0x30]
push eax
call fcn.1010ccc2
mov ecx, dword [esp + 0x34]
push ecx
push edi
push eax
mov dword [esp + 0x34], eax
call fcn.10116880
add esp, 0x10
cmp dword [esp + 0x24], edi
jne 0x1001b085
push str.Could_not_allocate_data_buffer_for_image
push esi
call ebx
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x1001b3c8
cmp eax, 0x80040227
je 0x1001b010
push str.Could_not_get_buffer_size
push esi
call ebx
jmp 0x1001b010
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
push edx
lea edx, [esp + 0x34]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
test eax, eax
je 0x1001b144
push str.Could_not_get_buffer_data_from_sample_grabber
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [esp + 0xb0], edi
je 0x1001b118
mov eax, dword [esp + 0xb4]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], edi
mov eax, dword [esp + 0xac]
cmp eax, edi
je 0x1001b132
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0xac], edi
mov eax, dword [esp + 0x24]
push eax
call fcn.1010d9f8
add esp, 4
jmp 0x1001b443
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
lea edx, [esp + 0x70]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
test eax, eax
je 0x1001b163
push str.Could_not_get_media_type
jmp 0x1001b0a8
mov ecx, 0x1013b25c
lea edx, [esp + 0x9c]
call fcn.1000be60
test eax, eax
je 0x1001b2ef
mov ecx, dword [esp + 0xb0]
cmp ecx, 0x58
jb 0x1001b2ef
mov eax, dword [esp + 0xb4]
cmp eax, edi
je 0x1001b2ef
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x50], eax
push 0
add ecx, 0xffffffd0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov word [esp + 0x60], ax
mov eax, dword [esp + 0x34]
mov edx, 0x4d42
push 2
mov word [esp + 0x58], dx
lea edx, [ecx + eax + 0xe]
mov dword [esp + 0x34], ecx
add ecx, 0xe
push 2
push 0x40000000
lea edi, [esp + 0xc8]
mov dword [esp + 0x62], edx
mov dword [esp + 0x6a], ecx
call fcn.10033690
mov edi, eax
add esp, 0x10
cmp edi, 0xffffffff
jne 0x1001b2a2
push str.Could_not_get_buffer_data_from_sample_grabber
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor esi, esi
cmp dword [esp + 0xb0], esi
je 0x1001b272
mov eax, dword [esp + 0xb4]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], esi
mov eax, dword [esp + 0xac]
cmp eax, esi
je 0x1001b132
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x24]
push eax
mov dword [esp + 0xb0], esi
call fcn.1010d9f8
add esp, 4
jmp 0x1001b443
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
xor ebx, ebx
push ebx
lea ecx, [esp + 0x48]
push ecx
push 0xe
lea edx, [esp + 0x5c]
push edx
push edi
call esi
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
push ebx
lea eax, [esp + 0x48]
push eax
push ecx
add edx, 0x30
push edx
push edi
call esi
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
push ebx
lea eax, [esp + 0x48]
push eax
push ecx
push edx
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea esi, [ebx + 1]
jmp 0x1001b2fb
push str.Wrong_media_type
push esi
call ebx
xor ebx, ebx
mov esi, ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x24]
push eax
call fcn.1010d9f8
add esp, 4
cmp dword [esp + 0xb0], ebx
je 0x1001b375
mov ecx, dword [esp + 0xb4]
push ecx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov eax, dword [esp + 0xac]
cmp eax, ebx
je 0x1001b38f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0xac], ebx
call dword [sym.imp.ole32.dll_CoUninitialize]
call dword [sym.imp.ole32.dll_CoFreeUnusedLibraries]
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1b8]
xor ecx, esp
call fcn.1010d699
mov esp, ebp
pop ebp
ret 8
push str.Exiting_Could_not_run_filter_graph
push esi
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [esp + 0xb0], edi
je 0x1001b429
mov eax, dword [esp + 0xb4]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], edi
mov eax, dword [esp + 0xac]
cmp eax, edi
je 0x1001b443
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0xac], edi
call dword [sym.imp.ole32.dll_CoUninitialize]
call dword [sym.imp.ole32.dll_CoFreeUnusedLibraries]
mov ecx, dword [esp + 0x1c4]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1010d699
mov esp, ebp
pop ebp
ret 8