Function at 0x40ec1c
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
push 0xc
call fcn.0043e388
add esp, 4
mov dword [ebp - 0x34], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], esp
push 4
push dword [ebp + 8]
lea eax, [ebp - 4]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40ece2
push 0
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
fild dword [ebp + 8]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x46e6be]
fstp qword [ebp - 0x4c]
mov dword [ebp - 0x50], esp
push 4
fld qword [ebp - 0x4c]
call fcn.00401272
push eax
lea eax, [ebp - 8]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x50], esp
je 0x40ed2f
push 0x5c
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
fild dword [ebp + 8]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x46e821]
fstp qword [ebp - 0x4c]
mov dword [ebp - 0x50], esp
push 4
fld qword [ebp - 0x4c]
call fcn.00401272
push eax
lea eax, [ebp - 0xc]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x50], esp
je 0x40ed7c
push 0xad
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
fild dword [ebp + 8]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x46e829]
fstp qword [ebp - 0x4c]
mov dword [ebp - 0x50], esp
push 4
fld qword [ebp - 0x4c]
call fcn.00401272
push eax
lea eax, [ebp - 0x10]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x50], esp
je 0x40edc9
push 0xfe
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
fild dword [ebp + 8]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x46e831]
fstp qword [ebp - 0x4c]
mov dword [ebp - 0x50], esp
push 4
fld qword [ebp - 0x4c]
call fcn.00401272
push eax
lea eax, [ebp - 0x14]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x50], esp
je 0x40ee16
push 0x151
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
push dword [ebp + 8]
call fcn.0040f726
mov dword [ebp - 0x18], eax
mov eax, 0x46a379
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40ee37
push ebx
call fcn.0043e38e
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x40], esp
push 0xffffffff
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0xc]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40ee78
push 0x22e
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x40f52e
cmp dword [ebp - 0x24], 0xffffffff
jne 0x40eeaa
cmp dword [ebp - 0x20], 0xffffffff
jne 0x40eeaa
cmp dword [ebp - 0x28], 0xffffffff
jne 0x40eeaa
mov eax, 1
jmp 0x40eeaf
mov eax, 0
test eax, eax
je 0x40eec1
jmp 0x40f704
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x40eee6
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x40eee6
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x40eee6
mov eax, 1
jmp 0x40eeeb
mov eax, 0
test eax, eax
je 0x40eefd
jmp 0x40f704
push dword [ebp - 0x28]
call fcn.0040f791
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x65
jne 0x40f1f3
push dword [ebp - 0x28]
call fcn.0040f7fc
mov dword [ebp - 0x30], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x40ef30
mov eax, 0x46a2f3
push eax
push 1
mov ebx, 0x130
call fcn.00440a90
add esp, 0x10
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], esp
push dword [ebp - 0x40]
push dword [ebp - 0x1c]
push 8
push 0xffff
push dword [ebp - 0x30]
xor eax, eax
call dword [sym.imp.WS2_32.dll_setsockopt]
nop
nop
cmp dword [ebp - 0x44], esp
je 0x40ef82
push 0x5a7
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x40f156
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dword [ebx], 1
mov ebx, dword [ebp - 0x34]
add ebx, 4
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dword [ebx], 0xea60
mov ebx, dword [ebp - 0x34]
add ebx, 8
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov dword [ebx], 0x1388
mov dword [ebp - 0x40], esp
push dword [ebp - 0x34]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_LocalSize]
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40efee
push 0x71f
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 0x44], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x40f004
mov eax, 0x46a2f3
push eax
push 1
mov ebx, 0x9dc
call fcn.004405b0
add esp, 0x10
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], esp
push 0
push 0
lea eax, [ebp - 0x48]
push eax
push 0
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x34]
push 0x98000004
push dword [ebp - 0x30]
xor eax, eax
call dword [sym.imp.WS2_32.dll_WSAIoctl]
nop
nop
cmp dword [ebp - 0x4c], esp
je 0x40f069
push 0x74b
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jne 0x40f156
fild dword [ebp - 0x28]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x46e88b]
fstp qword [ebp - 0x4c]
mov dword [ebp - 0x50], esp
push 4
fld qword [ebp - 0x4c]
call fcn.00401272
push eax
lea eax, [ebp - 0x38]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x50], esp
je 0x40f0c3
push 0x79c
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push dword [ebp - 0x20]
push 1
push dword [ebp - 0x28]
push 1
push 0x3e9
push dword [ebp - 0x10]
call fcn.0040f867
mov dword [ebp - 0x40], esp
push 0
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x30]
xor eax, eax
call dword [0x46fa7d]
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40f121
push 0x875
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x40f156
push 1
push dword [ebp - 0x28]
call fcn.0040f91a
push dword [ebp - 0x28]
push dword [ebp - 4]
call fcn.0040f976
push dword [ebp - 0x38]
push dword [ebp - 4]
call fcn.0040faf5
jmp 0x40ee3b
fild dword [ebp - 0x28]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fadd qword [0x46e88b]
fstp qword [ebp - 0x4c]
mov dword [ebp - 0x50], esp
push 4
fld qword [ebp - 0x4c]
call fcn.00401272
push eax
lea eax, [ebp - 0x38]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x50], esp
je 0x40f1a3
push 0x9f2
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
push dword [ebp - 0x38]
push dword [ebp - 4]
call fcn.0040faf5
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push 0
push 1
push dword [ebp - 0x28]
push 1
push 0x3ea
push dword [ebp - 0x10]
call fcn.0040f867
push 0
push dword [ebp - 0x28]
call fcn.004108e2
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 4]
call fcn.004106e1
jmp 0x40f529
cmp dword [ebp - 0x2c], 0x20
jne 0x40f242
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push 0
push 1
push dword [ebp - 0x28]
push 1
push 0x3ea
push dword [ebp - 0x10]
call fcn.0040f867
push 0
push dword [ebp - 0x28]
call fcn.004108e2
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 4]
call fcn.004106e1
jmp 0x40f529
cmp dword [ebp - 0x2c], 0x10
jne 0x40f290
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push 0
push 1
push dword [ebp - 0x28]
push 1
push 0x3ee
push dword [ebp - 0x10]
call fcn.0040f867
push 1
push dword [ebp - 0x28]
call fcn.0040f91a
push dword [ebp - 0x28]
push dword [ebp - 4]
call fcn.0040f976
jmp 0x40f529
cmp dword [ebp - 0x2c], 8
jne 0x40f29f
jmp 0x40f529
cmp dword [ebp - 0x2c], 4
jne 0x40f2ee
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push 0
push 1
push dword [ebp - 0x28]
push 1
push 0x6a
push dword [ebp - 0x10]
call fcn.0040f867
push 0
push dword [ebp - 0x28]
call fcn.004108e2
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 4]
call fcn.004106e1
jmp 0x40f529
cmp dword [ebp - 0x20], 0
jne 0x40f465
cmp dword [ebp - 0x2c], 0x10
jne 0x40f347
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push 0
push 1
push dword [ebp - 0x28]
push 1
push 0x6a
push dword [ebp - 0x10]
call fcn.0040f867
push 0
push dword [ebp - 0x28]
call fcn.004108e2
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 4]
call fcn.004106e1
jmp 0x40f460
cmp dword [ebp - 0x2c], 2
jne 0x40f396
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push 0
push 1
push dword [ebp - 0x28]
push 1
push 0x3ea
push dword [ebp - 0x10]
call fcn.0040f867
push 0
push dword [ebp - 0x28]
call fcn.004108e2
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 4]
call fcn.004106e1
jmp 0x40f460
cmp dword [ebp - 0x2c], 0x80
jne 0x40f3e8
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push 0
push 1
push dword [ebp - 0x28]
push 1
push 0x3ea
push dword [ebp - 0x10]
call fcn.0040f867
push 0
push dword [ebp - 0x28]
call fcn.004108e2
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 4]
call fcn.004106e1
jmp 0x40f460
cmp dword [ebp - 0x2c], 1
jne 0x40f43d
push 0x20
push dword [ebp - 0x28]
call fcn.0040f91a
mov dword [ebp - 0x40], esp
push dword [ebp - 0x28]
push 0
push 0
push dword [ebp - 0xc]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40f438
push 0x13a5
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
jmp 0x40f460
cmp dword [ebp - 0x2c], 0x40
jne 0x40f460
push 0
push dword [ebp - 0x28]
call fcn.004108e2
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 4]
call fcn.004106e1
jmp 0x40f529
cmp dword [ebp - 0x2c], 1
jne 0x40f4fe
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push dword [ebp - 0x20]
push 1
push dword [ebp - 0x28]
push 1
push 0x3eb
push dword [ebp - 0x10]
call fcn.0040f867
push 1
push dword [ebp - 0x28]
call fcn.0040f91a
push dword [ebp - 0x28]
push dword [ebp - 4]
call fcn.0040f976
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x40f4f9
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push 0
push 1
push dword [ebp - 0x28]
push 1
push 0x3ea
push dword [ebp - 0x10]
call fcn.0040f867
push 0
push dword [ebp - 0x28]
call fcn.004108e2
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 4]
call fcn.004106e1
jmp 0x40f529
cmp dword [ebp - 0x2c], 2
jne 0x40f50d
jmp 0x40f529
cmp dword [ebp - 0x2c], 0x40
jne 0x40f51c
jmp 0x40f529
cmp dword [ebp - 0x2c], 0x80
jne 0x40f529
jmp 0x40f6ff
mov dword [ebp - 0x40], esp
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40f557
push 0x1ab3
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x28], 0
je 0x40f6ed
push dword [ebp - 0x28]
call fcn.0040f791
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 8
jne 0x40f5be
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push 0
push 1
push dword [ebp - 0x28]
push 1
push 0x3ea
push dword [ebp - 0x10]
call fcn.0040f867
push 0
push dword [ebp - 0x28]
call fcn.004108e2
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 4]
call fcn.004106e1
jmp 0x40f6e8
cmp dword [ebp - 0x2c], 0x10
jne 0x40f613
push 4
push dword [ebp - 0x28]
call fcn.0040f91a
mov dword [ebp - 0x40], esp
push dword [ebp - 0x28]
push 0
push 0
push dword [ebp - 0xc]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40f60e
push 0x1ecf
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
jmp 0x40f6e8
cmp dword [ebp - 0x2c], 1
jne 0x40f668
push 0x20
push dword [ebp - 0x28]
call fcn.0040f91a
mov dword [ebp - 0x40], esp
push dword [ebp - 0x28]
push 0
push 0
push dword [ebp - 0xc]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40f663
push 0x1f6c
push 0x402ec8a
push 6
call fcn.0043e37c
add esp, 0xc
jmp 0x40f6e8
cmp dword [ebp - 0x2c], 2
jne 0x40f6cc
push 1
push dword [ebp - 0x10]
call fcn.0040f8ae
test eax, eax
je 0x40f6ae
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push 0
push 1
push dword [ebp - 0x28]
push 1
push 0x3ea
push dword [ebp - 0x10]
call fcn.0040f867
push 0
push dword [ebp - 0x28]
call fcn.004108e2
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 4]
call fcn.004106e1
jmp 0x40f6e8
cmp dword [ebp - 0x2c], 0x40
jne 0x40f6db
jmp 0x40f6e8
cmp dword [ebp - 0x24], 0x80
jne 0x40f6e8
jmp 0x40f6ff
cmp dword [ebp - 0x3c], 0x102
je 0x40f6ff
jmp 0x40f704
jmp 0x40ee3b
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40f714
push ebx
call fcn.0043e38e
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
call fcn.0043e38e
add esp, 4
mov esp, ebp
pop ebp
ret 4