Function at 0x4b3ac0
Capabilities:
Connect to wmi namespace via wbemlocator
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3e4
mov eax, dword [0x5322a8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x3cc]
push eax
push 0x502118
mov edi, 1
push edi
xor esi, esi
push esi
push 0x5021e8
mov ebx, ecx
mov dword [ebp - 0x3cc], esi
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x4b3b93
mov eax, dword [ebp - 0x3cc]
lea edx, [ebp - 0x3c8]
push edx
push esi
push esi
push esi
push esi
push esi
push esi
mov dword [ebp - 0x3c8], esi
mov ecx, dword [eax]
push 0x52619c
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
js 0x4b3b85
mov eax, dword [ebp - 0x3c8]
push esi
push esi
push 3
push 3
push esi
push esi
push 0xa
push eax
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
mov eax, dword [ebp - 0x3c8]
js 0x4b3b7d
lea edx, [ebp - 0x3dc]
push edx
push esi
push 0x30
push str.SELECT__FROM_Win32_ComputerSystem
mov dword [ebp - 0x3dc], esi
mov ecx, dword [eax]
push 0x526208
push eax
mov eax, dword [ecx + 0x50]
call eax
test eax, eax
jns 0x4b3bac
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x3cc]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e3946
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x3c4], esi
cmp eax, esi
je 0x4b4161
mov ecx, dword [eax]
lea edx, [ebp - 0x3c4]
push edx
lea edx, [ebp - 0x3ac]
push edx
push edi
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp dword [ebp - 0x3c4], esi
jne 0x4b3d0d
lea eax, [ebx - 2]
jmp 0x4b3bf0
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b3bf0
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b3c20
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b3c20
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b3c50
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b3c50
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b3c80
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b3c80
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b3cb0
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b3cb0
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b3ce0
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b3ce0
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
jmp 0x4b415b
push 0x7e
lea ecx, [ebp - 0x1a6]
xor eax, eax
push esi
push ecx
mov word [ebp - 0x1a8], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push esi
push esi
lea ecx, [ebp - 0x3c0]
push ecx
push esi
push str.Name
push eax
call edx
test eax, eax
jne 0x4b3d7c
cmp word [ebp - 0x3c0], di
je 0x4b3d7c
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0x1a8]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b3d60
lea eax, [ebp - 0x3c0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x7e
lea edx, [ebp - 0xa6]
xor ecx, ecx
push esi
push edx
mov word [ebp - 0xa8], cx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push str.Domain
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b3dec
cmp word [ebp - 0x3c0], di
je 0x4b3dec
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0xa8]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b3dd0
lea ecx, [ebp - 0x3c0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0xfe
lea eax, [ebp - 0x3a6]
xor edx, edx
push esi
push eax
mov word [ebp - 0x3a8], dx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push 0x51d784
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b3e5e
cmp word [ebp - 0x3c0], di
je 0x4b3e5e
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0x3a8]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b3e42
lea ecx, [ebp - 0x3c0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push esi
xor edx, edx
xor eax, eax
push esi
mov word [ebp - 0x24], dx
lea edx, [ebp - 0x3c0]
push edx
mov dword [ebp - 0x22], eax
mov dword [ebp - 0x1e], eax
mov dword [ebp - 0x1a], eax
mov word [ebp - 0x16], ax
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
push esi
push str.NumberOfProcessors
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b3ec0
cmp word [ebp - 0x3c0], di
je 0x4b3ec0
movsx edx, word [ebp - 0x3b8]
push 0xa
lea ecx, [ebp - 0x24]
push ecx
push edx
call fcn.004e45ff
add esp, 0xc
lea eax, [ebp - 0x3c0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push esi
xor ecx, ecx
xor eax, eax
push esi
mov word [ebp - 0x14], cx
lea ecx, [ebp - 0x3c0]
push ecx
mov dword [ebp - 0x12], eax
mov dword [ebp - 0xe], eax
mov dword [ebp - 0xa], eax
mov word [ebp - 6], ax
mov eax, dword [ebp - 0x3ac]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
push esi
push str.NumberOfLogicalProcessors
push eax
call edx
test eax, eax
jne 0x4b3f22
cmp word [ebp - 0x3c0], di
je 0x4b3f22
movsx ecx, word [ebp - 0x3b8]
push 0xa
lea eax, [ebp - 0x14]
push eax
push ecx
call fcn.004e45ff
add esp, 0xc
lea edx, [ebp - 0x3c0]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x7e
lea ecx, [ebp - 0x126]
xor eax, eax
push esi
push ecx
mov word [ebp - 0x128], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push esi
push esi
lea ecx, [ebp - 0x3c0]
push ecx
push esi
push str.TotalPhysicalMemory
push eax
call edx
test eax, eax
jne 0x4b3f91
cmp word [ebp - 0x3c0], di
je 0x4b3f91
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0x128]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b3f75
lea eax, [ebp - 0x3c0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x1a8]
mov edx, ebx
mov ecx, eax
sub edx, ecx
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b3fa0
lea edi, [ebx - 2]
mov ax, word [edi + 2]
add edi, 2
cmp ax, si
jne 0x4b3fb2
mov edx, dword [0x51d454]
lea eax, [ebp - 0xa8]
mov dword [edi], edx
mov edx, eax
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4b3fd0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
cmp cx, si
jne 0x4b3fe0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4000
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x3a8]
mov edx, eax
jmp 0x4b4020
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b4020
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b4030
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4050
mov ecx, dword [0x51d454]
lea eax, [ebp - 0x128]
mov dword [edi], ecx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b4070
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b4080
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b40a0
mov edx, dword [0x51d454]
lea eax, [ebp - 0x24]
mov dword [edi], edx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b40c0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b40d0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b40f0
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x14]
mov edx, eax
jmp 0x4b4110
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b4110
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b4120
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4140
mov ecx, dword [0x51d454]
mov dword [edi], ecx
mov edi, 1
xor esi, esi
mov eax, dword [ebp - 0x3dc]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x3c8]
lea edx, [ebp - 0x3d8]
push edx
push esi
push 0x30
push str.SELECT__FROM_Win32_Processor
mov dword [ebp - 0x3d8], esi
mov ecx, dword [eax]
push 0x526208
push eax
mov eax, dword [ecx + 0x50]
call eax
test eax, eax
jns 0x4b41fb
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x3cc]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
lea eax, [ebx - 2]
lea ebx, [ebx]
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b41c0
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e3946
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x3c4], esi
cmp eax, esi
je 0x4b4331
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
lea ecx, [ebp - 0x3c4]
push ecx
lea ecx, [ebp - 0x3ac]
push ecx
push edi
push 0xffffffffffffffff
push eax
call edx
cmp dword [ebp - 0x3c4], esi
jne 0x4b4260
lea eax, [ebx - 2]
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4233
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
jmp 0x4b432b
push 0x7e
lea eax, [ebp - 0xa6]
xor edx, edx
push esi
push eax
mov word [ebp - 0xa8], dx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push str.ProcessorID
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b42cf
cmp word [ebp - 0x3c0], di
je 0x4b42cf
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0xa8]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b42b3
lea ecx, [ebp - 0x3c0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0xa8]
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4b42d7
sub eax, edx
lea edi, [ebx - 2]
jmp 0x4b42f0
mov cx, word [edi + 2]
add edi, 2
cmp cx, si
jne 0x4b42f0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4310
mov edx, dword [0x51d454]
mov dword [edi], edx
mov edi, 1
xor esi, esi
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x3c8]
lea edx, [ebp - 0x3e0]
push edx
push esi
push 0x30
push str.SELECT__FROM_Win32_BIOS
mov dword [ebp - 0x3e0], esi
mov ecx, dword [eax]
push 0x526208
push eax
mov eax, dword [ecx + 0x50]
call eax
test eax, eax
jns 0x4b445b
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x3cc]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
lea eax, [ebx - 2]
mov edi, edi
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4390
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b43c0
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b43c0
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b43f0
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b43f0
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b4420
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4420
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e3946
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x3c4], esi
cmp eax, esi
je 0x4b4861
mov ecx, dword [eax]
lea edx, [ebp - 0x3c4]
push edx
lea edx, [ebp - 0x3ac]
push edx
push edi
push 0xffffffffffffffff
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp dword [ebp - 0x3c4], esi
jne 0x4b455d
lea eax, [ebx - 2]
jmp 0x4b44a0
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b44a0
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b44d0
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b44d0
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b4500
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4500
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b4530
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4530
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
jmp 0x4b485b
push 0xfe
lea ecx, [ebp - 0x3a6]
xor eax, eax
push esi
push ecx
mov word [ebp - 0x3a8], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push esi
push esi
lea ecx, [ebp - 0x3c0]
push ecx
push esi
push str.Name
push eax
call edx
test eax, eax
jne 0x4b45cf
cmp word [ebp - 0x3c0], di
je 0x4b45cf
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0x3a8]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b45b3
lea eax, [ebp - 0x3c0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x7e
lea edx, [ebp - 0xa6]
xor ecx, ecx
push esi
push edx
mov word [ebp - 0xa8], cx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push str.Manufacturer
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b463e
cmp word [ebp - 0x3c0], di
je 0x4b463e
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0xa8]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b4622
lea ecx, [ebp - 0x3c0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x3e
lea eax, [ebp - 0x166]
xor edx, edx
push esi
push eax
mov word [ebp - 0x168], dx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push str.ReleaseDate
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b46a8
cmp word [ebp - 0x3c0], di
je 0x4b46a8
mov ecx, dword [ebp - 0x3b8]
push 0xe
push ecx
lea edx, [ebp - 0x168]
push edx
call fcn.004e4726
add esp, 0xc
lea eax, [ebp - 0x3c0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x7e
lea edx, [ebp - 0x126]
xor ecx, ecx
push esi
push edx
mov word [ebp - 0x128], cx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push str.SoftwareElementID
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b471c
cmp word [ebp - 0x3c0], di
je 0x4b471c
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0x128]
sub edx, eax
jmp 0x4b4700
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b4700
lea ecx, [ebp - 0x3c0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x3a8]
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4b4724
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
cmp cx, si
jne 0x4b4734
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4753
mov edx, dword [0x51d454]
lea eax, [ebp - 0xa8]
mov dword [edi], edx
mov edx, eax
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b4770
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b4780
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b47a0
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x168]
mov edx, eax
jmp 0x4b47c0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b47c0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b47d0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b47f0
mov ecx, dword [0x51d454]
lea eax, [ebp - 0x128]
mov dword [edi], ecx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b4810
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b4820
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4840
mov edx, dword [0x51d454]
mov dword [edi], edx
mov edi, 1
xor esi, esi
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x3c8]
lea edx, [ebp - 0x3d0]
push edx
push esi
push 0x30
push str.SELECT__FROM_Win32_ComputerSystemProduct
mov dword [ebp - 0x3d0], esi
mov ecx, dword [eax]
push 0x526208
push eax
mov eax, dword [ecx + 0x50]
call eax
test eax, eax
jns 0x4b4991
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x3cc]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
lea eax, [ebx - 2]
mov edi, edi
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b48c0
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b48f0
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b48f0
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b4920
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4920
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b4950
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4950
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b4980
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4980
jmp 0x4b41cc
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3c4], esi
cmp eax, esi
je 0x4b4e7b
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
lea ecx, [ebp - 0x3c4]
push ecx
lea ecx, [ebp - 0x3ac]
push ecx
push edi
push 0xffffffffffffffff
push eax
call edx
cmp dword [ebp - 0x3c4], esi
jne 0x4b4abd
lea eax, [ebx - 2]
lea ecx, [ecx]
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b49d0
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b4a00
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4a00
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b4a30
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4a30
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b4a60
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4a60
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b4a90
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4a90
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
jmp 0x4b4e75
push 0xfe
lea eax, [ebp - 0x226]
xor edx, edx
push esi
push eax
mov word [ebp - 0x228], dx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push str.Vendor
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b4b2f
cmp word [ebp - 0x3c0], di
je 0x4b4b2f
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0x228]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b4b13
lea ecx, [ebp - 0x3c0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x7e
lea eax, [ebp - 0xa6]
xor edx, edx
push esi
push eax
mov word [ebp - 0xa8], dx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push str.Name
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b4b9e
cmp word [ebp - 0x3c0], di
je 0x4b4b9e
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0xa8]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b4b82
lea ecx, [ebp - 0x3c0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x7e
lea eax, [ebp - 0x126]
xor edx, edx
push esi
push eax
mov word [ebp - 0x128], dx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push str.IdentifyingNumber
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b4c0d
cmp word [ebp - 0x3c0], di
je 0x4b4c0d
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0x128]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4b4bf1
lea ecx, [ebp - 0x3c0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x7e
lea eax, [ebp - 0x326]
xor edx, edx
push esi
push eax
mov word [ebp - 0x328], dx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push str.Version
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b4c7c
cmp word [ebp - 0x3c0], di
je 0x4b4c7c
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0x328]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, si
jne 0x4b4c60
lea ecx, [ebp - 0x3c0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0x7e
lea eax, [ebp - 0x2a6]
xor edx, edx
push esi
push eax
mov word [ebp - 0x2a8], dx
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [eax]
add esp, 0xc
push esi
push esi
lea edx, [ebp - 0x3c0]
push edx
push esi
push str.UUID
push eax
mov eax, dword [ecx + 0x10]
call eax
test eax, eax
jne 0x4b4cec
cmp word [ebp - 0x3c0], di
je 0x4b4cec
mov eax, dword [ebp - 0x3b8]
lea edx, [ebp - 0x2a8]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, si
jne 0x4b4cd0
lea ecx, [ebp - 0x3c0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x228]
mov edx, eax
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4b4cf4
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
cmp cx, si
jne 0x4b4d04
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4d23
mov edx, dword [0x51d454]
lea eax, [ebp - 0xa8]
mov dword [edi], edx
mov edx, eax
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b4d40
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b4d50
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4d70
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x128]
mov edx, eax
jmp 0x4b4d90
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b4d90
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b4da0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4dc0
mov ecx, dword [0x51d454]
lea eax, [ebp - 0x328]
mov dword [edi], ecx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b4de0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b4df0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4e10
mov edx, dword [0x51d454]
lea eax, [ebp - 0x2a8]
mov dword [edi], edx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b4e30
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b4e40
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b4e60
mov eax, dword [0x51d454]
mov dword [edi], eax
xor esi, esi
mov eax, dword [ebp - 0x3d0]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x3c8]
lea edx, [ebp - 0x3d4]
push edx
push esi
push 0x30
push str.SELECT__FROM_Win32_BaseBoard
mov dword [ebp - 0x3d4], esi
mov ecx, dword [eax]
push 0x526208
push eax
mov eax, dword [ecx + 0x50]
call eax
test eax, eax
jns 0x4b4fb1
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x3cc]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
lea eax, [ebx - 2]
jmp 0x4b4ee0
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4ee0
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b4f10
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4f10
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b4f40
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4f40
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b4f70
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4f70
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b4fa0
mov cx, word [eax + 2]
add eax, 2
cmp cx, si
jne 0x4b4fa0
jmp 0x4b41cc
mov ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x3c4], esi
cmp ecx, esi
je 0x4b553a
mov edx, dword [ecx]
lea eax, [ebp - 0x3c4]
push eax
lea eax, [ebp - 0x3ac]
push eax
mov edi, 1
push edi
push 0xffffffffffffffff
push ecx
mov ecx, dword [edx + 0x10]
call ecx
cmp dword [ebp - 0x3c4], 0
jne 0x4b50dd
lea eax, [ebx - 2]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4b4ff3
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
mov edi, edi
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4b5020
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b5050
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4b5050
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
lea eax, [ebx - 2]
jmp 0x4b5080
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4b5080
mov ecx, dword [str.____t]
mov dword [eax], ecx
mov edx, dword [0x526ddc]
mov dword [eax + 4], edx
mov cx, word [0x526de0]
mov word [eax + 8], cx
lea eax, [ebx - 2]
jmp 0x4b50b0
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4b50b0
mov edx, dword [str.____t]
mov dword [eax], edx
mov ecx, dword [0x526ddc]
mov dword [eax + 4], ecx
mov dx, word [0x526de0]
mov word [eax + 8], dx
jmp 0x4b5534
xor eax, eax
push 0x7e
push eax
lea ecx, [ebp - 0x1a6]
push ecx
mov word [ebp - 0x1a8], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x3c0]
push ecx
push 0
push str.Manufacturer
push eax
call edx
test eax, eax
jne 0x4b514e
cmp word [ebp - 0x3c0], di
je 0x4b514e
mov eax, dword [ebp - 0x3b8]
push 0x3f
push eax
lea ecx, [ebp - 0x1a8]
push ecx
call fcn.004e4726
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
add esp, 0xc
lea edx, [ebp - 0x3c0]
push edx
call esi
jmp 0x4b516d
xor eax, eax
movzx ecx, word [eax + 0x5206c4]
mov word [ebp + eax - 0x1a8], cx
add eax, 2
test cx, cx
jne 0x4b5150
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor eax, eax
push 0x7e
push eax
lea ecx, [ebp - 0x2a6]
push ecx
mov word [ebp - 0x2a8], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x3c0]
push ecx
push 0
push str.Product
push eax
call edx
test eax, eax
jne 0x4b51d8
cmp word [ebp - 0x3c0], di
je 0x4b51d8
mov eax, dword [ebp - 0x3b8]
push 0x3f
push eax
lea ecx, [ebp - 0x2a8]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x3c0]
push edx
call esi
jmp 0x4b51f7
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [eax + 0x5206c4]
mov word [ebp + eax - 0x2a8], cx
add eax, 2
test cx, cx
jne 0x4b51e0
xor eax, eax
push 0x7e
push eax
lea ecx, [ebp - 0x326]
push ecx
mov word [ebp - 0x328], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x3c0]
push ecx
push 0
push str.SerialNumber
push eax
call edx
test eax, eax
jne 0x4b5262
cmp word [ebp - 0x3c0], di
je 0x4b5262
mov eax, dword [ebp - 0x3b8]
push 0x3f
push eax
lea ecx, [ebp - 0x328]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x3c0]
push edx
call esi
jmp 0x4b5287
xor eax, eax
jmp 0x4b5270
movzx ecx, word [eax + 0x5206c4]
mov word [ebp + eax - 0x328], cx
add eax, 2
test cx, cx
jne 0x4b5270
xor eax, eax
push 0x7e
push eax
lea ecx, [ebp - 0x126]
push ecx
mov word [ebp - 0x128], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x3c0]
push ecx
push 0
push str.Version
push eax
call edx
test eax, eax
jne 0x4b52f2
cmp word [ebp - 0x3c0], di
je 0x4b52f2
mov eax, dword [ebp - 0x3b8]
push 0x3f
push eax
lea ecx, [ebp - 0x128]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x3c0]
push edx
call esi
jmp 0x4b5317
xor eax, eax
jmp 0x4b5300
movzx ecx, word [eax + 0x5206c4]
mov word [ebp + eax - 0x128], cx
add eax, 2
test cx, cx
jne 0x4b5300
xor eax, eax
push 0x7e
push eax
lea ecx, [ebp - 0xa6]
push ecx
mov word [ebp - 0xa8], ax
call fcn.004e7d90
mov eax, dword [ebp - 0x3ac]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
add esp, 0xc
push 0
push 0
lea ecx, [ebp - 0x3c0]
push ecx
push 0
push 0x527020
push eax
call edx
test eax, eax
jne 0x4b5382
cmp word [ebp - 0x3c0], di
je 0x4b5382
mov eax, dword [ebp - 0x3b8]
push 0x3f
push eax
lea ecx, [ebp - 0xa8]
push ecx
call fcn.004e4726
add esp, 0xc
lea edx, [ebp - 0x3c0]
push edx
call esi
jmp 0x4b53a7
xor eax, eax
jmp 0x4b5390
movzx ecx, word [eax + 0x5206c4]
mov word [ebp + eax - 0xa8], cx
add eax, 2
test cx, cx
jne 0x4b5390
lea eax, [ebp - 0x1a8]
mov edx, eax
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b53b0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b53c0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b53e0
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0x2a8]
mov edx, eax
jmp 0x4b5400
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b5400
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b5410
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b5430
mov ecx, dword [0x51d454]
lea eax, [ebp - 0x328]
mov dword [edi], ecx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b5450
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b5460
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b5480
mov edx, dword [0x51d454]
lea eax, [ebp - 0x128]
mov dword [edi], edx
mov edx, eax
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b54a0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b54b0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b54d0
mov eax, dword [0x51d454]
mov dword [edi], eax
lea eax, [ebp - 0xa8]
mov edx, eax
jmp 0x4b54f0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4b54f0
sub eax, edx
lea edi, [ebx - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4b5500
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 2]
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4b5520
mov ecx, dword [0x51d454]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x3d4]
mov eax, ebx
lea esi, [eax + 2]
nop
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4b5540
sub eax, esi
sar eax, 1
mov edx, 1
mov word [ebx + eax*2], dx
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov eax, dword [ebp - 0x3c8]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x3cc]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.004e3946
mov esp, ebp
pop ebp
ret