Function at 0x46acc0
Capabilities:
Accept command line arguments
Check if file exists
Check mutex on windows
Create process on windows
Create process suspended
Delete file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1564
call fcn.005bb920
mov eax, dword [0x6a73e8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x414]
push esi
push edi
mov edi, dword [ebp + 0x10]
push 0x208
push 0
push eax
mov dword [ebp - 0x1564], edi
call fcn.005fc2a0
add esp, 0xc
push str.SmartChat.log
sub esp, 8
mov eax, esp
mov dword [eax], 0x63fd28
mov dword [eax + 4], 9
lea eax, [ebp - 0x1430]
push eax
call fcn.00459160
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x46ad2a
mov eax, dword [eax]
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
lea eax, [ebp - 0x414]
push eax
call esi
mov edx, dword [ebp - 0x141c]
cmp edx, 8
jb 0x46ad7a
mov ecx, dword [ebp - 0x1430]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46ad70
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46b4dd
push edx
push ecx
call fcn.005bb0db
add esp, 8
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x414]
push eax
call fcn.00487810
push str.GlobalCF306329_AF72_49CD_9039_BB6181B521AF
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x1560], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x46b353
cmp eax, 5
je 0x46b353
push 0
push str.chatmain
lea ecx, [ebp - 0x1415]
call fcn.004545d0
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
call fcn.004ac450
add esp, 4
mov dword [ebp - 0x1434], 0
lea ecx, [ebp - 0x155c]
push str.http:__s.52toolbox.com_chat_appchatpidpidmidmidmid2mid2appverappvermodvermodvertypetypeactionaction
call fcn.00406e20
lea eax, [ebp - 0x155c]
push eax
lea eax, [ebp - 0x1434]
push eax
call fcn.004567a0
mov edx, dword [ebp - 0x155c]
or ebx, 0xffffffff
add esp, 8
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46ae3d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00464cb0
push dword [ebp - 0x1434]
mov ecx, eax
push str.operate
push 0
call fcn.004883d0
push 0x84
lea eax, [ebp - 0x1540]
push 0
push eax
call fcn.005fc2a0
lea eax, [ebp - 0x1540]
push eax
call fcn.004a7b40
add esp, 0x10
lea ecx, [ebp - 0x1540]
push str.skin
call fcn.004a43f0
lea ecx, [ebp - 0x1540]
call fcn.004a4390
push eax
call fcn.004ac6d0
push 1
push str.SmartChat.zip
call fcn.004ac790
push str.SmartChatTray.exe
call fcn.00457a20
add esp, 0x10
test al, al
jne 0x46b0e3
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.005fc2a0
add esp, 0xc
push str.SmartChatTray.exe
call fcn.00459220
push eax
lea eax, [ebp - 0x20c]
push eax
call esi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x46b0e3
xorps xmm0, xmm0
mov dword [ebp - 0x148c], 0x44
lea eax, [ebp - 0x148c]
movlpd qword [ebp - 0x1488], xmm0
push eax
movlpd qword [ebp - 0x1480], xmm0
movlpd qword [ebp - 0x1478], xmm0
movlpd qword [ebp - 0x1470], xmm0
movlpd qword [ebp - 0x1468], xmm0
movlpd qword [ebp - 0x1460], xmm0
movlpd qword [ebp - 0x1458], xmm0
movlpd qword [ebp - 0x1450], xmm0
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov eax, 4
mov dword [ebp - 0x1460], 1
push 0x1000
mov word [ebp - 0x145c], ax
xorps xmm0, xmm0
lea eax, [ebp - 0x1414]
push 0
push eax
movups xmmword [ebp - 0x1550], xmm0
call fcn.005fc2a0
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x1414]
push str.__s____fromchat
push eax
call fcn.0046ac80
add esp, 0x18
lea eax, [ebp - 0x1550]
push eax
lea eax, [ebp - 0x148c]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1414]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x46b0e3
push dword [ebp - 0x154c]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push dword [ebp - 0x1550]
call edi
call fcn.00459640
test al, al
je 0x46b0dd
call fcn.00487510
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x46b0bf
push 0x41
push str.d:jenkins.jenkinsworkspacemgame_aichat_aichat_main_aichat.cpp
lea ecx, [ebp - 0x1558]
mov dword [ebp - 0x1548], eax
mov dword [ebp - 0x1544], 0xf
mov byte [ebp - 0x1558], al
call fcn.0040b9b0
push 3
push 0x63fdb8
lea ecx, [ebp - 0x1430]
mov dword [ebp - 0x1420], 0
mov dword [ebp - 0x141c], 0xf
mov byte [ebp - 0x1430], 0
call fcn.0040b9b0
push 0x50
lea eax, [ebp - 0x1558]
push eax
lea eax, [ebp - 0x1430]
push eax
lea ecx, [ebp - 0x9c]
call fcn.004073a0
mov esi, eax
push str.update__exit
push esi
call fcn.00410700
add esp, 8
call fcn.00487510
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x9c]
call fcn.004083f0
lea ecx, [ebp - 0x1430]
call fcn.00407b80
lea ecx, [ebp - 0x1558]
call fcn.00407b80
push dword [ebp - 0x1560]
call edi
call fcn.0045c420
call dword [sym.imp.ole32.dll_CoUninitialize]
call dword [sym.imp.ole32.dll_OleUninitialize]
jmp 0x46b31d
mov edi, dword [ebp - 0x1564]
push 0
lea eax, [ebp - 0x1444]
mov dword [ebp - 0x1444], 1
push eax
lea eax, [ebp - 0x1448]
mov dword [ebp - 0x1440], 0
push eax
mov dword [ebp - 0x143c], 0
mov dword [ebp - 0x1438], 0
call sub.gdiplus.dll_GdiplusStartup
push 0x30
lea eax, [ebp - 0x14bc]
push 0
push eax
call fcn.005fc2a0
add esp, 0xc
lea ecx, [ebp - 0x14bc]
call fcn.0048a9b0
mov ecx, edi
mov dword [ebp - 0x1420], 0
xor eax, eax
mov dword [ebp - 0x141c], 7
mov word [ebp - 0x1430], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b160
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x1430]
call fcn.0040bab0
lea eax, [ebp - 0x1430]
push eax
lea ecx, [ebp - 0x14bc]
call fcn.0048b220
lea ecx, [ebp - 0x1430]
call fcn.00407bd0
call fcn.00487510
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x46b274
push 0x41
push str.d:jenkins.jenkinsworkspacemgame_aichat_aichat_main_aichat.cpp
lea ecx, [ebp - 0x1558]
mov dword [ebp - 0x1548], eax
mov dword [ebp - 0x1544], 0xf
mov byte [ebp - 0x1558], al
call fcn.0040b9b0
push 3
push 0x63fdb8
lea ecx, [ebp - 0x1430]
mov dword [ebp - 0x1420], 0
mov dword [ebp - 0x141c], 0xf
mov byte [ebp - 0x1430], 0
call fcn.0040b9b0
push 0x5e
lea eax, [ebp - 0x1558]
push eax
lea eax, [ebp - 0x1430]
push eax
lea ecx, [ebp - 0x9c]
call fcn.004073a0
mov esi, eax
push str.cmd:
push esi
call fcn.00410700
test edi, edi
mov ecx, 0x6407a4
cmovne ecx, edi
push ecx
push esi
call fcn.00410700
add esp, 0x10
call fcn.00487510
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x9c]
call fcn.004083f0
lea ecx, [ebp - 0x1430]
call fcn.00407b80
lea ecx, [ebp - 0x1558]
call fcn.00407b80
call fcn.00464cb0
push 0
push str.operate
push 1
push 0x64411c
push 0x645c4c
mov ecx, eax
call fcn.004883f0
push str.pkg_newinstall_succ
call fcn.0045bcd0
push 0x3e8
call fcn.005bb0ab
mov esi, eax
add esp, 8
test esi, esi
je 0x46b2cb
push 0x3e8
push 0
push esi
call fcn.005fc2a0
add esp, 0xc
mov ecx, esi
call fcn.0045ed40
mov esi, eax
jmp 0x46b2cd
xor esi, esi
movaps xmm0, xmmword [0x645cd0]
mov ecx, esi
push 0
sub esp, 0x10
mov eax, esp
push 0
push closesocket
push 0x64411c
push 0
movups xmmword [eax], xmm0
call fcn.004a29f0
mov ecx, esi
call fcn.004a2a30
mov ecx, eax
call fcn.004aa260
call dword [sym.imp.ole32.dll_OleUninitialize]
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.0045c420
lea ecx, [ebp - 0x14bc]
call fcn.0048aa30
lea ecx, [ebp - 0x1540]
call fcn.004551d0
mov edx, dword [ebp - 0x1434]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x46b343
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1415]
call fcn.0040b210
jmp 0x46b4c8
push 0x30
lea eax, [ebp - 0x1478]
push 0
push eax
call fcn.005fc2a0
mov edi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
add esp, 0xc
call edi
mov edx, eax
mov dword [ebp - 0x1420], 0
mov ecx, edx
mov dword [ebp - 0x141c], 7
xor eax, eax
mov word [ebp - 0x1430], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b392
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x1430]
call fcn.0040bab0
lea eax, [ebp - 0x1430]
push eax
lea ecx, [ebp - 0x1478]
call fcn.0048a900
mov edx, dword [ebp - 0x141c]
cmp edx, 8
jb 0x46b400
mov ecx, dword [ebp - 0x1430]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46b3f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46b4e2
push edx
push ecx
call fcn.005bb0db
add esp, 8
push 0
push 0x644a28
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x46b4b8
call edi
mov edx, eax
mov dword [ebp - 0x1420], 0
mov ecx, edx
mov dword [ebp - 0x141c], 7
xor eax, eax
mov word [ebp - 0x1430], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b444
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x1430]
call fcn.0040bab0
mov eax, dword [ebp - 0x1420]
add eax, eax
mov dword [ebp - 0x154c], 0x2712
cmp dword [ebp - 0x141c], 8
push 0
mov dword [ebp - 0x1548], eax
lea eax, [ebp - 0x1430]
cmovae eax, dword [ebp - 0x1430]
push 0x1388
push 1
mov dword [ebp - 0x1544], eax
lea eax, [ebp - 0x154c]
push eax
push 0
push 0x4a
push esi
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
lea ecx, [ebp - 0x1430]
call fcn.00407bd0
call fcn.0045c420
lea ecx, [ebp - 0x1478]
call fcn.0048aa30
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005bb391
mov esp, ebp
pop ebp
ret 0x10
call fcn.005ffa79
call fcn.005ffa79
int3