Function at 0x100aaac0
Capabilities:
Create thread
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1a4
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1a0], eax
push ebx
mov ebx, dword [sym.imp.MSVCR90.dll_malloc]
push esi
mov esi, dword [0x100d3490]
push edi
xor edi, edi
mov dword [esp + 0x10], esi
cmp dword [0x100d35f0], edi
jne 0x100aac64
push 0xc
mov dword [0x100d35f0], 1
call ebx
mov esi, eax
add esp, 4
cmp esi, edi
jne 0x100aab21
push 0xc
push str.unable_to_alloc__u_bytes
call sym.tcl85.dll_Tcl_Panic
add esp, 8
mov eax, dword [0x100d3510]
mov ecx, dword [0x100d3440]
mov dword [esi], 0x100aad70
mov dword [esi + 4], edi
mov dword [esi + 8], eax
push 0x100d3468
mov dword [0x100d3510], esi
mov dword [0x100d3468], edi
mov dword [0x100d3470], edi
mov dword [0x100d3474], edi
mov dword [0x100d3478], ecx
mov dword [0x100d3484], edi
mov dword [0x100d3488], edi
mov dword [0x100d348c], 0x100c80ac
mov dword [0x100d346c], 0x100ac180
mov dword [0x100d347c], edi
mov dword [0x100d3480], edi
call dword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
jne 0x100aabc5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call sym.tcl85.dll_TclWinConvertError
add esp, 4
call fcn.100aada0
mov dword [0x100d35f0], 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a0]
xor ecx, esp
call fcn.100b1b48
mov esp, ebp
pop ebp
ret
lea edx, [esp + 0x18]
push edx
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, edi
je 0x100aac06
push eax
call sym.tcl85.dll_TclWinConvertError
add esp, 4
call fcn.100aada0
mov dword [0x100d35f0], 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a0]
xor ecx, esp
call fcn.100b1b48
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
mov ecx, eax
shr ecx, 8
movzx ax, al
movzx dx, cl
shl ax, 8
or dx, ax
mov ecx, 0x101
cmp dx, cx
jae 0x100aac5e
call dword [sym.imp.MSVCR90.dll__errno]
mov dword [eax], 0x16
call dword [sym.imp.WS2_32.dll_WSACleanup]
call fcn.100aada0
mov dword [0x100d35f0], 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a0]
xor ecx, esp
call fcn.100b1b48
mov esp, ebp
pop ebp
ret
mov esi, dword [0x100d3490]
cmp dword [esp + 0x10], edi
jne 0x100aad55
cmp esi, edi
jne 0x100aacb7
push 0x18
call ebx
mov esi, eax
add esp, 4
cmp esi, edi
jne 0x100aac8e
push 0x18
push str.unable_to_alloc__u_bytes
call sym.tcl85.dll_Tcl_Panic
add esp, 8
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov ebx, 0x100d3490
mov dword [0x100d3490], esi
call fcn.1008f950
mov esi, dword [0x100d3490]
mov dword [esi + 0x14], edi
mov dword [esi], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateEventA]
push edi
push edi
push edi
push edi
mov dword [esi + 8], eax
call ebx
mov dword [esi + 0xc], eax
cmp eax, edi
je 0x100aad1e
push edi
push 1
push edi
push edi
call ebx
mov dword [esi + 0x10], eax
cmp eax, edi
je 0x100aad1e
lea edx, [esp + 0x14]
push edx
push edi
push esi
push 0x100ac0e0
push pe_nt_image_headers32
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 4], eax
cmp eax, edi
je 0x100aad1e
push 2
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [esi + 0xc]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [esi], edi
jne 0x100aad42
call fcn.100aada0
mov dword [0x100d35f0], 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a0]
xor ecx, esp
call fcn.100b1b48
mov esp, ebp
pop ebp
ret
push edi
push 0x100aaf40
push 0x100aae70
call sym.tcl85.dll_Tcl_CreateEventSource
add esp, 0xc
mov ecx, dword [esp + 0x1ac]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100b1b48
mov esp, ebp
pop ebp
ret