Function at 0x474dda
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52f985
mov eax, dword fs:[0]
push eax
sub esp, 0x2b0
mov eax, dword [0x58b700]
xor eax, esp
mov dword [esp + 0x2a8], eax
push ebx
push esi
push edi
mov eax, dword [0x58b700]
xor eax, esp
push eax
lea eax, [esp + 0x2c0]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
mov edx, 0x8067
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
cmp eax, edx
ja 0x475327
je 0x47530b
sub eax, 0x4a
je 0x4752c7
sub eax, 0xc7
je 0x474ff5
sub eax, 0x7f53
je 0x474fca
dec eax
je 0x474fa4
dec eax
jne 0x47539e
mov ecx, dword [edi + 0x880]
mov al, byte [ecx + 0x719]
test al, al
je 0x474f7b
push ecx
call fcn.0046a176
xor esi, esi
test al, al
je 0x474f34
mov eax, dword [edi + 0x880]
mov eax, dword [eax + 0x734]
push eax
mov dword [esp + 0x14], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
setne al
test al, al
je 0x474f20
xor eax, eax
push 0x1fe
mov word [esp + 0xb8], ax
lea eax, [esp + 0xba]
push esi
push eax
call fcn.00505440
add esp, 0xc
lea eax, [esp + 0xb4]
push 0x100
push eax
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_GetClassNameW]
mov ecx, 0x565ff0
lea eax, [esp + 0xb4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x474f12
test dx, dx
je 0x474f0e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x474f12
add eax, 4
add ecx, 4
test dx, dx
jne 0x474eec
mov eax, esi
jmp 0x474f17
sbb eax, eax
or eax, 1
test eax, eax
sete al
test al, al
jne 0x474f34
mov eax, dword [edi + 0x880]
cmp byte [eax + 0x719], 0
je 0x474f34
call fcn.0046e2b6
push 0x565ff8
lea ecx, [esp + 0x28]
call fcn.0044e95a
push esi
lea eax, [esp + 0x28]
mov dword [esp + 0x2cc], esi
push eax
call fcn.00461622
or dword [esp + 0x2c8], 0xffffffff
lea ecx, [esp + 0x24]
push esi
push 1
call fcn.0044e987
push esi
push esi
push 0x81bc
mov ecx, edi
call fcn.0049db07
jmp 0x475398
mov ecx, edi
call fcn.004756ea
mov ecx, edi
call fcn.004787d9
push 1
push 1
mov ecx, edi
call fcn.0049df00
push 0x64
push 1
mov ecx, edi
call fcn.00479d59
jmp 0x475398
mov ecx, edi
call fcn.004755f0
xor esi, esi
push esi
push esi
push edi
push 0x4774e1
push esi
push esi
call fcn.005035c6
add esp, 0x18
mov dword [edi + 0x8a0], eax
jmp 0x475398
xor esi, esi
cmp dword [edi + 0x89c], esi
jne 0x475398
push esi
push esi
push edi
push 0x4774d5
push esi
push esi
call fcn.005035c6
add esp, 0x18
mov dword [edi + 0x89c], eax
jmp 0x475398
cmp dword [ebp + 0xc], 0x208
jne 0x47539e
xor esi, esi
inc esi
cmp dword [0x5922bc], 0
mov dword [ebx], esi
je 0x47502c
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._INFO___d___HandleCustomMessage_exit.
push 3
push dword [0x5922bc]
call fcn.0047e41d
add esp, 0x10
push str.tray_exit
lea ecx, [esp + 0x40]
call fcn.0044e95a
push str.button
lea ecx, [esp + 0x70]
mov dword [esp + 0x2cc], esi
call fcn.0044e95a
push str.downloader_click
lea ecx, [esp + 0xa0]
mov byte [esp + 0x2cc], 2
call fcn.0044e95a
lea eax, [esp + 0x3c]
mov byte [esp + 0x2c8], 3
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.0045da00
mov ecx, eax
call fcn.0045de2e
xor ebx, ebx
lea ecx, [esp + 0x9c]
push ebx
push esi
call fcn.0044e987
push ebx
push esi
lea ecx, [esp + 0x74]
call fcn.0044e987
or dword [esp + 0x2c8], 0xffffffff
lea ecx, [esp + 0x3c]
push ebx
push esi
call fcn.0044e987
mov ecx, dword [edi + 0x7d8]
mov byte [edi + 0xca9], 1
mov eax, dword [ecx]
call dword [eax + 0x100]
test al, al
je 0x4750eb
mov ecx, edi
call fcn.004787d9
push 1
push ebx
mov ecx, edi
call fcn.0049df00
jmp 0x47539e
mov ecx, dword [edi + 0x7d4]
mov eax, dword [ecx]
call dword [eax + 0x100]
test al, al
je 0x4752a1
push ecx
mov ecx, dword [edi + 0x8bc]
mov esi, esp
sub ecx, 0x10
call fcn.00450ad2
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [edi + 0x8b8]
call fcn.00481d0b
pop ecx
test al, al
jne 0x475230
cmp dword [0x5922bc], ebx
je 0x47514f
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._WARN___d___HandleCustomMessage_exit__get_product_installed_failed.
push 2
push dword [0x5922bc]
call fcn.0047e41d
add esp, 0x10
push 0x5660cc
lea ecx, [esp + 0x18]
call fcn.00450a6b
push ecx
mov ecx, esp
mov dword [esp + 0x2cc], 4
push 0x566054
call fcn.00450a6b
mov ecx, dword [edi + 0x884]
lea eax, [esp + 0x24]
push eax
call fcn.0044f515
push eax
push ecx
mov ecx, esp
mov byte [esp + 0x2d0], 5
push 0x5660c4
call fcn.00450a6b
mov ecx, dword [edi + 0x884]
lea eax, [esp + 0x24]
push eax
call fcn.0044f515
push eax
push ecx
mov ecx, esp
mov byte [esp + 0x2d4], 6
push str.tipmsg_close
call fcn.00450a6b
mov ecx, dword [edi + 0x884]
lea eax, [esp + 0x24]
push eax
call fcn.0044f515
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0x2d4], 7
push eax
push 1
mov ecx, edi
call fcn.0047843f
mov ecx, dword [esp + 0x18]
cmp eax, 1
setne bl
lea ecx, [ecx - 0x10]
call fcn.00450b32
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00450b32
mov ecx, dword [esp + 0x20]
lea ecx, [ecx - 0x10]
call fcn.00450b32
or dword [esp + 0x2c8], 0xffffffff
mov ecx, dword [esp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00450b32
test bl, bl
jne 0x47539e
xor ebx, ebx
cmp dword [0x5922bc], 0
je 0x475255
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._INFO___d___HandleCustomMessage_exit_
push 3
push dword [0x5922bc]
call fcn.0047e41d
add esp, 0x10
push 0x5660f8
lea ecx, [esp + 0x58]
call fcn.0044e95a
push 1
lea eax, [esp + 0x58]
mov dword [esp + 0x2cc], 8
push eax
call fcn.00461622
or dword [esp + 0x2c8], 0xffffffff
lea ecx, [esp + 0x54]
push ebx
push 1
call fcn.0044e987
push ebx
push ebx
push 0x81bc
mov ecx, edi
call fcn.0049db07
jmp 0x47539e
mov ecx, dword [edi + 0x7dc]
mov eax, dword [ecx]
call dword [eax + 0x100]
test al, al
je 0x475230
mov ecx, dword [edi + 0x880]
call fcn.0046bb9f
jmp 0x475230
test ecx, ecx
je 0x47539e
push dword [ecx + 8]
lea ecx, [esp + 0x88]
call fcn.00450c22
lea eax, [esp + 0x84]
mov dword [esp + 0x2c8], 9
push eax
call fcn.0046172b
push 0
push 1
lea ecx, [esp + 0x8c]
call fcn.00450f58
jmp 0x47539e
xor esi, esi
mov ecx, edi
push esi
push esi
push 0x8064
call fcn.0049db07
push esi
push esi
push 0x8065
jmp 0x474f6f
sub eax, 0x8068
je 0x475391
dec eax
je 0x475376
sub eax, 0x153
je 0x475354
sub eax, 0x604
jne 0x47539e
mov eax, dword [ebp + 0xc]
cmp eax, dword [edi + 0x8f8]
jne 0x475398
push ecx
mov ecx, edi
call fcn.00478859
jmp 0x475398
mov ecx, edi
mov dword [edi + 0x894], 1
call fcn.00477509
mov ecx, edi
call fcn.004787d9
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
jmp 0x475398
cmp byte [edi + 0x8dc], 0
jne 0x47539e
cmp byte [edi + 0x1428], 0
jne 0x47539e
mov ecx, edi
call fcn.00473561
jmp 0x47539e
mov ecx, edi
call fcn.004753e7
mov dword [ebx], 1
xor eax, eax
inc eax
mov ecx, dword [esp + 0x2c0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2a8]
xor ecx, esp
call fcn.005008c3
mov esp, ebp
pop ebp
ret 0x10