Function at 0x85aec0
Capabilities:
Allocate thread local storage
Get system information on windows
Initialize winsock library

Disassembly:
push r14
push r13
push r12
sub rsp, 0x50
mov ecx, 0x38
call sym.__cxa_allocate_exception
lea rdx, [rsp + 0x28]
mov qword [rsp + 0x30], 0
lea r14, [rsp + 0x20]
mov r12, rax
lea rax, fcn.0074d1e0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], rax
add rax, 0x28
lea rcx, [r12 + 8]
mov qword [rsp + 0x28], rax
lea rax, method.boost::exception_detail::clone_impl_boost::exception_detail::error_info_injector_boost::bad_get___.clone_impl__
mov qword [r12], rax
add rax, 0x38
mov qword [r12 + 8], rax
add rax, 0x38
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0xffffffff
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x20], 0
mov dword [r12 + 0x28], 0xffffffff
mov qword [r12 + 0x30], rax
call method.boost::exception_detail.copy_boost_exception_boost::exception__boost::exception_const_
mov rcx, r14
call fcn.0074d1e0
lea r8, [method.boost::exception_detail::clone_impl_boost::exception_detail::error_info_injector_boost::bad_get___.clone_impl__]
lea rdx, [0x0093de30]
mov rcx, r12
call sym.__cxa_throw
mov rcx, r12
mov r13, rax
call sym.boost::exception_detail::error_info_injector_boost::bad_get_::error_info_injector__
mov rcx, r14
call fcn.0074d1e0
mov rcx, r12
call sym.__cxa_free_exception
mov rcx, r13
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push rsi
push rbx
sub rsp, 0x1c8
lea rcx, [0x009cc400]
call fcn.008374e0
lea rcx, [sym.__tcf_15_3]
call dbg.atexit
call method.boost::system.generic_category__
call method.boost::system.generic_category__
call method.boost::system.system_category__
cmp byte [0x0086b3e0], 0
je 0x85b025
call method.boost::system.system_category__
call method.boost::system.system_category__
call method.boost::system.system_category__
movzx eax, byte [0x0086b8c0]
test al, al
je 0x85b133
lea rcx, [sym.__tcf_16_2]
call dbg.atexit
mov eax, 1
lock xadd dword [0x0086d590], eax
test eax, eax
je 0x85b17c
cmp byte [0x0086b420], 0
je 0x85b10f
cmp byte [0x0086b430], 0
je 0x85b0eb
lea rdx, [0x0087fee8]
lea rcx, [0x009cc3e0]
call fcn.00468730
lea rcx, [sym.__tcf_19_4]
call dbg.atexit
lea rdx, [0x0087ff90]
lea rcx, [0x009cc3c0]
call fcn.00468730
lea rcx, [sym.__tcf_20_4]
call dbg.atexit
lea rcx, [0x008650f0]
mov qword [0x009cc3a0], 0
mov qword [0x009cc3a8], 0
mov qword [0x009cc3b0], 0
mov qword [0x009cc3b8], 0
call method.tools.get_default_data_dir_abi:cxx11___
lea rax, [sym._ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt5arrayIbLy2EEbS5_EN10cryptonoteUlS7_bS5_E_EE9_]
lea rcx, [sym.__tcf_21_4]
mov qword [0x00865138], rax
lea rax, [sym._ZNSt14_Function_base13_Base_managerIN10cryptonoteUlSt5arrayIbLy2EEbNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE_EE10]
mov qword [0x00865130], rax
call dbg.atexit
cmp byte [0x0086b3d0], 0
je 0x85b0ca
cmp byte [0x0086b460], 0
je 0x85b09b
cmp byte [0x0086b4d0], 0
je 0x85b164
add rsp, 0x1c8
pop rbx
pop rsi
ret
mov byte [0x0086b3e0], 1
mov edx, 1
lea rcx, [0x0086d498]
mov byte [0x0086d4c0], 0
call qword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
je 0x85aefd
xor r9d, r9d
xor r8d, r8d
mov edx, 1
lea rcx, [0x0086d498]
call qword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
je 0x85aefd
lea rax, [0x0086d498]
mov byte [0x0086d4c0], 0
mov qword [0x0086d488], rax
mov dword [0x0086d480], 0x18
mov dword [0x0086d490], 0
jmp 0x85aefd
mov byte [0x0086b460], 1
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov ebx, eax
cmp eax, 0xffffffff
je 0x85b197
lea rcx, [sym.__tcf_22_2]
mov dword [0x0086d580], ebx
call dbg.atexit
jmp 0x85b00e
mov byte [0x0086b3d0], 1
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x40]
mov dword [0x0086d460], eax
jmp 0x85b001
lea rcx, [0x0086d550]
mov byte [0x0086b430], 1
call method.boost::exception_ptr_boost::exception_detail::get_static_exception_object_boost::exception_detail.bad_exception____
lea rcx, [sym.__tcf_18_4]
call dbg.atexit
jmp 0x85af56
lea rcx, [0x0086d540]
mov byte [0x0086b420], 1
call method.boost::exception_ptr_boost::exception_detail::get_static_exception_object_boost::exception_detail.bad_alloc____
lea rcx, [sym.__tcf_17_4]
call dbg.atexit
jmp 0x85af49
lea rcx, [0x0086b8c0]
call sym.__cxa_guard_acquire
test eax, eax
je 0x85af1b
lea rcx, [0x0086b8c0]
call sym.__cxa_guard_release
lea rcx, [sym.__tcf_2]
call dbg.atexit
jmp 0x85af1b
lea rcx, [sym.__tcf_23_2]
mov byte [0x0086b4d0], 1
call dbg.atexit
jmp 0x85b01b
lea rdx, [rsp + 0x20]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_WSAStartup]
xchg dword [0x0086d594], eax
jmp 0x85af3c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call method.boost::system.system_category__
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], rax
test esi, esi
je 0x85b0b3
lea rcx, [rsp + 0x20]
lea rdx, [0x00880033]
call method.boost::asio::detail.do_throw_error_boost::system::error_code_const__char_const_
nop
nop word [rax + rax]