Function at 0x10006a30
Capabilities:
Create thread

Disassembly:
sub esp, 0xa0
mov eax, dword [0x1001601c]
xor eax, esp
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xb0]
push ebx
push ebp
mov ebp, dword [esp + 0xac]
push esi
mov esi, dword [esp + 0xb4]
push edi
mov edi, dword [esp + 0xbc]
push 0x100165f4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x100113cb
lea ecx, [esp + 0x94]
mov dword [ebp], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0x100113cb
lea ecx, [esp + 0x5c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0x100113cb
lea ecx, [esp + 0x40]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0x100113cb
lea ecx, [esp + 0x78]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
push 0x100113cb
lea ecx, [esp + 0x24]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov ebx, 0x6000008
lea ecx, [esp + 0x90]
mov eax, esi
call fcn.10002c70
test eax, eax
je 0x10006b36
cmp eax, 1
je 0x10006b36
lea ecx, [esp + 0x20]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x74]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x3c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x58]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0x100165f4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 1
jmp 0x10006d1b
mov ebx, 8
lea ecx, [esp + 0x58]
mov eax, edi
call fcn.10002c70
test eax, eax
je 0x10006b4f
cmp eax, 1
jne 0x10006aec
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x3c]
call fcn.10002c70
test eax, eax
je 0x10006b65
cmp eax, 1
jne 0x10006aec
mov eax, dword [esp + 0x1c]
mov ebx, 0x6000008
lea ecx, [esp + 0x74]
call fcn.10002c70
test eax, eax
je 0x10006b84
cmp eax, 1
jne 0x10006aec
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x20]
mov eax, esi
call fcn.10002c70
mov ebx, eax
test ebx, ebx
je 0x10006bbf
push esi
push str.HL_INVALID_STRING
or edi, 0xffffffff
lea esi, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.10007950
add esp, 8
cmp ebx, 1
jne 0x10006aec
push 0
lea eax, [esp + 0x18]
push eax
push str.ulog
call sub.LogTransport2.dll_GetStatus
add esp, 0xc
cmp dword [esp + 0x14], 0
jne 0x10006aec
call sub.LogTransport2.dll_AgentExists
test al, al
je 0x10006aec
call fcn.10008370
test al, al
je 0x10006aec
push 0xd0
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10006c6d
mov ebx, dword [esp + 0x24]
mov ecx, 0x10
cmp dword [esp + 0x38], ecx
jae 0x10006c1c
lea ebx, [esp + 0x24]
cmp dword [esp + 0x8c], ecx
mov edi, dword [esp + 0x78]
jae 0x10006c2d
lea edi, [esp + 0x78]
cmp dword [esp + 0x54], ecx
mov esi, dword [esp + 0x40]
jae 0x10006c3b
lea esi, [esp + 0x40]
cmp dword [esp + 0x70], ecx
mov edx, dword [esp + 0x5c]
jae 0x10006c49
lea edx, [esp + 0x5c]
cmp dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x94]
jae 0x10006c60
lea ecx, [esp + 0x94]
push ebx
push edi
push esi
push edx
push ecx
push eax
call fcn.10003970
jmp 0x10006c6f
xor eax, eax
mov dword [ebp], eax
call fcn.10002fc0
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x10016680
call edi
mov cl, byte [0x100165c0]
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov bl, byte [0x100165c1]
push 0x10016680
mov byte [esp + 0x17], cl
call esi
test bl, bl
jne 0x10006cdd
cmp byte [esp + 0x13], bl
jne 0x10006cdd
mov edx, dword [ebp]
push 0
push 0
push edx
push 0x10006930
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp]
push 0x10016680
mov dword [ecx + 4], eax
call edi
push 0x10016680
mov byte [0x100165c1], 1
call esi
lea ecx, [esp + 0x20]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x74]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x3c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x58]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [esp + 0x90]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push 0x100165f4
call esi
xor eax, eax
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1000e1de
add esp, 0xa0
ret