Function at 0x442b10
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x164
mov eax, dword [0x76a02c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0
push 0x776998
mov edi, ecx
push 0x7759cc
push 0
push str.tab_main2
lea ecx, [edi + 0x34]
call fcn.00479ce0
push eax
call fcn.005325ba
add esp, 0x14
mov dword [edi + 0x12e8], eax
test eax, eax
je 0x442f0a
push 0
push 0x776998
push 0x7759cc
push 0
push str.tab_state
lea ecx, [edi + 0x34]
call fcn.00479ce0
push eax
call fcn.005325ba
add esp, 0x14
mov dword [edi + 0x12ec], eax
test eax, eax
je 0x442f0a
push 0
push 0x776978
push 0x7759cc
push 0
push str.list_scan
lea ecx, [edi + 0x34]
call fcn.00479ce0
push eax
call fcn.005325ba
add esp, 0x14
mov dword [edi + 0x12f8], eax
test eax, eax
je 0x442f0a
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x31
call esi
push 0x32
mov ebx, eax
call esi
push 1
push 0
mov dword [ebp - 0x154], eax
call dword [sym.imp.USER32.dll_MonitorFromWindow]
push 0x64
mov esi, eax
lea eax, [ebp - 0x6c]
push 0
push eax
call fcn.00530310
add esp, 0xc
mov dword [ebp - 0x70], 0x68
lea eax, [ebp - 0x70]
push eax
push esi
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
test eax, eax
je 0x442c52
push 0xdc
lea eax, [ebp - 0x150]
push 0
push eax
call fcn.00530310
add esp, 0xc
mov eax, 0xdc
mov word [ebp - 0x10c], ax
lea eax, [ebp - 0x150]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_EnumDisplaySettingsW]
test eax, eax
je 0x442c52
cmp word [ebp - 0xaa], 0x60
je 0x442c52
mov ebx, 0x80
mov esi, ebx
jmp 0x442c58
mov esi, dword [ebp - 0x154]
cmp dword [edi + 0x1314], 0
mov eax, dword [sym.imp.USER32.dll_LoadImageW]
jne 0x442c81
push 0
push esi
push ebx
push 1
push 0x6c
push dword [0x778a50]
call eax
mov dword [edi + 0x1314], eax
mov eax, dword [sym.imp.USER32.dll_LoadImageW]
cmp dword [edi + 0x1318], 0
jne 0x442ca0
push 0
push esi
push ebx
push 1
push 0x6f
push dword [0x778a50]
call eax
mov dword [edi + 0x1318], eax
cmp dword [edi + 0x131c], 0
jne 0x442cc3
push 0
push esi
push ebx
push 1
push 0x6d
push dword [0x778a50]
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [edi + 0x131c], eax
mov ecx, edi
call fcn.00446320
mov esi, dword [sym.imp.USER32.dll_RegisterWindowMessageW]
push str.TaskbarCreated
call esi
push 0x7487d4
mov dword [edi + 0x130c], eax
call esi
mov dword [edi + 0x1310], eax
call fcn.00431fb0
mov ecx, eax
call fcn.00436c00
test eax, eax
je 0x442d01
push 1
call fcn.0044dcc0
push dword [ebp - 0x154]
push 0x780388
push 0x772c18
call fcn.00428980
add esp, 8
movzx eax, ax
mov ecx, 0x780368
push eax
push 0
push 0x80
push 0x86020000
push 0
push 0
push 0
call fcn.00428810
cmp dword [0x77d01c], 0
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x77d0b0], 1
mov dword [0x77d0ac], 0
jne 0x442d84
lea eax, [ebp - 0x154]
mov dword [0x77d020], 0
push eax
push 0
push 0x77d01c
push 0x4587c0
push 0
push 0
call esi
mov dword [0x77d01c], eax
cmp dword [0x77d098], 0
jne 0x442dab
lea eax, [ebp - 0x160]
push eax
push 0
push 0x77cff8
push 0x42ec90
push 0
push 0
call esi
mov dword [0x77d098], eax
call fcn.004464c0
call fcn.00431fb0
mov ecx, eax
call fcn.00436ad0
test eax, eax
jne 0x442de2
call fcn.00431fb0
mov ecx, eax
call fcn.00436740
test eax, eax
je 0x442de2
push 0
push 0x3e8
push 2
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call fcn.0042a200
mov edx, edi
lea ecx, [edi + 0x30]
neg edx
mov esi, eax
sbb edx, edx
and edx, ecx
mov ecx, dword [esi + 8]
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x154], edx
cmp ecx, ebx
jne 0x442e65
mov edx, dword [esi + 4]
lea eax, [ebp - 0x158]
cmp eax, edx
jb 0x442e2c
lea eax, [edx + ebx*4]
lea edx, [ebp - 0x158]
cmp edx, eax
mov edx, dword [esi + 4]
jb 0x442f20
test ebx, ebx
jne 0x442e37
mov ebx, 1
jmp 0x442e46
lea ebx, [ecx + ecx]
test ebx, ebx
js 0x442e7a
cmp ebx, 0x1fffffff
ja 0x442e7a
push 4
push ebx
push edx
call fcn.0054136d
add esp, 0xc
test eax, eax
je 0x442e7a
mov ecx, dword [esi + 8]
mov edx, dword [ebp - 0x154]
mov dword [esi + 0xc], ebx
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
lea eax, [eax + ecx*4]
test eax, eax
je 0x442e74
mov dword [eax], edx
mov ecx, dword [esi + 8]
lea eax, [ecx + 1]
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x14]
lea eax, [edi + 0x794]
mov ebx, dword [esi + 0x18]
neg edi
sbb edi, edi
and edi, eax
cmp ecx, ebx
jne 0x442ee0
mov edx, dword [esi + 0x10]
lea eax, [ebp - 0x15c]
cmp eax, edx
jb 0x442ead
lea eax, [edx + ebx*4]
lea ebx, [ebp - 0x15c]
cmp ebx, eax
mov ebx, dword [esi + 0x18]
jb 0x442f20
test ebx, ebx
jne 0x442eb8
mov ebx, 1
jmp 0x442ec7
lea ebx, [ecx + ecx]
test ebx, ebx
js 0x442ef5
cmp ebx, 0x1fffffff
ja 0x442ef5
push 4
push ebx
push edx
call fcn.0054136d
add esp, 0xc
test eax, eax
je 0x442ef5
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x18], ebx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
lea eax, [eax + ecx*4]
test eax, eax
je 0x442eef
mov dword [eax], edi
mov ecx, dword [esi + 0x14]
lea eax, [ecx + 1]
mov dword [esi + 0x14], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00468d3e
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00468d3e
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.004222a0
int3