Function at 0x47ea40
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x91c
mov ecx, dword [0x61531c]
push ebx
push esi
mov esi, ecx
test esi, esi
push edi
mov dword [esp + 0x10], esi
je 0x47ea78
mov eax, dword [ebp + 0xc]
cmp dword [esi + 0x138], eax
je 0x47ea98
mov esi, dword [esi + 0x544]
test esi, esi
jne 0x47ea62
mov dword [esp + 0x10], esi
test ecx, ecx
je 0x47ea85
push ecx
call fcn.0047e290
add esp, 4
push 0
call fcn.0047e5d0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x540]
push eax
mov dword [esp + 0x14], esi
call fcn.00502a60
add esp, 4
test eax, eax
je 0x47f479
mov ecx, dword [ebp + 8]
shr ecx, 0x10
test ecx, ecx
jne 0x47ebfa
mov edx, dword [esi + 0x138]
push edx
call dword [sym.imp.WSOCK32.dll_WSACancelAsyncRequest]
lea ebx, [esi + 0x140]
test ebx, ebx
je 0x47ebfa
push 0x615320
call fcn.004e33a0
add esp, 4
lea edi, [esi + 0x64]
push edi
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x47ebf0
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x47ebfa
mov eax, dword [ebx]
test eax, eax
je 0x47ebfa
mov eax, dword [eax]
push eax
call dword [sym.imp.WSOCK32.dll_inet_ntoa]
test eax, eax
lea ebx, [esi + 0xc8]
je 0x47eb32
push eax
push 0x64
push ebx
call fcn.00423900
add esp, 0xc
jmp 0x47eb35
mov byte [ebx], 0
mov eax, dword [esi + 0x14c]
cmp dword [eax], 0
je 0x47eb9a
xor edi, edi
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx]
push eax
call dword [sym.imp.WSOCK32.dll_inet_ntoa]
test eax, eax
je 0x47eb8b
push eax
lea edx, [esp + 0x1c]
push 0x104
push edx
call fcn.00423900
call fcn.005cc2b8
mov ecx, dword [0x615320]
push eax
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.004e2f90
add esp, 0x18
test eax, eax
je 0x47eb8b
mov dword [0x615320], eax
mov edx, dword [eax + 0x44]
mov dword [edx + 8], edi
mov eax, dword [esi + 0x14c]
mov ecx, dword [eax + edi*4 + 4]
inc edi
test ecx, ecx
jne 0x47eb42
mov eax, dword [0x615320]
test eax, eax
je 0x47ed82
mov ecx, dword [esi + 0x540]
push ecx
push 0x32
push eax
call fcn.0054bc50
mov dword [0x615320], eax
mov edx, dword [eax + 8]
mov eax, dword [esi + 0x14c]
mov ecx, dword [eax + edx*4]
mov edx, dword [ecx]
add esp, 0xc
push edx
call dword [sym.imp.WSOCK32.dll_inet_ntoa]
test eax, eax
je 0x47ebe8
push eax
push 0x64
push ebx
call fcn.00423900
add esp, 0xc
jmp 0x47ed82
mov byte [ebx], 0
jmp 0x47ed82
mov eax, dword [ebx]
test eax, eax
jne 0x47ed44
mov eax, dword [esi + 0x130]
cmp eax, 4
lea ebx, [esi + 0xc8]
mov byte [ebx], 0
je case.0x47ed9b.4
cmp eax, 5
je case.0x47ed9b.5
cmp eax, 0x33
je case.0x47ed9b.51
cmp eax, 0x34
je case.0x47ed9b.52
cmp eax, 6
je case.0x47ed9b.6
cmp eax, 7
je case.0x47ed9b.7
cmp eax, 8
je case.0x47ed9b.8
cmp eax, 9
je case.0x47ed9b.9
cmp eax, 0xa
je case.0x47ed9b.10
mov ecx, dword [0x63fb90]
test ecx, ecx
je 0x47ecb2
test eax, eax
je 0x47ec6d
cmp eax, 1
jne 0x47ecb2
xor eax, eax
mov ecx, 0x202
lea edi, [esp + 0x120]
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x540]
lea eax, [esp + 0x120]
push eax
push 0
push 0
push 0x16
push 0x5ea608
push 0
push 0
push ecx
mov dword [esp + 0x154], esi
call fcn.00532e60
add esp, 0x20
test eax, eax
je 0x47f479
mov eax, dword [esi + 0x12c]
test eax, eax
je 0x47f479
mov eax, dword [esi + 0x130]
test eax, eax
jne 0x47eced
push esi
push 0
push 0x7d6
call fcn.00421db0
add esp, 8
push eax
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x61369c]
jmp 0x47ed11
lea eax, [esi + 0x64]
push eax
push 0
push 0x7d5
call fcn.00421db0
add esp, 8
push eax
lea ecx, [esp + 0x20]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x6136ac]
add esp, 0xc
push eax
mov dword [0x63f7ac], 0
mov dword [0x63f7bc], 1
mov eax, dword [esi + 0x540]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push ecx
call fcn.005275f0
add esp, 0xc
jmp 0x47f479
push eax
lea ebx, [esi + 0xc8]
push 0x64
push ebx
call fcn.00423900
push edi
lea edx, [esp + 0x28]
push 0x104
push edx
call fcn.00423900
mov ecx, dword [0x615320]
push 0
lea eax, [esp + 0x34]
push eax
push ecx
call fcn.004e2f90
add esp, 0x24
test eax, eax
je 0x47ed82
mov dword [0x615320], eax
mov edx, dword [esi + 0x130]
lea eax, [edx - 2]
cmp eax, 0x32
ja case.0x47ed9b.11
movzx eax, byte [eax + 0x47f4d0]
jmp dword [eax*4 + 0x47f4a0]
mov esi, dword [0x611900]
test esi, esi
je 0x47f479
mov eax, dword [esi + 0x534]
test eax, eax
je 0x47ee21
mov ecx, dword [esp + 0x10]
add ecx, 0x64
lea eax, [esi + 0x4b8]
push ecx
push eax
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x47ee21
lea edi, [esi + 0x454]
lea eax, [esi + 0x4b8]
push edi
push eax
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x47ee21
push ebx
push 0x64
push edi
call fcn.00423900
push edi
lea ecx, [esi + 0x3f0]
push ecx
lea edx, [esp + 0x2c]
push str.Chat__s___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esi]
add esp, 0x1c
lea eax, [esp + 0x18]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov esi, dword [esi + 0x890]
test esi, esi
jne 0x47edb0
jmp 0x47f479
mov edi, dword [0x63709c]
test edi, edi
je 0x47f479
mov edi, edi
mov eax, dword [edi + 0x47c]
test eax, eax
je 0x47ee97
lea ecx, [esi + 0x64]
lea eax, [edi + 0xcc]
push ecx
push eax
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x47ee97
lea eax, [edi + 0x68]
push eax
lea eax, [edi + 0xcc]
push eax
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x47ee97
push ebx
lea eax, [edi + 0x68]
push 0x64
push eax
call fcn.00423900
push 0
push 1
push 1
push 1
push 1
push edi
call fcn.00568380
add esp, 0x24
mov edi, dword [edi + 0x4bc]
test edi, edi
jne 0x47ee40
jmp 0x47f479
mov edi, dword [0x642eec]
test edi, edi
je 0x47f479
jmp 0x47eec0
cmp dword [edi + 0x1b4], 4
jne 0x47ef60
lea edx, [esi + 0x64]
lea eax, [edi + 0xc8]
push edx
push eax
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x47ef60
mov dword [edi + 0x1b4], eax
cmp byte [ebx], 0
je 0x47ef18
push ebx
lea eax, [edi + 0xc8]
push 0x64
push eax
call fcn.00423900
mov al, byte [ebx]
add esp, 0xc
test al, al
je 0x47ef18
push edi
call fcn.005486f0
add esp, 4
test eax, eax
je 0x47ef60
mov eax, dword [edi + 0x1ac]
mov dword [esp + 0x14], eax
mov eax, dword [0x63fb90]
test eax, eax
je 0x47ef3d
push 4
push 0x3d
push edi
push str.SOCKOPEN
call fcn.00547140
add esp, 0x10
mov ecx, dword [esp + 0x14]
push ecx
push edi
call fcn.00547000
add esp, 8
test eax, eax
je 0x47ef58
push edi
call fcn.00546f20
add esp, 4
mov edi, dword [0x642eec]
jmp 0x47ef66
mov edi, dword [edi + 0x208]
test edi, edi
jne 0x47eec0
jmp 0x47f479
cmp byte [ebx], 0
je 0x47efbd
push ebx
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x47ef92
mov edx, dword [esi + 0x540]
add edx, 0x83c
jmp 0x47efb1
push eax
call dword [sym.imp.WSOCK32.dll_htonl]
mov ecx, dword [esi + 0x540]
mov dword [ecx + 0x904], eax
mov edx, dword [esi + 0x540]
add edx, 0x8a0
push ebx
push 0x64
push edx
call fcn.00423900
add esp, 0xc
mov eax, dword [esi + 0x540]
mov ecx, dword [eax + 0x830]
test ecx, ecx
jne 0x47f479
mov ecx, dword [esi + 0x12c]
test ecx, ecx
je 0x47efe4
push eax
call fcn.0058bb10
add esp, 4
mov eax, dword [esi + 0x540]
push eax
call fcn.004ce210
add esp, 4
jmp 0x47f479
cmp byte [ebx], 0
je 0x47f479
push ebx
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov ecx, dword [esi + 0x540]
mov dword [ecx + 0x904], eax
mov ecx, dword [esi + 0x540]
mov eax, dword [ecx + 0x904]
cmp eax, 0xffffffff
jne 0x47f041
mov dword [ecx + 0x904], 0
mov edx, dword [esi + 0x540]
mov byte [edx + 0x8a0], 0
jmp 0x47f479
push eax
call dword [sym.imp.WSOCK32.dll_htonl]
mov ecx, dword [esi + 0x540]
mov dword [ecx + 0x904], eax
mov edx, dword [esi + 0x540]
push ebx
add edx, 0x8a0
push 0x64
push edx
call fcn.00423900
mov eax, dword [esi + 0x540]
mov ecx, dword [esi + 0x12c]
push 0x34
push ecx
lea edx, [eax + 0x8a0]
mov eax, dword [eax]
push edx
push 0x5e6c98
push eax
call fcn.0047e8b0
add esp, 0x20
jmp 0x47f479
cmp byte [ebx], 0
je 0x47f0de
push ebx
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x47f0d1
mov ecx, dword [esi + 0x540]
push ebx
add ecx, 0x83c
push 0x64
push ecx
call fcn.00423900
mov edx, dword [esi + 0x540]
add edx, 0x83c
push edx
call fcn.00552160
add esp, 0x10
jmp 0x47f0de
mov eax, dword [esi + 0x540]
mov byte [eax + 0x83c], 0
mov eax, dword [esi + 0x12c]
test eax, eax
je 0x47f0f7
mov ecx, dword [esi + 0x540]
push ecx
call fcn.0058bb10
add esp, 4
mov edx, dword [esi + 0x540]
push edx
call fcn.004ce210
add esp, 4
jmp 0x47f479
push 0
push ebx
call fcn.00493810
add esp, 8
jmp 0x47f479
mov edi, dword [0x611900]
test edi, edi
je 0x47f479
mov esi, dword [esi + 0x134]
nop
cmp esi, dword [edi]
je 0x47f143
mov edi, dword [edi + 0x890]
test edi, edi
jne 0x47f130
jmp 0x47f479
cmp byte [ebx], 0
je 0x47f174
push ebx
lea esi, [edi + 0x4b8]
push 0x64
push esi
call fcn.00423900
add esp, 0xc
push esi
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x47f174
push edi
call fcn.004350f0
add esp, 4
jmp 0x47f479
push 0
push 0x7d7
call fcn.00421db0
push eax
push edi
call fcn.00434890
add esp, 0x10
jmp 0x47f479
mov edi, dword [0x641548]
test edi, edi
je 0x47f479
mov esi, dword [esi + 0x134]
cmp esi, dword [edi]
je 0x47f1b6
mov edi, dword [edi + 0x3d4]
test edi, edi
jne 0x47f1a3
jmp 0x47f479
cmp byte [ebx], 0
je 0x47f1e7
push ebx
lea esi, [edi + 0xcc]
push 0x64
push esi
call fcn.00423900
add esp, 0xc
push esi
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x47f1e7
push edi
call fcn.0053edb0
add esp, 4
jmp 0x47f479
push 0
push 0x7d7
call fcn.00421db0
push eax
push 0
push edi
call fcn.0053e670
add esp, 0x14
jmp 0x47f479
mov edi, dword [0x641548]
test edi, edi
je 0x47f2a0
mov eax, dword [edi + 0x340]
test eax, eax
je 0x47f23d
cmp word [edi + 0x354], 0
jne 0x47f23d
lea eax, [esi + 0x64]
push eax
lea ecx, [edi + 0xcc]
push ecx
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x47f249
mov edi, dword [edi + 0x3d4]
test edi, edi
jne 0x47f212
jmp 0x47f2a0
cmp byte [ebx], 0
je 0x47f288
push ebx
lea eax, [edi + 0xcc]
push 0x64
push eax
call fcn.00423900
add esp, 0xc
lea eax, [edi + 0xcc]
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x47f288
push 5
push 0
lea eax, [edi + 0xcc]
push eax
push edi
call fcn.0053d710
add esp, 0x10
jmp 0x47f2a0
push 0
push 0x7d8
call fcn.00421db0
push eax
push 0
push edi
call fcn.0053e670
add esp, 0x14
mov edi, dword [0x611900]
test edi, edi
je 0x47f479
mov edi, edi
mov eax, dword [edi + 0x52c]
test eax, eax
je 0x47f2db
cmp word [edi + 0x51c], 0
jne 0x47f2db
lea edx, [esi + 0x64]
push edx
lea eax, [edi + 0x4b8]
push eax
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x47f2ea
mov edi, dword [edi + 0x890]
test edi, edi
jne 0x47f2b0
jmp 0x47f479
cmp byte [ebx], 0
je 0x47f320
push ebx
lea esi, [edi + 0x4b8]
push 0x64
push esi
call fcn.00423900
add esp, 0xc
push esi
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x47f320
push 5
push 0
push esi
push edi
call fcn.004344b0
add esp, 0x10
jmp 0x47f479
push 0
push 0x7d8
call fcn.00421db0
push eax
push edi
call fcn.00434890
add esp, 0x10
jmp 0x47f479
mov edi, dword [0x63709c]
test edi, edi
je 0x47f479
mov esi, dword [esi + 0x134]
nop
cmp esi, dword [edi]
je 0x47f363
mov edi, dword [edi + 0x4bc]
test edi, edi
jne 0x47f350
jmp 0x47f479
cmp byte [ebx], 0
je 0x47f394
push ebx
lea esi, [edi + 0xcc]
push 0x64
push esi
call fcn.00423900
add esp, 0xc
push esi
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x47f394
push edi
call fcn.0049dc80
add esp, 4
jmp 0x47f479
push 0
push 0x7d7
call fcn.00421db0
push eax
push 0
push edi
call fcn.0049d510
add esp, 0x14
jmp 0x47f479
mov eax, dword [0x63fb90]
test eax, eax
je 0x47f411
push esi
call fcn.0047e300
add esp, 4
test eax, eax
je 0x47f411
test edx, edx
je 0x47f3d0
cmp edx, 1
jne 0x47f411
mov edx, dword [esi + 0x540]
xor eax, eax
mov ecx, 0x202
lea edi, [esp + 0x120]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x120]
push ecx
push eax
push eax
push 0x16
push 0x5ea608
push eax
push eax
push edx
mov dword [esp + 0x154], esi
call fcn.00532e60
add esp, 0x20
test eax, eax
je 0x47f479
push esi
call fcn.0047e300
add esp, 4
test eax, eax
je 0x47f479
mov eax, dword [esi + 0x12c]
test eax, eax
je 0x47f479
push ebx
lea eax, [esi + 0x64]
push eax
push 0
push 0x7d4
call fcn.00421db0
add esp, 8
push eax
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [0x6136ac]
mov dword [0x63f7ac], 0
mov dword [0x63f7bc], 1
mov eax, dword [esi + 0x540]
push ecx
mov ecx, dword [eax]
lea edx, [esp + 0x2c]
push edx
push ecx
call fcn.005275f0
add esp, 0x1c
push 0x615320
call fcn.004e33a0
mov edx, dword [esp + 0x14]
push edx
call fcn.0047e290
push 0
call fcn.0047e5d0
add esp, 0xc
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret