Function at 0x46d800
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x900
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [0x595ca4]
mov ebx, ecx
test ebx, ebx
push edi
je 0x46d832
mov edi, edi
cmp dword [ebx + 0x138], edx
je 0x46d83f
mov ebx, dword [ebx + 0x544]
test ebx, ebx
jne 0x46d820
test ecx, ecx
je 0x46e0b4
jmp 0x46e0af
mov ecx, dword [ebx + 0x540]
call fcn.004dbea0
test eax, eax
je 0x46e0a3
shr esi, 0x10
test esi, esi
jne 0x46d936
mov eax, dword [ebx + 0x138]
push eax
call dword [sym.imp.WSOCK32.dll_WSACancelAsyncRequest]
lea edi, [ebx + 0x140]
test edi, edi
je 0x46d936
mov ecx, 0x595ca8
call fcn.004c29d0
lea esi, [ebx + 0x64]
push esi
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x46d92c
mov eax, dword [edi + 0xc]
test eax, eax
je 0x46d936
mov eax, dword [eax]
test eax, eax
je 0x46d936
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WSOCK32.dll_inet_ntoa]
test eax, eax
lea ebp, [ebx + 0xc8]
je 0x46d8cc
push eax
mov edx, 0x64
mov ecx, ebp
call fcn.0041e120
jmp 0x46d8d0
mov byte [ebp], 0
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
je 0x46da9c
xor esi, esi
mov edi, edi
mov edx, dword [eax + esi]
mov eax, dword [edx]
push eax
call dword [sym.imp.WSOCK32.dll_inet_ntoa]
test eax, eax
je 0x46d919
push eax
mov edx, 0x104
lea ecx, [esp + 0x14]
call fcn.0041e120
mov ecx, dword [0x595ca8]
push 0
lea edx, [esp + 0x14]
call fcn.004c2560
test eax, eax
je 0x46d919
mov dword [0x595ca8], eax
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + esi + 4]
add esi, 4
test ecx, ecx
jne 0x46d8e0
jmp 0x46da9c
mov eax, dword [edi]
test eax, eax
jne 0x46da60
mov eax, dword [ebx + 0x130]
cmp eax, 4
lea ebp, [ebx + 0xc8]
mov byte [ebp], 0
je case.0x46dab5.4
cmp eax, 5
je case.0x46dab5.5
cmp eax, 0x33
je case.0x46dab5.51
cmp eax, 0x34
je case.0x46dab5.52
cmp eax, 6
je case.0x46dab5.6
cmp eax, 7
je case.0x46dab5.7
cmp eax, 8
je case.0x46dab5.8
cmp eax, 9
je case.0x46dab5.9
mov ecx, dword [0x59ca60]
test ecx, ecx
je 0x46d9e2
test eax, eax
je 0x46d9a1
cmp eax, 1
jne 0x46d9e2
xor eax, eax
mov ecx, 0x1fe
lea edi, [esp + 0x118]
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 0x540]
lea eax, [esp + 0x118]
push eax
push 0
push 0
push 0x16
push 0x577770
push 0
xor edx, edx
mov dword [esp + 0x140], ebx
call fcn.00506dd0
test eax, eax
je 0x46e0a3
mov eax, dword [ebx + 0x12c]
test eax, eax
je 0x46e0a3
mov eax, dword [ebx + 0x130]
test eax, eax
jne 0x46da1a
push ebx
xor edx, edx
mov ecx, 0x7d6
call fcn.0041c9e0
push eax
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x594094]
jmp 0x46da3b
lea edx, [ebx + 0x64]
push edx
xor edx, edx
mov ecx, 0x7d5
call fcn.0041c9e0
push eax
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x5940a4]
mov dword [0x589b90], 0
mov dword [0x59c69c], 1
mov ecx, dword [ebx + 0x540]
mov ecx, dword [ecx]
add esp, 0xc
push eax
jmp 0x46e09a
lea ebp, [ebx + 0xc8]
push eax
mov edx, 0x64
mov ecx, ebp
call fcn.0041e120
push esi
mov edx, 0x104
lea ecx, [esp + 0x14]
call fcn.0041e120
mov ecx, dword [0x595ca8]
push 0
lea edx, [esp + 0x14]
call fcn.004c2560
test eax, eax
je 0x46da9c
mov dword [0x595ca8], eax
mov edx, dword [ebx + 0x130]
lea eax, [edx - 2]
cmp eax, 0x32
ja case.0x46dab5.10
movzx eax, byte [eax + 0x46e0f4]
jmp dword [eax*4 + 0x46e0c8]
mov esi, dword [0x592640]
test esi, esi
je 0x46e0a3
lea ebx, [ebx]
mov eax, dword [esi + 0x534]
test eax, eax
je 0x46db41
lea ecx, [ebx + 0x64]
lea eax, [esi + 0x4b8]
push ecx
push eax
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x46db41
lea edi, [esi + 0x454]
lea eax, [esi + 0x4b8]
push edi
push eax
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x46db41
push ebp
mov edx, 0x64
mov ecx, edi
call fcn.0041e120
push edi
lea ecx, [esi + 0x3f0]
push ecx
lea edx, [esp + 0x18]
push str.Chat__s___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esi]
add esp, 0x10
lea eax, [esp + 0x10]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov esi, dword [esi + 0x88c]
test esi, esi
jne 0x46dad0
jmp 0x46e0a3
mov esi, dword [0x597650]
test esi, esi
je 0x46e0a3
mov edi, edi
mov eax, dword [esi + 0x47c]
test eax, eax
je 0x46dbb9
lea ecx, [ebx + 0x64]
lea eax, [esi + 0xcc]
push ecx
push eax
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x46dbb9
lea edi, [esi + 0x68]
lea eax, [esi + 0xcc]
push edi
push eax
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x46dbb9
push ebp
mov edx, 0x64
mov ecx, edi
call fcn.0041e120
push 0
push 1
push 1
push 1
mov edx, 1
mov ecx, esi
call fcn.0052a6c0
mov esi, dword [esi + 0x4bc]
test esi, esi
jne 0x46db60
jmp 0x46e0a3
mov esi, dword [0x59f670]
test esi, esi
je 0x46e0a3
cmp dword [esi + 0x150], 4
jne 0x46dc50
lea edx, [ebx + 0x64]
push edx
lea edi, [esi + 0x64]
push edi
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x46dc50
mov dword [esi + 0x150], eax
cmp byte [ebp], 0
je 0x46dc1d
push ebp
mov edx, 0x64
mov ecx, edi
call fcn.0041e120
cmp byte [ebp], 0
je 0x46dc1d
mov ecx, esi
call fcn.00514690
test eax, eax
je 0x46dc50
mov eax, dword [0x59ca60]
test eax, eax
je 0x46dc36
push 4
push 0x3d
mov edx, esi
mov ecx, str.SOCKOPEN
call fcn.00513350
mov ecx, esi
call fcn.00513210
test eax, eax
je 0x46dc48
mov ecx, esi
call fcn.00513140
mov esi, dword [0x59f670]
jmp 0x46dc56
mov esi, dword [esi + 0x194]
test esi, esi
jne 0x46dbd6
jmp 0x46e0a3
cmp byte [ebp], 0
je 0x46dcad
push ebp
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x46dc83
mov ecx, dword [ebx + 0x540]
add ecx, 0x840
jmp 0x46dca2
push eax
call dword [sym.imp.WSOCK32.dll_htonl]
mov ecx, dword [ebx + 0x540]
mov dword [ecx + 0x908], eax
mov ecx, dword [ebx + 0x540]
add ecx, 0x8a4
mov edx, 0x64
push ebp
call fcn.0041e120
mov ecx, dword [ebx + 0x540]
mov eax, dword [ecx + 0x834]
test eax, eax
jne 0x46e0a3
call fcn.0053e510
jmp 0x46e0a3
cmp byte [ebp], 0
je 0x46e0a3
push ebp
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov edx, dword [ebx + 0x540]
mov dword [edx + 0x908], eax
mov ecx, dword [ebx + 0x540]
mov eax, dword [ecx + 0x908]
cmp eax, 0xffffffff
jne 0x46dd15
mov dword [ecx + 0x908], 0
mov eax, dword [ebx + 0x540]
mov byte [eax + 0x8a4], 0
jmp 0x46e0a3
push eax
call dword [sym.imp.WSOCK32.dll_htonl]
mov ecx, dword [ebx + 0x540]
mov dword [ecx + 0x908], eax
mov ecx, dword [ebx + 0x540]
push ebp
add ecx, 0x8a4
mov edx, 0x64
call fcn.0041e120
mov eax, dword [ebx + 0x540]
mov ecx, dword [eax]
push 0x34
lea edx, [eax + 0x8a4]
push 0
push edx
mov edx, 0x574b10
call fcn.0046d660
jmp 0x46e0a3
cmp byte [ebp], 0
je 0x46ddb8
push ebp
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x46ddab
mov ecx, dword [ebx + 0x540]
push ebp
add ecx, 0x840
mov edx, 0x64
call fcn.0041e120
mov ecx, dword [ebx + 0x540]
add ecx, 0x840
call fcn.005191e0
mov ecx, dword [ebx + 0x540]
call fcn.0053e510
jmp 0x46e0a3
mov eax, dword [ebx + 0x540]
mov byte [eax + 0x840], 0
mov ecx, dword [ebx + 0x540]
call fcn.0053e510
jmp 0x46e0a3
xor edx, edx
mov ecx, ebp
call fcn.00484880
jmp 0x46e0a3
mov esi, dword [0x592640]
test esi, esi
je 0x46e0a3
mov eax, dword [ebx + 0x134]
lea ebx, [ebx]
cmp eax, dword [esi]
je 0x46de03
mov esi, dword [esi + 0x88c]
test esi, esi
jne 0x46ddf0
jmp 0x46e0a3
cmp byte [ebp], 0
je 0x46de34
lea edi, [esi + 0x4b8]
push ebp
mov edx, 0x64
mov ecx, edi
call fcn.0041e120
push edi
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x46de34
mov ecx, esi
call fcn.0042bb80
jmp 0x46e0a3
xor edx, edx
mov ecx, 0x7d7
call fcn.0041c9e0
mov edx, eax
mov ecx, esi
call fcn.0042b4a0
jmp 0x46e0a3
mov esi, dword [0x59e068]
test esi, esi
je 0x46e0a3
mov eax, dword [ebx + 0x134]
cmp eax, dword [esi]
je 0x46de75
mov esi, dword [esi + 0x3cc]
test esi, esi
jne 0x46de62
jmp 0x46e0a3
cmp byte [ebp], 0
je 0x46dea6
lea edi, [esi + 0xcc]
push ebp
mov edx, 0x64
mov ecx, edi
call fcn.0041e120
push edi
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x46dea6
mov ecx, esi
call fcn.0050ea00
jmp 0x46e0a3
xor edx, edx
mov ecx, 0x7d7
call fcn.0041c9e0
push eax
xor edx, edx
mov ecx, esi
call fcn.0050e340
jmp 0x46e0a3
mov esi, dword [0x59e068]
test esi, esi
je 0x46df51
nop
mov eax, dword [esi + 0x340]
test eax, eax
je 0x46defb
cmp word [esi + 0x354], 0
jne 0x46defb
lea ecx, [ebx + 0x64]
push ecx
lea edx, [esi + 0xcc]
push edx
call fcn.00572b46
add esp, 8
test eax, eax
je 0x46df07
mov esi, dword [esi + 0x3cc]
test esi, esi
jne 0x46ded0
jmp 0x46df51
cmp byte [ebp], 0
je 0x46df3b
lea edi, [esi + 0xcc]
push ebp
mov edx, 0x64
mov ecx, edi
call fcn.0041e120
push edi
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x46df3b
push 5
push 0
mov edx, edi
mov ecx, esi
call fcn.0050d5a0
jmp 0x46df51
xor edx, edx
mov ecx, 0x7d8
call fcn.0041c9e0
push eax
xor edx, edx
mov ecx, esi
call fcn.0050e340
mov esi, dword [0x592640]
test esi, esi
je 0x46e0a3
nop
mov eax, dword [esi + 0x52c]
test eax, eax
je 0x46df8b
cmp word [esi + 0x51c], 0
jne 0x46df8b
lea eax, [ebx + 0x64]
push eax
lea ecx, [esi + 0x4b8]
push ecx
call fcn.00572b46
add esp, 8
test eax, eax
je 0x46df9a
mov esi, dword [esi + 0x88c]
test esi, esi
jne 0x46df60
jmp 0x46e0a3
cmp byte [ebp], 0
je 0x46dfd1
lea edi, [esi + 0x4b8]
push ebp
mov edx, 0x64
mov ecx, edi
call fcn.0041e120
push edi
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x46dfd1
push 5
push 0
mov edx, edi
mov ecx, esi
call fcn.0042af90
jmp 0x46e0a3
xor edx, edx
mov ecx, 0x7d8
call fcn.0041c9e0
mov edx, eax
mov ecx, esi
call fcn.0042b4a0
jmp 0x46e0a3
mov eax, dword [0x59ca60]
test eax, eax
je 0x46e042
mov ecx, ebx
call fcn.0046d130
test eax, eax
je 0x46e042
test edx, edx
je 0x46e008
cmp edx, 1
jne 0x46e042
xor eax, eax
lea edx, [esp + 0x118]
push edx
push eax
push eax
push 0x16
mov ecx, 0x1fe
lea edi, [esp + 0x128]
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 0x540]
push 0x577770
push eax
xor edx, edx
mov dword [esp + 0x140], ebx
call fcn.00506dd0
test eax, eax
je 0x46e0a3
mov ecx, ebx
call fcn.0046d130
test eax, eax
je 0x46e0a3
mov eax, dword [ebx + 0x12c]
test eax, eax
je 0x46e0a3
push ebp
lea eax, [ebx + 0x64]
push eax
xor edx, edx
mov ecx, 0x7d4
call fcn.0041c9e0
push eax
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [0x5940a4]
mov dword [0x589b90], 0
mov dword [0x59c69c], 1
mov eax, dword [ebx + 0x540]
add esp, 0x10
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x14]
call fcn.004fc570
mov ecx, 0x595ca8
call fcn.004c29d0
mov ecx, ebx
call fcn.0046d090
xor ecx, ecx
call fcn.0046d3f0
pop edi
xor eax, eax
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret