Function at 0x10083c50
Capabilities:
Create thread
Resume thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a243a
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x10112018]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp + 0xc], ebx
jbe 0x10083f5c
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x28]
sub ecx, eax
sub edx, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov edi, edi
cmp dword [ebp + 0x24], ebx
jne 0x10083caa
mov dword [ebp - 0x20], ebx
jmp 0x10083cb3
mov eax, dword [ebp - 0x14]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0x1c], esi
cmp ecx, ebx
jne 0x10083e11
push 0x10115520
push 0x3c
call fcn.1009ae46
mov edi, eax
add esp, 8
mov dword [ebp - 0x38], edi
mov dword [ebp - 4], ebx
cmp edi, ebx
je 0x10083df9
call sym.ACE.dll_public:_static_class_ACE_OS_Object_Manager____cdecl_ACE_OS_Object_Manager::instance_void_
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x24], edx
call sym.ACE.dll_public:_static_class_ACE_OS_Object_Manager____cdecl_ACE_OS_Object_Manager::instance_void_
mov eax, dword [eax + 0x20]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov dword [edi], vtable.ACE_Base_Thread_Adapter.0
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov dword [edi + 0xc], sym.ACE.dll_ace_thread_adapter
mov dword [edi + 0x10], ebx
lea esi, [edi + 0x14]
mov dword [ebp - 0x28], eax
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov byte [esi + 0x10], 1
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
call fcn.10071f50
lea ecx, [eax + 0xc]
call sym.ACE.dll_public:_void____thiscall_ACE_Threading_Helper_class_ACE_Thread_Mutex_::get_void_
mov ebx, eax
test ebx, ebx
jne 0x10083dcc
call fcn.10071f50
mov ebx, dword [eax + 8]
call fcn.10071f50
mov eax, dword [eax + 0xc]
push ebx
push eax
call sym.ACE.dll_int___cdecl_ACE_OS::thr_setspecific_unsigned_long_int__void__
add esp, 8
cmp eax, 0xffffffff
jne 0x10083dcc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
call dword [sym.imp.MSVCR100.dll__errno]
mov eax, dword [eax]
test eax, eax
jne 0x10083d7e
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
call sym.ACE.dll_public:_static_class_ACE_Log_Msg____cdecl_ACE_Log_Msg::instance_void_
mov ecx, dword [ebp - 0x18]
push 0x100a4a6b
push str.__P_t__Service_Config_failed_to_set_thread_key_value:__p_n
push 0x80
push eax
mov byte [eax + 0x13c], 1
mov dword [eax + 0x140], str.Service_Config.cpp
mov dword [eax + 0x144], 0x39
mov dword [eax + 0x148], 0xffffffff
mov dword [eax + 0x14c], ecx
call sym.ACE.dll_public:_int___cdecl_ACE_Log_Msg::log_enum_ACE_Log_Priority__char_const__
add esp, 0x10
mov edx, dword [ebp + 0x18]
mov dword [edi + 0x34], ebx
mov dword [edi + 0x38], edx
mov eax, dword [sym.ACE.dll_void____cdecl___class_ACE_OS_Log_Msg_Attributes___int____cdecl___void____int____cdecl___void____ACE_Base_Thread_Adapter::init_log_msg_hook_]
test eax, eax
je 0x10083dec
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
push ecx
push edx
push esi
call eax
add esp, 0xc
mov esi, dword [ebp + 0x18]
mov dword [edi], vtable.ACE_OS_Thread_Adapter.0
xor ebx, ebx
jmp 0x10083dfb
xor edi, edi
mov dword [ebp - 4], 0xffffffff
mov eax, edi
cmp edi, ebx
je 0x10083ed5
mov ecx, dword [ebp + 0x2c]
jmp 0x10083e13
mov eax, ecx
mov dword [ebp - 0x18], ebx
cmp ecx, ebx
jne 0x10083e1d
mov dword [ebp - 0x18], eax
mov edi, dword [ebp + 0x1c]
mov ebx, esi
shr ebx, 2
and ebx, 1
test edi, edi
je 0x10083e34
mov ecx, esi
or ecx, 4
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0xc]
lea edx, [ebp - 0x2c]
push edx
mov edx, dword [ebp - 0x1c]
push edx
push eax
mov eax, dword [ebp - 0x20]
push ecx
push eax
push 0
call dword [sym.imp.MSVCR100.dll__beginthreadex]
add esp, 0x18
mov esi, eax
test edi, edi
je 0x10083e8f
test esi, esi
je 0x10083ef5
push edi
push esi
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
neg eax
sbb eax, eax
neg eax
dec eax
cmp eax, 0xffffffff
je 0x10083ee3
test eax, eax
jne case.0x10083f16.4
test ebx, ebx
jne 0x10083e8f
push esi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
cmp eax, 0xffffffff
jne 0x10083e8f
call fcn.1002a850
test esi, esi
je 0x10083ef5
cmp dword [ebp + 8], 0
mov dword [ebp - 4], 0xffffffff
je 0x10083ea8
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
mov dword [edx], ecx
cmp dword [ebp + 0x28], 0
je 0x10083eb7
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
mov dword [eax + ecx], esi
mov eax, dword [ebp - 0x10]
add dword [ebp - 0x14], 4
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp + 0xc]
jae 0x10083f5c
mov ecx, dword [ebp - 0x34]
xor ebx, ebx
jmp 0x10083ca0
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], 0xc
jmp 0x10083f59
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call dword [sym.imp.MSVCR100.dll__errno]
mov dword [eax], esi
jmp case.0x10083f16.4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [sym.imp.MSVCR100.dll__errno]
mov esi, eax
call edi
mov dword [eax], esi
lea eax, [esi - 3]
cmp eax, 0x4d
ja case.0x10083f16.4
movzx ecx, byte [eax + 0x10083f84]
jmp dword [ecx*4 + 0x10083f70]
call edi
mov dword [eax], 0xc
jmp case.0x10083f16.4
call edi
mov dword [eax], 0x11
jmp case.0x10083f16.4
call edi
mov dword [eax], 0xd
jmp case.0x10083f16.4
call edi
mov dword [eax], 2
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x10083f59
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret