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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5de272
mov eax, dword fs:[0]
push eax
sub esp, 0x19c
mov eax, dword [0x6c2da0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
jmp 0x58a6f4
jmp 0x58a75a
xorps xmm0, xmm0
mov dword [ebp - 0xf8], 0
movq qword [ebp - 0x100], xmm0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 4], 0
jmp 0x58a7fa
mov dword [ebp - 0xe0], 0xf
mov dword [ebp - 0xe4], 0
mov byte [ebp - 0xf4], 0
mov byte [ebp - 4], 1
jmp 0x58a87f
mov dword [ebp - 0xb0], 0xf
mov dword [ebp - 0xb4], 0
mov byte [ebp - 0xc4], 0
mov byte [ebp - 4], 2
jmp 0x58a904
mov dword [ebp - 0xc8], 0xf
mov dword [ebp - 0xcc], 0
mov byte [ebp - 0xdc], 0
push 0
push 0
mov byte [ebp - 4], 3
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x58de10
jmp 0x58a99b
jmp 0x58aa01
lea eax, [ebp - 0x170]
mov dword [ebp - 0x170], 0
push eax
push 0x684d00
push 1
push 0
push 0x684cf0
call dword [sym.imp.ole32.dll_CoCreateInstance]
jmp 0x58aa8c
test eax, eax
js 0x58ae1c
jmp 0x58aafa
jmp 0x58ab60
mov dword [ebp - 0x154], 0
jmp 0x58abd0
push 0x43e36a46
lea ecx, [ebp - 0x16c]
call fcn.00594370
push eax
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 4
call fcn.00589810
mov byte [ebp - 4], 5
mov edx, dword [eax]
test edx, edx
je 0x58abfe
mov edx, dword [edx]
jmp 0x58ac00
xor edx, edx
mov eax, dword [ebp - 0x170]
lea esi, [ebp - 0x154]
push esi
push 0
push 0
mov ecx, dword [eax]
push 0
push 0
push 0
push 0
push edx
push eax
call dword [ecx + 0xc]
lea ecx, [ebp - 0x174]
mov esi, eax
call fcn.005898c0
mov byte [ebp - 4], 3
jmp 0x58ac97
mov ebx, dword [sym.imp.ole32.dll_CoUninitialize]
test esi, esi
jns 0x58acb4
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call ebx
jmp 0x58d4d6
jmp 0x58ad1a
jmp 0x58ad80
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0x154]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
jmp 0x58ae00
test eax, eax
jns 0x58ae27
mov eax, dword [ebp - 0x154]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x58de10
jmp 0x58ae8d
push 0x7560e58
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x150], 0
call fcn.00594430
push eax
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 6
call fcn.00589770
mov esi, eax
mov dword [ebp - 0x174], 0x4c5157
lea eax, [ebp - 0x174]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x180]
call fcn.00589770
mov byte [ebp - 4], 9
mov esi, dword [esi]
test esi, esi
je 0x58aee7
mov esi, dword [esi]
jmp 0x58aee9
xor esi, esi
mov eax, dword [eax]
test eax, eax
je 0x58aef3
mov edx, dword [eax]
jmp 0x58aef5
xor edx, edx
mov eax, dword [ebp - 0x154]
lea edi, [ebp - 0x150]
push edi
push 0
push 0x30
mov ecx, dword [eax]
push esi
push edx
push eax
call dword [ecx + 0x50]
lea ecx, [ebp - 0x180]
mov esi, eax
call fcn.005898c0
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x174], 0
call fcn.005898c0
mov byte [ebp - 4], 3
jmp 0x58af9a
test esi, esi
js 0x58ae04
jmp 0x58b008
mov dword [ebp - 0x14c], 0
jmp 0x58b078
mov dword [ebp - 0x94], 0
jmp 0x58b0e8
mov ecx, dword [ebp - 0x150]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
test ecx, ecx
je 0x58b77d
lea esp, [esp]
mov eax, dword [ecx]
lea edx, [ebp - 0x94]
push edx
lea edx, [ebp - 0x14c]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
jmp 0x58b17e
cmp dword [ebp - 0x94], 0
je 0x58b77d
jmp 0x58b1f1
jmp 0x58b257
mov eax, 0x68c110
lea ecx, [ebp - 0x1a0]
sub eax, 0x7e1ae418
push eax
call fcn.00594470
push 0
push 0
mov byte [ebp - 4], 0xa
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
test eax, eax
jne 0x58b39d
mov ax, word [ebp - 0x168]
cmp ax, 1
je 0x58b39d
test ax, ax
je 0x58b39d
jmp 0x58b317
push dword [ebp - 0x160]
lea eax, [ebp - 0x90]
push 0x68be58
push eax
call fcn.005bc24d
add esp, 0xc
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0xac]
push eax
call fcn.005834a0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0xf4]
call fcn.00592de0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00592de0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00592de0
mov eax, esi
push eax
call edi
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 3
call fcn.00583500
jmp 0x58b403
jmp 0x58b469
mov eax, 0x68c12c
lea ecx, [ebp - 0x1a8]
sub eax, 0x278cbf8a
push eax
call fcn.005944c0
push 0
push 0
mov byte [ebp - 4], 0xc
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
test eax, eax
jne 0x58b580
cmp word [ebp - 0x168], 8
jne 0x58b580
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0xd
call fcn.00592de0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x98], 0x10
jb 0x58b4f7
push dword [ebp - 0xac]
call fcn.00598e00
add esp, 4
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0xe
call fcn.00592de0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x98], 0x10
jb 0x58b537
push dword [ebp - 0xac]
call fcn.00598e00
add esp, 4
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0xf
call fcn.00592de0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x98], 0x10
jb 0x58b577
push dword [ebp - 0xac]
call fcn.00598e00
add esp, 4
lea eax, [ebp - 0x168]
push eax
call edi
jmp 0x58b5e6
mov eax, 0x68c150
lea ecx, [ebp - 0xa8]
sub eax, 0x3a66cc02
push eax
call fcn.00594510
push 0
push 0
mov byte [ebp - 4], 0x10
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
test eax, eax
jne 0x58b6fd
cmp word [ebp - 0x168], 8
jne 0x58b6fd
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x11
call fcn.00592de0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x98], 0x10
jb 0x58b674
push dword [ebp - 0xac]
call fcn.00598e00
add esp, 4
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x12
call fcn.00592de0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x98], 0x10
jb 0x58b6b4
push dword [ebp - 0xac]
call fcn.00598e00
add esp, 4
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x13
call fcn.00592de0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x98], 0x10
jb 0x58b6f4
push dword [ebp - 0xac]
call fcn.00598e00
add esp, 4
lea eax, [ebp - 0x168]
push eax
call edi
jmp 0x58b763
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x150]
test ecx, ecx
jne 0x58b100
jmp 0x58b7e3
push 0x56c0b195
lea ecx, [ebp - 0x1a8]
call fcn.005945f0
push eax
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x14
call fcn.00589770
mov esi, eax
mov ebx, 0x68c194
lea ecx, [ebp - 0x180]
sub ebx, 0x127b1479
push ebx
call fcn.005945b0
push eax
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x16
call fcn.00589770
mov byte [ebp - 4], 0x17
mov esi, dword [esi]
test esi, esi
je 0x58b83a
mov esi, dword [esi]
jmp 0x58b83c
xor esi, esi
mov eax, dword [eax]
test eax, eax
je 0x58b846
mov edx, dword [eax]
jmp 0x58b848
xor edx, edx
mov eax, dword [ebp - 0x154]
lea edi, [ebp - 0x150]
push edi
push 0
push 0x30
mov ecx, dword [eax]
push esi
push edx
push eax
call dword [ecx + 0x50]
lea ecx, [ebp - 0x178]
mov esi, eax
call fcn.005898c0
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x180], 0
call fcn.005898c0
mov byte [ebp - 4], 3
jmp 0x58b8ed
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
js 0x58c002
jmp 0x58b961
mov ecx, dword [ebp - 0x150]
test ecx, ecx
je 0x58be93
nop
mov eax, dword [ecx]
lea edx, [ebp - 0x94]
push edx
lea edx, [ebp - 0x14c]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x94], 0
je 0x58be93
jmp 0x58b9fb
push 0x4985da58
lea ecx, [ebp - 0xac]
call 0x594630
push 0
push 0
mov byte [ebp - 4], 0x18
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
test eax, eax
jne 0x58ba9d
mov ax, word [ebp - 0x168]
cmp ax, 1
je 0x58ba9d
test ax, ax
je 0x58ba9d
push dword [ebp - 0x160]
lea eax, [ebp - 0x90]
push 0x685a4c
push eax
call fcn.005bc24d
add esp, 0xc
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0xac]
push eax
call fcn.005834a0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0xdc]
call fcn.00592de0
mov eax, esi
push eax
call edi
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 3
call fcn.00583500
jmp 0x58bb03
mov eax, 0x68c1b8
lea ecx, [ebp - 0x1a4]
sub eax, 0x73407540
push eax
call fcn.005946f0
push 0
push 0
mov byte [ebp - 4], 0x1a
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
test eax, eax
jne 0x58bbf2
cmp word [ebp - 0x168], 8
jne 0x58bbf2
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x1b
call fcn.00592de0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 3
call fcn.00583500
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x1c
call fcn.00592de0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 3
call fcn.00583500
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x1d
call fcn.00592de0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 3
call fcn.00583500
mov eax, esi
push eax
call edi
jmp 0x58bc58
jmp 0x58bcbe
jmp 0x58bd24
mov eax, 0x68c1d8
lea ecx, [ebp - 0x1a4]
sub eax, 0x78dc1078
push eax
call fcn.00594740
push 0
push 0
mov byte [ebp - 4], 0x1e
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
test eax, eax
jne 0x58be13
cmp word [ebp - 0x168], 8
jne 0x58be13
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x1f
call fcn.00592de0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 3
call fcn.00583500
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x20
call fcn.00592de0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 3
call fcn.00583500
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0xac]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x21
call fcn.00592de0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 3
call fcn.00583500
mov eax, esi
push eax
call edi
jmp 0x58be79
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x150]
test ecx, ecx
jne 0x58b970
jmp 0x58bef9
push 0x700a65d5
lea ecx, [ebp - 0x1a4]
call 0x594790
push eax
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x22
call fcn.00589770
mov esi, eax
push ebx
lea ecx, [ebp - 0x180]
call fcn.005945b0
push eax
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x24
call fcn.00589770
mov byte [ebp - 4], 0x25
mov esi, dword [esi]
test esi, esi
je 0x58bf45
mov esi, dword [esi]
jmp 0x58bf47
xor esi, esi
mov eax, dword [eax]
test eax, eax
je 0x58bf51
mov edx, dword [eax]
jmp 0x58bf53
xor edx, edx
mov eax, dword [ebp - 0x154]
lea edi, [ebp - 0x150]
push edi
push 0
push 0x30
mov ecx, dword [eax]
push esi
push edx
push eax
call dword [ecx + 0x50]
lea ecx, [ebp - 0x178]
mov esi, eax
call fcn.005898c0
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x180], 0
call fcn.005898c0
mov byte [ebp - 4], 3
jmp 0x58bff8
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
jns 0x58c025
mov eax, dword [ebp - 0x154]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x58ddcb
jmp 0x58c08b
jmp 0x58c0f1
mov ecx, dword [ebp - 0x150]
test ecx, ecx
je 0x58c89a
nop
mov eax, dword [ecx]
lea edx, [ebp - 0x94]
push edx
lea edx, [ebp - 0x14c]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
jmp 0x58c17e
cmp dword [ebp - 0x94], 0
je 0x58c89a
jmp 0x58c1f1
jmp 0x58c257
push 0xec47774
lea ecx, [ebp - 0xa0]
call fcn.005947d0
push 0
push 0
mov byte [ebp - 4], 0x26
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
xorps xmm0, xmm0
movq qword [ebp - 0xa0], xmm0
mov dword [ebp - 0x98], 0
test eax, eax
jne 0x58c387
cmp word [ebp - 0x168], 8
jne 0x58c387
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x27
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x28
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
jmp 0x58c382
mov eax, esi
push eax
call edi
jmp 0x58c3ed
push 0x5b8f1ef6
lea ecx, [ebp - 0x1a0]
call fcn.00594830
push 0
push 0
mov byte [ebp - 4], 0x29
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
test eax, eax
jne 0x58c49a
cmp word [ebp - 0x168], 8
jne 0x58c49a
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x2a
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x2b
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
mov eax, esi
push eax
call edi
jmp 0x58c500
mov eax, 0x68c24c
lea ecx, [ebp - 0x1a8]
sub eax, 0x4e801ce8
push eax
call fcn.00594880
push 0
push 0
mov byte [ebp - 4], 0x2c
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
jmp 0x58c59e
test eax, eax
jne 0x58c6ed
cmp word [ebp - 0x168], 8
jne 0x58c6ed
jmp 0x58c61a
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x2d
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
jmp 0x58c6b4
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x2e
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
mov eax, esi
push eax
call edi
jmp 0x58c753
mov eax, 0x68c270
lea ecx, [ebp - 0x184]
sub eax, 0x7fb01ae4
push eax
call fcn.005948d0
push 0
push 0
mov byte [ebp - 4], 0x2f
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
xorps xmm0, xmm0
movq qword [ebp - 0x184], xmm0
mov word [ebp - 0x17c], 0
test eax, eax
jne 0x58c81a
cmp word [ebp - 0x168], 8
jne 0x58c81a
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x30
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x31
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
mov eax, esi
push eax
call edi
jmp 0x58c880
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x150]
test ecx, ecx
jne 0x58c100
jmp 0x58c900
push 0x2e0057e5
lea ecx, [ebp - 0x1a8]
call fcn.00594930
push eax
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0x32
call fcn.00589770
mov esi, eax
push ebx
lea ecx, [ebp - 0x180]
call fcn.005945b0
push eax
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 0x34
call fcn.00589770
mov byte [ebp - 4], 0x35
mov esi, dword [esi]
test esi, esi
je 0x58c94c
mov esi, dword [esi]
jmp 0x58c94e
xor esi, esi
mov eax, dword [eax]
test eax, eax
je 0x58c958
mov edx, dword [eax]
jmp 0x58c95a
xor edx, edx
mov eax, dword [ebp - 0x154]
lea ebx, [ebp - 0x150]
push ebx
push 0
push 0x30
mov ecx, dword [eax]
push esi
push edx
push eax
call dword [ecx + 0x50]
lea ecx, [ebp - 0x178]
mov esi, eax
call fcn.005898c0
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x180], 0
call fcn.005898c0
mov byte [ebp - 4], 3
jmp 0x58c9ff
test esi, esi
jns 0x58cb5c
mov eax, dword [ebp - 0x154]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x58ca79
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x58caeb
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x58cb57
jmp 0x58ddcb
jmp 0x58cbc2
mov ecx, dword [ebp - 0x150]
test ecx, ecx
je 0x58d4ca
mov eax, dword [ecx]
lea edx, [ebp - 0x94]
push edx
lea edx, [ebp - 0x14c]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
jmp 0x58cc4e
cmp dword [ebp - 0x94], 0
je 0x58d4c4
jmp 0x58ccc1
jmp 0x58cd27
push 0x93e6654
lea ecx, [ebp - 0xa8]
call 0x594970
push 0
push 0
mov byte [ebp - 4], 0x36
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
test eax, eax
jne 0x58cf42
cmp word [ebp - 0x168], 8
jne 0x58cf42
jmp 0x58cdd5
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x37
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
jmp 0x58ce6f
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x38
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
jmp 0x58cf09
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x39
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
mov eax, esi
push eax
call edi
jmp 0x58cfa8
push 0x393b3610
lea ecx, [ebp - 0x1a0]
call fcn.00594a00
push 0
push 0
mov byte [ebp - 4], 0x3a
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
jmp 0x58d040
test eax, eax
jne 0x58d1f5
cmp word [ebp - 0x168], 8
jne 0x58d1f5
jmp 0x58d0bc
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x3b
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
jmp 0x58d156
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x3c
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
jmp 0x58d1f0
mov eax, esi
push eax
call edi
jmp 0x58d25b
push 0x4cb84870
lea ecx, [ebp - 0x1a0]
call 0x594a50
push 0
push 0
mov byte [ebp - 4], 0x3d
lea esi, [ebp - 0x168]
mov ecx, dword [ebp - 0x14c]
push esi
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x10]
mov byte [ebp - 4], 3
jmp 0x58d2f3
test eax, eax
jne 0x58d442
cmp word [ebp - 0x168], 8
jne 0x58d442
jmp 0x58d36f
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x3e
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
jmp 0x58d409
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x19c]
call fcn.0058a440
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x3f
call fcn.00592de0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 3
call fcn.00583500
mov eax, esi
push eax
call edi
jmp 0x58d4a8
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x150]
test ecx, ecx
jne 0x58cbd0
jmp 0x58d4ca
mov ecx, dword [ebp - 0x150]
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ebx, dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x58d53c
mov esi, 0x68c0c0
lea ecx, [ebp - 0x184]
sub esi, 0x99cc67
push esi
call fcn.00594300
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x40
call fcn.005834a0
mov byte [ebp - 4], 0x42
xorps xmm0, xmm0
cmp dword [ebp - 0xe4], 0
movq qword [ebp - 0x184], xmm0
jbe 0x58d5b1
sub esp, 0x18
lea eax, [ebp - 0xf4]
mov ecx, esp
push eax
call fcn.005888a0
lea ecx, [ebp - 0x19c]
call fcn.00595610
add esp, 0x18
lea ecx, [ebp - 0x118]
push eax
call fcn.00592a80
lea ecx, [ebp - 0x19c]
call fcn.00583500
jmp 0x58d617
push esi
lea ecx, [ebp - 0x184]
call fcn.00594300
push eax
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0x43
call fcn.005834a0
mov byte [ebp - 4], 0x45
xorps xmm0, xmm0
cmp dword [ebp - 0xb4], 0
movq qword [ebp - 0x184], xmm0
jbe 0x58d681
sub esp, 0x18
lea eax, [ebp - 0xc4]
mov ecx, esp
push eax
call fcn.005888a0
lea ecx, [ebp - 0x19c]
call fcn.00595610
add esp, 0x18
lea ecx, [ebp - 0x130]
push eax
call fcn.00592a80
lea ecx, [ebp - 0x19c]
call fcn.00583500
jmp 0x58d6e7
jmp 0x58d74d
jmp 0x58d7b3
jmp 0x58d819
jmp 0x58d87f
push esi
lea ecx, [ebp - 0x184]
call fcn.00594300
push eax
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0x46
call fcn.005834a0
mov byte [ebp - 4], 0x48
xorps xmm0, xmm0
cmp dword [ebp - 0xcc], 0
movq qword [ebp - 0x184], xmm0
jbe 0x58d8e9
sub esp, 0x18
lea eax, [ebp - 0xdc]
mov ecx, esp
push eax
call fcn.005888a0
lea ecx, [ebp - 0x19c]
call fcn.00595610
add esp, 0x18
lea ecx, [ebp - 0x148]
push eax
call fcn.00592a80
lea ecx, [ebp - 0x19c]
call fcn.00583500
jmp 0x58d94f
push 0x41
push 0
push 0x88586c
call fcn.005bfb60
add esp, 0xc
jmp 0x58d9c6
push 0x41
push 0
push 0x8858ad
call fcn.005bfb60
add esp, 0xc
jmp 0x58da3d
push 0x41
push 0
push 0x8858ee
call fcn.005bfb60
add esp, 0xc
jmp 0x58dab4
cmp dword [ebp - 0x104], 0x10
lea eax, [ebp - 0x118]
push dword [ebp - 0x108]
cmovae eax, dword [ebp - 0x118]
push eax
push 0x88586c
call fcn.005bfbf0
add esp, 0xc
jmp 0x58db42
cmp dword [ebp - 0x11c], 0x10
lea eax, [ebp - 0x130]
push dword [ebp - 0x120]
cmovae eax, dword [ebp - 0x130]
push eax
push 0x8858ad
call fcn.005bfbf0
add esp, 0xc
jmp 0x58dbd0
cmp dword [ebp - 0x134], 0x10
lea eax, [ebp - 0x148]
push dword [ebp - 0x138]
cmovae eax, dword [ebp - 0x148]
push eax
push 0x8858ee
call fcn.005bfbf0
add esp, 0xc
jmp 0x58dc5e
mov eax, dword [ebp - 0x154]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x58dcd0
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
jmp 0x58dd42
call ebx
jmp 0x58ddaa
lea ecx, [ebp - 0x148]
call fcn.00583500
lea ecx, [ebp - 0x130]
call fcn.00583500
lea ecx, [ebp - 0x118]
call fcn.00583500
cmp dword [ebp - 0xc8], 0x10
jb 0x58dde2
push dword [ebp - 0xdc]
call fcn.00598e00
add esp, 4
cmp dword [ebp - 0xb0], 0x10
jb 0x58ddf9
push dword [ebp - 0xc4]
call fcn.00598e00
add esp, 4
cmp dword [ebp - 0xe0], 0x10
jb 0x58de10
push dword [ebp - 0xf4]
call fcn.00598e00
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005bba53
mov esp, ebp
pop ebp
ret