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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f3b18
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x571180]
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
mov dword [ebp - 0x58], ecx
push 0
push 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x496949
push 0
push 0
push 0
push 3
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
js 0x496943
lea eax, [ebp - 0x18]
push eax
push 0x52c330
push 1
push 0
push 0x52c320
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x496943
mov ebx, dword fs:[0x2c]
mov eax, 0x3b
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x30], 0x9a000f
mov dword [ebp - 0x2c], 0xdd0074
mov ebx, dword [ebx]
mov dword [ebp - 0x28], 0xc40069
mov dword [ebp - 0x24], 0x4a002a
mov dword [ebp - 0x20], 0xe7000b
mov eax, dword [ebx + 0x2100]
lea edi, [ebx + 0x2010]
test al, 1
jne 0x495a6c
or eax, 1
mov dword [ebx + 0x2100], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov byte [edi + 0x16], 1
nop dword [eax + eax]
mov ax, word [ebp + ecx*2 - 0x30]
mov word [edi + ecx*2], ax
add ecx, 1
adc edx, 0
test edx, edx
jne 0x495a58
cmp ecx, 0xb
jb 0x495a40
push 0x512150
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
call fcn.004984c0
push 0xc
call fcn.004c2b27
mov esi, eax
add esp, 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 4], 1
test esi, esi
je 0x495ac0
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push edi
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
jne 0x495ac2
test edi, edi
jne 0x496965
jmp 0x495ac2
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x38], esi
test esi, esi
je 0x49696f
lea edx, [ebp - 0x14]
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x18]
push edx
push 0
push 0
mov ecx, dword [eax]
push 0
push 0
push 0
push 0
push dword [esi]
push eax
call dword [ecx + 0xc]
mov edi, eax
mov dword [ebp - 4], 0xffffffff
or ecx, 0xffffffff
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x495b3f
mov ecx, dword [esi]
test ecx, ecx
je 0x495b1d
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x495b34
push eax
call fcn.004c33b7
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004c2b57
add esp, 8
test edi, edi
js 0x49693a
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0x14]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x496931
mov eax, dword [ebx + 0x2180]
mov dword [ebp - 0x38], 0x1024d63b
mov byte [ebp - 0x34], 0x3d
test al, 1
jne 0x495bce
or eax, 1
mov dword [ebx + 0x2180], eax
mov dword [ebp - 4], 3
xorps xmm0, xmm0
movlpd qword [ebp - 0x64], xmm0
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
mov byte [ebx + 0x2119], 1
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + ebx + 0x2114], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x495bba
cmp ecx, 5
jb 0x495ba0
push 0x5120d0
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [ebx + 0x2114]
mov ecx, esi
call fcn.00498400
mov eax, dword [ebx + 0x1fc8]
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x28], 0x27d638
mov dword [ebp - 0x24], 0xd9008c5b
mov dword [ebp - 0x20], 0x72cc500
mov byte [ebp - 0x1c], 0x3d
test al, 1
jne 0x495c5e
or eax, 1
mov dword [ebx + 0x1fc8], eax
mov dword [ebp - 4], 4
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov byte [ebx + 0x1fb9], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + ebx + 0x1fac], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x495c4a
cmp ecx, 0xd
jb 0x495c30
push 0x512090
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ebx, dword fs:[0x2c]
mov edi, dword [ebx]
lea esi, [edi + 0x1fac]
mov ecx, esi
call fcn.004983a0
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x60], esi
push ecx
lea eax, [ebp - 0x5c]
push eax
push ecx
lea ecx, [ebp - 0x54]
call fcn.004979e0
mov dword [ebp - 4], 5
movaps xmm0, xmmword [0x551680]
mov eax, dword [edi + 0x1fec]
movups xmmword [ebp - 0x2c], xmm0
test al, 1
jne 0x495cfb
or eax, 1
mov dword [edi + 0x1fec], eax
mov byte [ebp - 4], 6
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov byte [edi + 0x204c], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x2c]
mov byte [ecx + edi + 0x203c], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x495cea
cmp ecx, 0x10
jb 0x495cd0
push 0x512110
call fcn.004c3147
add esp, 4
mov byte [ebp - 4], 5
lea esi, [edi + 0x203c]
mov ecx, esi
call fcn.00498460
lea eax, [ebp - 0x54]
push eax
push esi
push dword [ebp - 0x14]
lea eax, [ebp - 0x88]
push eax
call fcn.004969a0
mov ecx, dword [ebp - 0x58]
push eax
call fcn.00476860
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x495d5c
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x495d52
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x496979
push ecx
push edx
call fcn.004c2b57
add esp, 8
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov dword [ebp - 4], 0xffffffff
call fcn.00474a70
mov eax, dword [edi + 0x1fcc]
mov dword [ebp - 0x28], 0x1a7f0e34
mov dword [ebp - 0x24], 0x12b9c524
mov dword [ebp - 0x20], 0x168090a
mov byte [ebp - 0x1c], 0x45
test al, 1
jne 0x495dfe
or eax, 1
mov dword [edi + 0x1fcc], eax
mov dword [ebp - 4], 7
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov byte [edi + 0x20b9], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + edi + 0x20ac], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x495dea
cmp ecx, 0xd
jb 0x495dd0
push 0x512010
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x20ac]
mov ecx, esi
call fcn.004982e0
mov eax, dword [edi + 0x20f0]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x3c], 0x17621937
mov dword [ebp - 0x38], 0x6783ca30
test al, 1
jne 0x495e7e
or eax, 1
mov dword [edi + 0x20f0], eax
mov dword [ebp - 4], 8
xorps xmm0, xmm0
movlpd qword [ebp - 0x64], xmm0
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
mov byte [edi + 0x20d4], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x3c]
mov byte [ecx + edi + 0x20cc], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x495e6a
cmp ecx, 8
jb 0x495e50
push 0x511fd0
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x20cc]
mov ecx, esi
call fcn.00498280
mov eax, dword [edi + 0x2168]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x28], 0x6630a2a
mov dword [ebp - 0x24], 0x1394c823
mov dword [ebp - 0x20], 0x1681912
mov byte [ebp - 0x1c], 0x45
test al, 1
jne 0x495f0e
or eax, 1
mov dword [edi + 0x2168], eax
mov dword [ebp - 4], 9
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov byte [edi + 0x206d], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + edi + 0x2060], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x495efa
cmp ecx, 0xd
jb 0x495ee0
push 0x511f90
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x2060]
mov ecx, esi
call fcn.004982e0
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x4c], esi
push ecx
lea eax, [ebp - 0x48]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.004979e0
mov dword [ebp - 4], 0xa
movaps xmm0, xmmword [0x5513d0]
mov eax, dword [edi + 0x1fc4]
movups xmmword [ebp - 0x2c], xmm0
test al, 1
jne 0x495f9b
or eax, 1
mov dword [edi + 0x1fc4], eax
mov byte [ebp - 4], 0xb
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov byte [edi + 0x1f88], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x2c]
mov byte [ecx + edi + 0x1f78], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x495f8a
cmp ecx, 0x10
jb 0x495f70
push 0x512050
call fcn.004c3147
add esp, 4
mov byte [ebp - 4], 0xa
lea esi, [edi + 0x1f78]
mov ecx, esi
call fcn.00498340
lea eax, [ebp - 0x68]
push eax
push esi
push dword [ebp - 0x14]
lea eax, [ebp - 0x88]
push eax
call fcn.004969a0
mov ecx, dword [ebp - 0x58]
push eax
lea ecx, [ecx + 0x18]
call fcn.00476860
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x495fff
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x495ff5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49697e
push ecx
push edx
call fcn.004c2b57
add esp, 8
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov dword [ebp - 4], 0xffffffff
call fcn.00474a70
mov eax, dword [edi + 0x2154]
mov dword [ebp - 0x3c], 0xd13b4c20
mov dword [ebp - 0x38], 0xe7d142fc
test al, 1
jne 0x49608e
or eax, 1
mov dword [edi + 0x2154], eax
mov dword [ebp - 4], 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0x64], xmm0
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
mov byte [edi + 0x1fdc], 1
mov al, byte [ebp + ecx - 0x3c]
mov byte [ecx + edi + 0x1fd4], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49607a
cmp ecx, 8
jb 0x496060
push 0x511f10
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x1fd4]
mov ecx, esi
call fcn.004981c0
mov eax, dword [edi + 0x202c]
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x3c], 0xc02f422e
mov word [ebp - 0x38], 0x2df9
test al, 1
jne 0x49610e
or eax, 1
mov dword [edi + 0x202c], eax
mov dword [ebp - 4], 0xd
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x209a], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x3c]
mov byte [edi + ecx + 0x2094], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x4960fa
cmp ecx, 6
jb 0x4960e0
push 0x511ed0
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x2094]
mov ecx, esi
call fcn.00498160
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x60], esi
push ecx
lea eax, [ebp - 0x5c]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.004979e0
mov dword [ebp - 4], 0xe
movaps xmm0, xmmword [0x5517a0]
mov eax, dword [edi + 0x20a0]
movups xmmword [ebp - 0x44], xmm0
test al, 1
jne 0x49619b
or eax, 1
mov dword [edi + 0x20a0], eax
mov byte [ebp - 4], 0xf
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x2084], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x44]
mov byte [edi + ecx + 0x2074], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49618a
cmp ecx, 0x10
jb 0x496170
push 0x511f50
call fcn.004c3147
add esp, 4
mov byte [ebp - 4], 0xe
lea esi, [edi + 0x2074]
mov ecx, esi
call fcn.00498220
lea eax, [ebp - 0x28]
push eax
push esi
push dword [ebp - 0x14]
lea eax, [ebp - 0x88]
push eax
call fcn.004969a0
mov ecx, dword [ebp - 0x58]
push eax
lea ecx, [ecx + 0x30]
call fcn.00476860
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x4961ff
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4961f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x496983
push ecx
push edx
call fcn.004c2b57
add esp, 8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov dword [ebp - 4], 0xffffffff
call fcn.00474a70
mov eax, dword [edi + 0x2184]
mov dword [ebp - 0x28], 0xfcef4ee8
mov dword [ebp - 0x24], 0x3d8e9c59
mov dword [ebp - 0x20], 0xfbe45dd0
mov byte [ebp - 0x1c], 0x3f
test al, 1
jne 0x49629e
or eax, 1
mov dword [edi + 0x2184], eax
mov dword [ebp - 4], 0x10
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x2111], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [edi + ecx + 0x2104], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49628a
cmp ecx, 0xd
jb 0x496270
push 0x511e50
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x2104]
mov ecx, esi
call fcn.004980a0
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], esi
push ecx
lea eax, [ebp - 0x5c]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.004979e0
mov dword [ebp - 4], 0x11
mov eax, dword [edi + 0x20f8]
mov dword [ebp - 0x40], 0xbaef46f2
mov dword [ebp - 0x3c], 0xafa20d
mov word [ebp - 0x38], 0x7cea
mov byte [ebp - 0x36], 0x81
test al, 1
jne 0x49633b
or eax, 1
mov dword [edi + 0x20f8], eax
mov byte [ebp - 4], 0x12
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x20ef], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [edi + ecx + 0x20e4], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49632a
cmp ecx, 0xb
jb 0x496310
push 0x511e90
call fcn.004c3147
add esp, 4
mov byte [ebp - 4], 0x11
lea esi, [edi + 0x20e4]
mov ecx, esi
call fcn.00498100
lea eax, [ebp - 0x28]
push eax
push esi
push dword [ebp - 0x14]
lea eax, [ebp - 0x88]
push eax
call fcn.004969a0
mov ecx, dword [ebp - 0x58]
push eax
lea ecx, [ecx + 0x48]
call fcn.00476860
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x49639f
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x496395
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x496988
push ecx
push edx
call fcn.004c2b57
add esp, 8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov dword [ebp - 4], 0xffffffff
call fcn.00474a70
mov eax, dword [edi + 0x2188]
mov dword [ebp - 0x3c], 0xd4bba2ca
mov word [ebp - 0x38], 0x7d5d
test al, 1
jne 0x49642e
or eax, 1
mov dword [edi + 0x2188], eax
mov dword [ebp - 4], 0x13
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x20aa], 1
nop
mov al, byte [ebp + ecx - 0x3c]
mov byte [edi + ecx + 0x20a4], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49641a
cmp ecx, 6
jb 0x496400
push 0x511dd0
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x20a4]
mov ecx, esi
call fcn.00497fe0
mov eax, dword [edi + 0x2050]
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x28], 0xc4b1acca
mov dword [ebp - 0x24], 0xb1fc1c57
mov dword [ebp - 0x20], 0xc3babff2
mov byte [ebp - 0x1c], 0x31
test al, 1
jne 0x4964be
or eax, 1
mov dword [edi + 0x2050], eax
mov dword [ebp - 4], 0x14
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x20c9], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [edi + ecx + 0x20bc], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x4964aa
cmp ecx, 0xd
jb 0x496490
push 0x511d90
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x20bc]
mov ecx, esi
call fcn.00497f80
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x60], esi
push ecx
lea eax, [ebp - 0x5c]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.004979e0
mov dword [ebp - 4], 0x15
movaps xmm0, xmmword [0x5516d0]
mov eax, dword [edi + 0x21a4]
mov dword [ebp - 0x38], 0xdcbab9f4
mov byte [ebp - 0x34], 0x31
movups xmmword [ebp - 0x48], xmm0
test al, 1
jne 0x49655b
or eax, 1
mov dword [edi + 0x21a4], eax
mov byte [ebp - 4], 0x16
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x2005], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x48]
mov byte [edi + ecx + 0x1ff0], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49654a
cmp ecx, 0x15
jb 0x496530
push 0x511e10
call fcn.004c3147
add esp, 4
mov byte [ebp - 4], 0x15
lea esi, [edi + 0x1ff0]
mov ecx, esi
call fcn.00498040
lea eax, [ebp - 0x28]
push eax
push esi
push dword [ebp - 0x14]
lea eax, [ebp - 0x88]
push eax
call fcn.004969a0
mov ecx, dword [ebp - 0x58]
push eax
lea ecx, [ecx + 0x60]
call fcn.00476860
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x4965bf
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4965b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49698d
push ecx
push edx
call fcn.004c2b57
add esp, 8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov dword [ebp - 4], 0xffffffff
call fcn.00474a70
movaps xmm0, xmmword [0x5514a0]
mov eax, dword [edi + 0x211c]
mov dword [ebp - 0x20], 0x252e9368
movups xmmword [ebp - 0x30], xmm0
test al, 1
jne 0x49665e
or eax, 1
mov dword [edi + 0x211c], eax
mov dword [ebp - 4], 0x17
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x2134], 1
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [edi + ecx + 0x2120], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49664a
cmp ecx, 0x14
jb 0x496630
push 0x511d10
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x2120]
mov ecx, esi
call fcn.00497ec0
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], esi
push ecx
lea eax, [ebp - 0x5c]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.004979e0
mov dword [ebp - 4], 0x18
movaps xmm0, xmmword [0x5513e0]
mov eax, dword [edi + 0x20fc]
mov dword [ebp - 0x38], 0x48329574
mov byte [ebp - 0x34], 0x2d
movups xmmword [ebp - 0x48], xmm0
test al, 1
jne 0x4966fb
or eax, 1
mov dword [edi + 0x20fc], eax
mov byte [ebp - 4], 0x19
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x214d], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x48]
mov byte [edi + ecx + 0x2138], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x4966ea
cmp ecx, 0x15
jb 0x4966d0
push 0x511d50
call fcn.004c3147
add esp, 4
mov byte [ebp - 4], 0x18
lea esi, [edi + 0x2138]
mov ecx, esi
call fcn.00497f20
lea eax, [ebp - 0x28]
push eax
push esi
push dword [ebp - 0x14]
lea eax, [ebp - 0x88]
push eax
call fcn.004969a0
mov ecx, dword [ebp - 0x58]
push eax
lea ecx, [ecx + 0x78]
call fcn.00476860
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x49675f
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x496755
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x496992
push ecx
push edx
call fcn.004c2b57
add esp, 8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov dword [ebp - 4], 0xffffffff
call fcn.00474a70
mov eax, dword [edi + 0x2150]
mov dword [ebp - 0x28], 0x5a7148a6
mov dword [ebp - 0x24], 0x8019e372
mov dword [ebp - 0x20], 0x41664f98
mov byte [ebp - 0x1c], 0x13
test al, 1
jne 0x4967fe
or eax, 1
mov dword [edi + 0x2150], eax
mov dword [ebp - 4], 0x1a
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x1f99], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [edi + ecx + 0x1f8c], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x4967ea
cmp ecx, 0xd
jb 0x4967d0
push 0x511c90
call fcn.004c3147
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea esi, [edi + 0x1f8c]
mov ecx, esi
call fcn.00453320
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], esi
push ecx
lea eax, [ebp - 0x34]
push eax
push ecx
lea ecx, [ebp - 0x28]
call fcn.004979e0
mov dword [ebp - 4], 0x1b
movaps xmm0, xmmword [0x551640]
mov eax, dword [edi + 0x20f4]
mov dword [ebp - 0x60], 0x56775e8c
mov word [ebp - 0x5c], 0x8f7e
movups xmmword [ebp - 0x70], xmm0
test al, 1
jne 0x49689b
or eax, 1
mov dword [edi + 0x20f4], eax
mov byte [ebp - 4], 0x1c
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov byte [edi + 0x21a2], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x70]
mov byte [ecx + edi + 0x218c], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49688a
cmp ecx, 0x16
jb 0x496870
push 0x511cd0
call fcn.004c3147
add esp, 4
mov byte [ebp - 4], 0x1b
mov esi, edi
add esi, 0x218c
mov ecx, esi
call fcn.00497e60
lea eax, [ebp - 0x28]
push eax
push esi
push dword [ebp - 0x14]
lea eax, [ebp - 0xa0]
push eax
call fcn.004969a0
mov ecx, dword [ebp - 0x58]
push eax
lea ecx, [ecx + 0x90]
call fcn.00476860
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0xf
jbe 0x496907
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4968fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x496997
push ecx
push edx
call fcn.004c2b57
add esp, 8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov dword [ebp - 4], 0xffffffff
call fcn.00474a70
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
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.004c2b19
mov esp, ebp
pop ebp
ret
push 0x8007000e
call fcn.004c4220
push 0x8007000e
call fcn.004c4220
call fcn.004c869e
call fcn.004c869e
call fcn.004c869e
call fcn.004c869e
call fcn.004c869e
call fcn.004c869e
call fcn.004c869e
int3