Function at 0x414a40
Capabilities:
Set socket configuration

Disassembly:
sub esp, 0xb8
mov al, byte [0x4c997d]
push ebx
push ebp
xor ebp, ebp
push esi
push edi
test al, al
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebp
jne 0x415140
push 0x48fcb4
call fcn.00451a5f
add esp, 4
test eax, eax
jne 0x415140
mov al, byte [0x4c997c]
test al, al
jne 0x414aaf
mov eax, dword [0x48f618]
push 0x2a9
push eax
push 0x48fca8
call fcn.004086d0
add esp, 0xc
mov eax, 0x445c1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
mov esi, dword [esp + 0xcc]
cmp esi, 0x3e8
ja 0x414ae7
mov ecx, dword [0x48f618]
push 0x2aa
push ecx
push 0x48fe38
call fcn.004086d0
add esp, 0xc
mov eax, 0x445c1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
mov eax, dword [esp + 0xd0]
cmp eax, ebp
je 0x415117
cmp eax, 0xffffffff
je 0x415117
cmp dword [0x4c9940], 2
jne 0x414b11
push eax
call fcn.00415a50
add esp, 4
push esi
call fcn.004176c0
add esp, 4
test eax, eax
je 0x414b47
mov edx, dword [0x48f618]
push 0x2bc
push edx
push 0x48fe14
call fcn.00408670
add esp, 0xc
mov eax, 0x445c1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
push 0x48f9b4
push esi
mov bl, 1
call fcn.00407b10
add esp, 8
test eax, eax
jne 0x414b5d
xor bl, bl
lea eax, [esp + 0x20]
push eax
push esi
call fcn.00407520
mov edi, eax
add esp, 8
cmp edi, ebp
je 0x414b92
mov ecx, dword [0x48f618]
push 0x2e4
push ecx
call fcn.004087f0
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
mov ecx, 0x29
xor eax, eax
lea edi, [esp + 0x24]
test bl, bl
rep stosd dword es:[edi], eax
je 0x414dad
cmp esi, ebp
je 0x414bd6
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x8c
jle 0x414bd6
mov edx, dword [0x48f618]
push 0x2eb
push edx
push 0x48fdd0
call fcn.004086d0
add esp, 0xc
push 0x8c
lea eax, [esp + 0x30]
push esi
push eax
call fcn.004075a0
lea ecx, [esp + 0x38]
add esp, 0xc
test ecx, ecx
je 0x414c01
lea edi, [esp + 0x2c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jmp 0x414c03
xor ecx, ecx
lea esi, [esp + ecx + 0x30]
push 4
and esi, 0xfffffffc
push 0x4c9740
push esi
call fcn.00409820
call fcn.0045457f
mov ecx, dword [0x48f624]
lea edx, [esp + 0x1c]
push edx
lea edx, [esp + 0x3c]
mov dword [0x4c9740], eax
lea eax, [esp + 0x28]
sub esi, edx
push eax
add esi, 4
push ecx
lea eax, [esp + 0x44]
push esi
push eax
call fcn.00412480
mov esi, eax
add esp, 0x20
cmp esi, ebp
je 0x414c70
mov ecx, dword [0x48f618]
push 0x2f5
push ecx
call fcn.004087f0
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
cmp dword [0x48f624], ebp
jne 0x414c7e
mov dword [esp + 0x24], ebp
jmp 0x414c9c
call fcn.0045457f
mov edx, dword [0x48f624]
and eax, 0xffff7f
shl edx, 0x18
or eax, edx
or eax, 0x80000080
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
cmp eax, 0x8c
jle 0x414ccf
mov eax, dword [0x48f618]
push 0x305
push eax
push 0x48fda8
call fcn.004086d0
add esp, 0xc
mov eax, 0x445c1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
mov ecx, dword [esp + 0x18]
push eax
lea edx, [esp + 0x30]
push ecx
push edx
call fcn.00409820
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x414d0d
mov ecx, dword [0x48f618]
push 0x309
push ecx
push 1
push eax
call sym.cns_user.exe_gen__mem_free
add esp, 0x10
mov dword [esp + 0x18], ebp
mov edi, dword [esp + 0xd8]
cmp edi, ebp
jle 0x414df8
mov ecx, dword [0x48f624]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
mov edx, dword [esp + 0xd8]
push eax
push ecx
push edi
push edx
call fcn.00412480
mov esi, eax
add esp, 0x14
cmp esi, ebp
je 0x414d64
mov eax, dword [0x48f618]
push 0x30f
push eax
call fcn.004087f0
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
mov eax, dword [esp + 0x10]
cmp eax, ebp
jg 0x414da5
mov ecx, dword [0x48f618]
push 0x312
push ecx
push 0x48fd9c
call fcn.004086d0
push edi
push 0x48fd90
push 0x475694
call fcn.00407d70
add esp, 0x18
mov eax, 0x445c1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
mov ebp, dword [esp + 0x14]
mov edi, eax
jmp 0x414dff
cmp esi, ebp
je 0x414dde
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x95
jle 0x414dde
mov edx, dword [0x48f618]
push 0x326
push edx
push 0x48fd48
call fcn.004086d0
add esp, 0xc
push 0x95
lea eax, [esp + 0x28]
push esi
push eax
call fcn.004075a0
mov edi, dword [esp + 0xe4]
add esp, 0xc
mov ebp, dword [esp + 0xd4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], ecx
call fcn.00413b50
lea edx, [esp + 0x24]
mov dword [esp + 0xc4], eax
cmp edx, 0x3e8
ja 0x414e48
mov eax, dword [0x48f618]
push 0x32c
push eax
push 0x48fd0c
call fcn.004086d0
mov eax, dword [esp + 0xd0]
add esp, 0xc
mov ecx, dword [esp + 0xbc]
xor ebx, ebx
mov bh, byte [esp + 0xbe]
mov edx, ecx
mov esi, ecx
shl edx, 0x10
and esi, 0xff00
add edx, esi
shl edx, 8
add edx, ebx
xor ebx, ebx
shr ecx, 0x18
add edx, ecx
mov ecx, dword [esp + 0xc0]
mov bh, byte [esp + 0xc2]
mov dword [esp + 0xbc], edx
mov edx, ecx
mov esi, ecx
shl edx, 0x10
and esi, 0xff00
add edx, esi
shl edx, 8
add edx, ebx
shr ecx, 0x18
add edx, ecx
mov ecx, eax
mov dword [esp + 0xc0], edx
mov edx, eax
shl ecx, 0x10
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0xc6]
shl ecx, 8
add ecx, edx
shr eax, 0x18
add ecx, eax
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0xc4], ecx
je 0x414ee4
test eax, 0x80000000
je 0x414f2e
test al, 0x80
je 0x414f2e
mov ecx, eax
mov edx, eax
shl ecx, 0x10
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0x26]
shl ecx, 8
add ecx, edx
shr eax, 0x18
add ecx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], ecx
mov ecx, eax
mov edx, eax
shl ecx, 0x10
and edx, 0xff00
add ecx, edx
xor edx, edx
mov dh, byte [esp + 0x2a]
shl ecx, 8
add ecx, edx
shr eax, 0x18
add ecx, eax
mov dword [esp + 0x28], ecx
mov eax, dword [0x48f618]
push 0x32f
lea ebx, [edi + 0xa4]
push eax
push 1
push ebx
call sym.cns_user.exe_gen__mem_malloc
mov esi, eax
add esp, 0x10
cmp esi, 0x3e8
ja 0x414f7d
mov ecx, dword [0x48f618]
push 0x330
push ecx
push 0x48fd00
call fcn.004086d0
add esp, 0xc
mov eax, 0x445c4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
lea edx, [esp + 0x24]
push 0xa4
push edx
push esi
call fcn.00409820
add esp, 0xc
test edi, edi
jle 0x414ff0
cmp ebp, 0x3e8
ja 0x414fdf
mov eax, dword [0x48f618]
push 0x335
push eax
push 0x47815c
call fcn.004086d0
add esp, 0xc
test esi, esi
je 0x414fcf
mov ecx, dword [0x48f618]
push 0x335
push ecx
push 1
push esi
call sym.cns_user.exe_gen__mem_free
add esp, 0x10
pop edi
pop esi
pop ebp
mov eax, 0x445c1
pop ebx
add esp, 0xb8
ret
push edi
lea edx, [esi + 0xa4]
push ebp
push edx
call fcn.00409820
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x415017
mov ecx, dword [0x48f618]
push 0x339
push ecx
push 1
push eax
call sym.cns_user.exe_gen__mem_free
add esp, 0x10
mov dword [esp + 0x14], 0
mov al, byte [0x48f6ac]
mov edi, dword [sym.imp.WS2_32.dll_ioctlsocket]
test al, al
jne 0x415061
mov ebp, dword [esp + 0xd0]
lea edx, [esp + 0x1c]
push edx
push 0x8004667e
push ebp
mov dword [esp + 0x28], 1
call edi
cmp eax, 0xffffffff
jne 0x415068
mov eax, dword [0x48f618]
push 0x342
push eax
push 0x48fce8
call fcn.00408750
add esp, 0xc
jmp 0x415068
mov ebp, dword [esp + 0xd0]
push ebx
push esi
push ebp
call fcn.0040bae0
mov ebx, eax
mov al, byte [0x48f6ac]
add esp, 0xc
test al, al
jne 0x4150b1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push 0x8004667e
push ebp
call edi
cmp eax, 0xffffffff
jne 0x4150b1
mov edx, dword [0x48f618]
push 0x353
push edx
push 0x48fcd0
call fcn.00408750
add esp, 0xc
cmp ebx, 0x1392
jne 0x4150f0
push ebp
call fcn.00416450
push ebp
call fcn.004169e0
mov ecx, dword [eax + 0xd4]
add esp, 8
test ecx, ecx
je 0x4150f0
push ebp
call fcn.004169e0
push ebp
mov edi, eax
call fcn.004169e0
add eax, 0xd8
push eax
push ebp
call dword [edi + 0xd4]
add esp, 0x10
test esi, esi
je 0x41510a
mov eax, dword [0x48f618]
push 0x365
push eax
push 1
push esi
call sym.cns_user.exe_gen__mem_free
add esp, 0x10
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0xb8
ret
mov ecx, dword [0x48f618]
push 0x2ab
push ecx
push 0x48fcbc
call fcn.004086d0
add esp, 0xc
mov eax, 0x445c1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb8
ret