Function at 0x515470
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x60e738
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x6af320]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push esi
push edi
mov eax, dword [0x6af320]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov edi, ecx
lea ecx, [edi + 0x25c]
call fcn.0056ca60
lea ecx, [edi + 0x260]
call fcn.0056ca60
lea ecx, [edi + 0x264]
call fcn.0056ca60
mov eax, dword [edi + 0x234]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x5154e6
push eax
call esi
lea ecx, [esp + 0x24]
call fcn.00571db0
push 0x1b
xor eax, eax
mov dword [esp + 0x60], 7
push 0x6389f0
lea ecx, [esp + 0x50]
mov dword [esp + 0x60], 0
mov word [esp + 0x50], ax
call fcn.00413650
lea eax, [esp + 0x48]
mov dword [esp + 0xd0], 0
push eax
lea ecx, [esp + 0x28]
call fcn.00571fe0
mov dword [esp + 0xd0], 0xffffffff
cmp dword [esp + 0x5c], 8
mov ebx, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
mov byte [esp + 0x12], al
jb 0x515558
push dword [esp + 0x48]
call ebx
mov al, byte [esp + 0x16]
add esp, 4
test al, al
je 0x5155c8
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
call dword [eax + 8]
mov esi, eax
call fcn.004183a0
shl eax, 0x18
lea ecx, [esp + 0x24]
push 0
or eax, esi
push eax
push 0x3ed
call fcn.00572120
test al, al
je 0x5155a2
push str.remote_post_exist_sucess
push 0x248
push str.CPlayerImpl::_exit
call fcn.0056c830
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x5155dc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.remote_post_exist_error__d
push 0x24b
push str.CPlayerImpl::_exit
call fcn.0056c830
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0x10
jmp 0x5155df
push str.remote_not_exist
push 0x24f
push str.CPlayerImpl::_exit
call fcn.0056c830
add esp, 0xc
mov ecx, 0x6d5fa0
call fcn.0057db80
mov ecx, dword [0x6d600c]
test ecx, ecx
je 0x515604
push 1
call fcn.005b1bf0
mov dword [0x6d600c], 0
mov al, byte [0x6d601d]
mov ecx, 0x6d5000
mov byte [esp + 0x12], al
call fcn.00471530
mov ecx, 0x6d5f28
call fcn.0057db80
mov eax, dword [0x6af4b0]
test eax, eax
je 0x515637
push eax
call esi
mov ecx, 0x6af4a4
call fcn.00571fb0
push 1
mov ecx, 0x6d4b40
call fcn.0044aef0
mov ecx, 0x6d4b58
call fcn.0056ca60
mov eax, dword [0x6d4b40]
mov ecx, 0x6d4b40
push dword [eax + 4]
call fcn.0044b7f0
mov eax, dword [0x6d4b40]
mov ecx, 0x6d4878
mov dword [eax + 4], eax
mov eax, dword [0x6d4b40]
mov dword [eax], eax
mov eax, dword [0x6d4b40]
mov dword [eax + 8], eax
mov dword [0x6d4b44], 0
call fcn.0056ca60
mov ecx, 0x6d4860
call fcn.0056c9a0
mov ecx, 0x6d47f8
call fcn.0057db80
mov ecx, dword [0x6d4980]
mov byte [0x6d4748], 1
test ecx, ecx
je 0x5156c1
mov edx, dword [ecx]
cmp ecx, 0x6d4970
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov ecx, 0x6d60f8
mov dword [0x6d4980], 0
call fcn.0057db80
mov ecx, 0x6d4b58
call fcn.0056ca60
mov eax, dword [0x6d4b40]
mov ecx, 0x6d4b40
push dword [eax + 4]
call fcn.0044b7f0
mov eax, dword [0x6d4b40]
mov ecx, 0x6d5f90
push 0xa
mov dword [eax + 4], eax
mov eax, dword [0x6d4b40]
mov dword [eax], eax
mov eax, dword [0x6d4b40]
mov dword [eax + 8], eax
mov dword [0x6d4b44], 0
call fcn.0057deb0
lea ecx, [edi + 0x278]
call fcn.0057db80
mov ecx, dword [0x6d69c4]
call fcn.005942a0
push str.post_quit_message
push 0x265
push str.CPlayerImpl::_exit
call fcn.0056c830
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
add esp, 0xc
push 0
push 0
push 0x2553
call dword [eax + 0x38]
push str.exit_player_of_4
push 0x268
push str.CPlayerImpl::_exit
call fcn.0056c830
add esp, 0xc
push str.clear_mutex
push 0x2b6
push str.CCmdLineMgr::clearMutex
call fcn.0056c830
add esp, 0xc
lea ecx, [edi + 0x10]
push 0xffffffffffffffff
call fcn.004ee640
lea ecx, [edi + 0xe8]
call fcn.00571fb0
mov eax, dword [edi + 0xf4]
test eax, eax
je 0x5157b7
push eax
call esi
mov dword [edi + 0xf4], 0
xor eax, eax
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], 0
mov word [esp + 0x90], ax
mov dword [esp + 0xd0], 1
mov dword [esp + 0x8c], 7
mov dword [esp + 0x88], eax
mov word [esp + 0x78], ax
mov dword [esp + 0x74], 7
mov dword [esp + 0x70], eax
mov word [esp + 0x60], ax
push 0xffffffffffffffff
push eax
push 0x6d48ec
lea ecx, [esp + 0x9c]
mov byte [esp + 0xdc], 3
call fcn.00413280
push 0xffffffffffffffff
push 0
push 0x6d4904
lea ecx, [esp + 0x84]
call fcn.00413280
push 0xffffffffffffffff
push 0
push 0x6d491c
lea ecx, [esp + 0x6c]
call fcn.00413280
mov ecx, 0x6d4880
call fcn.0057db80
mov ecx, 0x6d48e8
call fcn.0056c9a0
mov al, byte [0x6d48e9]
mov byte [esp + 0x13], al
mov eax, dword [edi + 0x26c]
test eax, eax
je 0x51595f
mov al, byte [eax + 0x722]
test al, al
jne 0x51595f
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x5158f8
mov ecx, dword [edi + 0x26c]
call fcn.004eeab0
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x5158f8
mov eax, dword [edi + 0x26c]
mov ecx, dword [eax + 0x530]
test ecx, ecx
je 0x5158c3
mov eax, dword [ecx]
call dword [eax]
mov esi, eax
jmp 0x5158c5
xor esi, esi
call fcn.005b1800
push ecx
fstp dword [esp]
call fcn.005b1810
mov ecx, dword [edi + 0x26c]
movzx eax, al
push eax
call fcn.005316b0
mov ecx, dword [edi + 0x26c]
movzx eax, al
push eax
push esi
call fcn.004eeab0
push eax
call fcn.004e0e80
mov ecx, dword [edi + 0x26c]
call fcn.00534020
mov ecx, dword [edi + 0x26c]
push 0
push 0
call fcn.005b2380
mov ecx, dword [0x6d69c4]
mov eax, 0x51
mov esi, dword [edi + 0x26c]
mov word [esp + 0x18], ax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x1c]
push eax
push str.hotkeySettings.bossKey
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], 2
push eax
call fcn.004304a0
push 0x4d0
mov ecx, esi
call fcn.004eeab0
push eax
call dword [sym.imp.USER32.dll_UnregisterHotKey]
push str.exit_player_of_0
push 0x27a
push str.CPlayerImpl::_exit
call fcn.0056c830
mov ecx, dword [edi + 0x270]
add esp, 0xc
test ecx, ecx
je 0x51598f
call fcn.0054faa0
mov dword [edi + 0x270], 0
push str.exit_player_of_1
push 0x280
push str.CPlayerImpl::_exit
call fcn.0056c830
mov ecx, dword [edi + 0x268]
add esp, 0xc
test ecx, ecx
je 0x5159be
mov eax, dword [ecx]
call dword [eax]
mov dword [edi + 0x268], 0
push str.exit_player_of_2
push 0x286
push str.CPlayerImpl::_exit
call fcn.0056c830
mov ecx, dword [edi + 0x26c]
add esp, 0xc
test ecx, ecx
je 0x5159e4
call fcn.00527ba0
push str.exit_player_of_3
push 0x28b
push str.CPlayerImpl::_exit
call fcn.0056c830
mov ecx, dword [edi + 0x26c]
add esp, 0xc
test ecx, ecx
je 0x515a0c
push 1
call fcn.005b1bf0
push 0x3e8
mov ecx, 0x6d5a84
call fcn.0057deb0
push 0x3e8
mov ecx, 0x6d5a74
call fcn.0057deb0
push 0x3e8
mov ecx, 0x6d5a94
call fcn.0057deb0
push 0x3e8
mov ecx, 0x6d5aa4
call fcn.0057deb0
mov ecx, 0x6d5a70
call fcn.0056c9a0
mov ecx, 0x6d6080
call fcn.00555120
push str.quit_package_config
push 0x293
push str.CPlayerImpl::_exit
call fcn.0056c830
mov eax, dword [0x6e6098]
add esp, 0xc
test al, 1
jne 0x515aa6
or eax, 1
mov dword [0x6e6098], eax
mov byte [esp + 0xd0], 4
call fcn.004ccd10
push 0x6211e0
call fcn.005f25d4
add esp, 4
mov byte [esp + 0xd0], 3
mov ecx, 0x6e61c0
call fcn.0057df50
push 0x7d0
mov ecx, 0x6e61c0
call fcn.0057deb0
push str.exit_player_of_5
push 0x296
push str.CPlayerImpl::_exit
call fcn.0056c830
add esp, 0xc
lea ecx, [edi + 0x258]
call fcn.0056ca60
push str.end_exit_player.6
push 0x298
push str.CPlayerImpl::_exit
call fcn.0056c830
add esp, 0xc
call dword [sym.imp.libcurl.dll_curl_global_cleanup]
push str.end_exit_player.
push 0x29b
push str.CPlayerImpl::_exit
call fcn.0056c830
add esp, 0xc
lea ecx, [edi + 0x254]
call fcn.0056c9a0
call fcn.0056cab0
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
cmp byte [esp + 0x12], 0
je 0x515c35
lea eax, [esp + 0x30]
push eax
call fcn.00579910
add esp, 4
push 0x13
push str.updatednupdate.exe
lea ecx, [esp + 0x38]
mov byte [esp + 0xd8], 5
call fcn.004245a0
push str.__path9
lea ecx, [esp + 0x4c]
call fcn.00413780
lea eax, [esp + 0xa8]
mov byte [esp + 0xd0], 6
push eax
call fcn.00579910
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0xdc], 7
call fcn.0042da40
mov byte [esp + 0xd0], 6
cmp dword [esp + 0xbc], 8
jb 0x515bb7
push dword [esp + 0xa8]
call ebx
add esp, 4
cmp dword [esp + 0x70], 0
je 0x515be0
push 0xa
push str.__package
lea ecx, [esp + 0x50]
call fcn.004245a0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x54]
call fcn.0042da40
push 0
push 1
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00577600
add esp, 0x10
cmp dword [esp + 0x5c], 8
jb 0x515c06
push dword [esp + 0x48]
call ebx
add esp, 4
xor eax, eax
mov byte [esp + 0xd0], 3
cmp dword [esp + 0x44], 8
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], 0
mov word [esp + 0x48], ax
jb 0x515c35
push dword [esp + 0x30]
call ebx
add esp, 4
cmp byte [esp + 0x13], 0
je 0x515d2a
cmp dword [esp + 0xa0], 0
je 0x515cd9
push str.__path9
lea ecx, [esp + 0x34]
call fcn.00413780
lea eax, [esp + 0xa8]
mov byte [esp + 0xd0], 8
push eax
call fcn.00579910
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xdc], 9
call fcn.0042da40
mov byte [esp + 0xd0], 8
cmp dword [esp + 0xbc], 8
jb 0x515ca8
push dword [esp + 0xa8]
call ebx
add esp, 4
push 0
push 1
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.00577600
add esp, 0x10
mov byte [esp + 0xd0], 3
cmp dword [esp + 0x44], 8
jb 0x515cd9
push dword [esp + 0x30]
call ebx
add esp, 4
cmp dword [esp + 0x88], 0
je 0x515d2a
push 0x6304a0
lea ecx, [esp + 0x34]
call fcn.00413780
push 0
push 0
lea eax, [esp + 0x38]
mov byte [esp + 0xd8], 0xa
push eax
lea eax, [esp + 0x84]
push eax
call fcn.00577600
add esp, 0x10
mov byte [esp + 0xd0], 3
cmp dword [esp + 0x44], 8
jb 0x515d2a
push dword [esp + 0x30]
call ebx
add esp, 4
cmp dword [edi + 0x248], 0
je 0x515d71
push 0x6304a0
lea ecx, [esp + 0x34]
call fcn.00413780
push 0
push 0
lea eax, [esp + 0x38]
mov byte [esp + 0xd8], 0xb
push eax
lea eax, [edi + 0x238]
push eax
call fcn.00577600
add esp, 0x10
cmp dword [esp + 0x44], 8
jb 0x515d71
push dword [esp + 0x30]
call ebx
add esp, 4
cmp dword [esp + 0x74], 8
jb 0x515d81
push dword [esp + 0x60]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x74], 7
cmp dword [esp + 0x8c], 8
mov dword [esp + 0x70], 0
mov word [esp + 0x60], ax
jb 0x515dab
push dword [esp + 0x78]
call ebx
add esp, 4
xor eax, eax
mov dword [esp + 0x8c], 7
cmp dword [esp + 0xa4], 8
mov dword [esp + 0x88], 0
mov word [esp + 0x78], ax
jb 0x515dde
push dword [esp + 0x90]
call ebx
add esp, 4
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.005f24e0
mov esp, ebp
pop ebp
ret