Function at 0x470660
Capabilities:
Create process on windows
Find taskbar

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x318
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 8], esi
mov esi, dword [ebp + 0x10]
cmp ebx, 0x111
mov dword [ebp - 4], edi
mov edi, dword [ebp + 0x14]
je 0x470741
ja 0x4706e0
cmp ebx, 2
je 0x470b86
jbe 0x470760
cmp ebx, 5
je 0x470d7f
cmp ebx, 0x24
je 0x470d6c
lea esi, [esi]
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
call sub.USER32.dll_DefWindowProcA
sub esp, 0x10
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 0x10
cmp ebx, 0x464
je 0x470977
jbe 0x470890
cmp ebx, 0x2014
je 0x470d8f
cmp ebx, 0x2015
jne 0x4706b0
cmp byte [0x563878], 0
jne 0x4706b0
mov byte [0x563878], 1
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc], ecx
mov edx, 0x2014
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov ecx, dword [0x563874]
mov dword [esp], ecx
call sub.USER32.dll_SendMessageA
sub esp, 0x10
jmp 0x4706b0
movzx eax, si
sub eax, 0x2002
cmp eax, 8
ja case.default.0x470752
jmp dword [eax*4 + 0x534958]
cmp ebx, 1
jne 0x4706b0
mov dword [ebp - 0x78], 0x58
mov ecx, dword [edi + 4]
mov esi, 0x6a
mov dword [ebp - 0x70], 0x2001
mov edx, dword [ebp + 8]
mov dword [ebp - 0x6c], 7
mov dword [0x563890], ecx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x68], 0x464
mov dword [esp], ecx
mov dword [esp + 4], esi
call sub.USER32.dll_LoadIconA
mov dword [ebp - 0x64], eax
sub esp, 8
lea eax, [ebp - 0x78]
mov dword [ebp - 0x60], 0xc7d6f3b4
mov dword [ebp - 0x5c], 0xfeb7dbbb
mov dword [ebp - 0x58], 0xcbb6f1ce
mov byte [ebp - 0x54], 0
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.SHELL32.DLL_Shell_NotifyIconA
sub esp, 8
call sym.MakeMachinaCode__
nop
xor eax, eax
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
test si, si
jns 0x4706ca
lea ecx, [esi + 0x8000]
mov eax, 2
lea edx, [ebp - 0x26a]
mov word [ebp - 0x26a], cx
lea edi, [ebp - 0x2f0]
mov esi, 0x534799
mov dword [esp + 4], edx
mov ebx, 1
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._memmove
mov byte [ebp - 0x2ee], 0
mov dword [esp + 8], edi
lea edi, [ebp - 0x2e8]
mov dword [esp + 4], esi
mov dword [esp], edi
call sym._sprintf
mov dword [esp + 0xc], ebx
mov ecx, 0x5347ae
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_MessageBoxA
sub esp, 0x10
dec eax
jne 0x4707e0
movzx ebx, word [ebp - 0x26a]
mov dword [esp], ebx
call sym.SetManulInit_unsigned_short_
xor eax, eax
jmp 0x4707e2
cmp ebx, 0x112
jne 0x4706b0
movzx eax, si
cmp eax, 0xf030
je 0x470e6b
jg 0x470ddb
cmp eax, 0xf020
jne 0x4706b0
mov dword [esp], str.Shell_TrayWnd
xor ebx, ebx
mov dword [esp + 4], ebx
call sub.USER32.dll_FindWindowA
sub esp, 8
test eax, eax
mov esi, eax
je 0x470940
mov dword [esp], eax
lea ebx, [ebp - 0x88]
mov edi, sym.__Z11FindTrayWndP6HWND__l_8
mov dword [esp + 4], ebx
call sub.USER32.dll_GetWindowRect
sub esp, 8
mov dword [esp], esi
lea esi, [ebp - 0x98]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
call sub.USER32.dll_EnumChildWindows
sub esp, 0xc
mov dword [esp + 4], esi
mov edi, dword [0x563874]
mov dword [esp], edi
call sub.USER32.dll_GetWindowRect
sub esp, 8
mov eax, 3
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov esi, dword [0x563874]
mov dword [esp], esi
call sub.USER32.dll_DrawAnimatedRects
sub esp, 0x10
xor ebx, ebx
mov dword [esp + 4], ebx
mov esi, dword [ebp + 8]
mov dword [esp], esi
call sub.USER32.dll_ShowWindow
mov ebx, dword [ebp + 8]
sub esp, 8
mov dword [esp], ebx
call sub.USER32.dll_UpdateWindow
sub esp, 4
lea esi, [esi]
lea edi, [edi]
xor eax, eax
jmp 0x4707e2
cmp edi, 0x204
sete dl
cmp edi, 0x201
sete al
or dl, al
je 0x4707e0
call sym.SetInitMenu__
call sub.USER32.dll_CreatePopupMenu
mov ebx, eax
mov edx, 0x2009
xor eax, eax
mov dword [esp + 8], edx
mov esi, 0x5347b9
mov edi, 0x2003
mov dword [esp + 0xc], esi
xor esi, esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
mov ecx, 0x5347c8
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov edi, 0x5347d7
mov dword [esp + 4], esi
mov esi, 0x2007
mov dword [esp], ebx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
xor ecx, ecx
mov edx, 0x5347e6
mov dword [esp + 4], ecx
mov eax, 0x2008
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp], ebx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
xor edx, edx
mov dword [esp + 4], edx
mov dword [esp + 0xc], edi
mov edi, 0x800
mov dword [esp + 8], esi
mov esi, 0x5347f3
mov dword [esp], ebx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
xor ecx, ecx
xor eax, eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov edi, 0x2004
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
mov eax, 0x10
mov dword [esp + 0xc], esi
mov edx, dword [0x563830]
mov dword [esp + 4], eax
xor esi, esi
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
mov ecx, 0x534802
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov edi, 0x534810
mov dword [esp + 4], esi
mov esi, 0x2005
mov dword [esp], ebx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
xor ecx, ecx
mov edx, 0x53481e
mov dword [esp + 4], ecx
mov eax, 0x2006
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp], ebx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
xor edx, edx
mov dword [esp + 4], edx
mov dword [esp + 0xc], edi
mov edi, 0x800
mov dword [esp + 8], esi
mov esi, 0x53482b
mov dword [esp], ebx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
xor ecx, ecx
xor eax, eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
mov edx, 0x2002
xor eax, eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
xor esi, esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.USER32.dll_AppendMenuA
sub esp, 0x10
lea ecx, [ebp - 0x2f8]
mov dword [esp], ecx
call sub.USER32.dll_GetCursorPos
mov edi, dword [ebp + 8]
sub esp, 4
mov dword [esp], edi
call sub.USER32.dll_SetForegroundWindow
sub esp, 4
xor eax, eax
mov dword [esp + 0x18], esi
mov edx, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov esi, 2
mov dword [esp + 0x14], edx
mov ecx, dword [ebp - 0x2f4]
mov dword [esp + 0xc], ecx
mov edi, dword [ebp - 0x2f8]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], edi
call sub.USER32.dll_TrackPopupMenu
sub esp, 0x1c
mov dword [esp], ebx
call sub.USER32.dll_DestroyMenu
sub esp, 4
jmp 0x470970
mov dword [ebp - 0x78], 0x58
mov edi, dword [ebp + 8]
lea ebx, [ebp - 0x78]
mov dword [ebp - 0x70], 0x2001
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x74], edi
mov dword [esp + 4], ebx
mov dword [esp], 2
call sub.SHELL32.DLL_Shell_NotifyIconA
sub esp, 8
mov dword [esp], 0
call sub.USER32.dll_PostQuitMessage
sub esp, 4
jmp 0x470970
xor edx, edx
xor esi, esi
mov ebx, str..dzhdos.chm
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov edi, dword [ebp + 8]
mov dword [esp], edi
call sym._HtmlHelpA_16
mov dword [0x5638a0], eax
sub esp, 0x10
xor eax, eax
jmp 0x4707e2
mov ecx, 5
xor eax, eax
mov edx, str..cfg_server.xml
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp], 0
mov eax, str..dzhset.exe
mov edx, str.open
mov dword [esp + 8], eax
mov dword [esp + 4], edx
call sub.SHELL32.DLL_ShellExecuteA
sub esp, 0x18
xor eax, eax
jmp 0x4707e2
mov ebx, 1
mov edi, 0x534869
mov ecx, 0x534874
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_MessageBoxA
sub esp, 0x10
dec eax
jne 0x4707e0
call sym.AppExit__
xor eax, eax
xor edx, edx
mov esi, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov ebx, dword [0x563874]
mov dword [esp], ebx
call sub.USER32.dll_SendMessageA
sub esp, 0x10
xor eax, eax
jmp 0x4707e2
mov ecx, 1
mov eax, 0x534869
mov edx, 0x534894
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov esi, dword [ebp + 8]
mov dword [esp], esi
jmp 0x470c5b
mov ecx, 2
mov eax, sym.__Z12AboutDlgProcP6HWND__jjl_16
mov esi, 0x4b0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 8]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov ebx, dword [0x563890]
mov dword [esp], ebx
call sub.USER32.dll_DialogBoxParamA
sub esp, 0x14
xor eax, eax
jmp 0x4707e2
mov esi, 5
xor ebx, ebx
mov edi, str..cfgclient.xml
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
jmp 0x470c12
mov edi, 1
mov ecx, sym.__Z12AboutDlgProcP6HWND__jjl_16
mov edx, 0x44c
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ecx
mov eax, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
jmp 0x470ce1
mov esi, 3
mov ebx, sym.__Z12AboutDlgProcP6HWND__jjl_16
mov ecx, 0x3e8
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov edi, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
jmp 0x470ce1
mov edi, 5
mov dword [esp + 4], edi
jmp 0x470946
mov dword [edi + 0x18], 0x1e0
mov dword [edi + 0x1c], 0x118
jmp 0x4706b0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.ResizeWindows_HWND___
jmp 0x4706b0
xor esi, esi
mov edi, 0x64
mov dword [0x56385c], edi
mov dword [esp + 4], esi
mov dword [esp], sym.__Z13MonitorthreadPv_4
call sym.thread_spawn_unsigned_int____void___void_
test al, al
jne 0x470de5
xor ecx, ecx
mov eax, 0x534869
mov edx, 0x5348e4
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov ebx, dword [ebp + 8]
mov dword [esp], ebx
call sub.USER32.dll_MessageBoxA
sub esp, 0x10
jmp 0x470c6f
cmp eax, 0xf060
jmp 0x4708b5
mov dword [esp], 0x534905
mov edi, 1
mov esi, 2
mov dword [esp + 8], edi
mov dword [esp + 4], esi
call sym.OutLogMsg_Win_char__int__int_
call sym.AppInitialize__
test al, al
jne 0x470ec2
mov edx, dword [0x56331c]
cmp edx, 0xc
je 0x470f1b
mov edi, dword [edx*4 + 0x523e1c]
mov ecx, 0x53491c
lea esi, [ebp - 0x198]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edi
mov dword [esp], esi
call sym._sprintf
mov dword [esp + 4], esi
xor eax, eax
mov edx, 0x534869
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov ebx, dword [ebp + 8]
mov dword [esp], ebx
call sub.USER32.dll_MessageBoxA
sub esp, 0x10
jmp 0x470c6a
mov dword [esp], str.Shell_TrayWnd
xor ecx, ecx
mov dword [esp + 4], ecx
call sub.USER32.dll_FindWindowA
sub esp, 8
test eax, eax
mov esi, eax
je 0x470940
mov dword [esp], eax
lea ebx, [ebp - 0x98]
mov dword [esp + 4], ebx
call sub.USER32.dll_GetWindowRect
sub esp, 8
mov edx, sym.__Z11FindTrayWndP6HWND__l_8
mov dword [esp], esi
lea esi, [ebp - 0x88]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
call sub.USER32.dll_EnumChildWindows
sub esp, 0xc
jmp 0x470909
lea ebx, [ebp - 0x268]
mov edi, 1
mov dword [esp], ebx
call sym.GetLicenseInfo_char_
mov edx, 0x517
mov dword [esp + 4], edx
mov esi, dword [ebp + 8]
mov dword [esp], esi
call sub.USER32.dll_GetDlgItem
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.USER32.dll_SetWindowTextA
sub esp, 8
mov ecx, 2
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], 0x53493f
call sym.OutLogMsg_Win_char__int__int_
xor eax, eax
jmp 0x4707e2
mov edi, 0xb3cdb5cf
mov esi, 0xdacab4ce
mov ecx, 0xc72ca8c8
mov dword [ebp - 0x198], edi
mov eax, 0xcfaac1eb
mov edx, 0xd6f3b4b5
mov dword [ebp - 0x194], esi
mov ebx, 0xb9dbbbc7
mov edi, 0xa3becbab
mov dword [ebp - 0x190], ecx
mov esi, 0xa1
xor ecx, ecx
mov dword [ebp - 0x18c], eax
mov eax, 0x53494e
mov dword [ebp - 0x188], edx
lea edx, [ebp - 0x198]
mov dword [ebp - 0x184], ebx
mov dword [ebp - 0x180], edi
mov word [ebp - 0x17c], si
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov ebx, dword [ebp + 8]
mov dword [esp], ebx
call sub.USER32.dll_MessageBoxA
sub esp, 0x10
jmp 0x470c95