Function at 0x497624
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 0x497aa1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x141e]
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x141e], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x1425], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x1368], 1
xor dl, 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x32b], dl
mov edx, 0x7530
mov eax, dword [ebp - 4]
call fcn.0048cbc4
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f1], 1
xor edx, edx
push ebp
push 0x497a77
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 0x49771f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1405], 0
jne 0x49771f
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0
jne 0x49771f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2e8], 0
jne 0x49771f
mov edx, 0x497ab8
mov eax, dword [ebp - 4]
call fcn.0048ba48
mov ax, word [0x497abc]
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 + 0x1425], 1
xor esi, esi
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x2d8]
cmp ax, 0x96
je 0x49773c
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.0049687c
mov eax, dword [ebp - 4]
movsx eax, word [eax + 0x2d8]
cmp ebx, eax
je 0x497760
inc esi
mov ebx, eax
xor ecx, ecx
mov edx, 0x497ac8
mov eax, dword [ebp - 4]
call fcn.00493990
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x2d8]
movsx edx, ax
cmp ebx, edx
je 0x497783
inc esi
cmp ax, 0x1f3
jle 0x4977b9
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f1], 0
mov edx, 0x3a98
mov eax, dword [ebp - 4]
call fcn.0048cbc4
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f1], 1
mov edx, 0x497ac8
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.00493990
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
test eax, eax
je 0x4978f2
call fcn.0048b8c4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1369], 0
je 0x4977f5
push 0
push 0
push 0x46a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x344]
push eax
call sub.user32.dll_PostMessageA
jmp 0x497803
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
call fcn.0048f48c
cmp esi, 2
je 0x4978f2
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f1], 0
mov edx, 0x2710
mov eax, dword [ebp - 4]
call fcn.0048cbc4
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f1], 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 0x4978c8
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 0x4978b6
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, 0x497ad8
call fcn.00403f34
je 0x4978f2
push 0
lea eax, [ebp - 0x14]
push eax
xor ecx, ecx
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0049687c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1360], 0
je 0x4978f2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x32a], 0
jne 0x4978f2
mov eax, dword [ebp - 4]
movsx eax, word [eax + 0x2d8]
cmp ebx, eax
je 0x49784a
xor edx, edx
push ebp
push 0x497a3c
push dword fs:[edx]
mov dword fs:[edx], esp
mov dx, 1
mov eax, dword [ebp - 4]
call fcn.0048e48c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x308], 0
jne 0x4979f8
mov edx, dword [ebp - 4]
cmp word [edx + 0x2d8], 0
je 0x4979d0
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x2d8]
cmp ax, 0xe2
je 0x4979f8
cmp ax, 0xe1
je 0x4979f8
cmp ax, 0x1f3
jge 0x4979f8
jmp 0x4979d0
lea eax, [ebp - 0xc]
push eax
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0048bbd4
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0048df60
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1360], 0
je 0x49799f
mov eax, dword [ebp - 0xc]
mov edx, dword [0x54d6c4]
mov edx, dword [edx]
call fcn.00403f34
je 0x49799f
xor ecx, ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00496700
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, 0x497ae4
call fcn.00403f34
je 0x4979f8
mov dx, 5
mov eax, dword [ebp - 4]
call fcn.0048e48c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1360], 0
je 0x4979f8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x329], 0
jne 0x4979f8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x32a], 0
je 0x497957
mov eax, dword [ebp - 4]
cmp dword [eax + 0x2f4], 0
jle 0x497a0e
mov eax, dword [ebp - 4]
mov byte [eax + 0x2f2], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x497a43
mov eax, dword [ebp - 4]
mov byte [eax + 0x32b], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x1425], 0
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0xd]
mov byte [eax + 0x141e], dl
ret