Function at 0x429429
Capabilities:
Check os version

Disassembly:
push ebp
lea ebp, [esp - 0x1ec]
sub esp, 0x26c
mov eax, dword [0x509690]
xor eax, ebp
mov dword [ebp + 0x1e8], eax
push ebx
mov ebx, dword [ebp + 0x1f8]
push edi
mov edi, dword [ebp + 0x1f4]
push dword [0x50ea7c]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x24], ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x429c40
push esi
xor esi, esi
cmp edi, esi
je 0x429c3f
cmp ebx, esi
je 0x429c3f
push ebx
push edi
call fcn.0043ecaa
test eax, eax
pop ecx
pop ecx
je 0x429c3f
push 0xfffffffffffffff0
push dword [0x50ea7c]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x30], eax
mov eax, 0x80000
push eax
push eax
mov edi, 0x1036
push edi
push dword [0x50ea7c]
call ebx
test word [ebp - 0x30], 0x100
mov dword [ebp - 0x80], eax
je 0x4294ef
call fcn.0042865e
shr eax, 0x10
cmp ax, 5
push esi
jbe 0x4294dd
push 0x7071
jmp 0x4294e2
push 0x7051
push 0x111
push dword [0x50ea78]
call ebx
lea eax, [ebp - 0x7c]
push eax
push dword [0x50ea7c]
mov dword [ebp - 0x7c], esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push dword [ebp - 0x7c]
push esi
push 0x38
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, esi
mov dword [ebp - 0x2c], eax
jne 0x42951f
push dword [ebp - 0x80]
push esi
push edi
jmp 0x429c37
xor eax, eax
mov dword [ebp - 0x64], esi
lea edi, [ebp - 0x60]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push esi
stosd dword es:[edi], eax
lea eax, [ebp - 0x64]
push eax
push esi
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
push esi
push esi
push 0x1033
push dword [0x50ea7c]
call ebx
push dword [0x50ea7c]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
movzx eax, ax
shr ecx, 0x10
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x78], esi
lea edi, [ebp - 0x74]
stosd dword es:[edi], eax
call fcn.004287d3
cmp eax, 0xffffffff
mov dword [ebp - 0x3c], eax
je 0x429c25
lea ecx, [ebp - 0x78]
push ecx
push eax
push dword [0x50ea7c]
push dword [ebp - 0x2c]
call fcn.004289fa
test al, al
je 0x429c25
push 0x206
lea eax, [ebp - 0x1e]
push esi
push eax
mov dword [ebp - 0x38], esi
mov word [ebp - 0x20], si
call fcn.0043db10
mov edx, dword [ebp - 0x24]
add esp, 0xc
cmp word [edx], si
je 0x4296a6
push dword [0x50ea7c]
mov ecx, dword [ebp - 0x2c]
call fcn.004287d3
cmp eax, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x4296a6
push dword [ebp - 0x30]
xor eax, eax
push dword [0x50ea7c]
mov dword [ebp - 0x54], esi
push dword [ebp - 0x2c]
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x28], esi
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
lea edi, [ebp - 0x54]
call fcn.0042897f
test al, al
je 0x4296a6
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x30]
push dword [0x50ea7c]
push dword [ebp - 0x2c]
call fcn.004289fa
test al, al
je 0x4296a6
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x70]
add ecx, eax
cmp ecx, dword [ebp - 0x58]
jae 0x42963c
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x6c]
add ecx, eax
mov dword [ebp - 0x68], ecx
jmp 0x429645
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
lea edi, [eax + ecx]
movzx eax, word [ebp - 0x58]
movzx ecx, word [ebp - 0x5c]
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x30]
mov esi, 0x100f
push esi
push dword [0x50ea7c]
call ebx
movzx eax, word [ebp - 0x24]
movzx ecx, word [ebp - 0x28]
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x3c]
push esi
push dword [0x50ea7c]
call ebx
mov dword [ebp - 0x38], eax
movzx eax, word [ebp - 0x68]
movzx ecx, di
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x30]
push esi
push dword [0x50ea7c]
call ebx
cmp dword [ebp - 0x38], 0
jne 0x429c23
jmp 0x4296ab
mov esi, 0x100f
push 0xa
lea edi, [ebp - 0x20]
call fcn.0042872d
test al, al
je 0x429819
push dword [0x50ea7c]
mov ecx, dword [ebp - 0x2c]
mov edx, edi
call fcn.004287d3
cmp eax, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x429819
and dword [ebp - 0x54], 0
push dword [ebp - 0x30]
and dword [ebp - 0x28], 0
push dword [0x50ea7c]
xor eax, eax
push dword [ebp - 0x2c]
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
lea edi, [ebp - 0x54]
call fcn.0042897f
test al, al
je 0x429819
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x30]
push dword [0x50ea7c]
push dword [ebp - 0x2c]
call fcn.004289fa
test al, al
je 0x429819
mov eax, dword [ebp - 0x64]
mov edi, dword [ebp - 0x40]
add eax, edi
cmp dword [ebp - 0x28], eax
jae 0x429819
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x70]
lea eax, [eax + esi*2]
cmp eax, dword [ebp - 0x58]
jae 0x42974d
add dword [ebp - 0x24], esi
push esi
jmp 0x429755
sub dword [ebp - 0x24], esi
mov eax, esi
neg eax
push eax
push 0
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov ecx, dword [ebp - 0x50]
lea eax, [ecx + esi]
cmp eax, dword [ebp - 0x58]
jae 0x429776
mov eax, dword [ebp - 0x24]
add eax, esi
mov dword [ebp - 0x30], eax
jmp 0x42977e
mov eax, dword [ebp - 0x28]
add eax, edi
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
push dword [0x50ea7c]
add eax, edx
push dword [ebp - 0x2c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x48]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea esi, [ebp - 0x6c]
mov dword [ebp - 0x68], eax
call fcn.00428905
mov edi, eax
cmp edi, 0xffffffff
mov esi, 0x100f
je 0x4297d0
movzx eax, word [ebp - 0x58]
movzx ecx, word [ebp - 0x5c]
shl eax, 0x10
or eax, ecx
push eax
push edi
push esi
push dword [0x50ea7c]
call ebx
movzx eax, word [ebp - 0x24]
movzx ecx, word [ebp - 0x28]
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x3c]
push esi
push dword [0x50ea7c]
call ebx
cmp edi, 0xffffffff
mov dword [ebp - 0x38], eax
je 0x42980a
movzx eax, word [ebp - 0x30]
movzx ecx, word [ebp - 0x34]
shl eax, 0x10
or eax, ecx
push eax
push edi
push esi
push dword [0x50ea7c]
call ebx
cmp dword [ebp - 0x38], 0
jne 0x429c23
mov esi, 0x100f
call dword [sym.imp.KERNEL32.dll_GetVersion]
movzx cx, ah
mov ch, al
cmp cx, 0x600
ja 0x4298fc
push 1
lea edi, [ebp - 0x20]
call fcn.0042872d
test al, al
je 0x4298fc
push dword [0x50ea7c]
mov ecx, dword [ebp - 0x2c]
mov edx, edi
call fcn.004287d3
cmp eax, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x4298fc
and dword [ebp - 0x28], 0
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x30]
push dword [0x50ea7c]
push dword [ebp - 0x2c]
call fcn.004289fa
test al, al
je 0x4298fc
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x70]
lea edx, [eax + ecx]
cmp edx, dword [ebp - 0x58]
jae 0x42989c
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x6c]
add eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x4298a2
mov ecx, dword [ebp - 0x40]
lea edi, [eax + ecx]
movzx eax, word [ebp - 0x58]
movzx ecx, word [ebp - 0x5c]
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x30]
push esi
push dword [0x50ea7c]
call ebx
movzx eax, word [ebp - 0x24]
movzx ecx, word [ebp - 0x28]
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x3c]
push esi
push dword [0x50ea7c]
call ebx
mov dword [ebp - 0x38], eax
movzx eax, word [ebp - 0x68]
movzx ecx, di
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x30]
push esi
push dword [0x50ea7c]
call ebx
cmp dword [ebp - 0x38], 0
jne 0x429c23
push 0xa
lea edi, [ebp - 0x20]
call fcn.0042872d
test al, al
je 0x429a3c
push dword [0x50ea7c]
mov ecx, dword [ebp - 0x2c]
mov edx, edi
call fcn.004287d3
cmp eax, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x429a3c
and dword [ebp - 0x54], 0
push dword [ebp - 0x30]
and dword [ebp - 0x28], 0
push dword [0x50ea7c]
xor eax, eax
push dword [ebp - 0x2c]
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
lea edi, [ebp - 0x54]
call fcn.0042897f
test al, al
je 0x429a3c
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x30]
push dword [0x50ea7c]
push dword [ebp - 0x2c]
call fcn.004289fa
test al, al
je 0x429a3c
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x64]
add ecx, eax
cmp dword [ebp - 0x28], ecx
jae 0x429a3f
mov eax, dword [ebp - 0x70]
sub dword [ebp - 0x24], eax
neg eax
push eax
push 0
mov eax, edi
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x54]
push dword [0x50ea7c]
add eax, ecx
mov ecx, dword [ebp - 0x48]
push dword [ebp - 0x2c]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x50]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
lea esi, [ebp - 0x6c]
mov dword [ebp - 0x68], eax
call fcn.00428905
mov edi, eax
cmp edi, 0xffffffff
mov esi, 0x100f
je 0x4299f3
movzx eax, word [ebp - 0x58]
movzx ecx, word [ebp - 0x5c]
shl eax, 0x10
or eax, ecx
push eax
push edi
push esi
push dword [0x50ea7c]
call ebx
movzx eax, word [ebp - 0x24]
movzx ecx, word [ebp - 0x28]
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x3c]
push esi
push dword [0x50ea7c]
call ebx
cmp edi, 0xffffffff
mov dword [ebp - 0x38], eax
je 0x429a2d
movzx eax, word [ebp - 0x74]
movzx ecx, word [ebp - 0x78]
shl eax, 0x10
or eax, ecx
push eax
push edi
push esi
push dword [0x50ea7c]
call ebx
cmp dword [ebp - 0x38], 0
jne 0x429c23
mov esi, 0x100f
mov eax, dword [ebp - 0x40]
shr eax, 1
add eax, dword [ebp - 0x64]
and dword [ebp - 0x24], 0
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x58]
jge 0x429b8d
push dword [0x50ea7c]
lea esi, [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.00428905
mov esi, eax
cmp esi, 0xffffffff
je 0x429b7b
and dword [ebp - 0x54], 0
and dword [ebp - 0x44], 0
xor eax, eax
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push esi
push dword [0x50ea7c]
xor eax, eax
push dword [ebp - 0x2c]
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
lea edi, [ebp - 0x54]
call fcn.0042897f
test al, al
je 0x429b7b
lea eax, [ebp - 0x44]
push eax
push esi
push dword [0x50ea7c]
push dword [ebp - 0x2c]
call fcn.004289fa
test al, al
je 0x429b7b
mov esi, dword [ebp - 0x70]
mov eax, esi
shl eax, 2
push eax
mov eax, edi
mov edi, dword [sym.imp.USER32.dll_OffsetRect]
push 0
push eax
call edi
mov eax, esi
shl eax, 2
add dword [ebp - 0x40], eax
add dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x50]
lea eax, [eax + esi*2]
cmp eax, dword [ebp - 0x58]
jbe 0x429b0c
mov dword [ebp - 0x30], esi
neg dword [ebp - 0x30]
push dword [ebp - 0x30]
lea eax, [ebp - 0x54]
push 0
push eax
call edi
mov eax, dword [ebp - 0x50]
sub dword [ebp - 0x40], esi
sub dword [ebp - 0x24], esi
lea eax, [eax + esi*2]
cmp eax, dword [ebp - 0x58]
ja 0x429af0
push dword [0x50ea7c]
lea esi, [ebp - 0x28]
push dword [ebp - 0x2c]
call fcn.00428905
mov edi, eax
cmp edi, 0xffffffff
mov esi, 0x100f
je 0x429b41
movzx eax, word [ebp - 0x58]
movzx ecx, word [ebp - 0x5c]
shl eax, 0x10
or eax, ecx
push eax
push edi
push esi
push dword [0x50ea7c]
call ebx
movzx eax, word [ebp - 0x40]
movzx ecx, word [ebp - 0x44]
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x3c]
push esi
push dword [0x50ea7c]
call ebx
cmp edi, 0xffffffff
mov dword [ebp - 0x38], eax
je 0x429b7b
movzx eax, word [ebp - 0x74]
movzx ecx, word [ebp - 0x78]
shl eax, 0x10
or eax, ecx
push eax
push edi
push esi
push dword [0x50ea7c]
call ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x38], 0
mov esi, 0x100f
je 0x429a4b
cmp dword [ebp - 0x38], 0
jne 0x429c23
push dword [0x50ea7c]
mov ecx, dword [ebp - 0x2c]
mov edx, str.Internet_Explorer
call fcn.004287d3
cmp eax, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x429c23
and dword [ebp - 0x28], 0
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x30]
push dword [0x50ea7c]
push dword [ebp - 0x2c]
call fcn.004289fa
test al, al
je 0x429c23
movzx eax, word [ebp - 0x58]
movzx ecx, word [ebp - 0x5c]
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x30]
push esi
push dword [0x50ea7c]
call ebx
movzx eax, word [ebp - 0x24]
movzx ecx, word [ebp - 0x28]
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x3c]
push esi
push dword [0x50ea7c]
call ebx
movzx eax, word [ebp - 0x74]
movzx ecx, word [ebp - 0x78]
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x30]
push esi
push dword [0x50ea7c]
call ebx
xor esi, esi
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x80]
push esi
push 0x1036
push dword [0x50ea7c]
call ebx
pop esi
mov ecx, dword [ebp + 0x1e8]
pop edi
xor ecx, ebp
pop ebx
call fcn.0043daf5
add ebp, 0x1ec
leave
ret