Function at 0x41bda0
Capabilities:
Create thread
Enumerate gui resources
Get common file path
Inspect load icon resource
Query or enumerate registry value
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3448
call fcn.0040ff90
mov eax, dword [0x43d064]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
mov dword [ebp - 0x3444], ecx
mov eax, dword [ebp - 0x3444]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x6e0], ecx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x454], 0
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x440], 0
lea edx, [ebp - 0x454]
push edx
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 2
push 0
push 6
call sub.WINSPOOL.DRV_EnumPrintersW
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.0040377a
add esp, 4
mov dword [ebp - 0x4b0], eax
lea edx, [ebp - 0x454]
push edx
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x4b0]
push edx
push 2
push 0
push 6
call sub.WINSPOOL.DRV_EnumPrintersW
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x440]
cmp ecx, dword [ebp - 0x454]
jae 0x41bea2
mov edx, dword [ebp - 0x460]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x3444]
add ecx, 0x2e38
push ecx
call fcn.0040241d
add esp, 8
test eax, eax
jne 0x41be82
mov dword [ebp - 0xc], 0
jmp 0x41bea2
mov edx, dword [ebp - 0x460]
add edx, 0x54
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 0x440]
add eax, 1
mov dword [ebp - 0x440], eax
jmp 0x41be48
cmp dword [ebp - 0xc], 0
je 0x41bebe
mov ecx, dword [ebp - 0x4b0]
push ecx
call fcn.0040354c
add esp, 4
xor eax, eax
jmp 0x41cf36
mov edx, dword [ebp - 0x460]
mov eax, dword [edx + 0x34]
and eax, 0x4000
jne 0x41bedf
mov ecx, dword [ebp - 0x460]
mov edx, dword [ecx + 0x34]
and edx, 0x800
jne 0x41bef5
mov eax, dword [ebp - 0x4b0]
push eax
call fcn.0040354c
add esp, 4
xor eax, eax
jmp 0x41cf36
lea ecx, [ebp - 0x450]
push ecx
mov ecx, dword [ebp - 0x3444]
add ecx, 0x45f8
call fcn.0042dab0
lea edx, [ebp - 0x474]
push edx
mov ecx, dword [ebp - 0x3444]
add ecx, 0x45f8
call fcn.0042dba0
lea eax, [ebp - 0x4ac]
push eax
mov ecx, dword [ebp - 0x3444]
add ecx, 0x45f8
call fcn.0042dc80
push 0x104
push 0
lea ecx, [ebp - 0x6c0]
push ecx
call fcn.00401f60
add esp, 0xc
push 0x104
lea edx, [ebp - 0xb18]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
lea eax, [ebp - 0xb18]
push eax
call fcn.00401070
add esp, 8
mov dword [ebp - 0x4b8], eax
cmp dword [ebp - 0x4b8], 0
jne 0x41bfa2
lea ecx, [ebp - 0x6c0]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
jmp 0x41bff1
lea edx, [ebp - 0xb18]
push edx
call fcn.00402006
add esp, 4
mov dword [ebp - 0xb20], eax
mov eax, dword [ebp - 0x4b8]
push eax
call fcn.00402006
add esp, 4
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0xb20]
sub ecx, dword [ebp - 0xb24]
shl ecx, 1
push ecx
lea edx, [ebp - 0xb18]
push edx
lea eax, [ebp - 0x6c0]
push eax
call fcn.00402020
add esp, 0xc
push str.KMSTMNET.ini
lea ecx, [ebp - 0x6c0]
push ecx
push 0x437760
push 0x104
mov edx, dword [ebp - 0x3444]
add edx, 0x4808
push edx
call fcn.00402385
add esp, 0x14
lea eax, [ebp - 0x6c0]
push eax
push 0x104
mov ecx, dword [ebp - 0x3444]
add ecx, 0x6e8
push ecx
call fcn.004023ae
add esp, 0xc
lea edx, [ebp - 0x910]
mov dword [ebp - 0xb1c], edx
mov eax, dword [ebp - 0xb1c]
push eax
mov ecx, dword [ebp - 0x3444]
add ecx, 0x4808
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x4b4], eax
cmp dword [ebp - 0x4b4], 0xffffffff
jne 0x41c131
push 0x104
lea edx, [ebp - 0xf88]
push edx
push 0x43776c
mov ecx, dword [ebp - 0x3444]
add ecx, 0x40c8
call fcn.0042e720
lea eax, [ebp - 0xf88]
push eax
call fcn.00402006
add esp, 4
test eax, eax
ja 0x41c0c4
push 0x437784
push 0x104
lea ecx, [ebp - 0xf88]
push ecx
call fcn.004023ae
add esp, 0xc
push 0x12c
lea edx, [ebp - 0xd80]
push edx
push 0x4377a4
mov ecx, dword [ebp - 0x3444]
add ecx, 0x40c8
call fcn.0042e720
lea eax, [ebp - 0xd80]
push eax
call fcn.00402006
add esp, 4
test eax, eax
ja 0x41c112
push 0x4377d0
push 0x104
lea ecx, [ebp - 0xd80]
push ecx
call fcn.004023ae
add esp, 0xc
push 0x30
lea edx, [ebp - 0xf88]
push edx
lea eax, [ebp - 0xd80]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x41cf36
mov ecx, dword [ebp - 0x4b4]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x448], 0x7fffffff
mov dword [ebp - 0x444], 0x7fffffff
mov edx, dword [ebp - 0x3444]
add edx, 0x2e38
push edx
push 0x437810
push 0x208
lea eax, [ebp - 0x430]
push eax
call fcn.00402385
add esp, 0x10
lea ecx, [ebp - 0x43c]
push ecx
push 1
push 0
lea edx, [ebp - 0x430]
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x41c431
mov dword [ebp - 0xf8c], 4
mov dword [ebp - 0x11a0], 4
lea eax, [ebp - 0x11a0]
push eax
lea ecx, [ebp - 0x119c]
push ecx
lea edx, [ebp - 0xf8c]
push edx
push 0
push str.Vender
mov eax, dword [ebp - 0x43c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41c20d
cmp dword [ebp - 0xf8c], 4
jne 0x41c20d
cmp dword [ebp - 0x119c], 1
je 0x41c1f9
cmp dword [ebp - 0x119c], 2
jne 0x41c20d
mov ecx, dword [ebp - 0x3444]
mov dx, word [ebp - 0x119c]
mov word [ecx + 0x2e18], dx
lea eax, [ebp - 0x11a0]
push eax
lea ecx, [ebp - 0x119c]
push ecx
lea edx, [ebp - 0xf8c]
push edx
push 0
push str.Model
mov eax, dword [ebp - 0x43c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41c269
cmp dword [ebp - 0xf8c], 4
jne 0x41c269
cmp dword [ebp - 0x119c], 0
jbe 0x41c269
cmp dword [ebp - 0x119c], 0x64
jae 0x41c269
mov ecx, dword [ebp - 0x3444]
mov dx, word [ebp - 0x119c]
mov word [ecx + 0x2e1a], dx
lea eax, [ebp - 0x11a0]
push eax
lea ecx, [ebp - 0x119c]
push ecx
lea edx, [ebp - 0xf8c]
push edx
push 0
push 0x43787c
mov eax, dword [ebp - 0x43c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41c2c5
cmp dword [ebp - 0xf8c], 4
jne 0x41c2c5
cmp dword [ebp - 0x119c], 0
jb 0x41c2c5
cmp dword [ebp - 0x119c], 5
ja 0x41c2c5
mov ecx, dword [ebp - 0x3444]
mov dx, word [ebp - 0x119c]
mov word [ecx + 0x2e24], dx
lea eax, [ebp - 0x11a0]
push eax
lea ecx, [ebp - 0x119c]
push ecx
lea edx, [ebp - 0xf8c]
push edx
push 0
push str.Option
mov eax, dword [ebp - 0x43c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41c316
cmp dword [ebp - 0xf8c], 4
jne 0x41c316
cmp dword [ebp - 0x119c], 0
je 0x41c316
mov ecx, dword [ebp - 0x3444]
mov edx, dword [ebp - 0x119c]
mov dword [ecx + 0x2e20], edx
lea eax, [ebp - 0x11a0]
push eax
lea ecx, [ebp - 0x119c]
push ecx
lea edx, [ebp - 0xf8c]
push edx
push 0
push str.PosX
mov eax, dword [ebp - 0x43c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41c361
cmp dword [ebp - 0xf8c], 4
jne 0x41c361
cmp dword [ebp - 0x119c], 0
je 0x41c361
mov ecx, dword [ebp - 0x119c]
mov dword [ebp - 0x448], ecx
lea edx, [ebp - 0x11a0]
push edx
lea eax, [ebp - 0x119c]
push eax
lea ecx, [ebp - 0xf8c]
push ecx
push 0
push str.PosY
mov edx, dword [ebp - 0x43c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41c3ac
cmp dword [ebp - 0xf8c], 4
jne 0x41c3ac
cmp dword [ebp - 0x119c], 0
je 0x41c3ac
mov eax, dword [ebp - 0x119c]
mov dword [ebp - 0x444], eax
mov dword [ebp - 0xf8c], 1
mov dword [ebp - 0x11a0], 0x208
lea ecx, [ebp - 0x11a0]
push ecx
lea edx, [ebp - 0x1198]
push edx
lea eax, [ebp - 0xf8c]
push eax
push 0
push str.Modelname
mov ecx, dword [ebp - 0x43c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x41c41f
cmp dword [ebp - 0xf8c], 1
jne 0x41c41f
cmp dword [ebp - 0x119c], 0
je 0x41c41f
lea edx, [ebp - 0x1198]
push edx
push 0x104
mov eax, dword [ebp - 0x3444]
add eax, 0x2bcc
push eax
call fcn.004023ae
add esp, 0xc
mov ecx, dword [ebp - 0x43c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x41c5ec
push 0x2000
push 0
lea edx, [ebp - 0x31a8]
push edx
call fcn.00401f60
add esp, 0xc
mov eax, dword [ebp - 0x3444]
add eax, 0x4808
push eax
push 0x2000
lea ecx, [ebp - 0x31a8]
push ecx
push 0x4378c4
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jbe 0x41c5ec
lea edx, [ebp - 0x31a8]
mov dword [ebp - 0x11a4], edx
mov eax, dword [ebp - 0x11a4]
movzx ecx, word [eax]
test ecx, ecx
je 0x41c5ec
mov edx, dword [ebp - 0x3444]
add edx, 0x4808
push edx
push 0x208
lea eax, [ebp - 0x33b0]
push eax
push 0x4378c8
push 0x4378cc
mov ecx, dword [ebp - 0x11a4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jbe 0x41c5ba
mov dx, word [ebp - 0x33aa]
mov word [ebp - 0x33bc], dx
xor eax, eax
mov word [ebp - 0x33ba], ax
mov cx, word [ebp - 0x33a8]
mov word [ebp - 0x33b8], cx
mov dx, word [ebp - 0x33a6]
mov word [ebp - 0x33b6], dx
xor eax, eax
mov word [ebp - 0x33b4], ax
mov ecx, dword [ebp - 0x3444]
add ecx, 0x4808
push ecx
push 0x208
lea edx, [ebp - 0x33b0]
push edx
push 0x4378d8
push 0x4378dc
mov eax, dword [ebp - 0x11a4]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp - 0x3444]
movzx esi, word [ecx + 0x2e18]
lea edx, [ebp - 0x33bc]
push edx
call fcn.0040277b
add esp, 4
cmp esi, eax
jne 0x41c5ba
mov eax, dword [ebp - 0x3444]
movzx esi, word [eax + 0x2e1a]
lea ecx, [ebp - 0x33b8]
push ecx
call fcn.0040277b
add esp, 4
cmp esi, eax
jne 0x41c5ba
mov edx, dword [ebp - 0x3444]
movzx esi, word [edx + 0x2e24]
lea eax, [ebp - 0x33b0]
push eax
call fcn.0040277b
add esp, 4
cmp esi, eax
jne 0x41c5ba
mov ecx, dword [ebp - 0x11a4]
push ecx
push 0x104
mov edx, dword [ebp - 0x3444]
add edx, 0x2bcc
push edx
call fcn.004023ae
add esp, 0xc
jmp 0x41c5ec
mov eax, dword [ebp - 0x11a4]
movzx ecx, word [eax]
test ecx, ecx
je 0x41c5d8
mov edx, dword [ebp - 0x11a4]
add edx, 2
mov dword [ebp - 0x11a4], edx
jmp 0x41c5ba
mov eax, dword [ebp - 0x11a4]
add eax, 2
mov dword [ebp - 0x11a4], eax
jmp 0x41c482
xor ecx, ecx
cmp ecx, dword [ebp - 0x4ac]
sbb edx, edx
and edx, 0xc8
add edx, 0xc8
mov dword [ebp - 0x438], edx
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x478], eax
push 0x4c
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x470], eax
push 0x4e
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add eax, dword [ebp - 0x470]
mov dword [ebp - 0x468], eax
push 0x4d
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x46c], eax
push 0x4f
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add eax, dword [ebp - 0x46c]
mov dword [ebp - 0x464], eax
cmp dword [ebp - 0x448], 0x7fffffff
je 0x41c6c0
cmp dword [ebp - 0x444], 0x7fffffff
je 0x41c6c0
mov ecx, dword [ebp - 0x444]
push ecx
mov edx, dword [ebp - 0x448]
push edx
lea eax, [ebp - 0x470]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x41c6c0
mov eax, dword [ebp - 0x438]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x448]
sub ecx, eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x478]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x444]
sub edx, eax
mov dword [ebp - 0x14], edx
jmp 0x41c908
push 0
lea eax, [ebp - 0x470]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov ecx, dword [ebp - 0x3444]
mov dword [ecx + 0x5824], 0
mov edx, dword [ebp - 0x3444]
push edx
push 0x416f10
call dword [sym.imp.USER32.dll_EnumWindows]
mov eax, dword [ebp - 0x438]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x468]
sub ecx, eax
mov dword [ebp - 0x33cc], ecx
mov edx, dword [ebp - 0x468]
mov dword [ebp - 0x33c4], edx
mov eax, dword [ebp - 0x478]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x464]
sub ecx, eax
mov dword [ebp - 0x33c8], ecx
mov edx, dword [ebp - 0x464]
mov dword [ebp - 0x33c0], edx
lea eax, [ebp - 0x33cc]
push eax
lea ecx, [ebp - 0x33e0]
push ecx
call dword [sym.imp.USER32.dll_CopyRect]
mov edx, dword [ebp - 0x3444]
cmp dword [edx + 0x5824], 0
jle 0x41c8d4
mov dword [ebp - 0x33d0], 0
mov dword [ebp - 0x33f4], 0
jmp 0x41c78b
mov eax, dword [ebp - 0x33f4]
add eax, 1
mov dword [ebp - 0x33f4], eax
mov ecx, dword [ebp - 0x3444]
mov edx, dword [ebp - 0x33f4]
cmp edx, dword [ecx + 0x5824]
jge 0x41c7da
mov eax, dword [ebp - 0x33f4]
shl eax, 4
mov ecx, dword [ebp - 0x3444]
lea edx, [ecx + eax + 0x5828]
push edx
lea eax, [ebp - 0x33cc]
push eax
lea ecx, [ebp - 0x33f0]
push ecx
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x41c7d8
mov dword [ebp - 0x33d0], 1
jmp 0x41c77c
cmp dword [ebp - 0x33d0], 0
jne 0x41c7e8
jmp 0x41c8d4
lea edx, [ebp - 0x33cc]
push edx
lea eax, [ebp - 0x33f0]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
push 0
mov eax, dword [ebp - 0x438]
neg eax
cdq
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x33f0]
push ecx
call dword [sym.imp.USER32.dll_OffsetRect]
cmp dword [ebp - 0x33f0], 0
jle 0x41c83b
lea edx, [ebp - 0x33f0]
push edx
lea eax, [ebp - 0x33cc]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
jmp 0x41c8cf
mov eax, dword [ebp - 0x478]
neg eax
cdq
sub eax, edx
sar eax, 1
push eax
push 0
lea ecx, [ebp - 0x33e0]
push ecx
call dword [sym.imp.USER32.dll_OffsetRect]
cmp dword [ebp - 0x33dc], 0
jle 0x41c877
lea edx, [ebp - 0x33e0]
push edx
lea eax, [ebp - 0x33cc]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
jmp 0x41c8cf
mov ecx, dword [ebp - 0x468]
sub ecx, dword [ebp - 0x438]
mov dword [ebp - 0x33cc], ecx
mov eax, dword [ebp - 0x438]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x468]
sub edx, eax
mov dword [ebp - 0x33c4], edx
mov eax, dword [ebp - 0x464]
sub eax, dword [ebp - 0x478]
mov dword [ebp - 0x33c8], eax
mov eax, dword [ebp - 0x478]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x464]
sub ecx, eax
mov dword [ebp - 0x33c0], ecx
jmp 0x41c8d4
jmp 0x41c753
mov eax, dword [ebp - 0x438]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov edx, dword [ebp - 0x33cc]
sub edx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x478]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x33c8]
sub ecx, eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x45c], 0
mov edx, dword [ebp - 0x45c]
or edx, 0x80
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x45c]
or eax, 0x80000
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x3444]
add ecx, 0x40c8
call fcn.0042e3f0
mov dword [ebp - 8], eax
cmp dword [ebp - 0x474], 0
je 0x41c961
mov ecx, dword [ebp - 0x45c]
or ecx, 8
mov dword [ebp - 0x45c], ecx
cmp dword [ebp - 8], 0
je 0x41c99c
mov edx, dword [ebp - 0x45c]
or edx, 0x2000
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x45c]
or eax, 0x400000
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x45c]
or ecx, 0x1000
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x3444]
push edx
mov eax, dword [ebp + 8]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x478]
push ecx
mov edx, dword [ebp - 0x438]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
push 0x98000000
mov edx, dword [ebp - 0x3444]
add edx, 0x3c0
push edx
mov eax, dword [ebp - 0x3444]
add eax, 0x550
push eax
mov ecx, dword [ebp - 0x45c]
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x3444]
mov dword [edx + 0x6e4], eax
mov eax, dword [ebp - 0x3444]
cmp dword [eax + 0x6e4], 0
jne 0x41ca0e
xor eax, eax
jmp 0x41cf36
push 0
mov ecx, dword [ebp + 8]
push ecx
push 0
mov edx, dword [ebp - 0x3444]
mov eax, dword [edx + 0x6e4]
push eax
push 0x80000000
push 0x80000000
push 0x80000000
push 0x80000000
push 0x800000c3
push 0
push 0x4378e8
mov ecx, dword [ebp - 0x45c]
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edx, dword [ebp - 0x3444]
mov dword [edx + 0x3980], eax
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x3444]
mov ecx, dword [eax + 0x3980]
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x30
push 0
lea edx, [ebp - 0x4a8]
push edx
call fcn.00401f60
add esp, 0xc
mov dword [ebp - 0x4a8], 0x30
mov eax, dword [ebp + 8]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x3444]
mov edx, dword [ecx + 0x6e4]
mov dword [ebp - 0x4a0], edx
mov dword [ebp - 0x484], 0xffffffff
mov dword [ebp - 0x4a4], 0x20
cmp dword [ebp - 8], 0
je 0x41cadc
mov eax, dword [ebp - 0x4a4]
or eax, 4
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x49c], 2
lea ecx, [ebp - 0x4a8]
push ecx
push 0
push 0x432
mov edx, dword [ebp - 0x3444]
mov eax, dword [edx + 0x3980]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0xfa
push 0
push 0x418
mov ecx, dword [ebp - 0x3444]
mov edx, dword [ecx + 0x3980]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
mov eax, dword [ebp + 8]
push eax
push 0
mov ecx, dword [ebp - 0x3444]
mov edx, dword [ecx + 0x6e4]
push edx
push 0x80000000
push 0x80000000
push 0x80000000
push 0x80000000
push 0x80000003
push 0
push str.tooltips_class32
mov eax, dword [ebp - 0x45c]
push eax
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, dword [ebp - 0x3444]
mov dword [ecx + 0x3258], eax
push 0x13
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov edx, dword [ebp - 0x3444]
mov eax, dword [edx + 0x3258]
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov dword [ebp - 0x484], 0xffffffff
mov dword [ebp - 0x4a4], 0x20
cmp dword [ebp - 8], 0
je 0x41cbbc
mov ecx, dword [ebp - 0x4a4]
or ecx, 4
mov dword [ebp - 0x4a4], ecx
mov dword [ebp - 0x49c], 1
mov eax, dword [ebp - 0x438]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x498], eax
mov eax, dword [ebp - 0x438]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x490], eax
mov eax, dword [ebp - 0x478]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x494], eax
mov eax, dword [ebp - 0x478]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x48c], eax
lea edx, [ebp - 0x4a8]
push edx
push 0
push 0x432
mov eax, dword [ebp - 0x3444]
mov ecx, dword [eax + 0x3258]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push 0xfa
push 0
push 0x418
mov edx, dword [ebp - 0x3444]
mov eax, dword [edx + 0x3258]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x75
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_LoadIconW]
mov edx, dword [ebp - 0x3444]
mov dword [edx + 0x40c4], eax
push 0
lea eax, [ebp - 0x434]
push eax
push 0
push 0x66
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
jne 0x41cc8b
mov dword [ebp - 0x434], 0xffffffff
mov ecx, dword [ebp - 0x3444]
mov dword [ecx + 0x396c], 0x10
mov edx, dword [ebp - 0x3444]
mov dword [edx + 0x3970], 0x13
mov eax, dword [ebp - 0x3444]
mov ecx, dword [ebp - 0x434]
mov dword [eax + 0x3978], ecx
mov edx, dword [ebp - 0x3444]
mov eax, dword [ebp - 0x3444]
mov ecx, dword [eax + 0x6e4]
mov dword [edx + 0x3974], ecx
mov ecx, dword [ebp - 0x3444]
call fcn.0041b390
test eax, eax
jge 0x41cceb
xor eax, eax
jmp 0x41cf36
mov dword [ebp - 0x458], 0
push 0
lea edx, [ebp - 0x458]
push edx
push 0
push 0x1002
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
je 0x41cd21
cmp dword [ebp - 0x458], 0
je 0x41cd21
mov byte [ebp - 0x449], 0
jmp 0x41cd3c
mov eax, dword [ebp - 0x450]
imul eax, eax, 0xff
xor edx, edx
mov ecx, 0x64
div ecx
mov byte [ebp - 0x449], al
push 3
movzx edx, byte [ebp - 0x449]
push edx
push 0
mov eax, dword [ebp - 0x3444]
mov ecx, dword [eax + 0x6e4]
push ecx
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
mov edx, dword [ebp - 0x3444]
cmp dword [edx + 0x3248], 0
jne 0x41cd9f
mov eax, dword [ebp - 0x3444]
mov ecx, dword [eax + 0x6e4]
push ecx
push str._08x
push 0x20
lea edx, [ebp - 0x3438]
push edx
call fcn.00402385
add esp, 0x10
lea eax, [ebp - 0x3438]
push eax
mov ecx, dword [ebp - 0x3444]
call fcn.00416fe0
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [ebp - 0x3444]
mov dword [ecx + 0x324c], eax
mov dword [ebp - 4], 0x65
lea edx, [ebp - 4]
push edx
push 0
mov eax, dword [ebp - 0x3444]
push eax
push 0x416a60
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 0x3444]
mov dword [ecx + 0x3250], eax
mov edx, dword [ebp - 0x460]
mov eax, dword [edx + 0xc]
push eax
push 0x104
mov ecx, dword [ebp - 0x3444]
add ecx, 0xd34
push ecx
call fcn.004023ae
add esp, 0xc
push 0xeb4
call fcn.00402cc4
add esp, 4
mov dword [ebp - 0x3440], eax
cmp dword [ebp - 0x3440], 0
je 0x41ce3b
mov ecx, dword [ebp - 0x3440]
call fcn.004146e0
mov dword [ebp - 0x3448], eax
jmp 0x41ce45
mov dword [ebp - 0x3448], 0
mov edx, dword [ebp - 0x3448]
mov dword [ebp - 0x343c], edx
mov eax, dword [ebp - 0x3444]
mov ecx, dword [ebp - 0x343c]
mov dword [eax + 0xb08], ecx
mov edx, dword [ebp - 0x3444]
add edx, 0xb2c
push edx
mov eax, dword [ebp - 0x3444]
add eax, 0xd34
push eax
mov ecx, dword [ebp - 0x3444]
add ecx, 0x2e38
push ecx
mov edx, dword [ebp - 0x3444]
mov eax, dword [edx + 0x6e4]
push eax
mov ecx, dword [ebp - 0x3444]
mov ecx, dword [ecx + 0xb08]
call fcn.00415e00
mov edx, dword [ebp - 0x4b0]
push edx
call fcn.0040354c
add esp, 4
push 0
push 0x3e8
push 0x86
mov eax, dword [ebp - 0x3444]
mov ecx, dword [eax + 0x6e4]
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, dword [ebp - 0x3444]
mov dword [edx + 0xb10], eax
push 0x12c
mov eax, dword [ebp - 0x3444]
add eax, 0x3264
push eax
push 0x43793c
mov ecx, dword [ebp - 0x3444]
add ecx, 0x40c8
call fcn.0042e720
mov ecx, dword [ebp - 0x3444]
call fcn.00418480
mov ecx, dword [ebp - 0x3444]
call fcn.00417840
mov ecx, dword [ebp - 0x3444]
mov edx, dword [ecx + 0x6e4]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, 1
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00401f44
mov esp, ebp
pop ebp
ret 8