Function at 0x41a7b2
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x425407
push eax
mov dword fs:[0], esp
sub esp, 0x98
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
cmp edi, 0xf
je 0x41a941
cmp edi, 0x318
je 0x41a941
cmp edi, 0x14
jne 0x41a7fb
xor eax, eax
inc eax
jmp 0x41abb7
cmp edi, 1
jne 0x41a8ca
push 0xc
call fcn.0040ea8f
pop ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0xac], 2
mov ebx, dword [ebp + 8]
test eax, eax
je 0x41a832
push dword [ebx + 0x218]
push 0x70
push eax
call fcn.00406f6a
jmp 0x41a834
xor eax, eax
or dword [esp + 0xac], 0xffffffff
push 0xc
mov dword [ebx + 0x64c], eax
call fcn.0040ea8f
pop ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0xac], 3
test eax, eax
je 0x41a86d
push dword [ebx + 0x218]
push 0x77
push eax
call fcn.00406f6a
jmp 0x41a86f
xor eax, eax
or dword [esp + 0xac], 0xffffffff
mov dword [ebx + 0x650], eax
call fcn.00419d84
call fcn.00419c58
mov eax, dword [ebx + 0x654]
xor esi, esi
push esi
push esi
push esi
xor dl, dl
call fcn.00420b3e
push 0xfffffffffffffff0
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 0x2000000
push eax
push 0xfffffffffffffff0
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push esi
push esi
push ebx
push 0x41a79b
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x41abb5
cmp edi, 0x111
jne 0x41a92c
cmp dword [ebp + 0x14], 0xc8
jne 0x41a92c
push dword [0x434a38]
call fcn.0040f461
mov esi, dword [ebp + 8]
add esi, 0x654
pop ecx
cmp eax, 1
jne 0x41a907
xor eax, eax
push eax
push eax
push eax
mov eax, dword [esi]
xor dl, dl
call fcn.00420b3e
xor al, al
jmp 0x41a918
mov eax, dword [esi]
push 0
push 1
push 0
mov dl, 1
call fcn.00420b3e
mov al, 1
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x240]
call fcn.0041b4e7
mov ecx, dword [esi]
call fcn.00420ec7
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push edi
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x41abb7
lea eax, [esp + 0x60]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_BeginPaint]
push eax
lea esi, [esp + 0x20]
mov dword [esp + 0x18], eax
call fcn.00406be7
xor eax, eax
mov dword [esp + 0xac], eax
mov ebx, dword [ebp + 8]
push dword [ebx + 0x66c]
push dword [ebx + 0x668]
push eax
push eax
mov eax, dword [ebx + 0x64c]
mov eax, dword [eax + 4]
call fcn.00406ce4
fld dword [0x42bc80]
fstp dword [esp + 0x28]
sub esp, 0x10
fld dword [0x42bc7c]
mov edi, esp
fstp dword [esp + 0x3c]
lea esi, [esp + 0x38]
fld dword [0x42bca0]
or eax, 0xffffffff
fstp dword [esp + 0x40]
push eax
fld dword [0x42bc74]
mov ecx, 0xff000000
fstp dword [esp + 0x48]
movsd dword es:[edi], dword [esi]
fld1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
fstp dword [esp]
fld dword [0x42bc70]
push ecx
push ecx
lea eax, [esp + 0x3c]
fstp dword [esp]
push str.Installing_...
push eax
call fcn.0040a2de
fldz
add esp, 0x28
fst dword [esp + 0x44]
push 0
fst dword [esp + 0x44]
push ecx
fst dword [esp + 0x44]
lea esi, [esp + 0x50]
fstp dword [esp + 0x40]
fld dword [0x42bcd4]
fstp dword [esp]
push str.Arial
call fcn.00406d42
mov byte [esp + 0xac], 1
fld dword [0x42bcd0]
lea eax, [esp + 0x38]
fst dword [esp + 0x28]
lea esi, [ebx + 0x44c]
fstp dword [esp + 0x2c]
push eax
push esi
mov dword [esp + 0x2c], esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push esi
lea eax, [esp + 0x34]
lea ecx, [esp + 0x54]
lea esi, [esp + 0x28]
call fcn.00406c97
lea eax, [ebx + 0x660]
mov dword [esp + 0x18], eax
add ebx, 0x658
mov eax, dword [eax]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov dword [esp + 0x28], ebx
test eax, eax
jge 0x41aa79
fadd dword [0x42bc58]
fld dword [esp + 0x40]
mov eax, dword [ebx]
fadd dword [esp + 0x38]
fstp dword [esp + 0x10]
fsub dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul qword [0x42bcc8]
fild dword [ebx]
test eax, eax
jge 0x41aaa5
fadd dword [0x42bc58]
faddp st(1)
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x60]
fadd qword [0x42bcc0]
mov eax, 0xff000000
push eax
push 1
fstp dword [esp + 0x68]
push ecx
fld dword [0x42bcd0]
lea ebx, [esp + 0x38]
fstp dword [esp + 0x70]
fld dword [0x42bca0]
fstp dword [esp + 0x74]
fld dword [0x42bc74]
fstp dword [esp + 0x78]
movsd dword es:[edi], dword [esi]
fld dword [0x42bcd4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fstp dword [esp]
push dword [esp + 0x40]
call fcn.0040a21b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x664]
fild dword [eax + 0x664]
test ecx, ecx
jge 0x41ab14
fadd dword [0x42bc58]
mov ecx, dword [esp + 0x38]
fstp dword [esp + 0x1c]
mov ecx, dword [ecx]
add esp, 0x10
mov dword [esp + 0x28], ecx
fild dword [esp + 0x28]
test ecx, ecx
jge 0x41ab33
fadd dword [0x42bc58]
mov ecx, dword [eax + 0x65c]
fstp dword [esp + 8]
fild dword [eax + 0x65c]
test ecx, ecx
jge 0x41ab4d
fadd dword [0x42bc58]
mov ecx, dword [esp + 0x38]
fstp dword [esp + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
test ecx, ecx
jge 0x41ab69
fadd dword [0x42bc58]
mov eax, dword [eax + 0x670]
fstp dword [esp]
lea esi, [esp + 0x2c]
call fcn.0040ba9e
lea eax, [esp + 0x60]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_EndPaint]
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov byte [esp + 0xac], 0
push dword [esp + 0x48]
call sub.gdiplus.dll_GdipDeleteFont
or dword [esp + 0xac], 0xffffffff
push dword [esp + 0x1c]
call sub.gdiplus.dll_GdipDeleteGraphics
xor eax, eax
mov ecx, dword [esp + 0xa4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14