Function at 0x405500
Capabilities:
Check mutex on windows

Disassembly:
push 0xffffffffffffffff
push 0x450824
mov eax, dword fs:[0]
push eax
sub esp, 0x694
mov eax, dword [0x468110]
xor eax, esp
mov dword [esp + 0x690], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x468110]
xor eax, esp
push eax
lea eax, [esp + 0x6a8]
mov dword fs:[0], eax
mov eax, dword [esp + 0x6bc]
mov ebp, dword [esp + 0x6b8]
mov edi, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x38]
push ecx
lea edx, [ebp + 0x3c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessTimes]
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x96]
push ecx
mov word [esp + 0x98], ax
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x104
lea edx, [esp + 0x90]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [esp + 0x8c]
push eax
call esi
lea ecx, [esp + 0x8c]
push ecx
call esi
lea edx, [esp + 0x8c]
push edx
mov eax, 0x4aa400
call fcn.00403490
push str.ThunerNewTask_Instance
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x405604
call fcn.00408f30
push eax
mov eax, edi
call fcn.00408fc0
xor al, al
jmp 0x405832
call fcn.0040b570
mov ecx, eax
call fcn.0040b5e0
call fcn.00406a40
push 0x406ac0
call dword [sym.imp.XLLuaRuntime.dll_XLLRT_ErrorHandle]
mov edi, dword [sym.imp.XLLuaRuntime.dll_XLLRT_GetEnv]
push 0
call edi
mov esi, eax
push esi
call fcn.00437562
add esp, 4
push esi
call fcn.00437b20
mov ebx, dword [sym.imp.XLLuaRuntime.dll_XLLRT_ReleaseEnv]
add esp, 4
push esi
call ebx
push 0
call edi
push eax
call ebx
mov eax, dword [ebp]
mov edx, dword [eax + 8]
mov ecx, ebp
call edx
lea esi, [esp + 0x70]
call fcn.00406910
push str.thunder_stat.xml
push 0x4aac20
lea eax, [esp + 0x4a4]
mov dword [esp + 0x6b8], 0
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
call esi
push str.ThunderNewTaskStat.xml
push 0x4aac20
lea ecx, [esp + 0x29c]
push ecx
call esi
mov edx, dword [sym.imp.MSVCR90.dll___wargv]
mov eax, dword [edx]
mov ecx, dword [eax]
push 0x2e
push ecx
lea edx, [esp + 0x5c]
push edx
call fcn.0042d621
add esp, 0xc
lea ecx, [esp + 0x38]
mov byte [esp + 0x6b0], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [esp + 0x6b0], 2
cmp dword [esp + 0x6c], 8
mov eax, dword [esp + 0x58]
jae 0x4056dd
lea eax, [esp + 0x58]
mov edx, dword [esp + 0x68]
lea ecx, [esp + 0x38]
push ecx
push edx
push eax
call fcn.0043c627
mov ecx, dword [esp + 0x80]
mov eax, 0x10
add esp, 0xc
cmp dword [esp + 0x88], eax
jae 0x405709
lea ecx, [esp + 0x74]
cmp dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
jae 0x405717
lea eax, [esp + 0x3c]
lea edx, [ebp + 0x38]
push edx
lea edx, [esp + 0x298]
push edx
lea edx, [esp + 0x4a4]
push edx
push str.http:__xl7xml.client.xunlei.com_7.9_thunder_stat2.xml
push 0x2710
push 0xbb8
push ecx
push eax
push 0x4572b4
push 0x3fa
call dword [sym.imp.xlstat.dll__XLSTAT_Init2_40]
push 0
call edi
mov esi, eax
test esi, esi
jne 0x405796
lea ecx, [esp + 0x38]
mov byte [esp + 0x6b0], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x54]
mov byte [esp + 0x6b0], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x70]
mov dword [esp + 0x6b0], 0xffffffff
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
xor al, al
jmp 0x405832
push esi
call dword [sym.imp.xlstat.dll_XLSTAT_RegisterClass]
mov ecx, esi
call fcn.004125e0
push esi
call fcn.00412f20
add esp, 4
push esi
call fcn.00413410
add esp, 4
push esi
call fcn.004166d0
add esp, 4
push esi
call ebx
mov eax, dword [ebp]
mov edx, dword [eax + 0xc]
mov ecx, ebp
call edx
call fcn.00408f30
push eax
mov eax, dword [esp + 0x1c]
call fcn.00408fc0
test eax, eax
je 0x405756
call fcn.00408f30
push eax
call fcn.00409090
mov edi, dword [esp + 0x1c]
call fcn.00408b60
lea ecx, [esp + 0x38]
mov byte [esp + 0x6b0], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x54]
mov byte [esp + 0x6b0], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [esp + 0x70]
mov dword [esp + 0x6b0], 0xffffffff
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov al, 1
mov ecx, dword [esp + 0x6a8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x690]
xor ecx, esp
call fcn.00436772
add esp, 0x6a0
ret 8