Function at 0x41fb4b
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x508797
mov eax, dword fs:[0]
push eax
sub esp, 0x268
mov eax, dword [0x54b3f0]
xor eax, esp
mov dword [esp + 0x260], eax
push ebx
push esi
push edi
mov eax, dword [0x54b3f0]
xor eax, esp
push eax
lea eax, [esp + 0x278]
mov dword fs:[0], eax
mov edx, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
mov eax, 0x8066
mov esi, ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x10], edi
cmp edx, eax
ja 0x41ff59
je 0x41fe29
sub edx, 0x4a
je 0x41fdee
sub edx, 0xc7
je 0x41fc1c
sub edx, 0x7f53
je 0x41fbf1
dec edx
jne 0x41ffd7
call fcn.00420493
xor ebx, ebx
push ebx
push ebx
push esi
push 0x421c0c
push ebx
push ebx
call fcn.004d8868
add esp, 0x18
mov dword [esi + 0x8b0], eax
jmp 0x41ffd1
xor ebx, ebx
cmp dword [esi + 0x8ac], ebx
jne 0x41ffd1
push ebx
push ebx
push esi
push 0x421bfc
push ebx
push ebx
call fcn.004d8868
add esp, 0x18
mov dword [esi + 0x8ac], eax
jmp 0x41ffd1
xor ebx, ebx
cmp dword [0x5500d4], ebx
je 0x41fc43
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [0x5500d4]
push eax
push str._INFO___d___HandleCustomMessage_wparam__d_.
call fcn.0042749e
add esp, 0xc
cmp dword [ebp + 0xc], 0x208
jne 0x41ffd7
mov dword [edi], 1
cmp dword [0x5500d4], ebx
je 0x41fc7e
push dword [esi + 0x8c8]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [0x5500d4]
push eax
push str._INFO___d___HandleCustomMessage_exit__page__d_.
call fcn.0042749e
add esp, 0xc
mov eax, dword [esi + 0x8c8]
mov byte [esi + 0xcc1], 1
cmp eax, 2
jne 0x41fca6
mov eax, esi
call fcn.00422d58
push 1
push ebx
mov ecx, esi
call fcn.0044275a
jmp 0x41ffd7
cmp eax, 1
jne 0x41fd5f
mov eax, dword [esi + 0x8d0]
push ecx
sub eax, 0x10
mov dword [esp + 0x14], esp
mov edi, esp
call fcn.00403e56
add eax, 0x10
mov dword [edi], eax
push dword [esi + 0x8cc]
call fcn.0042a8a7
pop ecx
pop ecx
cmp al, bl
jne 0x41fd6f
cmp dword [0x5500d4], ebx
je 0x41fcff
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [0x5500d4]
push eax
push str._WARN___d___HandleCustomMessage_exit__get_product_installed_failed.
call fcn.0042749e
pop ecx
pop ecx
push ebx
push 0x40
push ecx
mov eax, esp
mov dword [esp + 0x1c], esp
push 0x5320a4
push eax
call fcn.00403b4c
push ecx
mov dword [esp + 0x24], esp
mov edi, esp
push ecx
mov eax, esp
mov dword [esp + 0x28], esp
push str.tipmsg_close
push eax
mov dword [esp + 0x29c], 1
call fcn.00403b4c
push edi
push dword [esi + 0x894]
call fcn.00402ca8
or dword [esp + 0x290], 0xffffffff
xor ecx, ecx
push esi
inc ecx
call fcn.00422a7a
cmp eax, 1
je 0x41fd6f
jmp 0x41ffd7
cmp eax, 3
jne 0x41fd6f
mov ecx, dword [esi + 0x890]
call fcn.00418ef3
cmp dword [0x5500d4], ebx
je 0x41fd90
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [0x5500d4]
push eax
push str._INFO___d___HandleCustomMessage_exit_
call fcn.0042749e
pop ecx
pop ecx
push 9
push 0x532144
lea ecx, [esp + 0x20]
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.004023d3
xor edx, edx
inc edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x280], 2
call fcn.0040f16e
or dword [esp + 0x280], 0xffffffff
push ebx
push 1
lea ecx, [esp + 0x20]
call fcn.0040248a
push ebx
push ebx
push 0x81bc
mov ecx, esi
call fcn.00442ad2
jmp 0x41ffd7
xor ebx, ebx
cmp ecx, ebx
je 0x41ffd7
push dword [ecx + 8]
lea ecx, [esp + 0x54]
call fcn.0040ed9b
lea ecx, [esp + 0x50]
mov dword [esp + 0x280], 3
call fcn.0040f275
push ebx
push 1
lea ecx, [esp + 0x58]
call fcn.00403de3
jmp 0x41ffd7
mov eax, dword [esi + 0x890]
xor ebx, ebx
cmp byte [eax + 0x769], bl
je 0x41ff40
mov edi, eax
call fcn.00417a66
test al, al
je 0x41fee3
mov eax, dword [esi + 0x890]
mov edi, dword [eax + 0x788]
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
setne al
cmp al, bl
je 0x41fed0
xor eax, eax
push 0x1fe
mov word [esp + 0x70], ax
lea eax, [esp + 0x72]
push ebx
push eax
call fcn.004d8ce0
add esp, 0xc
push 0x100
lea eax, [esp + 0x70]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClassNameW]
mov ecx, 0x53202c
lea eax, [esp + 0x6c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41fec2
cmp dx, bx
je 0x41febe
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41fec2
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x41fe9c
xor eax, eax
jmp 0x41fec7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
sete al
cmp al, bl
jne 0x41fee3
mov eax, dword [esi + 0x890]
cmp byte [eax + 0x769], bl
je 0x41fee3
call fcn.0041b20d
push 9
push 0x532034
lea ecx, [esp + 0x3c]
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
call fcn.004023d3
xor edx, edx
lea ecx, [esp + 0x34]
mov dword [esp + 0x280], ebx
call fcn.0040f16e
or dword [esp + 0x280], 0xffffffff
push ebx
push 1
lea ecx, [esp + 0x3c]
call fcn.0040248a
push ebx
push ebx
push 0x81bc
mov ecx, esi
call fcn.00442ad2
mov edi, dword [esp + 0x10]
jmp 0x41ffd1
call fcn.00420669
mov eax, esi
call fcn.00422d58
push 1
push 1
mov ecx, esi
call fcn.0044275a
jmp 0x41ffd1
sub edx, 0x8067
je 0x41ffb3
dec edx
je 0x41ffab
sub edx, 0x154
je 0x41ff88
sub edx, 0x604
jne 0x41ffd7
mov eax, dword [ebp + 0xc]
cmp eax, dword [esi + 0x910]
jne 0x41ffd1
push ecx
push esi
call fcn.00422dd6
jmp 0x41ffd1
xor ebx, ebx
inc ebx
mov ecx, esi
mov dword [esi + 0x8a4], ebx
call fcn.00421c31
mov eax, esi
call fcn.00422d58
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov dword [edi], ebx
jmp 0x41ffd7
push esi
call fcn.00420023
jmp 0x41ffd1
xor ebx, ebx
push ebx
push ebx
push 0x8064
mov ecx, esi
call fcn.00442ad2
push ebx
push ebx
push 0x8065
mov ecx, esi
call fcn.00442ad2
mov dword [edi], 1
xor eax, eax
inc eax
mov ecx, dword [esp + 0x278]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x260]
xor ecx, esp
call fcn.004d57db
mov esp, ebp
pop ebp
ret 0x10