Function at 0x504170
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7246e4
mov eax, dword fs:[0]
push eax
sub esp, 0x110
mov eax, dword [0x7db1e8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [0x738150]
movq xmm0, qword [str.Foxmail.Addins]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x20], eax
mov ax, word [0x738154]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0xe
movq qword [ebp - 0x28], xmm0
mov word [ebp - 0x1c], ax
mov byte [ebp - 0x1a], 0
push 1
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push 0x400
push eax
call fcn.00555fc0
add esp, 4
lea ecx, [ebp - 0x11c]
push eax
call fcn.00552eb0
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x504231
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x504227
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x50483c
push edx
push ecx
call fcn.006f4b9f
add esp, 8
push 0x67
mov ecx, esi
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004d1e20
mov ecx, esi
mov dword [edi], 1
call fcn.005037c0
push 0x574
call fcn.006f4b6f
add esp, 4
mov dword [ebp - 0x74], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x50427f
push 0
push esi
mov ecx, eax
call fcn.004fc5e0
mov edi, eax
jmp 0x504281
xor edi, edi
lea eax, [edi + 8]
mov byte [ebp - 4], 2
mov dword [esi + 0x3ec], edi
test eax, eax
je 0x504830
test edi, edi
je 0x504830
mov dword [eax], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x7d9a60
mov dword [edi + 0xc], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x7d9a78]
lea ecx, [edi + 8]
mov dword [ecx + 8], eax
push 0x7d9a60
mov dword [0x7d9a78], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push 0x4d8f40
push 0
push 0x113
mov byte [edi + 0x20], 0
mov dword [edi + 0x24], 0
push dword [0x7f44f0]
call fcn.00506bb0
cmp dword [edi + 0x24], 0
mov ecx, eax
jge 0x504312
test ecx, ecx
je 0x504312
push dword [edi + 4]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [edi + 0x24]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp - 0x11c]
call dword [eax + 0x34]
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd0], 6
push str.CCoremailFoxmailAddinsDialog::OnInitDialog_CoremailAddressBookDialog_create_successful_
push eax
call fcn.004cb4e0
push eax
call fcn.004cbd50
push 0x418
call fcn.006f4b6f
add esp, 0x10
mov dword [ebp - 0x74], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x50436b
push dword [esi + 0x3ec]
mov ecx, eax
call fcn.00500c90
mov edi, eax
jmp 0x50436d
xor edi, edi
lea eax, [edi + 8]
mov byte [ebp - 4], 2
mov dword [esi + 0x3e8], edi
test eax, eax
je 0x504830
test edi, edi
je 0x504830
mov dword [eax], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x7d9a60
mov dword [edi + 0xc], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x7d9a78]
lea ecx, [edi + 8]
mov dword [ecx + 8], eax
push 0x7d9a60
mov dword [0x7d9a78], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push 0x4d8f40
push 0
push 0x83
mov byte [edi + 0x20], 0
mov dword [edi + 0x24], 0
push dword [0x7f44f0]
call fcn.00506bb0
cmp dword [edi + 0x24], 0
jge 0x5043fc
test eax, eax
je 0x5043fc
push dword [edi + 4]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [edi + 0x24]
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp - 0x11c]
call dword [eax + 0x34]
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd0], 6
push str.CCoremailFoxmailAddinsDialog::OnInitDialog_CLoginDlg_create_successful_
push eax
call fcn.004cb4e0
push eax
call fcn.004cbd50
mov eax, dword [esi + 0x3e8]
add esp, 0xc
mov ecx, dword [esi + 0x3ec]
push dword [eax + 4]
call fcn.00500690
lea ecx, [esi + 0x3f4]
call fcn.004e1660
push 0
push 0x1f4
push 2
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
lea eax, [ebp - 0x70]
push eax
call fcn.005158f0
add esp, 4
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 1
mov word [ebp - 0x40], 0x2f
push 8
push str.main.ico
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 6
call fcn.0044ef80
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x58], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x48], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [ebp - 0x44], 0x10
lea ecx, [ebp - 0x58]
push dword [ebp - 0x48]
movd eax, xmm1
mov byte [ebp - 4], 7
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x70]
call fcn.0044ef80
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x504512
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x504508
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x504841
push edx
push ecx
call fcn.006f4b9f
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x50455c
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x504552
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x504841
push edx
push ecx
call fcn.006f4b9f
add esp, 8
cmp dword [ebp - 0x5c], 0x10
lea eax, [ebp - 0x70]
push 0x50
cmovae eax, dword [ebp - 0x70]
push 0
push 0
push 1
push eax
push 0xfffffffffffffffa
push dword [esi + 4]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call dword [sym.imp.USER32.dll_GetWindowLongW]
push eax
call dword [sym.imp.USER32.dll_LoadImageA]
lea edi, [esi + 0x28]
mov dword [ebp - 0x74], eax
xor ecx, ecx
mov eax, esi
test edi, edi
mov edx, 0x3b8
cmove eax, ecx
mov ecx, edi
nop word [eax + eax]
mov byte [ecx], 0
lea ecx, [ecx + 1]
sub edx, 1
jne 0x5045b0
mov ecx, dword [ebp - 0x74]
lea edx, [edi + 0x324]
mov dword [edi + 0x14], ecx
mov ecx, dword [edi + 0x3bc]
mov dword [edi], 0x3b8
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
mov dword [edi + 8], 0xcb
mov dword [edi + 0xc], 0x17
mov dword [edi + 0x10], 0x4b4
mov dword [edi + 0x3a4], 1
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x504600
mov ecx, dword [edi + 0x3bc]
lea edx, [edi + 0x18]
nop word [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x504620
push edi
push 0
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp - 0x11c]
call dword [eax + 0x34]
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd0], 6
push str.CCoremailFoxmailAddinsDialog::OnInitDialog_successful_
push eax
call fcn.004cb4e0
push eax
call fcn.004cbd50
add esp, 0xc
push 0xffffffffffffffec
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, eax
and ecx, 0xfffbffff
or ecx, 0x80
cmp eax, ecx
je 0x504696
push ecx
push 0xffffffffffffffec
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 1
push 0
push 0
push 0
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_MoveWindow]
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp - 0x11c]
call dword [eax + 0x34]
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd0], 6
push str.CCoremailFoxmailAddinsDialog::CheckTodayNeedUpdate_
push eax
call fcn.004cb4e0
push eax
call fcn.004cbd50
add esp, 0xc
mov ecx, esi
push 1
call fcn.00501d90
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp - 0x11c]
call dword [eax + 0x34]
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd0], 6
push str.CCoremailFoxmailAddinsDialog::GetGlobalConfigFromServer_
push eax
call fcn.004cb4e0
push eax
call fcn.004cbd50
add esp, 0xc
mov ecx, esi
call fcn.00502ab0
mov ecx, dword [esi + 0x3e8]
call fcn.0050d0c0
test al, al
jne 0x50479d
mov ecx, dword [esi + 0x3e8]
call fcn.0050ffe0
mov ecx, dword [esi + 0x3e8]
call fcn.0050d0b0
test al, al
je 0x504753
mov ecx, dword [esi + 0x3e8]
call fcn.0050df10
mov eax, dword [esi + 0x3e8]
push 5
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0x3e8]
push 0x43
push 0
push 0
push 0
push 0
push 0
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esi + 0x3e8]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_BringWindowToTop]
mov eax, dword [esi + 0x3e8]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov edx, dword [ebp - 0x5c]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x5047d1
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5047c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x504846
push edx
push ecx
call fcn.006f4b9f
add esp, 8
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.00553780
lea eax, [ebp - 0xbc]
mov dword [ebp - 4], 8
push eax
mov dword [ebp - 0xbc], vtable.std::ios_base.0
call fcn.006f3999
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.006f4db8
mov esp, ebp
pop ebp
ret 0x10
push 1
push 0xc0000005
call fcn.004d9b20
call fcn.006fb96e
call fcn.006fb96e
call fcn.006fb96e
int3