Function at 0x10015de0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100a61fa
mov eax, dword fs:[0]
push eax
sub esp, 0x110
mov eax, dword [0x100cc020]
xor eax, esp
mov dword [esp + 0x108], eax
push ebx
push esi
push edi
mov eax, dword [0x100cc020]
xor eax, esp
push eax
lea eax, [esp + 0x120]
mov dword fs:[0], eax
mov ebx, ecx
push str.OnProcessAttach_n
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push ebx
call dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
lea edi, [esp + 0x14]
call fcn.10099160
xor edi, edi
cmp eax, edi
je 0x10015e59
mov ecx, dword [esp + 0x14]
cmp ecx, edi
je 0x10015e59
push ecx
mov esi, eax
call fcn.100991a0
jmp 0x10015e61
push 0x7e
call dword [sym.imp.KERNEL32.dll_SetLastError]
push ebx
call fcn.10015cc0
add esp, 4
lea ecx, [esp + 0xe0]
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__::constructor_void_]
lea eax, [esp + 0xe0]
mov dword [esp + 0x128], edi
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], edi
call fcn.10016260
mov ecx, dword [0x100ce89c]
mov esi, dword [sym.imp.MSVCP90.dll_public:_static_class_std::locale_const____cdecl_std::locale::classic_void_]
add esp, 4
cmp ecx, edi
je 0x10015fb0
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0x7d0
call eax
test eax, eax
je 0x10015fb0
mov ebx, 1
push ebx
push 2
lea ecx, [esp + 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int_]
mov byte [esp + 0x128], bl
call esi
mov edx, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [edx + 4]
lea ecx, [esp + ecx + 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_class_std::locale___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const__]
lea ecx, [esp + 0x14]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::locale::destructor_void_]
lea eax, [esp + 0xe0]
push eax
push ecx
push str._loaded_in
push ecx
push 0x100acfb4
push ecx
lea ecx, [esp + 0x3c]
push str._Chrome::Library::OnProcessAttach_
push ecx
call fcn.100040c0
add esp, 0xc
push eax
call fcn.100040c0
add esp, 0xc
push eax
call fcn.100040c0
add esp, 0xc
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______cdecl_std::operator___wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
add esp, 8
lea edx, [esp + 0xc4]
push edx
lea ecx, [esp + 0x28]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void_]
mov byte [esp + 0x128], 2
cmp dword [esp + 0xdc], 8
mov eax, dword [esp + 0xc8]
jae 0x10015f6f
lea eax, [esp + 0xc8]
mov edi, dword [esp + 0xd8]
mov ecx, dword [0x100ce89c]
mov edx, dword [ecx]
push edi
push eax
mov eax, dword [edx + 0x10]
push 0x7d0
call eax
lea ecx, [esp + 0xc4]
mov byte [esp + 0x128], bl
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 + 0x24]
mov byte [esp + 0x128], 0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void_]
cmp dword [esp + 0xf8], 8
mov edi, dword [esp + 0xe4]
jae 0x10015fc8
lea edi, [esp + 0xe4]
mov ebx, str.CHROME.EXE
call fcn.1001de40
test eax, eax
je 0x1001621b
xor eax, eax
mov ecx, 0x528f
mov edx, 0x427b
mov dword [esp + 0xc4], 0xcb2ddfa
mov word [esp + 0xc8], cx
mov word [esp + 0xca], dx
mov byte [esp + 0xcc], 0x9b
mov byte [esp + 0xcd], 0x9c
mov byte [esp + 0xce], 0xc9
mov byte [esp + 0xcf], 0xf6
mov byte [esp + 0xd0], 0x5b
mov byte [esp + 0xd1], 0xc2
mov byte [esp + 0xd2], 0xc8
mov byte [esp + 0xd3], 0xd6
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc4]
push eax
lea ebx, [esp + 0x1c]
mov byte [esp + 0x12c], 3
call fcn.1001ebc0
test eax, eax
jne 0x10016087
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x1001621b
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1001621b
push eax
push 0
push ecx
jmp 0x10016213
mov ecx, dword [0x100ce89c]
mov ebx, dword [esp + 0x18]
xor edi, edi
cmp ecx, edi
je 0x100161d2
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0x7d0
call eax
test eax, eax
je 0x100161d2
push 1
push 2
lea ecx, [esp + 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int_]
mov byte [esp + 0x128], 4
call esi
mov edx, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [edx + 4]
lea ecx, [esp + ecx + 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_class_std::locale___thiscall_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const__]
lea ecx, [esp + 0x14]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::locale::destructor_void_]
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], edi
lea eax, [esp + 0xa8]
lea edi, [esp + 0xc4]
mov dword [esp + 0xc4], 0xfde9
call fcn.100162c0
push eax
push ecx
push str.Configuration:
push ecx
lea eax, [esp + 0x34]
push str._Chrome::Library::OnProcessAttach_
push eax
mov byte [esp + 0x140], 5
call fcn.100040c0
add esp, 0xc
push eax
call fcn.100040c0
add esp, 0xc
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______cdecl_std::operator___wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
add esp, 8
lea ecx, [esp + 0xa8]
mov byte [esp + 0x128], 4
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 + 0xfc]
push ecx
lea ecx, [esp + 0x28]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void_]
mov byte [esp + 0x128], 6
cmp dword [esp + 0x114], 8
mov eax, dword [esp + 0x100]
jae 0x10016190
lea eax, [esp + 0x100]
mov esi, dword [esp + 0x110]
mov ecx, dword [0x100ce89c]
mov edx, dword [ecx]
push esi
push eax
mov eax, dword [edx + 0x10]
push 0x7d0
call eax
lea ecx, [esp + 0xfc]
mov byte [esp + 0x128], 4
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 + 0x24]
mov byte [esp + 0x128], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void_]
cmp dword [0x100cef18], 0
je 0x10016203
cmp dword [0x100cef3c], 0
je 0x10016203
mov ecx, dword [esp + 0x20]
mov edx, ebx
mov dword [0x100ce738], ecx
call fcn.100142a0
mov dword [0x100ce734], eax
test eax, eax
je 0x10016203
call fcn.10015c10
test ebx, ebx
je 0x1001621b
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1001621b
push eax
push 0
push ebx
call sub.MSVCR90.dll_memset
add esp, 0xc
lea ecx, [esp + 0xe0]
mov dword [esp + 0x128], 0xffffffff
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_]
mov eax, 1
mov ecx, dword [esp + 0x120]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x108]
xor ecx, esp
call fcn.1009ecb4
mov esp, ebp
pop ebp
ret