Function at 0x430760
Capabilities:
Receive data
Receive data on socket

Disassembly:
sub esp, 0xf1c
push ebx
push ebp
push esi
push edi
mov ecx, 0x141
xor eax, eax
lea edi, [esp + 0x28]
xor esi, esi
rep stosd dword es:[edi], eax
lea eax, [esp + 0x14]
lea ecx, [esp + 0x18]
push eax
mov eax, dword [esp + 0xf34]
push ecx
push esi
lea edx, [esp + 0x34]
push 0x504
push edx
push eax
mov dword [esp + 0x2c], 0x10
call dword [sym.imp.WSOCK32.dll_recvfrom]
cmp eax, esi
je 0x431291
cmp eax, 0xffffffff
je 0x431291
mov ecx, dword [0x47bc88]
cmp ecx, esi
mov ecx, dword [0x476adec]
je 0x4307d7
mov edx, dword [esp + 0x29]
and edx, 0xff
cmp edx, ecx
jne case.0x43089b.20
cmp eax, 4
jne 0x430885
mov al, byte [esp + 0x28]
test al, al
je 0x430838
cmp al, 7
je 0x430874
cmp al, 0x6e
jne case.0x43089b.20
mov eax, dword [esp + 0x2a]
mov ecx, dword [0x477158c]
and eax, 0xffff
mov dword [0x476ade8], esi
cmp ecx, eax
mov dword [0x47bc5c], eax
je case.0x43089b.20
mov dword [0x477158c], eax
mov eax, dword [0x32f9204]
push esi
push esi
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf1c
ret
mov eax, dword [0x476adf0]
cmp eax, esi
je 0x430874
mov edx, dword [0x19b7b60]
add cx, word [0x47bcae]
mov word [esp + 0x2a], ax
mov eax, dword [0x474c5b8]
push edx
push ecx
push eax
lea ecx, [esp + 0x34]
push 4
push ecx
mov byte [esp + 0x3c], 7
mov byte [esp + 0x3d], 0
call fcn.0040b400
add esp, 0x14
mov dword [0x476ade8], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf1c
ret
mov edx, dword [esp + 0x28]
and edx, 0xff
lea ecx, [edx - 0x13]
cmp ecx, 8
ja case.0x43089b.20
jmp dword [ecx*4 + 0x4312a4]
cmp eax, 0x144
jne case.0x43089b.20
cmp dword [0x476adfc], esi
jne 0x4308c3
mov eax, dword [0x32f9204]
push esi
push esi
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [0x476adfc], 1
xor eax, eax
lea ecx, [esp + 0x52c]
movsx dx, byte [esp + eax + 0x2c]
shl edx, 8
mov word [ecx], dx
inc eax
add ecx, 2
cmp eax, 0x140
jl 0x4308d6
mov ebx, dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [0x4771588]
lea ebp, [esp + 0x52c]
mov dword [esp + 0x10], 0x140
mov cx, word [ebp]
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
cmp eax, 0xf00
mov dword [0x4771588], eax
jl 0x4309ef
mov edx, dword [0x3314b70]
mov ecx, 0x780
mov eax, edx
mov esi, 0x4ebadc
shl eax, 6
sub eax, edx
mov dword [0x4771588], 0
lea edi, [eax + eax*4]
shl edi, 5
add edi, 0x3314b99
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x3314b70]
cmp eax, 0x4af
jge 0x430994
inc eax
mov dword [0x3314b70], eax
jmp 0x43099e
mov dword [0x3314b70], 0
mov esi, dword [0x476ad4c]
mov eax, dword [0x3314b68]
inc esi
push 0x3e8
push eax
mov dword [0x476ad4c], esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x3314b70]
mov eax, dword [0x3314b74]
cmp ecx, eax
jne 0x4309d7
mov dword [0x3314b78], 0
jmp 0x4309dd
inc dword [0x3314b78]
mov edx, dword [0x3314b68]
push 0
push 1
push edx
call ebx
mov eax, dword [0x4771588]
mov ecx, dword [esp + 0x10]
add ebp, 2
dec ecx
mov dword [esp + 0x10], ecx
jne 0x430907
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf1c
ret
cmp eax, 0x284
jne case.0x43089b.20
mov eax, dword [0x47bc60]
cmp eax, 0xffffffff
jne 0x430a31
mov eax, dword [esp + 0x2a]
and eax, 0xffff
mov dword [0x47bc60], eax
jmp 0x430a43
mov ecx, dword [esp + 0x2a]
and ecx, 0xffff
cmp eax, ecx
jne case.0x43089b.20
cmp dword [0x476adfc], esi
jne 0x430a5a
mov edx, dword [0x32f9204]
push esi
push esi
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ebx, dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [0x4771588]
mov ecx, 0xa0
lea esi, [esp + 0x2c]
lea edi, [esp + 0x52c]
mov dword [0x476adfc], 1
rep movsd dword es:[edi], dword [esi]
lea ebp, [esp + 0x52c]
mov dword [esp + 0x10], 0x140
mov cx, word [ebp]
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
cmp eax, 0xf00
mov dword [0x4771588], eax
jl 0x430b78
mov edx, dword [0x3314b70]
mov ecx, 0x780
mov eax, edx
mov esi, 0x4ebadc
shl eax, 6
sub eax, edx
mov dword [0x4771588], 0
lea edi, [eax + eax*4]
shl edi, 5
add edi, 0x3314b99
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x3314b70]
cmp eax, 0x4af
jge 0x430b1d
inc eax
mov dword [0x3314b70], eax
jmp 0x430b27
mov dword [0x3314b70], 0
mov esi, dword [0x476ad4c]
mov eax, dword [0x3314b68]
inc esi
push 0x3e8
push eax
mov dword [0x476ad4c], esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x3314b70]
mov eax, dword [0x3314b74]
cmp ecx, eax
jne 0x430b60
mov dword [0x3314b78], 0
jmp 0x430b66
inc dword [0x3314b78]
mov edx, dword [0x3314b68]
push 0
push 1
push edx
call ebx
mov eax, dword [0x4771588]
mov ecx, dword [esp + 0x10]
add ebp, 2
dec ecx
mov dword [esp + 0x10], ecx
jne 0x430a90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf1c
ret
cmp eax, 0x144
jne case.0x43089b.20
mov eax, dword [0x47bc60]
cmp eax, 0xffffffff
jne 0x430bba
mov eax, dword [esp + 0x2a]
and eax, 0xffff
mov dword [0x47bc60], eax
jmp 0x430bcc
mov ecx, dword [esp + 0x2a]
and ecx, 0xffff
cmp eax, ecx
jne case.0x43089b.20
cmp dword [0x476adfc], esi
jne 0x430be3
mov edx, dword [0x32f9204]
push esi
push esi
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [0x476adfc], 1
xor eax, eax
lea ecx, [esp + 0x52c]
xor edx, edx
add ecx, 2
mov dl, byte [esp + eax + 0x2c]
inc eax
cmp eax, 0x140
mov dx, word [edx*2 + 0x32f9004]
mov word [ecx - 2], dx
jl 0x430bf6
mov ebx, dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [0x4771588]
lea ebp, [esp + 0x52c]
mov dword [esp + 0x10], 0x140
mov cx, word [ebp]
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
cmp eax, 0xf00
mov dword [0x4771588], eax
jl 0x430d15
mov edx, dword [0x3314b70]
mov ecx, 0x780
mov eax, edx
mov esi, 0x4ebadc
shl eax, 6
sub eax, edx
mov dword [0x4771588], 0
lea edi, [eax + eax*4]
shl edi, 5
add edi, 0x3314b99
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x3314b70]
cmp eax, 0x4af
jge 0x430cba
inc eax
mov dword [0x3314b70], eax
jmp 0x430cc4
mov dword [0x3314b70], 0
mov esi, dword [0x476ad4c]
mov eax, dword [0x3314b68]
inc esi
push 0x3e8
push eax
mov dword [0x476ad4c], esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x3314b70]
mov eax, dword [0x3314b74]
cmp ecx, eax
jne 0x430cfd
mov dword [0x3314b78], 0
jmp 0x430d03
inc dword [0x3314b78]
mov edx, dword [0x3314b68]
push 0
push 1
push edx
call ebx
mov eax, dword [0x4771588]
mov ecx, dword [esp + 0x10]
add ebp, 2
dec ecx
mov dword [esp + 0x10], ecx
jne 0x430c2d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf1c
ret
cmp eax, 0x144
jne case.0x43089b.20
mov eax, dword [0x47bc60]
cmp eax, 0xffffffff
jne 0x430d57
mov eax, dword [esp + 0x2a]
and eax, 0xffff
mov dword [0x47bc60], eax
jmp 0x430d69
mov ecx, dword [esp + 0x2a]
and ecx, 0xffff
cmp eax, ecx
jne case.0x43089b.20
cmp dword [0x476adfc], esi
jne 0x430d80
mov edx, dword [0x32f9204]
push esi
push esi
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ebx, dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [0x4771588]
mov ecx, 0x50
lea esi, [esp + 0x2c]
lea edi, [esp + 0x52c]
mov dword [0x476adfc], 1
rep movsd dword es:[edi], dword [esi]
lea ebp, [esp + 0x52c]
mov dword [esp + 0x10], 0xa0
mov cx, word [ebp]
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
cmp eax, 0xf00
mov dword [0x4771588], eax
jl 0x430ed4
mov edx, dword [0x3314b70]
mov ecx, 0x780
mov eax, edx
mov esi, 0x4ebadc
shl eax, 6
sub eax, edx
mov dword [0x4771588], 0
lea edi, [eax + eax*4]
shl edi, 5
add edi, 0x3314b99
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x3314b70]
cmp eax, 0x4af
jge 0x430e79
inc eax
mov dword [0x3314b70], eax
jmp 0x430e83
mov dword [0x3314b70], 0
mov esi, dword [0x476ad4c]
mov eax, dword [0x3314b68]
inc esi
push 0x3e8
push eax
mov dword [0x476ad4c], esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x3314b70]
mov eax, dword [0x3314b74]
cmp ecx, eax
jne 0x430ebc
mov dword [0x3314b78], 0
jmp 0x430ec2
inc dword [0x3314b78]
mov edx, dword [0x3314b68]
push 0
push 1
push edx
call ebx
mov eax, dword [0x4771588]
mov ecx, dword [esp + 0x10]
add ebp, 2
dec ecx
mov dword [esp + 0x10], ecx
jne 0x430db6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf1c
ret
cmp eax, 0xa4
jne case.0x43089b.20
mov eax, dword [0x47bc60]
cmp eax, 0xffffffff
jne 0x430f16
mov eax, dword [esp + 0x2a]
and eax, 0xffff
mov dword [0x47bc60], eax
jmp 0x430f28
mov ecx, dword [esp + 0x2a]
and ecx, 0xffff
cmp eax, ecx
jne case.0x43089b.20
cmp dword [0x476adfc], esi
jne 0x430f3f
mov edx, dword [0x32f9204]
push esi
push esi
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [0x476adfc], 1
xor eax, eax
lea ecx, [esp + 0x52c]
xor edx, edx
add ecx, 2
mov dl, byte [esp + eax + 0x2c]
inc eax
cmp eax, 0xa0
mov dx, word [edx*2 + 0x32f9004]
mov word [ecx - 2], dx
jl 0x430f52
mov ebx, dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [0x4771588]
lea ebp, [esp + 0x52c]
mov dword [esp + 0x10], 0xa0
mov cx, word [ebp]
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
cmp eax, 0xf00
mov dword [0x4771588], eax
jl 0x4310a7
mov edx, dword [0x3314b70]
mov ecx, 0x780
mov eax, edx
mov esi, 0x4ebadc
shl eax, 6
sub eax, edx
mov dword [0x4771588], 0
lea edi, [eax + eax*4]
shl edi, 5
add edi, 0x3314b99
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x3314b70]
cmp eax, 0x4af
jge 0x43104c
inc eax
mov dword [0x3314b70], eax
jmp 0x431056
mov dword [0x3314b70], 0
mov esi, dword [0x476ad4c]
mov eax, dword [0x3314b68]
inc esi
push 0x3e8
push eax
mov dword [0x476ad4c], esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x3314b70]
mov eax, dword [0x3314b74]
cmp ecx, eax
jne 0x43108f
mov dword [0x3314b78], 0
jmp 0x431095
inc dword [0x3314b78]
mov edx, dword [0x3314b68]
push 0
push 1
push edx
call ebx
mov eax, dword [0x4771588]
mov ecx, dword [esp + 0x10]
add ebp, 2
dec ecx
mov dword [esp + 0x10], ecx
jne 0x430f89
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf1c
ret
cmp eax, 0xa4
jne case.0x43089b.20
mov eax, dword [0x47bc60]
cmp eax, 0xffffffff
jne 0x4310e9
mov eax, dword [esp + 0x2a]
and eax, 0xffff
mov dword [0x47bc60], eax
jmp 0x4310fb
mov ecx, dword [esp + 0x2a]
and ecx, 0xffff
cmp eax, ecx
jne case.0x43089b.20
cmp dword [0x476adfc], esi
jne 0x431112
mov edx, dword [0x32f9204]
push esi
push esi
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [0x476adfc], 1
xor eax, eax
lea ecx, [esp + 0x52c]
movsx dx, byte [esp + eax + 0x2c]
shl edx, 8
mov word [ecx], dx
inc eax
add ecx, 2
cmp eax, 0xa0
jl 0x431125
mov ebx, dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov eax, dword [0x4771588]
lea ebp, [esp + 0x52c]
mov dword [esp + 0x10], 0xa0
mov cx, word [ebp]
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
mov word [eax*2 + 0x4ebadc], cx
inc eax
cmp eax, 0xf00
mov dword [0x4771588], eax
jl 0x431274
mov edx, dword [0x3314b70]
mov ecx, 0x780
mov eax, edx
mov esi, 0x4ebadc
shl eax, 6
sub eax, edx
mov dword [0x4771588], 0
lea edi, [eax + eax*4]
shl edi, 5
add edi, 0x3314b99
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x3314b70]
cmp eax, 0x4af
jge 0x431219
inc eax
mov dword [0x3314b70], eax
jmp 0x431223
mov dword [0x3314b70], 0
mov esi, dword [0x476ad4c]
mov eax, dword [0x3314b68]
inc esi
push 0x3e8
push eax
mov dword [0x476ad4c], esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [0x3314b70]
mov eax, dword [0x3314b74]
cmp ecx, eax
jne 0x43125c
mov dword [0x3314b78], 0
jmp 0x431262
inc dword [0x3314b78]
mov edx, dword [0x3314b68]
push 0
push 1
push edx
call ebx
mov eax, dword [0x4771588]
mov ecx, dword [esp + 0x10]
add ebp, 2
dec ecx
mov dword [esp + 0x10], ecx
jne 0x431156
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf1c
ret
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf1c
ret