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

Disassembly:
push ebp
lea ebp, [esp - 0x148]
sub esp, 0x148
push 0xffffffffffffffff
push 0x62de02
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x70bddc]
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 0x40f842
jmp 0x40f8a8
lea eax, [ebp - 0x38]
push eax
call 0x417680
xor ebx, ebx
mov dword [ebp - 4], ebx
jmp 0x40f91c
mov esi, 0xf
mov dword [ebp + 0x88], esi
mov dword [ebp + 0x84], ebx
mov byte [ebp + 0x74], bl
jmp 0x40f996
mov dword [ebp + 0xc0], esi
mov dword [ebp + 0xbc], ebx
mov byte [ebp + 0xac], bl
jmp 0x40fa0e
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 0x40fae7
mov edi, 0x10
cmp dword [ebp + 0xa4], edi
jb 0x40fa50
mov ecx, dword [ebp + 0x90]
push ecx
call fcn.005b91d0
add esp, 4
mov dword [ebp + 0xa4], esi
mov dword [ebp + 0xa0], ebx
mov byte [ebp + 0x90], bl
cmp dword [ebp + 0xc0], edi
jb 0x40fa79
mov edx, dword [ebp + 0xac]
push edx
call fcn.005b91d0
add esp, 4
mov dword [ebp + 0xc0], esi
mov dword [ebp + 0xbc], ebx
mov byte [ebp + 0xac], bl
cmp dword [ebp + 0x88], edi
jb 0x40fa9f
mov eax, dword [ebp + 0x74]
push eax
call fcn.005b91d0
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 0x40facd
mov ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x28]
push ecx
call fcn.0041a530
mov edx, dword [ebp - 0x2c]
push edx
call fcn.005b91d0
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.005b91d0
add esp, 4
jmp 0x412e70
jmp 0x40fb4d
jmp 0x40fbb3
lea ecx, [ebp - 0x14]
push ecx
push 0x6d0a50
push 1
push ebx
push 0x6d0b20
mov dword [ebp - 0x14], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
jmp 0x40fc33
cmp eax, ebx
jge 0x40fcb3
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edi, 0x10
cmp dword [ebp + 0xa4], edi
jb 0x40fc59
mov edx, dword [ebp + 0x90]
push edx
call fcn.005b91d0
add esp, 4
mov dword [ebp + 0xa4], esi
mov dword [ebp + 0xa0], ebx
mov byte [ebp + 0x90], bl
cmp dword [ebp + 0xc0], edi
jb 0x40fc82
mov eax, dword [ebp + 0xac]
push eax
call fcn.005b91d0
add esp, 4
mov dword [ebp + 0xc0], esi
mov dword [ebp + 0xbc], ebx
mov byte [ebp + 0xac], bl
cmp dword [ebp + 0x88], edi
jb 0x40fca8
mov ecx, dword [ebp + 0x74]
push ecx
call fcn.005b91d0
add esp, 4
mov dword [ebp + 0x88], esi
jmp 0x412e5f
jmp 0x40fd19
jmp 0x40fd7f
mov dword [ebp - 0x10], ebx
jmp 0x40fde8
mov ecx, 0x43e886d6
lea eax, [ebp - 0x50]
call fcn.00419640
lea edx, [ebp - 0x5c]
push edx
mov edi, eax
mov byte [ebp - 4], 4
call fcn.0040e990
mov byte [ebp - 4], 5
mov eax, dword [eax]
cmp eax, ebx
je 0x40fe12
mov ecx, dword [eax]
jmp 0x40fe14
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.0040ea30
mov byte [ebp - 4], 3
jmp 0x40fe9e
cmp esi, ebx
jge 0x40feb8
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 0x4124eb
jmp 0x40ff1e
jmp 0x40ff84
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 0x40fffe
cmp eax, ebx
jge 0x410041
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.00407090
lea ecx, [ebp + 0xa8]
call fcn.00407090
lea ecx, [ebp + 0x70]
call fcn.00407090
jmp 0x412e68
jmp 0x4100a7
mov edi, 0x75b2ae0
lea esi, [ebp - 0x8a]
mov dword [ebp - 0x1c], ebx
call fcn.004196f0
push eax
lea ebx, [ebp - 0x64]
mov byte [ebp - 4], 6
call fcn.0040e900
mov esi, eax
mov ecx, 0xa1
xor eax, eax
mov dl, byte [eax + 0x6ddd98]
xor dl, cl
inc ecx
and ecx, 0x800000ff
mov byte [ebp + eax - 0x5c], dl
jns 0x4100ed
dec ecx
or ecx, 0xffffff00
inc ecx
inc eax
cmp eax, 3
jl 0x4100d0
mov byte [ebp - 0x59], 0
lea eax, [ebp - 0x5c]
push eax
lea ebx, [ebp - 0x6c]
mov byte [ebp - 4], 8
call fcn.0040e900
mov byte [ebp - 4], 9
mov ecx, dword [esi]
test ecx, ecx
je 0x410115
mov ecx, dword [ecx]
jmp 0x410117
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x410121
mov edx, dword [eax]
jmp 0x410123
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.0040ea30
lea edi, [ebp - 0x64]
mov dword [ebp - 0x5c], 0
call fcn.0040ea30
mov bl, 3
mov byte [ebp - 4], bl
jmp 0x4101bc
xor ecx, ecx
cmp esi, ecx
jge 0x410201
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.00407090
lea ecx, [ebp + 0xa8]
call fcn.00407090
lea ecx, [ebp + 0x70]
call fcn.00407090
jmp 0x412e68
jmp 0x410267
mov dword [ebp - 0x18], ecx
jmp 0x4102d0
mov dword [ebp - 0x20], ecx
jmp 0x410339
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
je 0x4108fc
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 0x4103be
cmp dword [ebp - 0x20], 0
je 0x4108fc
jmp 0x41042e
jmp 0x410494
mov ecx, 0x6ddd9c
sub ecx, 0x7e1ae418
push ecx
lea eax, [ebp - 0x88]
call fcn.00419730
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 0x4105c3
mov ax, word [ebp - 0x4c]
cmp ax, 1
je 0x4105c3
test ax, ax
je 0x4105c3
jmp 0x41054d
mov ecx, dword [ebp - 0x44]
push ecx
lea edx, [ebp + 0xc4]
push 0x6dd930
push edx
call fcn.005dd5b9
add esp, 0xc
lea eax, [ebp + 0xc4]
push eax
lea ecx, [ebp]
call fcn.00407050
push 0xffffffffffffffff
push 0
lea ecx, [ebp]
push ecx
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0xb
call fcn.004179d0
push 0xffffffffffffffff
push 0
lea edx, [ebp]
push edx
lea ecx, [ebp + 0xa8]
call fcn.004179d0
push 0xffffffffffffffff
push 0
lea eax, [ebp]
push eax
lea ecx, [ebp + 0x8c]
call fcn.004179d0
mov ecx, esi
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push ecx
call esi
lea ecx, [ebp]
call fcn.00407090
jmp 0x4105c9
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x41062f
jmp 0x410695
mov edx, 0x6dddb8
sub edx, 0x278cbf8a
push edx
lea eax, [ebp - 0x90]
call 0x419780
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 0x410756
cmp word [ebp - 0x4c], 8
jne 0x410756
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0xd
call fcn.004179d0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0xe
call fcn.004179d0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0xf
call fcn.004179d0
lea ecx, [ebp]
call fcn.00407090
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x4107bc
mov ecx, 0x6ddddc
sub ecx, 0x3a66cc02
lea eax, [ebp + 0xa]
call 0x4197d0
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 0x410880
cmp word [ebp - 0x4c], 8
jne 0x410880
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x11
call fcn.004179d0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x12
call fcn.004179d0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x13
call fcn.004179d0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.00407090
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x4108e6
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 0x410344
jmp 0x410962
mov edi, 0x56c5ce15
lea esi, [ebp - 0x90]
call 0x419890
push eax
lea ebx, [ebp - 0x58]
mov byte [ebp - 4], 0x14
call fcn.0040e900
mov esi, eax
mov ecx, 0x6dde14
sub ecx, 0x127b1479
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x5c], ecx
call fcn.00419860
push eax
lea ebx, [ebp - 0x64]
mov byte [ebp - 4], 0x16
call fcn.0040e900
mov byte [ebp - 4], 0x17
mov ecx, dword [esi]
test ecx, ecx
je 0x4109b2
mov ecx, dword [ecx]
jmp 0x4109b4
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x4109be
mov edx, dword [eax]
jmp 0x4109c0
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.0040ea30
lea edi, [ebp - 0x58]
mov dword [ebp - 0x6c], 0
call fcn.0040ea30
mov bl, 3
mov byte [ebp - 4], bl
jmp 0x410a59
test esi, esi
jl 0x4101c2
jmp 0x410ac7
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x410f88
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 0x410f88
jmp 0x410b56
mov ecx, 0x498af6d0
lea eax, [ebp + 6]
call fcn.004198d0
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 0x410be6
mov ax, word [ebp - 0x4c]
cmp ax, 1
je 0x410be6
test ax, ax
je 0x410be6
mov ecx, dword [ebp - 0x44]
push ecx
lea edx, [ebp + 0xc4]
push 0x6d161c
push edx
call fcn.005dd5b9
add esp, 0xc
lea eax, [ebp + 0xc4]
push eax
lea ecx, [ebp]
call fcn.00407050
push 0xffffffffffffffff
push 0
lea ecx, [ebp]
push ecx
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x19
call fcn.004179d0
mov edx, esi
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push edx
call esi
lea ecx, [ebp]
call fcn.00407090
jmp 0x410bec
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x410c52
mov eax, 0x6dde30
sub eax, 0x73407540
push eax
lea eax, [ebp - 0x8a]
call fcn.00419980
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 0x410d12
cmp word [ebp - 0x4c], 8
jne 0x410d12
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x1b
call fcn.004179d0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x1c
call fcn.004179d0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x1d
call fcn.004179d0
lea ecx, [ebp]
call fcn.00407090
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x410d78
jmp 0x410dde
jmp 0x410e44
mov edx, 0x6dde50
sub edx, 0x78dc1078
push edx
lea eax, [ebp - 0x8a]
call fcn.004199d0
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 0x410f0c
cmp word [ebp - 0x4c], 8
jne 0x410f0c
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x1f
call fcn.004179d0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x20
call fcn.004179d0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x21
call fcn.004179d0
lea ecx, [ebp]
mov byte [ebp - 4], bl
call fcn.00407090
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x410f72
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 0x410ad2
jmp 0x410fee
mov edi, 0x700f8245
lea esi, [ebp - 0x8a]
call fcn.00419a20
push eax
lea ebx, [ebp - 0x6c]
mov byte [ebp - 4], 0x22
call fcn.0040e900
mov esi, eax
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x62]
call fcn.00419860
push eax
lea ebx, [ebp - 0x58]
mov byte [ebp - 4], 0x24
call fcn.0040e900
mov byte [ebp - 4], 0x25
mov ecx, dword [esi]
test ecx, ecx
je 0x411033
mov ecx, dword [ecx]
jmp 0x411035
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x41103f
mov edx, dword [eax]
jmp 0x411041
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.0040ea30
lea edi, [ebp - 0x6c]
mov dword [ebp - 0x62], 0
call fcn.0040ea30
mov bl, 3
mov byte [ebp - 4], bl
jmp 0x4110da
test esi, esi
jl 0x4101c2
jmp 0x411148
jmp 0x4111ae
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x41190d
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 0x411233
cmp dword [ebp - 0x20], 0
je 0x41190d
jmp 0x4112a3
jmp 0x411309
mov ecx, 0xec993e4
lea eax, [ebp + 0x10]
call fcn.00419a60
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 0x41142b
cmp word [ebp - 0x4c], 8
jne 0x41142b
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x27
call fcn.004179d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x28
call fcn.004179d0
lea ecx, [ebp - 0x88]
call fcn.00407090
jmp 0x41141e
mov eax, esi
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push eax
call esi
jmp 0x411431
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x411497
push 0x5b943b62
lea eax, [ebp - 0x88]
call fcn.00419ac0
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 0x411532
cmp word [ebp - 0x4c], 8
jne 0x411532
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x2a
call fcn.004179d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x2b
call fcn.004179d0
lea ecx, [ebp - 0x88]
call fcn.00407090
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x411598
mov edx, 0x6ddeb8
sub edx, 0x4e801ce8
push edx
lea eax, [ebp - 0x8e]
call 0x419b10
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 0x411632
test eax, eax
jne 0x411774
cmp word [ebp - 0x4c], 8
jne 0x411774
jmp 0x4116ab
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x2d
call fcn.004179d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.00407090
jmp 0x411741
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x2e
call fcn.004179d0
lea ecx, [ebp - 0x88]
call fcn.00407090
lea ecx, [ebp - 0x4c]
push ecx
call esi
jmp 0x4117da
mov ecx, 0x6ddedc
sub ecx, 0x7fb01ae4
lea eax, [ebp - 0x68]
call fcn.00419b60
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 0x411891
cmp word [ebp - 0x4c], 8
jne 0x411891
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x30
call fcn.004179d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.00407090
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x31
call fcn.004179d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.00407090
lea eax, [ebp - 0x4c]
push eax
call esi
jmp 0x4118f7
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 0x4111b9
jmp 0x411973
mov edi, 0x2e05744d
lea esi, [ebp - 0x8f]
call fcn.00419bb0
push eax
lea ebx, [ebp - 0x6c]
mov byte [ebp - 4], 0x32
call fcn.0040e900
mov esi, eax
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x62]
call fcn.00419860
push eax
lea ebx, [ebp - 0x58]
mov byte [ebp - 4], 0x34
call fcn.0040e900
mov byte [ebp - 4], 0x35
mov ecx, dword [esi]
test ecx, ecx
je 0x4119b8
mov ecx, dword [ecx]
jmp 0x4119ba
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x4119c4
mov edx, dword [eax]
jmp 0x4119c6
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.0040ea30
lea edi, [ebp - 0x6c]
mov dword [ebp - 0x62], 0
call fcn.0040ea30
mov bl, 3
mov byte [ebp - 4], bl
jmp 0x411a5f
test esi, esi
jge 0x411bba
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x411ad8
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x411b49
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x411bb5
jmp 0x41001e
jmp 0x411c20
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4124e1
jmp 0x411c30
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 0x411caa
cmp dword [ebp - 0x20], 0
je 0x4124de
jmp 0x411d1a
jmp 0x411d80
mov ecx, 0x94382b0
lea eax, [ebp - 0x4c]
call 0x419bf0
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 0x411f87
cmp word [ebp + 0xc], si
jne 0x411f87
jmp 0x411e27
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x37
call fcn.004179d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.00407090
jmp 0x411eba
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x38
call fcn.004179d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.00407090
jmp 0x411f50
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 0x39
call fcn.004179d0
lea ecx, [ebp - 0x88]
call fcn.00407090
lea ecx, [ebp + 0xc]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x411fed
push 0x39405260
lea eax, [ebp - 0x54]
call 0x419c70
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 0x41207d
test eax, eax
jne 0x412225
cmp word [ebp + 0xc], si
jne 0x412225
jmp 0x4120f5
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x3b
call fcn.004179d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.00407090
jmp 0x412188
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x3c
call fcn.004179d0
lea ecx, [ebp - 0x88]
call fcn.00407090
jmp 0x41221b
lea ecx, [ebp + 0xc]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x41228b
push 0x4cbd64bc
lea eax, [ebp - 0x54]
call fcn.00419cc0
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 0x41231b
test eax, eax
jne 0x412460
cmp word [ebp + 0xc], si
jne 0x412460
jmp 0x412393
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 0x3e
call fcn.004179d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.00407090
jmp 0x412426
mov edi, dword [ebp + 0x14]
lea ecx, [ebp - 0x88]
call fcn.0040f580
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 0x3f
call fcn.004179d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], bl
call fcn.00407090
lea ecx, [ebp + 0xc]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x4124c6
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 0x411c30
jmp 0x4124e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor ebx, ebx
jmp 0x412551
mov edi, 0x6ddd58
sub edi, 0x99cc67
mov ecx, edi
lea eax, [ebp - 0x66]
call fcn.00419520
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x40
call fcn.00407050
mov byte [ebp - 4], 0x42
xor eax, eax
mov dword [ebp - 0x66], eax
mov dword [ebp - 0x62], eax
cmp dword [ebp + 0x84], ebx
jbe 0x4125c2
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.0041ac50
add esp, 0x20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0x43
call fcn.00406c90
lea ecx, [ebp - 0x88]
call fcn.00407090
jmp 0x412628
mov ecx, edi
lea eax, [ebp - 0x66]
call fcn.00419520
push eax
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x44
call fcn.00407050
mov byte [ebp - 4], 0x46
xor eax, eax
mov dword [ebp - 0x66], eax
mov dword [ebp - 0x62], eax
cmp dword [ebp + 0xbc], ebx
jbe 0x412691
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.0041ac50
add esp, 0x20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 0x47
call fcn.00406c90
lea ecx, [ebp - 0x88]
call fcn.00407090
jmp 0x4126f7
jmp 0x41275d
jmp 0x4127c3
jmp 0x412829
jmp 0x41288f
mov ecx, edi
lea eax, [ebp - 0x66]
call fcn.00419520
push eax
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x48
call fcn.00407050
mov byte [ebp - 4], 0x4a
xor eax, eax
mov dword [ebp - 0x66], eax
mov dword [ebp - 0x62], eax
cmp dword [ebp + 0xa0], ebx
jbe 0x4128fc
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.0041ac50
add esp, 0x20
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x4b
call fcn.00406c90
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x4a
call fcn.00407090
jmp 0x412962
push 0x41
push ebx
push 0x8f4af4
call fcn.005e0880
add esp, 0xc
jmp 0x4129d8
push 0x41
push ebx
push 0x8f4b35
call fcn.005e0880
add esp, 0xc
jmp 0x412a4e
push 0x41
push ebx
push 0x8f4b76
call fcn.005e0880
add esp, 0xc
jmp 0x412ac4
mov eax, dword [ebp + 0x20]
mov esi, 0x10
cmp dword [ebp + 0x34], esi
jae 0x412ad4
lea eax, [ebp + 0x20]
mov ecx, dword [ebp + 0x30]
push ecx
push eax
push 0x8f4af4
call fcn.005e0900
add esp, 0xc
jmp 0x412b4c
mov eax, dword [ebp + 0x58]
cmp dword [ebp + 0x6c], esi
jae 0x412b57
lea eax, [ebp + 0x58]
mov edx, dword [ebp + 0x68]
push edx
push eax
push 0x8f4b35
call fcn.005e0900
add esp, 0xc
jmp 0x412bcf
mov eax, dword [ebp + 0x3c]
cmp dword [ebp + 0x50], esi
jae 0x412bda
lea eax, [ebp + 0x3c]
mov ecx, dword [ebp + 0x4c]
push ecx
push eax
push 0x8f4b76
call fcn.005e0900
add esp, 0xc
jmp 0x412c52
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x412cc3
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x412d34
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x412da0
cmp dword [ebp + 0x50], esi
jb 0x412db1
mov eax, dword [ebp + 0x3c]
push eax
call fcn.005b91d0
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 0x412dd0
mov ecx, dword [ebp + 0x58]
push ecx
call fcn.005b91d0
add esp, 4
mov dword [ebp + 0x6c], edi
mov dword [ebp + 0x68], ebx
mov byte [ebp + 0x58], bl
cmp dword [ebp + 0x34], esi
jb 0x412dea
mov edx, dword [ebp + 0x20]
push edx
call fcn.005b91d0
add esp, 4
mov dword [ebp + 0x34], edi
mov dword [ebp + 0x30], ebx
mov byte [ebp + 0x20], bl
cmp dword [ebp + 0xa4], esi
jb 0x412e0a
mov eax, dword [ebp + 0x90]
push eax
call fcn.005b91d0
add esp, 4
mov dword [ebp + 0xa4], edi
mov dword [ebp + 0xa0], ebx
mov byte [ebp + 0x90], bl
cmp dword [ebp + 0xc0], esi
jb 0x412e33
mov ecx, dword [ebp + 0xac]
push ecx
call fcn.005b91d0
add esp, 4
mov dword [ebp + 0xc0], edi
mov dword [ebp + 0xbc], ebx
mov byte [ebp + 0xac], bl
cmp dword [ebp + 0x88], esi
jb 0x412e59
mov edx, dword [ebp + 0x74]
push edx
call fcn.005b91d0
add esp, 4
mov dword [ebp + 0x88], edi
mov dword [ebp + 0x84], ebx
mov byte [ebp + 0x74], bl
lea esi, [ebp - 0x38]
call fcn.004176e0
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.005dceb7
add ebp, 0x148
mov esp, ebp
pop ebp
ret