Function at 0x497870
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov ebx, ecx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x497ced
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x42a]
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x42a], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x431], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x370], 1
xor dl, 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x32b], dl
mov edx, 0x7530
mov eax, dword [ebp - 4]
call fcn.0048cd30
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f5], 1
xor edx, edx
push ebp
push 0x497cc3
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x308], 0
setne al
or bl, al
je 0x49796b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x411], 0
jne 0x49796b
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
jne 0x49796b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2e8], 0
jne 0x49796b
mov edx, 0x497d04
mov eax, dword [ebp - 4]
call fcn.0048bba0
mov ax, word [0x497d08]
mov word [ebp - 6], ax
push 1
push 2
lea eax, [ebp - 6]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x33c]
push eax
call sub.wsock32.dll_send
push 1
push 2
lea eax, [ebp - 6]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x33c]
push eax
call sub.wsock32.dll_send
mov eax, dword [ebp - 4]
mov byte [eax + 0x431], 1
xor esi, esi
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x2d8]
cmp ax, 0x96
je 0x497988
inc esi
movsx ebx, ax
push 0
lea eax, [ebp - 0x14]
push eax
xor ecx, ecx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00496ac8
mov eax, dword [ebp - 4]
movsx eax, word [eax + 0x2d8]
cmp ebx, eax
je 0x4979ac
inc esi
mov ebx, eax
xor ecx, ecx
mov edx, 0x497d14
mov eax, dword [ebp - 4]
call fcn.00493b54
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x2d8]
movsx edx, ax
cmp ebx, edx
je 0x4979cf
inc esi
cmp ax, 0x1f3
jle 0x497a05
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f5], 0
mov edx, 0x3a98
mov eax, dword [ebp - 4]
call fcn.0048cd30
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f5], 1
mov edx, 0x497d14
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00493b54
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
test eax, eax
je 0x497b3e
call fcn.0048ba1c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x371], 0
je 0x497a41
push 0
push 0
push 0x46a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x344]
push eax
call sub.user32.dll_PostMessageA
jmp 0x497a4f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
call fcn.0048f62c
cmp esi, 2
je 0x497b3e
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f5], 0
mov edx, 0x2710
mov eax, dword [ebp - 4]
call fcn.0048cd30
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f5], 1
mov eax, dword [ebp - 4]
movsx ebx, word [eax + 0x2d8]
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x334]
call fcn.00403c40
jmp 0x497b14
lea eax, [ebp - 0x14]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00404028
mov eax, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x334]
mov ecx, 3
mov edx, 1
call fcn.00404028
mov edx, dword [ebp - 0x18]
pop eax
call fcn.00403f34
je 0x497b02
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x334]
mov ecx, 1
mov edx, 4
call fcn.00404028
mov eax, dword [ebp - 0x14]
mov edx, 0x497d24
call fcn.00403f34
je 0x497b3e
push 0
lea eax, [ebp - 0x14]
push eax
xor ecx, ecx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00496ac8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x368], 0
je 0x497b3e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x32a], 0
jne 0x497b3e
mov eax, dword [ebp - 4]
movsx eax, word [eax + 0x2d8]
cmp ebx, eax
je 0x497a96
xor edx, edx
push ebp
push 0x497c88
push dword fs:[edx]
mov dword fs:[edx], esp
mov dx, 1
mov eax, dword [ebp - 4]
call fcn.0048e628
mov eax, dword [ebp - 4]
cmp dword [eax + 0x308], 0
jne 0x497c44
mov edx, dword [ebp - 4]
cmp word [edx + 0x2d8], 0
je 0x497c1c
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x2d8]
cmp ax, 0xe2
je 0x497c44
cmp ax, 0xe1
je 0x497c44
cmp ax, 0x1f3
jge 0x497c44
jmp 0x497c1c
lea eax, [ebp - 0xc]
push eax
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0048bd2c
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0048e0fc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x368], 0
je 0x497beb
mov eax, dword [ebp - 0xc]
mov edx, dword [0x54e6e4]
mov edx, dword [edx]
call fcn.00403f34
je 0x497beb
xor ecx, ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0049694c
lea eax, [ebp - 0x14]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00404028
mov eax, dword [ebp - 0x14]
mov edx, 0x497d30
call fcn.00403f34
je 0x497c44
mov dx, 5
mov eax, dword [ebp - 4]
call fcn.0048e628
mov eax, dword [ebp - 4]
cmp byte [eax + 0x368], 0
je 0x497c44
mov eax, dword [ebp - 4]
cmp byte [eax + 0x329], 0
jne 0x497c44
mov eax, dword [ebp - 4]
cmp byte [eax + 0x32a], 0
je 0x497ba3
mov eax, dword [ebp - 4]
cmp dword [eax + 0x2f8], 0
jle 0x497c5a
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f6], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x497c8f
mov eax, dword [ebp - 4]
mov byte [eax + 0x32b], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x431], 0
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0xd]
mov byte [eax + 0x42a], dl
ret