Function at 0x408aa0
Capabilities:
Create thread
Resume thread
Set socket configuration

Disassembly:
sub esp, 0x30
mov eax, dword [0x4306a0]
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
mov dword [esp + 0x4c], eax
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov dword [0x430760], eax
mov eax, dword [0x430744]
push eax
lea ecx, [eax + eax + 2]
push str.Number_of_processors:__d
mov dword [0x430754], ecx
call fcn.0040b4c0
mov eax, dword [0x430754]
add esp, 8
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x10], ebx
jbe 0x408b22
mov edi, dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, dword [0x430760]
lea edx, [esp + 0x10]
push edx
push 4
push eax
push 0x4088f0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
mov dword [esi*4 + 0x430910], eax
call edi
mov eax, dword [0x430754]
inc esi
cmp esi, eax
jb 0x408af4
push 1
push ebx
push ebx
push ebx
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
push 4
lea ecx, [esp + 0x1c]
push ecx
push 0xfffffffffffffffb
push 0xffff
push eax
mov dword [0x43075c], eax
mov dword [esp + 0x2c], 1
call dword [sym.imp.WS2_32.dll_setsockopt]
mov edx, dword [0x43075c]
push 0x10000
push edx
call fcn.00404f70
mov eax, dword [0x43075c]
push 0x10000
push eax
call fcn.00405020
mov ecx, dword [0x43075c]
push ecx
call fcn.004050d0
xor edx, edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], edx
add esp, 0x14
mov dword [esp + 0x34], edx
push ebx
mov dword [esp + 0x3c], edx
mov word [esp + 0x30], 2
call dword [sym.imp.WS2_32.dll_htonl]
mov esi, dword [sym.imp.WS2_32.dll_htons]
mov dword [esp + 0x30], eax
xor eax, eax
mov ax, word [0x430770]
push eax
call esi
mov edx, dword [0x43075c]
mov edi, dword [sym.imp.WS2_32.dll_bind]
push 0x10
lea ecx, [esp + 0x30]
push ecx
push edx
mov word [esp + 0x3a], ax
call edi
cmp eax, 0xffffffff
jne 0x408c2f
mov ebp, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, edi
call ebp
cmp eax, 0x2740
jne 0x408c7c
movzx eax, word [0x430770]
push eax
push str.openbind__d__fail__WSAEADDRINUSE.
call fcn.0040b4c0
xor eax, eax
mov ax, word [0x430770]
add esp, 8
inc ax
mov word [0x430770], ax
push eax
call esi
mov edx, dword [0x43075c]
push 0x10
lea ecx, [esp + 0x30]
push ecx
push edx
mov word [esp + 0x3a], ax
call edi
cmp eax, 0xffffffff
je 0x408be0
movzx eax, word [0x430770]
push eax
push str.openbind__d__success.
call fcn.0040b4c0
mov ecx, dword [0x43075c]
add esp, 8
push bind
push ecx
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x408c9e
push str.openg_sck_listen_listen_error.
call fcn.0040b4c0
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x2c]
call fcn.00421871
add esp, 0x30
ret
push eax
push str.openbind__d__fail__errcode:_d.
call fcn.0040b4c0
add esp, 8
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x2c]
call fcn.00421871
add esp, 0x30
ret
mov ecx, 0x434964
call fcn.004075b0
mov esi, eax
cmp esi, ebx
jne 0x408ccf
push str.openg_queue_handle.pop____NULL.
call fcn.0040b4c0
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x2c]
call fcn.00421871
add esp, 0x30
ret
mov edx, dword [0x43075c]
push ebx
mov dword [esi], edx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x6c], 1
mov eax, dword [0x430760]
push esi
push eax
mov edi, eax
mov eax, dword [0x43075c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
cmp eax, edi
je 0x408d2a
push esi
mov ecx, 0x434964
call fcn.004077a0
push str.openerror_occur__associate_completion_port_fail.
call fcn.0040b4c0
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x2c]
call fcn.00421871
add esp, 0x30
ret
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, dword [0x43075c]
push 8
push eax
push ecx
mov dword [0x43077c], eax
call dword [sym.imp.WS2_32.dll_WSAEventSelect]
mov ecx, dword [0x43075c]
push ebx
push ebx
lea edx, [esp + 0x1c]
push edx
push 4
push 0x430774
push 0x10
lea eax, [esp + 0x34]
push eax
push 0xc8000006
push ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], 0xb5367df1
mov word [esp + 0x44], 0xcbac
mov word [esp + 0x46], 0x11cf
mov byte [esp + 0x48], 0x95
mov byte [esp + 0x49], 0xca
mov byte [esp + 0x4a], bl
mov byte [esp + 0x4b], 0x80
mov byte [esp + 0x4c], 0x5f
mov byte [esp + 0x4d], 0x48
mov byte [esp + 0x4e], 0xa1
mov byte [esp + 0x4f], 0x92
call dword [sym.imp.WS2_32.dll_WSAIoctl]
cmp eax, 0xffffffff
jne 0x408dd7
push str.get_function_pointer_of_AcceptEx_error.
call fcn.0040b4c0
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x2c]
call fcn.00421871
add esp, 0x30
ret
lea edx, [esp + 0x10]
push edx
push ebx
push ebx
push 0x4081d0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
call fcn.00421871
add esp, 0x30
ret