Function at 0x410c90
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
push ebp
lea ebp, [esp - 0x148]
sub esp, 0x148
push 0xffffffffffffffff
push 0x612002
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x6eff0c]
xor eax, ebp
mov dword [ebp + 0x144], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
jmp 0x410d32
jmp 0x410d98
lea eax, [ebp - 0x38]
push eax
call 0x418690
xor ebx, ebx
mov dword [ebp - 4], ebx
jmp 0x410e0c
mov esi, 0xf
mov dword [ebp + 0x88], esi
mov dword [ebp + 0x84], ebx
mov byte [ebp + 0x74], bl
jmp 0x410e86
mov dword [ebp + 0xc0], esi
mov dword [ebp + 0xbc], ebx
mov byte [ebp + 0xac], bl
jmp 0x410efe
mov dword [ebp + 0xa4], esi
mov dword [ebp + 0xa0], ebx
mov byte [ebp + 0x90], bl
push ebx
push ebx
mov byte [ebp - 4], 3
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jge 0x410fd7
mov edi, 0x10
cmp dword [ebp + 0xa4], edi
jb 0x410f40
mov ecx, dword [ebp + 0x90]
push ecx
call fcn.005bac50
add esp, 4
mov dword [ebp + 0xa4], esi
mov dword [ebp + 0xa0], ebx
mov byte [ebp + 0x90], bl
cmp dword [ebp + 0xc0], edi
jb 0x410f69
mov edx, dword [ebp + 0xac]
push edx
call fcn.005bac50
add esp, 4
mov dword [ebp + 0xc0], esi
mov dword [ebp + 0xbc], ebx
mov byte [ebp + 0xac], bl
cmp dword [ebp + 0x88], edi
jb 0x410f8f
mov eax, dword [ebp + 0x74]
push eax
call fcn.005bac50
add esp, 4
mov eax, dword [ebp - 0x2c]
mov dword [ebp + 0x88], esi
mov dword [ebp + 0x84], ebx
mov byte [ebp + 0x74], bl
cmp eax, ebx
je 0x410fbd
mov ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x28]
push ecx
call fcn.0041b540
mov edx, dword [ebp - 0x2c]
push edx
call fcn.005bac50
add esp, 8
mov eax, dword [ebp - 0x38]
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
call fcn.005bac50
add esp, 4
jmp 0x414360
jmp 0x41103d
jmp 0x4110a3
lea ecx, [ebp - 0x14]
push ecx
push 0x6b58b8
push 1
push ebx
push 0x6b5988
mov dword [ebp - 0x14], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
jmp 0x411123
cmp eax, ebx
jge 0x4111a3
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edi, 0x10
cmp dword [ebp + 0xa4], edi
jb 0x411149
mov edx, dword [ebp + 0x90]
push edx
call fcn.005bac50
add esp, 4
mov dword [ebp + 0xa4], esi
mov dword [ebp + 0xa0], ebx
mov byte [ebp + 0x90], bl
cmp dword [ebp + 0xc0], edi
jb 0x411172
mov eax, dword [ebp + 0xac]
push eax
call fcn.005bac50
add esp, 4
mov dword [ebp + 0xc0], esi
mov dword [ebp + 0xbc], ebx
mov byte [ebp + 0xac], bl
cmp dword [ebp + 0x88], edi
jb 0x411198
mov ecx, dword [ebp + 0x74]
push ecx
call fcn.005bac50
add esp, 4
mov dword [ebp + 0x88], esi
jmp 0x41434f
jmp 0x411209
jmp 0x41126f
mov dword [ebp - 0x10], ebx
jmp 0x4112d8
mov ecx, 0x43e6cfe6
lea eax, [ebp - 0x50]
call fcn.0041a650
lea edx, [ebp - 0x5c]
push edx
mov edi, eax
mov byte [ebp - 4], 4
call fcn.0040fe80
mov byte [ebp - 4], 5
mov eax, dword [eax]
cmp eax, ebx
je 0x411302
mov ecx, dword [eax]
jmp 0x411304
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
lea esi, [ebp - 0x10]
push esi
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ecx
push eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [ebp - 0x5c]
mov esi, eax
call fcn.0040ff20
mov byte [ebp - 4], 3
jmp 0x41138e
cmp esi, ebx
jge 0x4113a8
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x4139db
jmp 0x41140e
jmp 0x411474
mov eax, dword [ebp - 0x10]
push ebx
push ebx
push 3
push 3
push ebx
push ebx
push 0xa
push eax
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
jmp 0x4114ee
cmp eax, ebx
jge 0x411531
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp + 0x8c]
call fcn.004071f0
lea ecx, [ebp + 0xa8]
call fcn.004071f0
lea ecx, [ebp + 0x70]
call fcn.004071f0
jmp 0x414358
jmp 0x411597
mov edi, 0x75973f0
lea esi, [ebp - 0x8a]
mov dword [ebp - 0x1c], ebx
call fcn.0041a700
push eax
lea ebx, [ebp - 0x64]
mov byte [ebp - 4], 6
call fcn.0040fdf0
mov esi, eax
mov ecx, 0xa1
xor eax, eax
mov dl, byte [eax + 0x6c26a8]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [ebp + eax - 0x5c], dl
jns 0x4115dd
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 3
jl 0x4115c0
mov byte [ebp - 0x59], 0
lea eax, [ebp - 0x5c]
push eax
lea ebx, [ebp - 0x6c]
mov byte [ebp - 4], 8
call fcn.0040fdf0
mov byte [ebp - 4], 9
mov ecx, dword [esi]
test ecx, ecx
je 0x411605
mov ecx, dword [ecx]
jmp 0x411607
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x411611
mov edx, dword [eax]
jmp 0x411613
xor edx, edx
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
lea edi, [ebp - 0x1c]
push edi
push 0
push 0x30
push ecx
mov ecx, dword [esi + 0x50]
push edx
push eax
call ecx
lea edi, [ebp - 0x6c]
mov esi, eax
call fcn.0040ff20
lea edi, [ebp - 0x64]
mov dword [ebp - 0x5c], 0
call fcn.0040ff20
mov bl, 3
mov byte [ebp - 4], bl
jmp 0x4116ac
xor ecx, ecx
cmp esi, ecx
jge 0x4116f1
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp + 0x8c]
call fcn.004071f0
lea ecx, [ebp + 0xa8]
call fcn.004071f0
lea ecx, [ebp + 0x70]
call fcn.004071f0
jmp 0x414358
jmp 0x411757
mov dword [ebp - 0x18], ecx
jmp 0x4117c0
mov dword [ebp - 0x20], ecx
jmp 0x411829
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
je 0x411dec
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x18]
push edx
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
jmp 0x4118ae
cmp dword [ebp - 0x20], 0
je 0x411dec
jmp 0x41191e
jmp 0x411984
mov ecx, 0x6c26ac
sub ecx, 0x7e1ae418
push ecx
lea eax, [ebp - 0x88]
call fcn.0041a740
push 0
push 0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea esi, [ebp - 0x4c]
push esi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
test eax, eax
jne 0x411ab3
mov ax, word [ebp - 0x4c]
cmp ax, 1
je 0x411ab3
test ax, ax
je 0x411ab3
jmp 0x411a3d
mov ecx, dword [ebp - 0x44]
push ecx
lea edx, [ebp + 0xc4]
push 0x6c217c
push edx
call fcn.005def69
add esp, 0xc
lea eax, [ebp + 0xc4]
push eax
lea ecx, [ebp]
call fcn.004071b0
push 0xffffffffffffffff
push 0
lea ecx, [ebp]
push ecx
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0xb
call fcn.004189e0
push 0xffffffffffffffff
push 0
lea edx, [ebp]
push edx
lea ecx, [ebp + 0xa8]
call fcn.004189e0
push 0xffffffffffffffff
push 0
lea eax, [ebp]
push eax
lea ecx, [ebp + 0x8c]
call fcn.004189e0
mov ecx, esi
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push ecx
call esi
lea ecx, [ebp]
call fcn.004071f0
jmp 0x411ab9
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x411b1f
jmp 0x411b85
mov edx, 0x6c26c8
sub edx, 0x278cbf8a
push edx
lea eax, [ebp - 0x90]
call fcn.0041a790
push 0
push 0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea edi, [ebp - 0x4c]
push edi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
test eax, eax
jne 0x411c46
cmp word [ebp - 0x4c], 8
jne 0x411c46
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0xd
call fcn.004189e0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0xe
call fcn.004189e0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0xf
call fcn.004189e0
lea ecx, [ebp]
call fcn.004071f0
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x411cac
mov ecx, 0x6c26ec
sub ecx, 0x3a66cc02
lea eax, [ebp + 0xa]
call 0x41a7e0
push 0
push 0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea edi, [ebp - 0x4c]
push edi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
test eax, eax
jne 0x411d70
cmp word [ebp - 0x4c], 8
jne 0x411d70
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x11
call fcn.004189e0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x12
call fcn.004189e0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x13
call fcn.004189e0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004071f0
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x411dd6
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x411834
jmp 0x411e52
mov edi, 0x56c41725
lea esi, [ebp - 0x90]
call 0x41a8a0
push eax
lea ebx, [ebp - 0x58]
mov byte [ebp - 4], 0x14
call fcn.0040fdf0
mov esi, eax
mov ecx, 0x6c2724
sub ecx, 0x127b1479
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x5c], ecx
call fcn.0041a870
push eax
lea ebx, [ebp - 0x64]
mov byte [ebp - 4], 0x16
call fcn.0040fdf0
mov byte [ebp - 4], 0x17
mov ecx, dword [esi]
test ecx, ecx
je 0x411ea2
mov ecx, dword [ecx]
jmp 0x411ea4
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x411eae
mov edx, dword [eax]
jmp 0x411eb0
xor edx, edx
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
lea edi, [ebp - 0x1c]
push edi
push 0
push 0x30
push ecx
mov ecx, dword [esi + 0x50]
push edx
push eax
call ecx
lea edi, [ebp - 0x64]
mov esi, eax
call fcn.0040ff20
lea edi, [ebp - 0x58]
mov dword [ebp - 0x6c], 0
call fcn.0040ff20
mov bl, 3
mov byte [ebp - 4], bl
jmp 0x411f49
test esi, esi
jl 0x4116b2
jmp 0x411fb7
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x412478
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x18]
push edx
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp dword [ebp - 0x20], 0
je 0x412478
jmp 0x412046
mov ecx, 0x49893fe0
lea eax, [ebp + 6]
call fcn.0041a8e0
push 0
push 0
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea esi, [ebp - 0x4c]
push esi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
test eax, eax
jne 0x4120d6
mov ax, word [ebp - 0x4c]
cmp ax, 1
je 0x4120d6
test ax, ax
je 0x4120d6
mov ecx, dword [ebp - 0x44]
push ecx
lea edx, [ebp + 0xc4]
push 0x6b5f1c
push edx
call fcn.005def69
add esp, 0xc
lea eax, [ebp + 0xc4]
push eax
lea ecx, [ebp]
call fcn.004071b0
push 0xffffffffffffffff
push 0
lea ecx, [ebp]
push ecx
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x19
call fcn.004189e0
mov edx, esi
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push edx
call esi
lea ecx, [ebp]
call fcn.004071f0
jmp 0x4120dc
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x412142
mov eax, 0x6c2740
sub eax, 0x73407540
push eax
lea eax, [ebp - 0x8a]
call fcn.0041a990
push 0
push 0
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea edi, [ebp - 0x4c]
push edi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
test eax, eax
jne 0x412202
cmp word [ebp - 0x4c], 8
jne 0x412202
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x1b
call fcn.004189e0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x1c
call fcn.004189e0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x1d
call fcn.004189e0
lea ecx, [ebp]
call fcn.004071f0
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x412268
jmp 0x4122ce
jmp 0x412334
mov edx, 0x6c2760
sub edx, 0x78dc1078
push edx
lea eax, [ebp - 0x8a]
call fcn.0041a9e0
push 0
push 0
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea edi, [ebp - 0x4c]
push edi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
test eax, eax
jne 0x4123fc
cmp word [ebp - 0x4c], 8
jne 0x4123fc
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x1f
call fcn.004189e0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x20
call fcn.004189e0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x21
call fcn.004189e0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.004071f0
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x412462
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x411fc2
jmp 0x4124de
mov edi, 0x700dcb55
lea esi, [ebp - 0x8a]
call 0x41aa30
push eax
lea ebx, [ebp - 0x6c]
mov byte [ebp - 4], 0x22
call fcn.0040fdf0
mov esi, eax
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x62]
call fcn.0041a870
push eax
lea ebx, [ebp - 0x58]
mov byte [ebp - 4], 0x24
call fcn.0040fdf0
mov byte [ebp - 4], 0x25
mov ecx, dword [esi]
test ecx, ecx
je 0x412523
mov ecx, dword [ecx]
jmp 0x412525
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x41252f
mov edx, dword [eax]
jmp 0x412531
xor edx, edx
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
lea edi, [ebp - 0x1c]
push edi
push 0
push 0x30
push ecx
mov ecx, dword [esi + 0x50]
push edx
push eax
call ecx
lea edi, [ebp - 0x58]
mov esi, eax
call fcn.0040ff20
lea edi, [ebp - 0x6c]
mov dword [ebp - 0x62], 0
call fcn.0040ff20
mov bl, 3
mov byte [ebp - 4], bl
jmp 0x4125ca
test esi, esi
jl 0x4116b2
jmp 0x412638
jmp 0x41269e
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x412dfd
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x18]
push edx
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
jmp 0x412723
cmp dword [ebp - 0x20], 0
je 0x412dfd
jmp 0x412793
jmp 0x4127f9
mov ecx, 0xec7dcf4
lea eax, [ebp + 0x10]
call fcn.0041aa70
push 0
push 0
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea esi, [ebp - 0x4c]
push esi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
xor ecx, ecx
movzx edx, cx
mov ecx, edx
shl edx, 0x10
or ecx, edx
mov byte [ebp - 4], bl
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x18], ecx
test eax, eax
jne 0x41291b
cmp word [ebp - 0x4c], 8
jne 0x41291b
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x27
call fcn.004189e0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x28
call fcn.004189e0
lea ecx, [ebp - 0x88]
call fcn.004071f0
jmp 0x41290e
mov eax, esi
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
call esi
jmp 0x412921
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x412987
push 0x5b928472
lea eax, [ebp - 0x88]
call fcn.0041aad0
push 0
push 0
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea edi, [ebp - 0x4c]
push edi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
test eax, eax
jne 0x412a22
cmp word [ebp - 0x4c], 8
jne 0x412a22
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x2a
call fcn.004189e0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x2b
call fcn.004189e0
lea ecx, [ebp - 0x88]
call fcn.004071f0
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x412a88
mov edx, 0x6c27c8
sub edx, 0x4e801ce8
push edx
lea eax, [ebp - 0x8e]
call fcn.0041ab20
push 0
push 0
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea edi, [ebp - 0x4c]
push edi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
jmp 0x412b22
test eax, eax
jne 0x412c64
cmp word [ebp - 0x4c], 8
jne 0x412c64
jmp 0x412b9b
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x2d
call fcn.004189e0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004071f0
jmp 0x412c31
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x2e
call fcn.004189e0
lea ecx, [ebp - 0x88]
call fcn.004071f0
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x412cca
mov ecx, 0x6c27ec
sub ecx, 0x7fb01ae4
lea eax, [ebp - 0x68]
call fcn.0041ab70
push 0
push 0
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea edi, [ebp - 0x4c]
push edi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
xor ecx, ecx
movzx edx, cx
mov ecx, edx
shl edx, 0x10
or ecx, edx
mov byte [ebp - 4], bl
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
mov word [ebp - 0x60], cx
test eax, eax
jne 0x412d81
cmp word [ebp - 0x4c], 8
jne 0x412d81
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x30
call fcn.004189e0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004071f0
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x31
call fcn.004189e0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004071f0
lea eax, [ebp - 0x4c]
push eax
call esi
jmp 0x412de7
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x4126a9
jmp 0x412e63
mov edi, 0x2e03bd5d
lea esi, [ebp - 0x8f]
call 0x41abc0
push eax
lea ebx, [ebp - 0x6c]
mov byte [ebp - 4], 0x32
call fcn.0040fdf0
mov esi, eax
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x62]
call fcn.0041a870
push eax
lea ebx, [ebp - 0x58]
mov byte [ebp - 4], 0x34
call fcn.0040fdf0
mov byte [ebp - 4], 0x35
mov ecx, dword [esi]
test ecx, ecx
je 0x412ea8
mov ecx, dword [ecx]
jmp 0x412eaa
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x412eb4
mov edx, dword [eax]
jmp 0x412eb6
xor edx, edx
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
lea edi, [ebp - 0x1c]
push edi
push 0
push 0x30
push ecx
push edx
push eax
mov eax, dword [esi + 0x50]
call eax
lea edi, [ebp - 0x58]
mov esi, eax
call fcn.0040ff20
lea edi, [ebp - 0x6c]
mov dword [ebp - 0x62], 0
call fcn.0040ff20
mov bl, 3
mov byte [ebp - 4], bl
jmp 0x412f4f
test esi, esi
jge 0x4130aa
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x412fc8
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x413039
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x4130a5
jmp 0x41150e
jmp 0x413110
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4139d1
jmp 0x413120
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x18]
push edx
push 1
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
jmp 0x41319a
cmp dword [ebp - 0x20], 0
je 0x4139ce
jmp 0x41320a
jmp 0x413270
mov ecx, 0x941cbc0
lea eax, [ebp - 0x4c]
call 0x41ac00
push 0
push 0
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea esi, [ebp + 0xc]
push esi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
mov esi, 8
test eax, eax
jne 0x413477
cmp word [ebp + 0xc], si
jne 0x413477
jmp 0x413317
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x37
call fcn.004189e0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004071f0
jmp 0x4133aa
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x38
call fcn.004189e0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004071f0
jmp 0x413440
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x39
call fcn.004189e0
lea ecx, [ebp - 0x88]
call fcn.004071f0
lea ecx, [ebp + 0xc]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x4134dd
push 0x393e9b70
lea eax, [ebp - 0x54]
call 0x41ac80
push 0
push 0
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea edi, [ebp + 0xc]
push edi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
jmp 0x41356d
test eax, eax
jne 0x413715
cmp word [ebp + 0xc], si
jne 0x413715
jmp 0x4135e5
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x3b
call fcn.004189e0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004071f0
jmp 0x413678
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x3c
call fcn.004189e0
lea ecx, [ebp - 0x88]
call fcn.004071f0
jmp 0x41370b
lea ecx, [ebp + 0xc]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x41377b
push 0x4cbbadcc
lea eax, [ebp - 0x54]
call fcn.0041acd0
push 0
push 0
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
lea edi, [ebp + 0xc]
push edi
push 0
push eax
mov eax, dword [edx + 0x10]
push ecx
call eax
mov byte [ebp - 4], bl
jmp 0x41380b
test eax, eax
jne 0x413950
cmp word [ebp + 0xc], si
jne 0x413950
jmp 0x413883
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x3e
call fcn.004189e0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004071f0
jmp 0x413916
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.00410a70
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x3f
call fcn.004189e0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.004071f0
lea ecx, [ebp + 0xc]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x4139b6
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x413120
jmp 0x4139d1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
jmp 0x413a41
mov edi, 0x6c2668
sub edi, 0x99cc67
mov ecx, edi
lea eax, [ebp - 0x66]
call fcn.0041a530
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x40
call fcn.004071b0
mov byte [ebp - 4], 0x42
xor eax, eax
mov dword [ebp - 0x66], eax
mov dword [ebp - 0x62], eax
cmp dword [ebp + 0x84], ebx
jbe 0x413ab2
sub esp, 0x1c
lea eax, [ebp + 0x70]
mov ecx, esp
mov dword [ebp - 0x58], esp
push eax
call fcn.0040d550
lea ecx, [ebp - 0x88]
push ecx
call fcn.0041bc60
add esp, 0x20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x43
call fcn.00406df0
lea ecx, [ebp - 0x88]
call fcn.004071f0
jmp 0x413b18
mov ecx, edi
lea eax, [ebp - 0x66]
call fcn.0041a530
push eax
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x44
call fcn.004071b0
mov byte [ebp - 4], 0x46
xor eax, eax
mov dword [ebp - 0x66], eax
mov dword [ebp - 0x62], eax
cmp dword [ebp + 0xbc], ebx
jbe 0x413b81
sub esp, 0x1c
lea edx, [ebp + 0xa8]
mov ecx, esp
mov dword [ebp - 0x58], esp
push edx
call fcn.0040d550
lea eax, [ebp - 0x88]
push eax
call fcn.0041bc60
add esp, 0x20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x47
call fcn.00406df0
lea ecx, [ebp - 0x88]
call fcn.004071f0
jmp 0x413be7
jmp 0x413c4d
jmp 0x413cb3
jmp 0x413d19
jmp 0x413d7f
mov ecx, edi
lea eax, [ebp - 0x66]
call fcn.0041a530
push eax
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x48
call fcn.004071b0
mov byte [ebp - 4], 0x4a
xor eax, eax
mov dword [ebp - 0x66], eax
mov dword [ebp - 0x62], eax
cmp dword [ebp + 0xa0], ebx
jbe 0x413dec
sub esp, 0x1c
lea edx, [ebp + 0x8c]
mov ecx, esp
mov dword [ebp - 0x58], esp
push edx
call fcn.0040d550
lea eax, [ebp - 0x88]
push eax
call fcn.0041bc60
add esp, 0x20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x4b
call fcn.00406df0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x4a
call fcn.004071f0
jmp 0x413e52
push 0x41
push ebx
push 0x8d8c04
call fcn.005e2250
add esp, 0xc
jmp 0x413ec8
push 0x41
push ebx
push 0x8d8c45
call fcn.005e2250
add esp, 0xc
jmp 0x413f3e
push 0x41
push ebx
push 0x8d8c86
call fcn.005e2250
add esp, 0xc
jmp 0x413fb4
mov eax, dword [ebp + 0x20]
mov esi, 0x10
cmp dword [ebp + 0x34], esi
jae 0x413fc4
lea eax, [ebp + 0x20]
mov ecx, dword [ebp + 0x30]
push ecx
push eax
push 0x8d8c04
call fcn.005e22d0
add esp, 0xc
jmp 0x41403c
mov eax, dword [ebp + 0x58]
cmp dword [ebp + 0x6c], esi
jae 0x414047
lea eax, [ebp + 0x58]
mov edx, dword [ebp + 0x68]
push edx
push eax
push 0x8d8c45
call fcn.005e22d0
add esp, 0xc
jmp 0x4140bf
mov eax, dword [ebp + 0x3c]
cmp dword [ebp + 0x50], esi
jae 0x4140ca
lea eax, [ebp + 0x3c]
mov ecx, dword [ebp + 0x4c]
push ecx
push eax
push 0x8d8c86
call fcn.005e22d0
add esp, 0xc
jmp 0x414142
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4141b3
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x414224
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x414290
cmp dword [ebp + 0x50], esi
jb 0x4142a1
mov eax, dword [ebp + 0x3c]
push eax
call fcn.005bac50
add esp, 4
mov edi, 0xf
mov dword [ebp + 0x50], edi
mov dword [ebp + 0x4c], ebx
mov byte [ebp + 0x3c], bl
cmp dword [ebp + 0x6c], esi
jb 0x4142c0
mov ecx, dword [ebp + 0x58]
push ecx
call fcn.005bac50
add esp, 4
mov dword [ebp + 0x6c], edi
mov dword [ebp + 0x68], ebx
mov byte [ebp + 0x58], bl
cmp dword [ebp + 0x34], esi
jb 0x4142da
mov edx, dword [ebp + 0x20]
push edx
call fcn.005bac50
add esp, 4
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x30], ebx
mov byte [ebp + 0x20], bl
cmp dword [ebp + 0xa4], esi
jb 0x4142fa
mov eax, dword [ebp + 0x90]
push eax
call fcn.005bac50
add esp, 4
mov dword [ebp + 0xa4], edi
mov dword [ebp + 0xa0], ebx
mov byte [ebp + 0x90], bl
cmp dword [ebp + 0xc0], esi
jb 0x414323
mov ecx, dword [ebp + 0xac]
push ecx
call fcn.005bac50
add esp, 4
mov dword [ebp + 0xc0], edi
mov dword [ebp + 0xbc], ebx
mov byte [ebp + 0xac], bl
cmp dword [ebp + 0x88], esi
jb 0x414349
mov edx, dword [ebp + 0x74]
push edx
call fcn.005bac50
add esp, 4
mov dword [ebp + 0x88], edi
mov dword [ebp + 0x84], ebx
mov byte [ebp + 0x74], bl
lea esi, [ebp - 0x38]
call fcn.004186f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x144]
xor ecx, ebp
call fcn.005de867
add ebp, 0x148
mov esp, ebp
pop ebp
ret