Function at 0x413080
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43d4c2
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
mov eax, dword [0x44c00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
lea edi, [ebx + 4]
mov dword [ebp - 0x38], edi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
mov ecx, edi
call fcn.004151e0
push dword [ebx + 0x124]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push 0x80
push dword [edi]
call esi
push dword [ebx + 0x124]
push 0
push 0x80
push dword [edi]
call esi
push 0x83
push dword [edi]
call fcn.00408e00
mov ecx, eax
call fcn.0040aef0
push 0x3e9
push dword [edi]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
call edi
sub esp, 8
lea ecx, [ebx + 0x160]
push eax
call fcn.00412180
push 0x3ea
push dword [ebx + 4]
call edi
sub esp, 8
lea ecx, [ebx + 0x160]
push eax
call fcn.00412180
push str.UPDATER
push str.TEXT_UPDATER_TITLE
call fcn.00408e00
mov ecx, eax
call fcn.0040b0f0
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push str.UPDATER
push str.TEXT_UPDATER_TEXT1
call fcn.00408e00
mov ecx, eax
call fcn.0040b0f0
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
push eax
push 0x3e9
push dword [ebx + 4]
call esi
push str.UPDATER
push str.TEXT_UPDATER_TEXT_DL
call fcn.00408e00
mov ecx, eax
call fcn.0040b0f0
push eax
push 0x3ea
push dword [ebx + 4]
call esi
push str.UPDATER
push str.TEXT_UPDATER_BTN_UPDATE
call fcn.00408e00
mov ecx, eax
call fcn.0040b0f0
push eax
push 1
push dword [ebx + 4]
call esi
push str.UPDATER
push str.TEXT_UPDATER_BTN_CANCEL
call fcn.00408e00
mov ecx, eax
call fcn.0040b0f0
push eax
push 2
push dword [ebx + 4]
call esi
push str.UPDATER
push str.TEXT_UPDATER_SETTING_UPDATE
call fcn.00408e00
mov ecx, eax
call fcn.0040b0f0
push eax
push 0x3ed
push dword [ebx + 4]
call esi
push 0x3ec
push dword [ebx + 4]
xorps xmm0, xmm0
movups xmmword [ebp - 0x24], xmm0
call edi
lea ecx, [ebp - 0x24]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [ebp - 0x24]
push eax
push dword [ebx + 4]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
lea ecx, [ebp - 0x24]
push ecx
push dword [ebx + 4]
lea eax, [ebx + 0xb0]
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.004116b0
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x20]
sub edx, esi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
sub eax, ecx
push 1
push edx
push eax
push esi
push ecx
push dword [ebx + 0xb4]
mov dword [ebx + 0x110], 1
call dword [sym.imp.USER32.dll_MoveWindow]
mov ecx, dword [ebx + 0xc0]
test ecx, ecx
je 0x413280
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xf0]
mov eax, dword fs:[0x2c]
mov dword [ebx + 0x120], 1
mov dword [ebp - 0x14], 0
mov esi, dword [eax]
mov eax, dword [0x44e870]
cmp eax, dword [esi + 4]
jg 0x413815
push 0x4450e8
mov edx, 0x44e8a4
lea ecx, [ebp - 0x30]
call fcn.004023e0
push 0x44e714
mov edx, eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.004024e0
add esp, 8
mov byte [ebp - 4], 2
or eax, 0xffffffff
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x413312
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov edx, dword [eax + 4]
mov dword [ebp - 0x2c], edx
mov edx, dword [ecx]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x413861
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push ecx
push dword [ebp - 0x14]
lea ecx, [ebx + 0xb0]
call fcn.00411940
mov eax, dword [0x44e870]
cmp eax, dword [esi + 4]
jg 0x41386b
cmp dword [0x44e87c], 0
je 0x41334e
push 0x3ed
push dword [ebx + 4]
call edi
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [ebx + 0x2c], 0
mov eax, dword [ebx + 4]
jne 0x413435
lea ecx, [ebp - 0xec]
mov dword [ebx + 0x2c], eax
call fcn.00403da0
mov edi, dword [ebx + 0x24]
mov dword [ebp - 0xec], 0xc
test edi, edi
je 0x4133a2
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00404950
lea ecx, [edi + 0xb4]
call fcn.004045c0
push 0xf8
push edi
mov byte [ebp - 4], 2
call fcn.0041df6c
add esp, 8
push 0xf8
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 1
call fcn.0041df3c
add esp, 4
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 4
push ecx
push 0
mov ecx, eax
call fcn.00404850
mov byte [ebp - 4], 2
push 0xfffffffffffffff0
mov dword [ebx + 0x24], eax
push dword [ebx + 0x2c]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
or ecx, 0x2000000
cmp eax, ecx
je 0x4133fe
push ecx
push 0xfffffffffffffff0
push dword [ebx + 0x2c]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
test edi, edi
je 0x413424
push 0x58
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push edi
push 0
mov dword [ebx + 0x9c], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov dword [ebx + 0x78], 1
mov dword [ebx + 0xa0], 1
mov dword [ebx + 0x30], 6
mov dword [ebx + 0x34], 3
mov dword [ebx + 0x38], 6
mov dword [ebx + 0x3c], 3
cmp dword [ebx + 0x50], 0
jne 0x41345b
xor edx, edx
jmp 0x413469
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x4138b7
mov edx, dword [eax + 8]
lea ecx, [ebp - 0xec]
call fcn.00403da0
movaps xmm0, xmmword [0x4466b0]
mov eax, ecx
push 0
push eax
push edx
lea ecx, [ebx + 0x24]
mov dword [ebp - 0xec], 0xc
movups xmmword [ebp - 0xa8], xmm0
call fcn.00405640
mov dword [ebp - 0x2c], eax
lea edi, [ebx + 0x48]
lea eax, [ebp - 0x2c]
mov ecx, edi
push eax
call fcn.00404500
cmp dword [ebx + 0x50], 0
jne 0x4134b5
xor eax, eax
jmp 0x4134c3
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x4138c1
mov eax, dword [eax + 8]
push 0x28
push 0
push 0
push 0x10
push eax
lea ecx, [ebx + 0x20]
call fcn.00404170
mov esi, eax
mov ecx, edi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], esi
push eax
call fcn.00404500
push 0x3ed
push dword [ebx + 0x2c]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x96
push eax
push 0xe
push esi
lea ecx, [ebx + 0x20]
call fcn.00404170
push 2
push dword [ebx + 0x2c]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x64
push eax
push 0xf
push esi
lea ecx, [ebx + 0x20]
call fcn.00404170
push 1
push dword [ebx + 0x2c]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x64
push eax
push 0xf
push esi
lea ecx, [ebx + 0x20]
call fcn.00404170
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4138cb
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
test eax, eax
je 0x413558
mov dword [eax], 0
jmp 0x41355e
mov dword [edi], 0
mov eax, dword [edi + 0x10]
mov dword [ecx], eax
add dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], ecx
jne 0x413573
mov ecx, edi
call fcn.004045c0
push 0x3f0
push dword [ebx + 0x2c]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 2
push 0
push eax
push 0x10
push dword [ebp - 0x2c]
lea ecx, [ebx + 0x20]
call fcn.00404170
cmp dword [ebx + 0x50], 0
jne 0x41359d
xor eax, eax
jmp 0x4135ab
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x4138d5
mov eax, dword [eax + 8]
push 0x3c
push 0
push 0
push 0x10
push eax
lea ecx, [ebx + 0x20]
call fcn.00404170
mov dword [ebp - 0x28], eax
mov ecx, edi
lea eax, [ebp - 0x28]
push eax
call fcn.00404500
cmp dword [ebx + 0x50], 0
jne 0x4135d4
xor eax, eax
jmp 0x4135e2
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x4138df
mov eax, dword [eax + 8]
push 0
push 0
push 0
push 0xc
push eax
lea ecx, [ebx + 0x20]
call fcn.00404170
mov esi, eax
mov ecx, edi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], esi
push eax
call fcn.00404500
push 0
push 0xa
push 0
push 0xe
push esi
lea ecx, [ebx + 0x20]
call fcn.00404170
push 0x3e9
push dword [ebx + 0x2c]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x1e
push 0
push eax
push 0xd
push esi
lea ecx, [ebx + 0x20]
call fcn.00404170
push 0x3ea
push dword [ebx + 0x2c]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x1e
push 0
push eax
push 0xd
push esi
lea esi, [ebx + 0x20]
mov ecx, esi
call fcn.00404170
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4138e9
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
test eax, eax
je 0x41366f
mov dword [eax], 0
jmp 0x413675
mov dword [edi], 0
mov eax, dword [edi + 0x10]
mov dword [ecx], eax
add dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], ecx
jne 0x41368a
mov ecx, edi
call fcn.004045c0
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4138f3
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
test eax, eax
je 0x4136a7
mov dword [eax], 0
jmp 0x4136ad
mov dword [edi], 0
mov eax, dword [edi + 0x10]
mov dword [ecx], eax
add dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], ecx
jne 0x4136c2
mov ecx, edi
call fcn.004045c0
push 0x3ef
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 2
push 0
push eax
push 0x10
push dword [ebp - 0x2c]
mov ecx, esi
call fcn.00404170
cmp dword [ebx + 0x50], 0
jne 0x4136eb
xor eax, eax
jmp 0x4136f9
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x4138fd
mov eax, dword [eax + 8]
push 0
push 0
push 0
push 0xc
push eax
mov ecx, esi
call fcn.00404170
mov ebx, eax
mov ecx, edi
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], ebx
push eax
call fcn.00404500
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x413725
mov eax, dword [eax + 4]
jmp 0x413727
xor eax, eax
push 0
push 0
push eax
push 0xc
push ebx
mov ecx, esi
call fcn.00404170
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x413907
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
test eax, eax
je 0x413753
mov dword [eax], 0
jmp 0x413759
mov dword [edi], 0
mov eax, dword [edi + 0x10]
mov dword [ecx], eax
add dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], ecx
jne 0x41376e
mov ecx, edi
call fcn.004045c0
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x413911
mov eax, dword [ecx + 4]
mov dword [edi + 4], eax
test eax, eax
je 0x41378b
mov dword [eax], 0
jmp 0x413791
mov dword [edi], 0
mov eax, dword [edi + 0x10]
mov dword [ecx], eax
add dword [edi + 8], 0xffffffff
mov dword [edi + 0x10], ecx
jne 0x4137a6
mov ecx, edi
call fcn.004045c0
mov ecx, esi
call fcn.00404050
mov ecx, dword [ebp - 0x38]
push 0
call fcn.004151e0
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
lock xadd dword [ecx + 0xc], eax
dec eax
test eax, eax
jg 0x4137f2
mov edx, dword [ecx]
push ecx
mov eax, dword [edx]
mov esi, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x41391b
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041d9da
mov esp, ebp
pop ebp
ret 0x10
push 0x44e870
call fcn.0041dba8
add esp, 4
cmp dword [0x44e870], 0xffffffff
jne 0x4132aa
push 0x78
push 0
push 0x44e878
call fcn.0041fc70
add esp, 0xc
call fcn.00417d50
push 0x43df10
call fcn.0041df04
push 0x44e870
call fcn.0041db5e
add esp, 8
jmp 0x4132aa
mov ecx, edx
call dword [ebp - 0x2c]
jmp 0x413312
push 0x44e870
call fcn.0041dba8
add esp, 4
cmp dword [0x44e870], 0xffffffff
jne 0x413332
push 0x78
push 0
push 0x44e878
call fcn.0041fc70
add esp, 0xc
call fcn.00417d50
push 0x43df10
call fcn.0041df04
push 0x44e870
call fcn.0041db5e
add esp, 8
jmp 0x413332
push 0x80004005
call fcn.004039b0
push 0x80004005
call fcn.004039b0
push 0x80004005
call fcn.004039b0
push 0x80004005
call fcn.004039b0
push 0x80004005
call fcn.004039b0
push 0x80004005
call fcn.004039b0
push 0x80004005
call fcn.004039b0
push 0x80004005
call fcn.004039b0
push 0x80004005
call fcn.004039b0
push 0x80004005
call fcn.004039b0
mov ecx, edx
call esi
jmp 0x4137f2