Function at 0x428800
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [0x51b7bc]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0x1c], 0
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, ecx
push edi
mov edi, dword [ebp + 0x18]
mov dword [ebp - 0x64], edx
mov dword [ebp - 8], edi
jne 0x428c90
cmp esi, 0x200
jne 0x428919
movsx ecx, ax
shr eax, 0x10
cwde
mov dword [ebp - 0x60], eax
push dword [ebp - 0x60]
mov eax, dword [ebx + 0x28]
mov dword [ebp - 8], ecx
push dword [ebp - 8]
mov dword [ebx + 0x24], 1
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xbc]
cmp dword [ebx + 0x3c], 0
je 0x428896
mov eax, dword [ebx + 4]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x74]
push eax
mov dword [ebp - 0x74], 0x10
mov dword [ebp - 0x70], 3
mov dword [ebp - 0x68], 0xffffffff
call dword [sym.imp.COMCTL32.dll__TrackMouseEvent]
mov dword [ebx + 0x3c], 0
mov eax, dword [ebx + 0x28]
push dword [ebp - 0x60]
push dword [ebp - 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xf4]
mov dword [ebp - 0x60], eax
test eax, eax
je 0x428bc2
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
cmp eax, dword [ebx + 0x48]
je 0x428900
mov ecx, dword [ebp - 0x60]
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, dword [ebx + 0x44]
je 0x428900
mov ecx, dword [ebp - 0x60]
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, 0x3e8
je 0x428900
mov ecx, dword [ebp - 0x60]
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, 0x3e9
je 0x428900
mov ecx, dword [ebp - 0x60]
push ecx
mov eax, dword [ecx]
call dword [eax + 4]
cmp eax, 0x3ea
jne 0x428bc2
push 0x7f89
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x428bc2
cmp esi, 0x2a3
jne 0x42894a
cmp dword [ebx + 0x3c], 0
mov dword [ebx + 0x24], 1
jne 0x428bc2
mov eax, dword [ebx + 0x28]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc4]
mov dword [ebx + 0x3c], 1
jmp 0x428bc2
cmp esi, 0x2a1
jne 0x428973
mov ecx, dword [ebx + 0x28]
movsx esi, ax
shr eax, 0x10
cwde
push eax
push esi
push dword [ebp - 0x64]
mov dword [ebx + 0x24], 1
mov edx, dword [ecx]
push ecx
call dword [edx + 0xc0]
jmp 0x4289f1
cmp esi, 0x201
jne 0x4289b2
push dword [ebx + 4]
movsx edi, ax
shr eax, 0x10
mov dword [ebx + 0x24], 1
movsx esi, ax
call dword [sym.imp.USER32.dll_SetCapture]
mov eax, dword [ebx + 0x28]
lea edx, [ebp - 0x60]
push edx
push esi
push edi
push dword [ebp - 0x64]
mov dword [ebp - 0x60], 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc8]
jmp 0x4289ee
cmp esi, 0x202
jne 0x428a52
mov ecx, dword [ebx + 0x28]
lea edi, [ebp - 0x60]
movsx esi, ax
push edi
shr eax, 0x10
cwde
push eax
push esi
push dword [ebp - 0x64]
mov dword [ebx + 0x24], 1
mov dword [ebp - 0x60], 1
mov edx, dword [ecx]
push ecx
call dword [edx + 0xcc]
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov edi, dword [ebp - 8]
mov dword [edi], 0
cmp dword [ebx + 0x24], 0
jne 0x428bd2
mov esi, dword [ebp + 0xc]
mov edx, dword [ebx + 0x48]
mov ecx, dword [ebp - 0x64]
test edx, edx
jle 0x428bea
cmp esi, 0x111
jne 0x428bea
movzx eax, cx
cmp edx, eax
jne 0x428bea
mov eax, dword [sym.imp.USER32.dll_EndDialog]
push edx
push dword [ebx + 4]
call eax
mov dword [edi], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00458638
mov esp, ebp
pop ebp
ret 0x18
cmp esi, 0x84
jne 0x428ab6
movsx ecx, ax
shr eax, 0x10
cwde
mov dword [ebp - 8], eax
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 4]
mov dword [ebx + 0x24], 1
mov dword [ebp - 0xc], ecx
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebx + 0x28]
push dword [ebp - 8]
push dword [ebp - 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xf4]
test eax, eax
je 0x428a9e
mov ecx, dword [eax]
push eax
call dword [ecx + 0x84]
test eax, eax
je 0x428aaa
mov eax, 2
mov dword [edi], eax
jmp 0x428bc8
mov eax, 1
mov dword [edi], eax
jmp 0x428bc8
cmp esi, 0x21
jne 0x428ad0
push dword [ebx + 4]
mov dword [ebx + 0x24], 1
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x428bc2
cmp esi, 0xf
jne 0x428b4a
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x54]
push ecx
push eax
mov dword [ebx + 0x24], 1
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], eax
call dword [sym.imp.USER32.dll_BeginPaint]
cmp dword [ebx + 0x38], 0
mov dword [ebp - 0x5c], eax
je 0x428b3b
lea eax, [ebp - 0x14]
xorps xmm0, xmm0
push eax
push dword [ebx + 4]
movups xmmword [ebp - 0x14], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebx + 0x38]
mov edx, dword [ebp - 8]
sub edx, dword [ebp - 0x10]
push 0xcc0020
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
push 0
push 0
push ecx
push edx
push eax
push 0
push 0
push dword [ebp - 0x5c]
call dword [sym.imp.GDI32.dll_BitBlt]
lea eax, [ebp - 0x54]
push eax
push dword [ebp - 0x58]
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x428bc2
cmp esi, 0x110
jne 0x428b68
push eax
push ecx
mov eax, esp
mov dword [ebx + 0x24], 1
mov dword [eax], edx
call fcn.00427f00
mov dword [edi], eax
jmp 0x428bc8
cmp esi, 0x111
jne 0x428ba7
mov eax, 0x3e8
cmp ax, dx
jne 0x428a04
push 8
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_EndDialog]
mov dword [edi], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00458638
mov esp, ebp
pop ebp
ret 0x18
cmp esi, 0x10
jne 0x428a04
push 8
push dword [ebx + 4]
mov dword [ebx + 0x24], 1
call dword [sym.imp.USER32.dll_EndDialog]
mov dword [edi], 0
cmp dword [ebx + 0x24], 0
je 0x428a04
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00458638
mov esp, ebp
pop ebp
ret 0x18
mov edx, dword [ebx + 0x44]
cmp esi, 0x111
jne 0x428c90
test edx, edx
jle 0x428c08
movzx eax, cx
cmp edx, eax
je 0x428a29
movzx eax, cx
mov ecx, 0x3e9
cmp cx, ax
jne 0x428c39
call fcn.00416070
mov ecx, eax
call fcn.00413640
push 1
push 0
push 0
test al, al
je 0x428c32
push str.http:__desk.52toolbox.com_cms_agreement_lenovo.html
jmp 0x428c65
push str.http:__desk.52toolbox.com_cms_agreement.html
jmp 0x428c65
mov ecx, 0x3ea
cmp cx, ax
jne 0x428c90
call fcn.00416070
mov ecx, eax
call fcn.00413640
push 1
push 0
push 0
test al, al
je 0x428c60
push str.http:__desk.52toolbox.com_cms_privacy_policy_lenovo.html
jmp 0x428c65
push str.http:__desk.52toolbox.com_cms_privacy_policy.html
push 0x4e816c
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [edi], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00458638
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00458638
mov esp, ebp
pop ebp
ret 0x18