Function at 0x4a44e0
Capabilities:
Accept command line arguments
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push 0
push str.UserServer_LoginServer_Class
mov dword [ebp - 4], ecx
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
test esi, esi
je 0x4a455e
mov eax, dword [0x543020]
test eax, eax
jne 0x4a452b
push 0x543eb0
push 0x2c
call fcn.004c203f
add esp, 8
test eax, eax
je 0x4a4524
mov ecx, eax
call fcn.00485670
jmp 0x4a4526
xor eax, eax
mov dword [0x543020], eax
push 0x4fcc5c
push str.UserServer
push eax
call fcn.00486af0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push 0x402
push esi
call fcn.004a5a60
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push str.User32.dll
call fcn.004904f0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, eax
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
test ebx, ebx
je 0x4a4592
push str.ChangeWindowMessageFilter
push ebx
call edi
test eax, eax
je 0x4a458f
push 1
push 0x401
call eax
push ebx
call esi
push str.User32.dll
call fcn.004904f0
mov ebx, eax
test ebx, ebx
je 0x4a45b7
push str.ChangeWindowMessageFilter
push ebx
call edi
test eax, eax
je 0x4a45b4
push 1
push 0x4a
call eax
push ebx
call esi
mov ebx, dword [ebp - 4]
push dword [ebp + 0xc]
mov dword [0x53a688], 0x4fca50
lea eax, [ebx + 0x20]
push eax
push 0x53a660
push 0x53a4e4
push 0x543e5c
call fcn.004a0d00
add esp, 0x14
movzx eax, ax
mov ecx, ebx
push 0
push eax
push 0
push 0
push 0x56000000
push 0
push 0
push 0xfffffffffffffffd
call fcn.004a19b0
mov eax, dword [ebx + 0xf8]
push 0
push 0x1388
push 1
mov dword [eax + 0x38], 0x4a37c0
mov dword [eax + 0x3c], 0
mov eax, dword [ebx + 0xf8]
mov dword [eax + 0x30], 0x4a3920
mov dword [eax + 0x34], 0
mov eax, dword [ebx + 0xf8]
mov dword [eax + 0x28], 0x4a3b40
mov dword [eax + 0x2c], 0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetTimer]
call fcn.0049a890
push str.User32.dll
mov dword [ebp - 8], eax
call fcn.004904f0
mov ebx, eax
test ebx, ebx
je 0x4a467c
push str.ChangeWindowMessageFilter
push ebx
call edi
test eax, eax
je 0x4a4679
push 1
push 0x401
call eax
push ebx
call esi
push str.User32.dll
call fcn.004904f0
mov ebx, eax
test ebx, ebx
je 0x4a46a1
push str.ChangeWindowMessageFilter
push ebx
call edi
test eax, eax
je 0x4a469e
push 1
push 0x4a
call eax
push ebx
call esi
mov ebx, dword [ebp - 8]
push dword [ebp + 0xc]
mov dword [0x53a5d8], 0x4fca20
lea eax, [ebx + 0x20]
push eax
push 0x53a5b0
push 0x53a4e4
push 0x543e5c
call fcn.004a0d00
add esp, 0x14
movzx eax, ax
mov ecx, ebx
push 0
push eax
push 0
push 0
push 0x56000000
push 0
push 0
push 0xfffffffffffffffd
call fcn.004a19b0
cmp dword [ebx + 0x140], 8
lea eax, [ebx + 0x12c]
jb 0x4a46f9
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4a470b
mov ecx, ebx
call fcn.004a5580
call fcn.0049a890
mov ecx, dword [ebp - 4]
push dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [ecx + 0x104], eax
call fcn.004a4880
mov edi, dword [ebp + 8]
mov ecx, 1
mov dword [ebp + 0xc], ecx
xor esi, esi
lea ebx, [edi + 0x1c]
test ecx, ecx
je 0x4a475b
push 0
push 0
push 0
push 0
push ebx
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x4a475b
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 4]
inc esi
test eax, eax
jne 0x4a4738
mov dword [ebp + 0xc], eax
push 0
push 0
push 0
push ebx
call dword [sym.imp.USER32.dll_GetMessageW]
mov ecx, dword [ebp + 0xc]
cmp eax, 0xffffffff
je 0x4a4734
test eax, eax
je 0x4a47d5
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax]
test eax, eax
jne 0x4a478d
push ebx
call dword [sym.imp.USER32.dll_TranslateMessage]
push ebx
call dword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [edi + 0x20]
cmp eax, 0x118
ja 0x4a47a5
je 0x4a47c3
cmp eax, 0xf
je 0x4a47c3
cmp eax, 0xa0
jmp 0x4a47aa
cmp eax, 0x200
je 0x4a47c3
mov eax, 1
mov ecx, eax
neg eax
mov dword [ebp + 0xc], ecx
sbb eax, eax
not eax
and esi, eax
jmp 0x4a4734
mov ecx, dword [ebp + 0xc]
xor eax, eax
neg eax
sbb eax, eax
not eax
and esi, eax
jmp 0x4a4734
mov eax, dword [edi + 0x24]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x104], 0
call fcn.0049a890
mov ebx, dword [sym.imp.USER32.dll_IsWindow]
mov edi, eax
push dword [edi + 4]
call ebx
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
test eax, eax
je 0x4a4809
push dword [edi + 4]
call esi
push 0
push str.UserServer_LoginServer_Class
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x4a482a
push 0
push 0
push 0x401
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov edi, dword [ebp - 4]
push dword [edi + 4]
call ebx
test eax, eax
je 0x4a483b
push dword [edi + 4]
call esi
mov edx, dword [edi + 0xf8]
pop edi
pop esi
pop ebx
mov ecx, dword [edx + 0x24]
mov dword [edx + 0x28], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0x30], 0
mov dword [edx + 0x34], 0
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov eax, dword [ebp + 0xc]
mov dword [edx + 0x24], ecx
mov esp, ebp
pop ebp
ret 8