Function at 0x401a00
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, 0xfffffff0
sub esp, 0xb0
mov esi, esp
mov dword [esi + 0x98], ebp
mov dword [esi + 0x9c], esp
mov dword [esi + 0xa8], 0xffffffff
lea eax, [esi + 0xa0]
mov dword [esi + 0xa4], 0x404c80
mov ecx, dword fs:[0]
mov dword [esi + 0xa0], ecx
mov dword fs:[0], eax
cmp dword [0x42c260], 0xa
jl 0x401a67
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x401b19
push eax
sub esp, 0x3fc
mov dword [esi + 0x84], esp
push eax
mov ebx, esp
push eax
mov dword [esi + 0x18], esp
push eax
mov dword [esi + 4], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x10], eax
mov esp, eax
push eax
mov dword [esi + 0x3c], esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x38], eax
mov esp, eax
push eax
mov dword [esi + 0x14], esp
push eax
mov dword [esi + 8], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x88], eax
mov esp, eax
push eax
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x48], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x34], eax
mov esp, eax
push eax
sub esp, 0x80
mov dword [esi + 0x20], esp
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebx], 0
mov dword [esi + 0x24], ebx
push ebx
push 0x42a728
push 1
push 0
push 0x42a738
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp dword [0x42c260], 0xa
jl 0x401b44
mov ecx, dword [0x42c264]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x401b44
push eax
mov edi, esp
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [edi], 0
push edi
push 0x42a728
push 1
push 0
push 0x42a738
call dword [sym.imp.ole32.dll_CoCreateInstance]
jmp 0x401a67
lea ebx, [ebp + 8]
lea ecx, [ebx + 4]
mov dword [esi + 0x30], ecx
lea ecx, [ebx + 0x1c]
mov dword [esi + 0x2c], ecx
test eax, eax
js 0x401ba2
mov dword [esi + 0xc], edi
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov eax, dword [esi + 0x24]
mov ebx, dword [eax]
mov eax, 0x3fdd9d55
mov ecx, 0x4662b953
cmp dword [0x42c268], 0xa
jl 0x401d6c
mov edx, dword [0x42c26c]
lea edi, [edx + 1]
imul edi, edx
and edi, 1
je 0x401d6c
nop word cs:[eax + eax]
jmp 0x401ba0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [0x42c264]
mov eax, dword [0x42c260]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
xor edi, edi
cmp eax, 0xa
jl 0x401c06
test ecx, ecx
je 0x401c06
nop word [eax + eax]
jmp 0x401bd0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0xf
mov byte [ebx + 4], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 7
mov word [ebx + 0x1c], 0
mov eax, dword [ebx + 0x18]
cmp eax, 0x10
jb 0x401c43
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x401c36
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x402c92
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.0040b3e7
add esp, 8
lea ebx, [ebp + 8]
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0xf
mov byte [ebx + 4], 0
mov eax, dword [ebx + 0x30]
cmp eax, 8
jb 0x401c98
mov ecx, dword [esi + 0x2c]
mov ecx, dword [ecx]
lea ebx, [eax*2 + 2]
cmp ebx, 0x1000
jb 0x401c8b
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x402c92
add eax, eax
add eax, 0x25
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.0040b3e7
add esp, 8
lea ebx, [ebp + 8]
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 7
mov word [ebx + 0x1c], 0
cmp dword [0x42c260], 0xa
jl 0x401e72
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x401e72
mov eax, dword [ebx + 0x18]
cmp eax, 0xf
jbe 0x401be0
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x401d01
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x402c92
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.0040b3e7
add esp, 8
lea ebx, [ebp + 8]
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0xf
mov byte [ebx + 4], 0
cmp eax, 8
jb 0x401bf2
mov ecx, dword [esi + 0x2c]
mov ecx, dword [ecx]
lea ebx, [eax*2 + 2]
cmp ebx, 0x1000
jb 0x401d5a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x402c92
add eax, eax
add eax, 0x25
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.0040b3e7
add esp, 8
lea ebx, [ebp + 8]
jmp 0x401bf2
mov dword [esi + 0x1c], ebx
mov ebx, dword [esi + 0x10]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov eax, 0x45641ea0
mov ecx, 0x74d01aac
mov dword [ebx + 0xc], ecx
mov dword [ebx + 8], eax
mov eax, 0x6f872e97
mov ecx, 0xd789ce92
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x10], eax
mov eax, 0x2612020e
mov ecx, 0x94b0b8d3
mov edx, 0x3f929d07
mov edi, 0x4636b91c
mov dword [esi + 0x40], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x44], edx
mov dword [esi + 0x50], edx
mov edx, 0x45271efc
mov edi, 0x749d1ae5
mov dword [esi + 0x7c], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x80], edx
mov dword [esi + 0x58], edx
mov edx, 0xd789ce92
mov edi, 0x6fb52ec1
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], edi
mov dword [ebx + 0x1c], ecx
mov dword [esi + 0x6c], ecx
mov dword [ebx + 0x18], eax
mov dword [esi + 0x68], eax
lea ecx, [esi + 0x50]
xor eax, eax
movaps xmm0, xmmword [ebx]
movaps xmm1, xmmword [ebx + 0x10]
xorps xmm0, xmmword [ecx]
movaps xmmword [ebx], xmm0
xorps xmm1, xmmword [ecx + 0x10]
movaps xmmword [ebx + 0x10], xmm1
mov dword [esi + 0xa8], 0
push 0xc
call fcn.0040b3b2
add esp, 4
mov edi, eax
mov dword [eax + 4], 0
mov dword [eax + 8], 1
push dword [esi + 0x10]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
mov dword [esi + 0x28], edi
je 0x402360
mov ecx, dword [esi + 4]
mov dword [ecx], edi
cmp dword [0x42c260], 0xa
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x1c]
jl 0x401e88
mov ecx, dword [0x42c264]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x401e88
nop word cs:[eax + eax]
jmp 0x401e70
mov eax, dword [esi + 0xa0]
mov dword fs:[0], eax
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0xc]
mov dword [esi + 0xa8], 8
sub esp, 0x24
mov dword [esp + 0x20], edi
xorps xmm0, xmm0
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
call ecx
mov edi, eax
cmp dword [0x42c260], 0xa
mov ebx, dword [esi + 0x28]
jl 0x401ee2
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x401ee2
nop dword [eax]
jmp 0x401ee0
mov edx, dword [esi + 4]
jmp 0x401f04
push ebx
call fcn.0040b3e2
add esp, 4
mov edx, dword [esi + 4]
mov dword [edx], 0
mov ebx, dword [edx]
test ebx, ebx
je 0x401f43
lock dec dword [ebx + 8]
jne 0x401f3d
mov eax, dword [ebx]
test eax, eax
je 0x401f21
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x401f31
push eax
call fcn.0040b418
add esp, 4
push ebx
call fcn.0040b3e2
add esp, 4
mov edx, dword [esi + 4]
mov dword [edx], 0
cmp dword [0x42c260], 0xa
jl 0x401f94
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x401f94
mov ebx, dword [edx]
test ebx, ebx
je 0x401f02
lock dec dword [ebx + 8]
jne 0x401efc
mov eax, dword [ebx]
test eax, eax
je 0x401f7b
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x401ef0
push eax
call fcn.0040b418
add esp, 4
jmp 0x401ef0
test edi, edi
js 0x40212b
movaps xmm0, xmmword [0x40d4e0]
mov edi, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov ebx, dword [esi + 0x18]
nop dword [eax]
mov eax, dword [ebx]
sub esp, 0x20
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
call edi
cmp dword [0x42c260], 0xa
jl 0x40202b
mov ecx, dword [0x42c264]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x40202b
mov ebx, dword [esi + 0x18]
mov eax, dword [ebx]
sub esp, 0x20
movaps xmm0, xmmword [0x40d4e0]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
call edi
movaps xmm0, xmmword [0x40d4e0]
jmp 0x401fb0
test eax, eax
js 0x40216b
mov eax, 0x7aded854
mov ecx, 0x6c16ed5f
mov edx, dword [esi + 0x38]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov eax, 0xa7558dc
mov ecx, 0x749d3aa8
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
xor eax, eax
lea ecx, [esi + 0x50]
mov eax, dword [esi + 0x3c]
mov dword [eax], 0
mov eax, dword [esi + 0x40]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x58], eax
movaps xmm0, xmmword [edx]
xorps xmm0, xmmword [ecx]
movaps xmmword [edx], xmm0
push edx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea ebx, [ebp + 8]
mov edx, dword [ebx + 0x14]
mov ecx, edx
xor ecx, 0x7fffffff
cmp ecx, eax
jb 0x402374
mov edi, dword [ebx + 4]
mov ecx, dword [ebx + 0x18]
mov dword [esi + 0x8c], ecx
xorps xmm0, xmm0
mov ebx, dword [esi + 0xc]
movups xmmword [ebx], xmm0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov dword [esi + 0x28], edx
lea ecx, [edx + eax]
mov edx, 0xf
mov dword [esi + 4], ebx
cmp ecx, 0x10
mov dword [esi + 0x1c], ecx
jb 0x402285
test ecx, ecx
mov dword [esi + 0x78], eax
mov dword [esi + 0x10], edi
js 0x402248
or ecx, 0xf
cmp ecx, 0x17
mov edx, 0x16
cmovae edx, ecx
mov dword [esi + 0xa8], 0
cmp edx, 0xfff
jae 0x40224d
mov dword [esi + 0x74], edx
lea eax, [edx + 1]
push eax
call fcn.0040b3b2
add esp, 4
mov edx, eax
jmp 0x402271
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esi + 0xa8], 0
push eax
call ecx
cmp dword [0x42c260], 0xa
lea ebx, [ebp + 8]
jl 0x402383
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4023a8
jmp 0x402383
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esi + 0xa8], 0
push eax
call ecx
cmp dword [0x42c260], 0xa
jl 0x4021a2
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x4021a2
nop dword [eax + eax]
jmp 0x4021a0
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [0x42c260], 0xa
jl 0x4021e9
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x4021e9
mov edi, dword [sym.imp.ole32.dll_CoUninitialize]
call edi
call edi
cmp dword [0x42c260], 0xa
jl 0x4021e9
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4021cc
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [0x42c264]
mov eax, dword [0x42c260]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
xor edi, edi
cmp eax, 0xa
lea ebx, [ebp + 8]
jl 0x4023b0
test ecx, ecx
je 0x4023b0
mov ebx, dword [sym.imp.ole32.dll_CoUninitialize]
call ebx
call ebx
mov edx, dword [0x42c264]
mov eax, dword [0x42c260]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x402240
test ecx, ecx
jne 0x40221f
lea ebx, [ebp + 8]
jmp 0x4023b0
mov edx, SysReAllocString
mov dword [esi + 0x74], edx
lea eax, [edx + 0x24]
mov dword [esi + 0xa8], 0
push eax
call fcn.0040b3b2
add esp, 4
mov edx, eax
add edx, 0x23
and edx, 0xffffffe0
mov dword [edx - 4], eax
mov eax, dword [esi + 0x78]
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 4], edx
mov ebx, dword [esi + 0xc]
mov dword [ebx], edx
mov edx, dword [esi + 0x74]
cmp dword [esi + 0x8c], 0x10
cmovb edi, dword [esi + 0x30]
mov dword [esi + 0x10], edi
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], edx
push eax
push dword [esi + 0x38]
push dword [esi + 4]
mov edi, eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esi + 4]
push dword [esi + 0x28]
push dword [esi + 0x10]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x1c]
mov byte [eax + ecx], 0
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x38], eax
mov eax, dword [ebx]
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x10], eax
mov dword [esi + 0xa8], 2
push 0xc
call fcn.0040b3b2
add esp, 4
cmp dword [esi + 0x10], 0x10
mov ecx, dword [esi + 0xc]
cmovae ecx, dword [esi + 4]
mov dword [eax + 4], 0
mov dword [esi + 4], eax
mov dword [eax + 8], 1
mov dword [esi + 0xa8], 3
push ecx
call fcn.0040b710
mov edx, dword [0x42c264]
lea ecx, [edx + 1]
imul ecx, edx
mov dword [esi + 0x10], eax
mov edx, dword [esi + 4]
mov dword [edx], eax
test cl, 1
sete cl
cmp dword [0x42c260], 0xa
mov eax, dword [esi + 0x14]
mov dword [eax], edx
setl al
or al, cl
mov byte [esi + 4], al
cmp al, 1
mov edi, dword [esi + 0x88]
mov ebx, dword [esi + 0x80]
mov eax, dword [esi + 0x7c]
jne 0x40240d
jmp 0x4023d2
mov dword [esi + 0xa8], 1
push 0x8007000e
call fcn.0040b8a0
mov dword [esi + 0xa8], 0
call fcn.00404680
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [0x42c264]
mov eax, dword [0x42c260]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
xor edi, edi
cmp eax, 0xa
jl 0x4023b0
test ecx, ecx
je 0x4023b0
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x402383
cmp eax, 0xa
jl 0x401bbe
test ecx, ecx
je 0x401bbe
nop word cs:[eax + eax]
jmp 0x4023d0
mov ecx, 0x3fdecc50
mov edx, 0x4636b91c
mov dword [edi + 4], edx
mov dword [edi], ecx
xor ecx, ecx
lea edx, [esi + 0x50]
mov dword [edi + 8], ebx
mov dword [edi + 0xc], eax
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x54], ecx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ebx
movaps xmm0, xmmword [edi]
xorps xmm0, xmmword [edx]
movaps xmmword [edi], xmm0
cmp byte [esi + 4], 0
jne 0x402444
mov ecx, 0x3fdecc50
mov edx, 0x4636b91c
mov dword [edi + 4], edx
mov dword [edi], ecx
xor ecx, ecx
lea edx, [esi + 0x50]
mov dword [edi + 8], ebx
mov dword [edi + 0xc], eax
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x54], ecx
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x50], ecx
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ebx
movaps xmm0, xmmword [edi]
xorps xmm0, xmmword [edx]
movaps xmmword [edi], xmm0
jmp 0x4023d2
mov dword [esi + 0xa8], 5
push 0xc
call fcn.0040b3b2
add esp, 4
mov dword [eax + 4], 0
mov dword [eax + 8], 1
mov dword [esi + 0xa8], 6
push dword [esi + 0x88]
mov dword [esi + 4], eax
call fcn.0040b710
mov edx, dword [esi + 4]
mov dword [edx], eax
mov ecx, dword [esi + 8]
mov dword [ecx], edx
cmp dword [0x42c260], 0xa
jl 0x4024b2
mov ecx, dword [0x42c264]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x4024b2
nop word cs:[eax + eax]
jmp 0x4024b0
mov edx, dword [esi + 0x38]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x50]
mov dword [esi + 0xa8], 7
push dword [esi + 0x3c]
push 0
push 0x30
push dword [esi + 0x10]
push eax
push edx
call ecx
mov edi, eax
cmp dword [0x42c260], 0xa
jl 0x402502
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 4]
je 0x402515
nop word cs:[eax + eax]
jmp 0x402500
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 4]
jmp 0x402515
mov eax, dword [esi + 8]
mov ebx, dword [eax]
test ebx, ebx
je 0x402557
lock dec dword [ebx + 8]
jne 0x40254e
mov eax, dword [ebx]
test eax, eax
je 0x402532
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x402542
push eax
call fcn.0040b418
add esp, 4
push ebx
call fcn.0040b3e2
add esp, 4
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov dword [eax], 0
mov ebx, dword [edx]
test ebx, ebx
je 0x402598
lock dec dword [ebx + 8]
jne 0x402592
mov eax, dword [ebx]
test eax, eax
je 0x402576
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x402586
push eax
call fcn.0040b418
add esp, 4
push ebx
call fcn.0040b3e2
add esp, 4
mov edx, dword [esi + 0x14]
mov dword [edx], 0
mov ecx, dword [0x42c264]
mov eax, dword [0x42c260]
cmp eax, 0xa
jl 0x4026f6
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x4026f6
mov edx, dword [esi + 0x14]
nop
mov eax, dword [esi + 8]
mov ebx, dword [eax]
test ebx, ebx
je 0x402607
lock dec dword [ebx + 8]
jne 0x4025fe
mov eax, dword [ebx]
test eax, eax
je 0x4025e2
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x4025f2
push eax
call fcn.0040b418
add esp, 4
push ebx
call fcn.0040b3e2
add esp, 4
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov dword [eax], 0
mov ebx, dword [edx]
test ebx, ebx
je 0x402648
lock dec dword [ebx + 8]
jne 0x402642
mov eax, dword [ebx]
test eax, eax
je 0x402626
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x402636
push eax
call fcn.0040b418
add esp, 4
push ebx
call fcn.0040b3e2
add esp, 4
mov edx, dword [esi + 0x14]
mov dword [edx], 0
mov eax, dword [esi + 8]
mov ebx, dword [eax]
test ebx, ebx
je 0x40268f
lock dec dword [ebx + 8]
jne 0x402686
mov eax, dword [ebx]
test eax, eax
je 0x40266a
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x40267a
push eax
call fcn.0040b418
add esp, 4
push ebx
call fcn.0040b3e2
add esp, 4
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 8]
mov dword [eax], 0
mov ebx, dword [edx]
test ebx, ebx
je 0x4026d0
lock dec dword [ebx + 8]
jne 0x4026ca
mov eax, dword [ebx]
test eax, eax
je 0x4026ae
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebx], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x4026be
push eax
call fcn.0040b418
add esp, 4
push ebx
call fcn.0040b3e2
add esp, 4
mov edx, dword [esi + 0x14]
mov dword [edx], 0
cmp dword [0x42c260], 0xa
jl 0x402510
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4025c0
jmp 0x402510
test edi, edi
mov ebx, dword [esi + 0x18]
js 0x402a62
mov edx, dword [esi + 0x4c]
mov dword [edx], 0
mov edx, dword [esi + 0x20]
add edx, 4
mov dword [esi + 8], edx
jmp 0x40271d
test edi, edi
jne 0x402ac2
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x402733
test edx, edx
jne 0x402a10
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x402ac7
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
mov dword [esi + 0xa8], 2
push dword [esi + 0x4c]
push dword [esi + 0x48]
push 1
push 0xffffffffffffffff
push ecx
call eax
mov ecx, dword [0x42c264]
mov eax, dword [0x42c260]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
cmp eax, 0xa
jl 0x40277d
test edx, edx
jne 0x402a20
mov edi, dword [esi + 0x4c]
cmp dword [edi], 0
je 0x40281e
mov edi, dword [esi + 0x34]
push edi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp + 8]
cmp dword [ecx + 0x30], 8
mov eax, dword [esi + 0x2c]
jb 0x4027a2
mov eax, dword [ecx + 0x1c]
mov ecx, dword [esi + 0x48]
mov ecx, dword [ecx]
mov edx, dword [ecx]
push 0
push 0
push edi
push 0
push eax
push ecx
call dword [edx + 0x10]
mov edx, dword [0x42c264]
mov ecx, dword [0x42c260]
test eax, eax
js 0x402828
cmp ecx, 0xa
mov edi, dword [esi + 0x34]
mov ecx, dword [esi + 0x20]
jl 0x4027df
lea eax, [edx + 1]
imul eax, edx
and eax, 1
jne 0x402a50
mov eax, dword [edi + 8]
mov edx, dword [esi + 8]
mov dword [ecx], edx
push 3
push eax
call fcn.004049b0
cmp dword [0x42c260], 0xa
mov edi, dword [esi + 0x84]
mov ebx, dword [esi + 0x20]
jl 0x4028f6
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x402920
jmp 0x4028f6
mov edi, 3
jmp 0x4028dd
lea eax, [edx + 1]
imul eax, edx
and eax, 1
mov edi, dword [esi + 0x34]
cmp ecx, 0xa
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
jl 0x402883
test eax, eax
je 0x402883
nop word cs:[eax + eax]
push edi
call ebx
push edi
call ebx
cmp dword [0x42c260], 0xa
jl 0x402883
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x402850
jmp 0x402883
push edi
call ebx
push edi
call ebx
cmp dword [0x42c260], 0xa
jl 0x40289f
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x402880
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esi + 0xa8], 2
push eax
call ecx
mov ecx, dword [0x42c264]
mov eax, dword [0x42c260]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
xor edi, edi
cmp eax, 0xa
jl 0x4028dd
test edx, edx
mov ebx, dword [esi + 0x18]
je 0x4028e0
jmp 0x402a40
mov ebx, dword [esi + 0x18]
cmp eax, 0xa
jl 0x402715
test edx, edx
je 0x402715
jmp 0x402a30
push dword [ebx]
push 0xc8
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
add esp, 0xc
cmp dword [0x42c260], 0xa
jl 0x402933
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x402933
push dword [ebx]
push 0xc8
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
add esp, 0xc
jmp 0x4028f6
lea eax, [ebp + 8]
mov ebx, dword [eax]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, edi
mov edi, eax
mov eax, dword [ebx + 0x14]
cmp eax, edi
jae 0x402971
mov dword [esi + 0xa8], 4
sub esp, 0xc
movzx eax, byte [esi + 0x50]
mov byte [esp + 4], al
mov dword [esp + 8], ecx
mov dword [esp], edi
mov ecx, ebx
call fcn.00404800
jmp 0x402993
mov ecx, ebx
cmp eax, 0x10
jb 0x40297a
mov ecx, dword [ebx]
mov dword [ebx + 0x10], edi
push edi
push dword [esi + 0x84]
push ecx
mov ebx, ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [ebx + edi], 0
cmp dword [0x42c260], 0xa
mov edi, dword [esi + 0x34]
mov ebx, dword [esi + 0x20]
jl 0x4029c0
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x402a60
nop word cs:[eax + eax]
mov eax, dword [ebx]
cmp eax, dword [esi + 8]
je 0x4029d1
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov edx, dword [0x42c264]
mov ecx, dword [0x42c260]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x402834
test eax, eax
je 0x402834
mov eax, dword [ebx]
cmp eax, dword [esi + 8]
je 0x4029c0
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x4029c0
jmp 0x402a10
jmp 0x402a20
jmp 0x402a30
jmp 0x402a40
jmp 0x402a50
jmp 0x402a60
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esi + 0xa8], 2
push eax
call ecx
cmp dword [0x42c260], 0xa
jl 0x402a92
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x402a92
nop
jmp 0x402a90
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [0x42c260], 0xa
jl 0x402af2
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x402af2
nop word cs:[eax + eax]
jmp 0x402ac0
cmp edi, 3
jne 0x402af0
cmp eax, 0xa
jl 0x402c98
test edx, edx
je 0x402c98
nop dword [eax + eax]
jmp 0x402ae0
jmp 0x402af0
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [0x42c264]
mov ecx, dword [0x42c260]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
xor edi, edi
cmp ecx, 0xa
jl 0x402b40
test eax, eax
je 0x402b40
mov ebx, dword [sym.imp.ole32.dll_CoUninitialize]
call ebx
call ebx
mov edx, dword [0x42c264]
mov ecx, dword [0x42c260]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x402b40
test eax, eax
jne 0x402b1e
lea ebx, [ebp + 8]
cmp ecx, 0xa
jl 0x402c04
test eax, eax
je 0x402c04
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x402b94
mov ecx, dword [ecx]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x402b84
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x402c92
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.0040b3e7
add esp, 8
lea ebx, [ebp + 8]
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x402bd1
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x402bc4
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x402c92
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.0040b3e7
add esp, 8
lea ebx, [ebp + 8]
cmp dword [0x42c260], 0xa
jl 0x402c04
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x402b54
jmp 0x402c04
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.0040b3e7
add esp, 8
lea ebx, [ebp + 8]
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x402c40
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x402c33
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x402c92
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.0040b3e7
add esp, 8
lea ebx, [ebp + 8]
mov edx, dword [0x42c264]
mov eax, dword [0x42c260]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
cmp eax, 0xa
jl 0x4023b0
test ecx, ecx
je 0x4023b0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x14]
cmp eax, 0x10
jb 0x402c07
mov ecx, dword [ecx]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x402bf7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x402bf0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esi + 0xa8], 2
push eax
call ecx
cmp dword [0x42c260], 0xa
jl 0x402cd2
mov eax, dword [0x42c264]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x402cd2
nop word cs:[eax + eax]
jmp 0x402cd0
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [0x42c264]
mov ecx, dword [0x42c260]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x402d26
test eax, eax
lea ebx, [ebp + 8]
je 0x402d29
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [0x42c264]
mov ecx, dword [0x42c260]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
jmp 0x402d29
lea ebx, [ebp + 8]
cmp ecx, 0xa
jl 0x402d34
test eax, eax
jne 0x402d65
jmp 0x402d34
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [0x42c264]
mov ecx, dword [0x42c260]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
mov edi, 1
cmp ecx, 0xa
jl 0x402b43
test eax, eax
je 0x402b43
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x402d34