Function at 0x10047050
Capabilities:
Check mutex on windows

Disassembly:
push 0xffffffffffffffff
push 0x1008f19b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
mov ebx, ecx
push ebp
push esi
mov al, byte [ebx + 4]
push edi
test al, al
mov dword [esp + 0x18], ebx
jne 0x100470ed
mov eax, dword [ebx + 0x14c]
mov esi, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
test eax, eax
mov dword [esp + 0x88], 0x3d8
je 0x10047096
mov esi, eax
lea eax, [esp + 0x88]
lea ecx, [esp + 0x5c]
push eax
push str.F:SCVLibScvLIBNetAvailableNetworkAdapters.cpp
call fcn.1006ae90
mov ecx, dword [esp + 0x84]
mov edx, dword [str.AvailableNetworkAdaptersFunction]
push ecx
push esi
push 0x100a8cf8
push 0xb
push edx
push eax
mov dword [esp + 0x94], 0
call fcn.1006b020
add esp, 0x18
lea ecx, [esp + 0x5c]
mov dword [esp + 0x7c], 0xffffffff
call fcn.1006afc0
jmp 0x100477a2
lea eax, [ebx + 0x5c]
lea ecx, [esp + 0x30]
push eax
call fcn.10067f70
mov ebp, dword [esp + 0x84]
mov ecx, ebx
push ebp
mov dword [esp + 0x80], 1
call fcn.10047840
mov eax, dword [ebx + 0x104]
test eax, eax
je 0x1004712e
mov ecx, dword [ebx + 0x108]
sub ecx, eax
test ecx, 0xfffffff0
jne 0x10047195
mov eax, dword [ebx + 0x14c]
mov esi, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
test eax, eax
mov dword [esp + 0x84], 0x3e7
je 0x1004714b
mov esi, eax
lea edx, [esp + 0x84]
lea ecx, [esp + 0x5c]
push edx
push str.F:SCVLibScvLIBNetAvailableNetworkAdapters.cpp
call fcn.1006ae90
mov ecx, dword [str.AvailableNetworkAdaptersFunction]
push ebp
push esi
push 0x100a8dd0
push 0xb
push ecx
push eax
mov byte [esp + 0x94], 2
call fcn.1006b020
add esp, 0x18
lea ecx, [esp + 0x5c]
mov byte [esp + 0x7c], 1
call fcn.1006afc0
jmp 0x10047791
mov edi, dword [ebx + 0x144]
mov ecx, ebx
call fcn.1004ce60
cmp eax, edi
ja 0x1004724d
mov eax, 0xd1b71759
mov ecx, 0x2710
mul edi
mov esi, edx
mov eax, edi
xor edx, edx
mov dword [esp + 0x88], 0x3f4
div ecx
mov eax, 0x51eb851f
shr esi, 0xd
mov ecx, edx
mul ecx
mov edi, edx
mov eax, ecx
xor edx, edx
mov ecx, 0x64
div ecx
mov eax, dword [ebx + 0x14c]
mov ebx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
shr edi, 5
test eax, eax
mov ebp, edx
je 0x100471f9
mov ebx, eax
lea edx, [esp + 0x88]
lea ecx, [esp + 0x5c]
push edx
push str.F:SCVLibScvLIBNetAvailableNetworkAdapters.cpp
call fcn.1006ae90
mov ecx, dword [esp + 0x84]
mov edx, dword [str.AvailableNetworkAdaptersFunction]
push ebp
push edi
push esi
push ecx
push ebx
push 0x100a8d90
push 0xb
push edx
push eax
mov byte [esp + 0xa0], 3
call fcn.1006b020
add esp, 0x24
lea ecx, [esp + 0x5c]
mov byte [esp + 0x7c], 1
call fcn.1006afc0
jmp 0x10047791
mov eax, dword [str.GlobalNonTrimAdapterModeMutex]
xor edi, edi
push eax
push edi
push edi
mov byte [esp + 0x1f], 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10047276
mov byte [esp + 0x13], 1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov cl, byte [esp + 0x84]
mov byte [esp + 0x12], 0
mov byte [esp + 0x38], cl
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x88]
mov byte [esp + 0x7c], 4
mov dword [esp + 0x14], 1
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
cmp eax, ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x1c], eax
je 0x100475c0
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov eax, ecx
jmp 0x100472d6
mov ebp, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov eax, dword [eax + 4]
test eax, eax
je 0x10047590
mov eax, dword [eax + 8]
test eax, eax
je 0x10047590
mov cl, byte [esp + 0x13]
mov esi, dword [ebx + 0x108]
test cl, cl
mov ecx, dword [ebx + 0x104]
je 0x10047334
mov edx, dword [esp + 0x84]
lea edi, [eax + 4]
push 0
push edx
push edi
push esi
push ecx
call fcn.10054330
add esp, 0x14
cmp eax, esi
je 0x1004737d
mov eax, dword [eax + 4]
mov ecx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
test eax, eax
jne 0x1004732b
mov eax, ecx
mov edi, dword [edi + 4]
test edi, edi
jne 0x10047368
jmp 0x10047366
lea edi, [eax + 0x14]
mov eax, dword [esp + 0x84]
push 0
push eax
push edi
push esi
push ecx
call fcn.10054330
add esp, 0x14
cmp eax, esi
je 0x1004737d
mov eax, dword [eax + 4]
mov ecx, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
test eax, eax
jne 0x1004735f
mov eax, ecx
mov edi, dword [edi + 4]
test edi, edi
jne 0x10047368
mov edi, ecx
push eax
push edi
call ebp
add esp, 8
test eax, eax
jl 0x1004737d
mov byte [esp + 0x12], 1
jmp 0x10047590
push 0x50
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov byte [esp + 0x7c], 5
je 0x100473d9
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 4]
test edx, edx
jne 0x100473a6
xor ecx, ecx
jmp 0x100473a9
mov ecx, dword [edx + 8]
test edx, edx
je 0x100473b0
mov edx, dword [edx + 8]
mov esi, dword [edx + 8]
test esi, esi
jne 0x100473bd
mov esi, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edi, dword [esp + 0x14]
add ecx, 0x24
mov edx, edi
push ecx
inc edi
push esi
push edx
mov ecx, eax
mov dword [esp + 0x20], edi
call fcn.10045c30
mov esi, eax
jmp 0x100473db
xor esi, esi
xor eax, eax
mov byte [esp + 0x7c], 4
test esi, esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], 0x10094500
je 0x10047418
push 0xc
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10047412
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], esi
jmp 0x10047414
xor eax, eax
mov dword [esp + 0x2c], eax
test eax, eax
mov byte [esp + 0x7c], 6
je 0x10047561
mov eax, dword [eax + 8]
test eax, eax
je 0x10047561
cmp dword [esp + 0x90], 0x17
jne 0x10047561
mov edx, dword [esp + 0x88]
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x10047450
xor edi, edi
jmp 0x10047453
mov edi, dword [ecx + 8]
add edi, 0x40
lea esi, [eax + 0x40]
cmp esi, edi
je 0x10047561
mov eax, dword [edi + 4]
test eax, eax
jne 0x1004746c
xor ebp, ebp
jmp 0x10047474
mov ebp, dword [edi + 8]
sub ebp, eax
sar ebp, 4
mov ecx, esi
call fcn.100768d0
cmp ebp, eax
ja 0x100474b6
mov edx, dword [esi + 4]
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
push edx
push eax
push ecx
call fcn.10052470
mov ecx, dword [esi + 8]
add esp, 0xc
push ecx
push eax
mov ecx, esi
call fcn.1007c3e0
mov ecx, edi
call fcn.100768d0
mov ecx, dword [esi + 4]
shl eax, 4
add eax, ecx
mov dword [esi + 8], eax
jmp 0x10047561
mov ecx, edi
call fcn.100768d0
mov ecx, esi
mov ebp, eax
call fcn.1004f170
cmp ebp, eax
ja 0x10047514
mov ebx, dword [edi + 4]
mov ecx, esi
call fcn.100768d0
mov edx, dword [esi + 4]
mov ebp, eax
mov eax, dword [edi + 4]
push edx
shl ebp, 4
add ebp, ebx
push ebp
push eax
call fcn.10052470
mov ecx, dword [esi + 8]
mov eax, dword [edi + 8]
add esp, 0xc
push ecx
push eax
push ebp
mov ecx, esi
call fcn.1004f320
mov ecx, edi
call fcn.100768d0
mov ecx, dword [esi + 4]
mov ebx, dword [esp + 0x18]
shl eax, 4
add eax, ecx
mov dword [esi + 8], eax
jmp 0x10047561
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
mov ecx, esi
call fcn.1007c3e0
mov eax, dword [esi + 4]
push eax
call fcn.10088e50
add esp, 4
mov ecx, edi
call fcn.100768d0
test eax, eax
jge 0x1004753c
xor eax, eax
shl eax, 4
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esi + 4], eax
mov ecx, dword [edi + 8]
mov edi, dword [edi + 4]
push eax
push ecx
push edi
mov ecx, esi
call fcn.1004f320
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x28]
push ecx
push 1
push edx
lea ecx, [esp + 0x44]
call fcn.1004fa60
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x7c], 4
test ecx, ecx
mov dword [esp + 0x28], 0x10094500
je 0x10047590
call fcn.100511f0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x1c]
add eax, 8
cmp eax, ecx
mov dword [esp + 0x88], eax
jne 0x100472d0
mov al, byte [esp + 0x12]
test al, al
jne 0x10047665
mov ebp, dword [esp + 0x84]
mov esi, dword [ebx + 0x14c]
mov dword [esp + 0x84], 0x42b
test esi, esi
jne 0x100475db
mov esi, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
lea eax, [esp + 0x84]
lea ecx, [esp + 0x5c]
push eax
push str.F:SCVLibScvLIBNetAvailableNetworkAdapters.cpp
call fcn.1006ae90
mov ecx, dword [str.AvailableNetworkAdaptersFunction]
push ebp
push esi
push 0x100a8d44
push 0xb
push ecx
push eax
mov byte [esp + 0x94], 7
call fcn.1006b020
add esp, 0x18
lea ecx, [esp + 0x5c]
mov byte [esp + 0x7c], 4
call fcn.1006afc0
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
cmp esi, eax
mov byte [esp + 0x7c], 1
mov edi, eax
je 0x10047649
xor ebx, ebx
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx]
add esi, 8
cmp esi, edi
jne 0x10047635
mov esi, dword [esp + 0x3c]
jmp 0x1004764b
xor ebx, ebx
push esi
call fcn.10088e50
add esp, 4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
jmp 0x10047791
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x28], 0x100944fc
mov dword [esp + 0x2c], ecx
sub esp, 8
mov eax, esp
mov dword [esp + 0x90], esp
mov dword [eax + 4], ecx
mov dword [eax], 0x100944fc
lea ecx, [esp + 0x40]
mov byte [esp + 0x84], 8
call fcn.1004e6e0
push eax
lea ecx, [esp + 0x44]
call fcn.1004e6d0
push eax
call fcn.10051820
mov cl, byte [esp + 0x48]
mov eax, dword [esp + 0x94]
mov byte [esp + 0x5c], cl
add esp, 0x10
lea ecx, [esp + 0x38]
mov dword [esp + 0x48], eax
call fcn.1004e6f0
xor ebp, ebp
cmp eax, ebp
jge 0x100476d5
xor eax, eax
lea edx, [eax*8]
push edx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [esp + 0x50], eax
push eax
mov eax, dword [esp + 0x44]
push eax
push ecx
lea ecx, [esp + 0x58]
call fcn.1004fd50
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
lea edx, [esp + 0x48]
lea eax, [esp + 0x20]
push edx
push eax
lea ecx, [ebx + 0x4c]
mov byte [esp + 0x84], 0xa
call fcn.1004f360
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
cmp esi, eax
mov byte [esp + 0x7c], 8
mov edi, eax
je 0x10047744
mov edx, dword [esi]
push ebp
mov ecx, esi
call dword [edx]
add esi, 8
cmp esi, edi
jne 0x10047732
mov esi, dword [esp + 0x50]
push esi
call fcn.10088e50
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
add esp, 4
cmp esi, edi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov byte [esp + 0x7c], 1
je 0x1004777c
mov eax, dword [esi]
push ebp
mov ecx, esi
call dword [eax]
add esi, 8
cmp esi, edi
jne 0x1004776a
mov esi, dword [esp + 0x3c]
push esi
call fcn.10088e50
add esp, 4
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
lea ecx, [esp + 0x30]
mov dword [esp + 0x7c], 0xffffffff
call fcn.10067fb0
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x70
ret 0x10