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

Disassembly:
push ebp
push edi
mov eax, 0x2a4c
push esi
push ebx
call fcn.005ac030
sub esp, eax
mov esi, dword [esp + 0x2a60]
mov ebx, dword [esi + 0x2c0]
mov dword [esp + 4], 0xa
mov dword [esp], ebx
call sym._strchr
test eax, eax
je 0x420db0
mov dword [esp], ebx
call sym._strlen
mov dword [esp + 4], 0x5c95c1
mov dword [esp], ebx
mov edi, eax
call sym._strtok
test eax, eax
je 0x420d24
mov dword [esp], eax
call sym._strdup
mov ebp, eax
mov ebx, eax
mov edx, dword [ebx]
add ebx, 4
lea eax, [edx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0x420c23
mov edx, eax
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea edx, [ebx + 2]
mov ecx, eax
cmove ebx, edx
add cl, al
sbb ebx, 3
sub ebx, ebp
lea eax, [ebx + 1]
cmp edi, eax
jg 0x420d02
mov eax, dword [esi + 0x2c0]
mov byte [eax], 0
add dword [esi + 0x278], 1
mov eax, ebx
adc dword [esi + 0x27c], 0
cdq
add dword [esi + 0x280], ebx
adc dword [esi + 0x284], edx
add dword [esi + 0x288], ebx
adc dword [esi + 0x28c], edx
cmp byte [0x745190], 0
je 0x420cf5
cmp byte [0x732fa1], 0
je 0x420cf5
cmp byte [0x745ef7], 0
jne 0x420cba
cmp byte [0x732fa0], 0
je 0x420d95
lea ebx, [esp + 0xa40]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], str.RECVD:__s
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf_1
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 4
call sym.__applog
add esp, 0x2a4c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esi + 0x2c0]
sub edi, ebx
add edi, 1
mov dword [esp + 8], edi
add eax, edx
mov dword [esp], edx
mov dword [esp + 4], eax
call sym._memmove
jmp 0x420c69
cmp byte [0x732fa1], 0
je 0x420d7f
cmp byte [0x745ef7], 0
jne 0x420d48
cmp byte [0x732fa0], 0
jne 0x420d48
cmp dword [0x5bc2e0], 3
jle 0x420d7f
lea ebx, [esp + 0xa40]
mov dword [esp + 8], str.Failed_to_parse_a__n_terminated_string_in_recv_line
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf_1
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 4
call sym.__applog
mov eax, esi
xor ebp, ebp
call sym._clear_sock
add esp, 0x2a4c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [0x5bc2e0], 3
jg 0x420cba
jmp 0x420cf5
lea ebp, [esp + 0xa40]
mov eax, ebp
call sym._decius_time
mov eax, dword [esp + 0xa40]
mov edx, dword [esp + 0xa4c]
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xa48]
mov dword [esp + 4], edx
mov dword [esp], eax
call dbg.__divdi3
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x2bc]
mov edx, 0x3c
call sym._socket_full.isra.5
test al, al
jne 0x420eff
jmp 0x4210bf
mov edx, dword [edi]
add edi, 4
lea eax, [edx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0x420e14
mov edx, eax
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea edx, [edi + 2]
mov ecx, eax
cmove edi, edx
mov edx, dword [esi + 0x2c0]
add cl, al
sbb edi, 3
sub edi, ebp
mov dword [esp], edx
mov dword [esp + 0x28], edx
call sym._strlen
lea edi, [edi + eax + 1]
cmp edi, dword [esi + 0x2c4]
mov edx, dword [esp + 0x28]
jb 0x420ecc
and edi, 0xffffe000
mov dword [esp], edx
mov dword [esp + 0x10], 0x7b1
add edi, 0x2000
mov dword [esp + 0xc], str.recalloc_sock
mov dword [esp + 8], str.util.c
mov dword [esp + 4], edi
mov dword [esp + 0x28], eax
call sym.__cgrealloc
mov ecx, dword [esp + 0x28]
mov edx, edi
mov dword [esi + 0x2c0], eax
mov dword [esp + 4], 0
sub edx, ecx
add ecx, eax
mov dword [esp + 8], edx
mov dword [esp], ecx
call sym._memset
mov edx, dword [esi + 0x2c0]
mov dword [esi + 0x2c4], edi
mov dword [esp + 4], ebp
mov dword [esp], edx
call sym._strcat
cmp ebx, 0x3b
mov ebx, dword [esi + 0x2c0]
jg 0x420bf5
mov dword [esp + 4], 0xa
mov dword [esp], ebx
call sym._strchr
test eax, eax
jne 0x420bf5
xor eax, eax
mov ecx, 0x800
mov edi, ebp
rep stosd dword es:[edi], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1ffc
mov dword [esp + 4], ebp
mov eax, dword [esi + 0x2bc]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_recv]
sub esp, 0x10
test eax, eax
je 0x421062
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x40]
mov edi, ebp
call sym._decius_time
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
mov ebx, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.__divdi3
fnstcw word [esp + 0x3e]
sub eax, dword [esp + 0x34]
sub ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
movzx eax, word [esp + 0x3e]
test ecx, ecx
fild dword [esp + 0x28]
mov dword [esp + 0x28], ebx
fdiv dword [0x5cb084]
mov ah, 0xc
mov word [esp + 0x3c], ax
fild dword [esp + 0x28]
faddp st(1)
fldcw word [esp + 0x3c]
fistp dword [esp + 0x38]
fldcw word [esp + 0x3e]
mov ebx, dword [esp + 0x38]
jns 0x420e14
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x421043
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 0xb
je 0x421043
cmp byte [0x732fa1], 0
je 0x421030
cmp byte [0x745ef7], 0
jne 0x420ff7
cmp byte [0x732fa0], 0
jne 0x420ff7
cmp dword [0x5bc2e0], 3
jle 0x421030
lea eax, [esp + 0x40]
mov dword [esp + 8], str.Failed_to_recv_sock_in_recv_line
mov dword [esp + 4], 0xa00
mov dword [esp], eax
call sym._snprintf_1
lea eax, [esp + 0x40]
mov dword [esp + 8], 0
mov dword [esp], 4
mov dword [esp + 4], eax
call sym.__applog
nop
mov dword [esp], esi
call sym._suspend_stratum
mov ebx, dword [esi + 0x2c0]
jmp 0x420bf5
mov eax, dword [esi + 0x2bc]
mov edx, 0x3c
sub edx, ebx
call sym._socket_full.isra.5
test al, al
jne 0x420ed8
jmp 0x420fd3
cmp byte [0x732fa1], 0
je 0x421030
cmp byte [0x745ef7], 0
jne 0x421086
cmp byte [0x732fa0], 0
jne 0x421086
cmp dword [0x5bc2e0], 3
jle 0x421030
lea ebx, [esp + 0x40]
mov dword [esp + 8], str.Socket_closed_waiting_in_recv_line
mov dword [esp + 4], 0xa00
mov dword [esp], ebx
call sym._snprintf_1
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 4
call sym.__applog
jmp 0x421030
cmp byte [0x732fa1], 0
je 0x420d7f
cmp byte [0x745ef7], 0
jne 0x4210eb
cmp byte [0x732fa0], 0
jne 0x4210eb
cmp dword [0x5bc2e0], 3
jle 0x420d7f
mov dword [esp + 8], str.Timed_out_waiting_for_data_on_socket_full
mov dword [esp + 4], 0xa00
mov dword [esp], ebp
call sym._snprintf_1
mov dword [esp + 8], 0
mov dword [esp + 4], ebp
mov dword [esp], 4
call sym.__applog
jmp 0x420d7f