Function at 0x494e30
Capabilities:
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x554a8f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7a4
xor eax, eax
mov dword [ebp - 0x20], ecx
push esi
push edi
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x18], eax
call fcn.00412c40
mov edi, eax
mov dword [ebp - 0x1e4], 0
push 0x23
xor eax, eax
mov dword [ebp - 0x18], edi
push str.SELECT__FROM_Win32_VideoController
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 7
mov word [ebp - 0x1e4], ax
call fcn.00406520
lea eax, [ebp - 0x1e4]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
call fcn.00410f40
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x4965ae
mov ecx, 0xf
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], ecx
mov byte [ebp - 0x98], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], ecx
mov byte [ebp - 0xb8], 0
mov esi, 1
mov dword [ebp - 0x44], esi
cmp eax, esi
jl 0x495362
nop dword [eax + eax]
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
push 0xb
xor eax, eax
mov dword [ebp - 0x5c], 0
push str.Description
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 3
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
call fcn.00406520
push esi
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x5c]
mov ecx, edi
push eax
call fcn.00411f60
mov edx, dword [ebp - 0x48]
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x494ff4
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x494fea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
push 0xb
xor eax, eax
mov dword [ebp - 0x5c], 0
push str.PNPDeviceID
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
call fcn.00406520
push esi
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x5c]
mov ecx, edi
push eax
call fcn.00411f60
mov edx, dword [ebp - 0x48]
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x495073
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x495069
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
lea eax, [ebp - 0x14]
push eax
sub esp, 0x18
lea eax, [ebp - 0x180]
mov edi, esp
mov dword [edi], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [ebp - 0x16c], 0x10
mov ecx, dword [ebp - 0x170]
cmovae eax, dword [ebp - 0x180]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], eax
cmp ecx, 0x10
jae 0x4950c2
movups xmm0, xmmword [eax]
mov esi, 0xf
movups xmmword [edi], xmm0
jmp 0x49512f
mov esi, ecx
mov eax, SysReAllocString
or esi, 0xf
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x495106
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x4965d5
push ecx
call fcn.004c821c
add esp, 4
test eax, eax
je 0x4965d0
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x495119
test eax, eax
je 0x495117
push eax
call fcn.004c821c
add esp, 4
mov ecx, eax
jmp 0x495119
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [edi], ecx
push eax
push dword [ebp - 0x28]
push ecx
call fcn.004e4e00
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], esi
mov esi, dword [ebp - 0x20]
mov ecx, esi
call fcn.004965f0
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x1c8]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x198]
push eax
call fcn.00402c00
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00402c00
lea edi, [esi + 0x104]
mov esi, dword [edi]
mov dword [ebp - 0x64], edi
push 0x44
mov byte [ebp - 4], 8
mov dword [ebp - 0x60], 0
call fcn.004c821c
mov ecx, dword [ebp - 0x1cc]
mov edx, eax
add esp, 4
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x60], edx
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], 0
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
movups xmm0, xmmword [ebp - 0x1c8]
movups xmmword [edx + 0x14], xmm0
movq xmm0, qword [ebp - 0x1b8]
movq qword [edx + 0x24], xmm0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0xf
mov byte [ebp - 0x1c8], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0x3c], 0
mov dword [edx + 0x40], 0
movups xmm0, xmmword [ebp - 0x1b0]
movups xmmword [edx + 0x2c], xmm0
movq xmm0, qword [ebp - 0x1a0]
movq qword [edx + 0x3c], xmm0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
mov dword [edx], esi
mov dword [edx + 4], esi
mov dword [edx + 8], esi
mov word [edx + 0xc], 0
mov eax, dword [edi]
xor ecx, ecx
mov byte [ebp - 4], 9
mov edi, dword [eax + 4]
cmp byte [edi + 0xd], cl
jne 0x495280
mov esi, dword [edx + 0x10]
mov eax, edi
nop dword [eax]
mov edx, dword [eax + 0x10]
mov edi, eax
cmp esi, edx
jge 0x49526d
mov eax, dword [eax]
jmp 0x495270
mov eax, dword [eax + 8]
xor ecx, ecx
cmp esi, edx
setl cl
cmp byte [eax + 0xd], 0
je 0x495260
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x20]
cmp dword [esi + 0x108], 0x3c3c3c3
je 0x4965da
push edx
push ecx
push edi
lea ecx, [esi + 0x104]
mov dword [ebp - 0x60], 0
call fcn.00499c00
lea ecx, [ebp - 0x1c8]
call fcn.00493440
mov edx, dword [ebp - 0x16c]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x4952f1
mov ecx, dword [ebp - 0x180]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4952e7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
cmp edx, 0x10
jb 0x495346
mov ecx, dword [ebp - 0x198]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x49533c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov esi, dword [ebp - 0x44]
inc esi
mov dword [ebp - 0x44], esi
cmp esi, dword [ebp - 0x9c]
jg 0x49535d
mov edi, dword [ebp - 0x18]
jmp 0x494f20
mov ecx, 0xf
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x49539c
lea edx, [ecx + 1]
mov ecx, dword [ebp - 0xb8]
mov eax, ecx
cmp edx, 0x1000
jb 0x495392
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
xor esi, esi
mov byte [ebp - 4], 0
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov edx, dword [ebp - 0x20]
mov byte [ebp - 4], 0xa
mov eax, dword [edx + 0x104]
mov edi, dword [eax]
cmp edi, eax
je 0x4954ce
mov esi, dword [eax]
mov dword [ebp - 0x14], 0
cmp esi, eax
je 0x495481
lea ecx, [edi + 0x14]
cmp dword [esi + 0x28], 0x10
lea edx, [esi + 0x14]
jb 0x4953e2
mov edx, dword [esi + 0x14]
cmp dword [edi + 0x28], 0x10
jb 0x4953eb
mov ecx, dword [edi + 0x14]
push dword [esi + 0x24]
push edx
push dword [edi + 0x24]
push ecx
call fcn.004193d0
add esp, 0x10
test eax, eax
jne 0x495433
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x49542f
mov ecx, dword [edi + 0x10]
lea edx, [edi + 0x10]
test ecx, ecx
je 0x49542f
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x60]
je 0x495422
mov dword [eax], ecx
add eax, 4
mov dword [ebp - 0x64], eax
jmp 0x49542c
push edx
push eax
lea ecx, [ebp - 0x68]
call fcn.004913f0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x495459
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x495455
cmp esi, dword [eax + 8]
jne 0x495455
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x495445
mov esi, eax
jmp 0x49546f
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x49546f
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x495463
mov edx, dword [ebp - 0x20]
lea ecx, [edi + 0x14]
cmp esi, dword [edx + 0x104]
jne 0x4953d6
mov eax, dword [edi + 8]
cmp byte [eax + 0xd], 0
je 0x4954a7
mov eax, dword [edi + 4]
cmp byte [eax + 0xd], 0
jne 0x4954a3
cmp edi, dword [eax + 8]
jne 0x4954a3
mov edi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x495493
mov edi, eax
jmp 0x4954bd
mov edi, eax
mov ecx, dword [edi]
cmp byte [ecx + 0xd], 0
jne 0x4954bd
mov eax, dword [ecx]
mov edi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x4954b1
mov eax, dword [edx + 0x104]
cmp edi, eax
jne 0x4953c2
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x1c], 1
cmp esi, edi
je 0x4955b8
mov edx, dword [edx + 0x104]
mov ecx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], ecx
mov eax, dword [edx + 4]
cmp byte [eax + 0xd], 0
jne 0x49551a
mov edx, dword [esi]
nop dword [eax]
cmp dword [eax + 0x10], edx
jge 0x49550a
mov eax, dword [eax + 8]
jmp 0x49550e
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x495500
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
cmp byte [ecx + 0xd], 0
jne 0x495527
mov eax, dword [esi]
cmp eax, dword [ecx + 0x10]
jge 0x49552c
mov ecx, edx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
je 0x4955ad
push dword [ebp - 0x1c]
lea eax, [ebp - 0x5c]
push eax
call fcn.0043d8f0
add esp, 8
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x14]
push 1
push 0x569410
add ecx, 0x14
mov byte [ebp - 4], 0xb
call fcn.004062d0
mov edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x495567
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edx
call fcn.004062d0
mov edx, dword [ebp - 0x48]
mov byte [ebp - 4], 0xa
cmp edx, 0x10
jb 0x4955aa
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4955a0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
inc dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
add esi, 4
jmp 0x4954d8
lea edi, [edx + 0x128]
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x18], edi
push edi
push eax
call fcn.0043d820
cmp dword [ebp - 0x1e8], 0x10
lea eax, [ebp - 0x1fc]
push 4
cmovae eax, dword [ebp - 0x1fc]
push str.auto
push dword [ebp - 0x1ec]
mov byte [ebp - 4], 0xc
push eax
call fcn.004193d0
add esp, 0x18
test eax, eax
jne 0x495d34
mov edi, dword [ebp - 0x20]
mov eax, dword [edi + 0x104]
mov esi, dword [eax]
cmp esi, eax
je 0x496595
lea ecx, [edi + 0x110]
mov dword [ebp - 0x28], ecx
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
jb 0x49562a
mov eax, dword [ecx]
push eax
lea ecx, [ebp - 0x7b0]
call fcn.004722f0
cmp dword [esi + 0x28], 0x10
lea ecx, [esi + 0x14]
mov byte [ebp - 4], 0xd
jb 0x495646
mov ecx, dword [esi + 0x14]
push ecx
lea ecx, [ebp - 0x7b0]
call fcn.004739b0
lea ecx, [ebp - 0x7b0]
test eax, eax
je 0x496577
call fcn.00473820
test al, al
je 0x495cd5
nop dword [eax]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0xf
mov byte [ebp - 0x110], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
push 0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x7b0]
call fcn.00473270
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x7b0]
call fcn.00473400
lea eax, [ebp - 0x40]
push eax
call fcn.00438380
add esp, 4
test al, al
je 0x495758
lea eax, [ebp - 0x40]
push eax
call fcn.0043d4a0
add esp, 4
mov dword [ebp - 0xf4], eax
lea eax, [ebp - 0x110]
lea ecx, [ebp - 0x7b0]
push eax
call fcn.00473400
jmp 0x4958a5
cmp dword [ebp - 0x2c], 0x10
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x30]
cmovae edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x9c], ecx
cmp eax, ecx
ja 0x4957b3
cmp ecx, 0x10
mov dword [ebp - 0x100], eax
push eax
lea edi, [ebp - 0x110]
cmovae edi, dword [ebp - 0x110]
push edx
push edi
call fcn.004e5380
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov byte [edi + eax], 0
jmp 0x4958a5
cmp eax, 0x7fffffff
ja 0x4965df
mov edi, eax
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x4957d5
mov edi, SysReAllocString
lea ecx, [edi + 0x24]
jmp 0x49580b
mov edx, ecx
mov eax, SysReAllocString
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x4957ee
mov edi, SysReAllocString
lea ecx, [edi + 0x24]
jmp 0x49580b
lea eax, [ecx + edx]
cmp edi, eax
cmovb edi, eax
lea eax, [edi + 1]
cmp eax, 0x1000
jb 0x495829
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x4965d5
push ecx
call fcn.004c821c
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4965d0
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x49583a
test eax, eax
je 0x495838
push eax
call fcn.004c821c
add esp, 4
jmp 0x49583a
xor eax, eax
mov ecx, dword [ebp - 0x14]
push ecx
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
push eax
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], edi
call fcn.004e4e00
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov edi, dword [ebp - 0x1c]
mov byte [edi + eax], 0
mov eax, dword [ebp - 0x9c]
cmp eax, 0x10
jb 0x49589f
mov ecx, dword [ebp - 0x110]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x495895
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov dword [ebp - 0x110], edi
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x7b0]
call fcn.00473400
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.0043e2c0
mov edi, eax
add esp, 8
lea eax, [ebp - 0x110]
cmp eax, edi
je 0x495953
mov edx, dword [ebp - 0xfc]
cmp edx, 0x10
jb 0x495910
mov ecx, dword [ebp - 0x110]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x495906
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0xf
mov byte [ebp - 0x110], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x110], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x100], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea ecx, [ebp - 0x5c]
call fcn.0040d320
cmp dword [ebp - 0xdc], 0
jne 0x49598a
lea eax, [ebp - 0xec]
lea ecx, [esi + 0x14]
cmp eax, ecx
je 0x49598a
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
jb 0x49597b
mov eax, dword [ecx]
push dword [ecx + 0x10]
lea ecx, [ebp - 0xec]
push eax
call fcn.00406430
cmp dword [ebp - 0xfc], 0x10
lea edi, [ebp - 0x110]
mov edx, dword [ebp - 0x100]
cmovae edi, dword [ebp - 0x110]
mov dword [ebp - 0x18], edx
test edx, edx
je 0x4959ff
push 0x100
lea eax, [ebp - 0x2fc]
push 0
push eax
call fcn.004e43a0
mov edx, dword [ebp - 0x18]
or ecx, 0xffffffff
add esp, 0xc
mov byte [ebp - 0x2cf], 1
lea eax, [edx - 1]
cmp eax, ecx
cmovb ecx, eax
movzx eax, byte [ecx + edi]
add ecx, edi
mov al, byte [ebp + eax - 0x2fc]
test al, al
jne 0x4959fb
cmp ecx, edi
je 0x4959ff
movzx eax, byte [ecx - 1]
dec ecx
mov al, byte [ebp + eax - 0x2fc]
test al, al
je 0x4959e7
sub ecx, edi
jmp 0x495a02
or ecx, 0xffffffff
add ecx, 1
je 0x495b27
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
cmp edx, ecx
jb 0x4965e4
sub edx, ecx
lea eax, [ebp - 0x110]
or edi, 0xffffffff
cmp edx, 0xffffffff
cmovb edi, edx
cmp dword [ebp - 0xfc], 0x10
mov dword [ebp - 0x1c], edi
cmovae eax, dword [ebp - 0x110]
add eax, ecx
mov dword [ebp - 0x18], eax
cmp edi, 0xf
ja 0x495a6d
push edi
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0x70], edi
push eax
call fcn.004e5380
mov byte [ebp + edi - 0x80], 0
jmp 0x495ac6
cmp edi, 0x7fffffff
ja 0x4965df
mov eax, edi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x495a8c
mov eax, SysReAllocString
jmp 0x495a97
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x80]
inc eax
push eax
call fcn.00406210
mov ecx, dword [ebp - 0x44]
mov edi, eax
mov eax, dword [ebp - 0x1c]
push eax
push dword [ebp - 0x18]
mov dword [ebp - 0x70], eax
push edi
mov dword [ebp - 0x6c], ecx
call fcn.004e4e00
mov eax, dword [ebp - 0x1c]
mov byte [edi + eax], 0
mov dword [ebp - 0x80], edi
or dword [ebp - 0xa0], 1
add esp, 0xc
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x10
push eax
call fcn.0043e020
mov edx, dword [ebp - 0x6c]
add esp, 4
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 0xf
cmp edx, 0x10
jb 0x495b1e
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x495b14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov byte [ebp - 0xbc], 0
jmp 0x495b38
mov dword [ebp - 0xf0], 0
mov byte [ebp - 0xbc], 1
lea eax, [esi + 0x2c]
lea ecx, [ebp - 0xd4]
cmp ecx, eax
je 0x495b5e
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x495b4f
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.00406430
mov edi, dword [ebp - 0x20]
lea ecx, [ebp - 0x110]
add edi, 0xec
push ecx
mov eax, dword [edi + 4]
push eax
cmp eax, dword [edi + 8]
je 0x495b86
push edi
call fcn.004921a0
add esp, 0xc
add dword [edi + 4], 0x58
jmp 0x495b8d
mov ecx, edi
call fcn.004917a0
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xe
cmp edx, 0x10
jb 0x495bc5
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x495bbb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0xd
cmp edx, 0x10
jb 0x495c15
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x495c0b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
cmp edx, 0x10
jb 0x495c6a
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x495c60
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
cmp edx, 0x10
jb 0x495cbf
mov ecx, dword [ebp - 0x110]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x495cb5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
lea ecx, [ebp - 0x7b0]
call fcn.00473820
test al, al
jne 0x495670
mov edi, dword [ebp - 0x20]
lea ecx, [ebp - 0x7b0]
mov byte [ebp - 4], 0xc
call fcn.004726a0
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x495d0a
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x495d06
cmp esi, dword [eax + 8]
jne 0x495d06
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x495cf6
mov esi, eax
jmp 0x495d20
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x495d20
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x495d14
cmp esi, dword [edi + 0x104]
je 0x496595
mov ecx, dword [ebp - 0x28]
jmp 0x495620
mov esi, dword [ebp - 0x20]
cmp dword [esi + 0x124], 0x10
lea eax, [esi + 0x110]
mov byte [ebp - 0xd], 0
jb 0x495d4c
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x7b0]
call fcn.004722f0
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x11
push eax
call fcn.0046bf00
mov ecx, eax
call fcn.0046b430
cmp dword [edi + 0x14], 0x10
mov eax, edi
mov byte [ebp - 4], 0x12
jb 0x495d7a
mov eax, dword [edi]
push eax
lea ecx, [ebp - 0x7b0]
call fcn.004739b0
test eax, eax
jne 0x495e2b
cmp dword [esi + 0x138], eax
jne 0x496569
cmp dword [ebp - 0x6c], 0x10
lea eax, [ebp - 0x80]
lea ecx, [ebp - 0x7b0]
mov byte [ebp - 0xd], 1
cmovae eax, dword [ebp - 0x80]
push eax
call fcn.004739b0
test eax, eax
jne 0x495e2b
cmp dword [ebp - 0x6c], 0x10
lea eax, [ebp - 0x80]
push 0x10
cmovae eax, dword [ebp - 0x80]
push 0
push eax
call fcn.0051bb97
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.0043d3a0
push eax
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x13
push eax
call fcn.0043e2c0
add esp, 0x1c
lea ecx, [ebp - 0x80]
push eax
call fcn.00413b90
lea ecx, [ebp - 0x5c]
call fcn.00403550
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x12
call fcn.00403550
cmp dword [ebp - 0x6c], 0x10
lea eax, [ebp - 0x80]
lea ecx, [ebp - 0x7b0]
cmovae eax, dword [ebp - 0x80]
push eax
call fcn.004739b0
test eax, eax
je 0x496569
lea ecx, [ebp - 0x7b0]
call fcn.00473820
test al, al
je 0x496582
nop
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x7b0]
call fcn.00473270
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x7b0]
call fcn.00473400
lea eax, [ebp - 0x40]
push eax
call fcn.00438380
add esp, 4
test al, al
lea eax, [ebp - 0x40]
je 0x495f25
push eax
call fcn.0043d4a0
add esp, 4
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0x168]
lea ecx, [ebp - 0x7b0]
push eax
call fcn.00473400
jmp 0x495f46
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x168]
push dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
push eax
mov dword [ebp - 0x14c], 0
call fcn.00406430
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x7b0]
call fcn.00473400
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.0043e2c0
mov esi, eax
add esp, 8
lea eax, [ebp - 0x168]
cmp eax, esi
je 0x495ff7
mov edx, dword [ebp - 0x154]
cmp edx, 0x10
jb 0x495fb4
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x495faa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x168], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x158], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0x98]
call fcn.0040d320
cmp dword [ebp - 0x134], 0
jne 0x496038
cmp byte [ebp - 0xd], 1
je 0x496518
lea eax, [ebp - 0x144]
cmp eax, edi
je 0x496038
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x496029
mov eax, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp - 0x144]
push eax
call fcn.00406430
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x7b0]
call fcn.00473400
cmp dword [ebp - 0x154], 0x10
lea esi, [ebp - 0x168]
mov edi, dword [ebp - 0x158]
cmovae esi, dword [ebp - 0x168]
test edi, edi
je 0x4960e8
push 0x100
lea eax, [ebp - 0x2fc]
push 0
push eax
call fcn.004e43a0
or ecx, 0xffffffff
mov byte [ebp - 0x2cf], 1
lea eax, [edi - 1]
add esp, 0xc
cmp eax, ecx
cmovb ecx, eax
movzx eax, byte [ecx + esi]
add ecx, esi
mov al, byte [ebp + eax - 0x2fc]
test al, al
jne 0x4960e4
nop word [eax + eax]
cmp ecx, esi
je 0x4960e8
movzx eax, byte [ecx - 1]
dec ecx
mov al, byte [ebp + eax - 0x2fc]
test al, al
je 0x4960d0
sub ecx, esi
jmp 0x4960eb
or ecx, 0xffffffff
lea edx, [ecx + 1]
test edx, edx
je 0x4961b1
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp edi, edx
jb 0x4965e4
sub edi, edx
lea eax, [ebp - 0x168]
or ecx, 0xffffffff
cmp edi, 0xffffffff
cmovb ecx, edi
cmp dword [ebp - 0x154], 0x10
push ecx
cmovae eax, dword [ebp - 0x168]
lea ecx, [ebp - 0x98]
add eax, edx
push eax
call fcn.00406430
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x17
push eax
call fcn.0043e020
mov edx, dword [ebp - 0x84]
add esp, 4
mov dword [ebp - 0x148], eax
mov byte [ebp - 4], 0x16
cmp edx, 0x10
jb 0x4961a8
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x49619e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov byte [ebp - 0x114], 0
jmp 0x4961c2
mov dword [ebp - 0x148], 0
mov byte [ebp - 0x114], 1
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00435870
add esp, 8
mov edi, dword [ebp - 0x20]
mov byte [ebp - 4], 0x18
mov eax, dword [edi + 0x104]
mov esi, dword [eax]
cmp esi, eax
je 0x49633f
nop dword [eax]
lea eax, [esi + 0x14]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00435870
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0043d820
add esp, 0x10
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x496224
mov ecx, dword [eax]
push 7
push str.partial
push dword [eax + 0x10]
push ecx
call fcn.00413a00
add esp, 0x10
mov byte [ebp - 0x21], al
lea ecx, [ebp - 0x180]
call fcn.0040d320
cmp byte [ebp - 0x21], 0
lea ecx, [ebp - 0x5c]
push dword [ebp - 0x4c]
lea eax, [ebp - 0x98]
je 0x496284
cmp dword [ebp - 0x48], 0x10
cmovae ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x84], 0x10
push ecx
cmovae eax, dword [ebp - 0x98]
push 0
push dword [ebp - 0x88]
push eax
call fcn.00419460
add esp, 0x14
cmp eax, 0xffffffff
jmp 0x4962ac
cmp dword [ebp - 0x48], 0x10
cmovae ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x84], 0x10
push ecx
cmovae eax, dword [ebp - 0x98]
push dword [ebp - 0x88]
push eax
call fcn.00413a00
add esp, 0x10
test al, al
jne 0x49630a
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x18
call fcn.0040d320
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x4962e4
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x4962e0
nop
cmp esi, dword [eax + 8]
jne 0x4962e0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x4962d0
mov esi, eax
jmp 0x4962fc
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x4962fc
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x4962f0
cmp esi, dword [edi + 0x104]
jne 0x4961f0
jmp 0x49633f
add esi, 0x2c
lea eax, [ebp - 0x12c]
cmp eax, esi
je 0x496330
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x496321
mov eax, dword [esi]
push dword [esi + 0x10]
lea ecx, [ebp - 0x12c]
push eax
call fcn.00406430
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x18
call fcn.0040d320
mov eax, dword [edi + 0xf0]
lea esi, [edi + 0xec]
lea ecx, [ebp - 0x168]
push ecx
push eax
cmp eax, dword [esi + 8]
je 0x496367
push esi
call fcn.004921a0
add esp, 0xc
add dword [esi + 4], 0x58
jmp 0x49636e
mov ecx, esi
call fcn.004917a0
lea ecx, [ebp - 0x5c]
call fcn.0040d320
mov edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 0x15
cmp edx, 0x10
jb 0x4963b4
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4963aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x496407
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4963fd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0x12
cmp edx, 0x10
jb 0x496457
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x49644d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x4964ac
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4964a2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
cmp edx, 0x10
jb 0x496501
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4964f7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
lea ecx, [ebp - 0x7b0]
call fcn.00473820
test al, al
je 0x496582
mov edi, dword [ebp - 0x18]
jmp 0x495e40
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x49654c
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x496542
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4965d0
push edx
push ecx
call fcn.004c824c
add esp, 8
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00493750
lea ecx, [ebp - 0x80]
call fcn.00403550
lea ecx, [ebp - 0x7b0]
call fcn.004726a0
mov byte [ebp - 0xd], 0
jmp 0x496599
lea ecx, [ebp - 0x80]
call fcn.00403550
lea ecx, [ebp - 0x7b0]
call fcn.004726a0
mov byte [ebp - 0xd], 1
lea ecx, [ebp - 0x1fc]
call fcn.00403550
lea ecx, [ebp - 0x68]
call fcn.00493170
jmp 0x4965b2
mov byte [ebp - 0xd], 0
lea ecx, [ebp - 0x1e4]
call fcn.004035a0
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0xd]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.004f1161
call fcn.004061c0
call fcn.00413320
call fcn.004061f0
call fcn.00406200
int3