Function at 0x100409a0
Capabilities:
Get number of processors
Initialize winsock library

Disassembly:
push 0xffffffffffffffff
push 0x100ea7cd
mov eax, dword fs:[0]
push eax
sub esp, 0x3e4
mov eax, dword [0x10132f1c]
xor eax, esp
mov dword [esp + 0x3e0], eax
push ebx
push esi
push edi
mov eax, dword [0x10132f1c]
xor eax, esp
push eax
lea eax, [esp + 0x3f4]
mov dword fs:[0], eax
mov edi, dword [esp + 0x404]
mov esi, dword [esp + 0x40c]
xor ebx, ebx
push 0x1ff
lea eax, [esp + 0x1f5]
push ebx
mov dword [esp + 0x30], ebx
push eax
mov dword [esp + 0x48], edi
mov byte [esp + 0x1fc], bl
call fcn.100aacb0
add esp, 0xc
mov edx, edx
mov dh, dh
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
lea ecx, [esp + 0x40]
push ecx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov edx, edx
mov ax, word [esp + 0x40]
cmp al, 2
jne 0x10040c15
cmp ah, al
jne 0x10040c15
lea ecx, [esp + 0x14]
call fcn.1009eb71
mov dword [esp + 0x3fc], 1
push eax
pop eax
push ebx
lea edx, [esp + 0x18]
push edx
push 0x100ee8e4
push esi
call fcn.1002e570
add esp, 0x10
mov ebx, eax
push eax
pop eax
mov dl, dl
xor esi, esi
test ebx, ebx
jle 0x10040ab8
test esi, esi
jl 0x10040c10
cmp esi, dword [esp + 0x1c]
jge 0x10040c10
mov eax, dword [esp + 0x18]
mov eax, dword [eax + esi*4]
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.1003b070
add esp, 8
test eax, eax
jne 0x10040ab8
add esi, 1
cmp esi, ebx
jl 0x10040a86
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov dh, dh
mov dl, 0x25
mov cl, 0x30
mov al, 0x64
mov bl, 0x32
mov byte [esp + 0x1d0], dl
mov byte [esp + 0x1d1], cl
mov byte [esp + 0x1d2], 0x34
mov byte [esp + 0x1d3], al
mov byte [esp + 0x1d4], 0x2d
mov byte [esp + 0x1d5], dl
mov byte [esp + 0x1d6], cl
mov byte [esp + 0x1d7], bl
mov byte [esp + 0x1d8], al
mov byte [esp + 0x1d9], 0x2d
mov byte [esp + 0x1da], dl
mov byte [esp + 0x1db], cl
mov byte [esp + 0x1dc], bl
mov byte [esp + 0x1dd], al
mov byte [esp + 0x1de], 0x20
mov byte [esp + 0x1df], dl
mov byte [esp + 0x1e0], cl
mov byte [esp + 0x1e1], bl
mov byte [esp + 0x1e2], al
mov byte [esp + 0x1e3], 0x3a
mov byte [esp + 0x1e4], dl
mov byte [esp + 0x1e5], cl
mov byte [esp + 0x1e6], bl
mov byte [esp + 0x1e7], al
mov byte [esp + 0x1e8], 0x3a
mov byte [esp + 0x1e9], dl
mov byte [esp + 0x1ea], cl
mov byte [esp + 0x1eb], bl
mov byte [esp + 0x1ec], al
mov byte [esp + 0x1ed], 0
push ebx
pop ebx
movzx edx, word [esp + 0x38]
movzx eax, word [esp + 0x36]
movzx ecx, word [esp + 0x34]
push edx
movzx edx, word [esp + 0x36]
push eax
movzx eax, word [esp + 0x36]
push ecx
movzx ecx, word [esp + 0x38]
push edx
push eax
push ecx
lea edx, [esp + 0x1e8]
push edx
lea eax, [esp + 0x20c]
push eax
call fcn.100ab7c7
add esp, 0x20
mov ebx, ebx
lea ecx, [esp + 0x13]
push ecx
lea edx, [esp + 0x1f4]
push edx
mov ecx, edi
call fcn.100043b0
mov dword [esp + 0x28], 1
mov byte [esp + 0x3fc], 0
lea ecx, [esp + 0x14]
call fcn.1009ee46
jmp 0x10040c40
jmp fcn.1009c45f
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, ecx
lea eax, [esp + 0x13]
push eax
lea ecx, [esp + 0x1f4]
push ecx
mov ecx, edi
call fcn.100043b0
mov dword [esp + 0x3fc], ebx
mov dword [esp + 0x28], 1
mov eax, edi
mov ecx, dword [esp + 0x3f4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3e0]
xor ecx, esp
call fcn.100aa646
add esp, 0x3f0
ret