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

Disassembly:
push esi
mov esi, ecx
mov ecx, eax
shr ecx, 0x10
test ecx, ecx
je 0x4115ff
call fcn.00411470
mov eax, dword [esi + 0x73c]
mov dword [esi + 0x728], 0xfffffff8
mov dword [esi + 0x734], 9
test eax, eax
je 0x4115fd
mov edx, dword [esi + 0x740]
push edx
push 9
call eax
add esp, 8
pop esi
ret
movzx eax, ax
sub eax, 1
je 0x411620
sub eax, 0xf
je 0x411618
sub eax, 0x10
jne 0x4115fd
call fcn.00411470
pop esi
ret
mov eax, esi
pop esi
jmp 0x411690
mov eax, esi
pop esi
jmp 0x411740
push esi
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push eax
push ecx
call dword [0x435294]
mov edx, dword [esi + 0x730]
mov eax, dword [esi + 8]
imul edx, edx, 0x3e8
mov ecx, dword [esi + 4]
push 0
push edx
inc eax
push eax
push ecx
call dword [0x435298]
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x738]
push 0x21
push edx
push eax
push ecx
call dword [0x435334]
cmp eax, 0xffffffff
jne 0x41170e
call fcn.00411470
mov eax, dword [esi + 0x73c]
mov dword [esi + 0x728], 0xfffffffc
mov dword [esi + 0x734], 9
test eax, eax
je 0x411737
mov edx, dword [esi + 0x740]
push edx
push 9
call eax
add esp, 8
pop esi
ret
mov eax, dword [esi + 0x73c]
mov dword [esi + 0x14], 0
mov dword [esi + 0x734], 3
test eax, eax
je 0x411737
mov ecx, dword [esi + 0x740]
push ecx
push 3
call eax
add esp, 8
pop esi
ret
push ebx
mov ebx, eax
mov eax, 0xfff
sub eax, dword [ebx + 0x14]
test eax, eax
jg 0x41175b
mov dword [ebx + 0x14], 0
mov eax, 0xfff
mov ecx, dword [ebx + 0x738]
push 0
push eax
mov eax, dword [ebx + 0x10]
add eax, dword [ebx + 0x14]
push eax
push ecx
call dword [0x435344]
test eax, eax
jle 0x411779
add dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
mov byte [edx + eax], 0
mov eax, dword [ebx + 0x14]
cmp eax, 2
jle case.0x4117ad.7
mov ecx, dword [ebx + 0x10]
cmp byte [ecx + eax - 2], 0xd
lea eax, [ecx + eax - 2]
jne case.0x4117ad.7
cmp byte [eax + 1], 0xa
jne case.0x4117ad.7
mov eax, dword [ebx + 0x734]
add eax, 0xfffffffd
cmp eax, 7
ja case.0x4117ad.7
jmp dword [eax*4 + 0x411800]
call fcn.00411820
pop ebx
ret
mov eax, ebx
pop ebx
jmp 0x411a20
mov eax, ebx
pop ebx
jmp 0x411ac0
mov ecx, ebx
pop ebx
jmp 0x411c60
mov eax, dword [ebx + 0x73c]
mov dword [ebx + 0x734], 9
test eax, eax
je case.0x4117ad.7
mov edx, dword [ebx + 0x740]
push edx
push 9
call eax
add esp, 8
pop ebx
ret
mov eax, ebx
pop ebx
jmp 0x411b90
push esi
mov esi, eax
mov ecx, dword [esi + 0x10]
movzx eax, byte [ecx]
sub eax, 0x2b
jne 0x411a40
movzx eax, byte [ecx + 1]
sub eax, 0x4f
jne 0x411a40
movzx eax, byte [ecx + 2]
sub eax, 0x4b
je 0x411a7b
sar eax, 0x1f
or eax, 1
je 0x411a7b
call fcn.00411470
mov eax, dword [esi + 0x73c]
mov dword [esi + 0x728], 0xfffffff6
mov dword [esi + 0x734], 9
test eax, eax
je 0x411abc
mov ecx, dword [esi + 0x740]
push ecx
push 9
call eax
add esp, 8
pop esi
ret
push edi
lea edx, [esi + 0x218]
push edx
push str.PASS__s_r_n
mov edi, esi
mov dword [esi + 0x14], 0
call fcn.00411d70
mov eax, dword [esi + 0x73c]
add esp, 8
mov dword [esi + 0x734], 5
pop edi
test eax, eax
je 0x411abc
mov ecx, dword [esi + 0x740]
push ecx
push 5
call eax
add esp, 8
pop esi
ret
push edi
mov edi, eax
mov ecx, dword [edi + 0x10]
movzx eax, byte [ecx]
sub eax, 0x2b
jne 0x411ae0
movzx eax, byte [ecx + 1]
sub eax, 0x4f
jne 0x411ae0
movzx eax, byte [ecx + 2]
sub eax, 0x4b
je 0x411b4c
sar eax, 0x1f
or eax, 1
je 0x411b4c
push str.QUIT_r_n
mov dword [edi + 0x14], 0
call fcn.00411d70
mov eax, dword [edi + 0x73c]
add esp, 4
mov dword [edi + 0x734], 8
test eax, eax
je 0x411b1e
mov ecx, dword [edi + 0x740]
push ecx
push 8
call eax
add esp, 8
mov eax, dword [edi + 0x73c]
mov dword [edi + 0x728], 0xfffffff5
mov dword [edi + 0x734], 9
test eax, eax
je 0x411b82
mov edx, dword [edi + 0x740]
push edx
push 9
call eax
add esp, 8
pop edi
ret
push str.STAT_r_n
mov dword [edi + 0x14], 0
call fcn.00411d70
mov eax, dword [edi + 0x73c]
add esp, 4
mov dword [edi + 0x734], 6
test eax, eax
je 0x411b82
mov ecx, dword [edi + 0x740]
push ecx
push 6
call eax
add esp, 8
pop edi
ret
push edi
mov edi, eax
mov ecx, dword [edi + 0x10]
movzx eax, byte [ecx]
sub eax, 0x2b
jne 0x411bb0
movzx eax, byte [ecx + 1]
sub eax, 0x4f
jne 0x411bb0
movzx eax, byte [ecx + 2]
sub eax, 0x4b
je 0x411c1c
sar eax, 0x1f
or eax, 1
je 0x411c1c
push str.QUIT_r_n
mov dword [edi + 0x14], 0
call fcn.00411d70
mov eax, dword [edi + 0x73c]
add esp, 4
mov dword [edi + 0x734], 8
test eax, eax
je 0x411bee
mov ecx, dword [edi + 0x740]
push ecx
push 8
call eax
add esp, 8
mov eax, dword [edi + 0x73c]
mov dword [edi + 0x728], 0xffffffef
mov dword [edi + 0x734], 9
test eax, eax
je 0x411c52
mov edx, dword [edi + 0x740]
push edx
push 9
call eax
add esp, 8
pop edi
ret
push str.STAT_r_n
mov dword [edi + 0x14], 0
call fcn.00411d70
mov eax, dword [edi + 0x73c]
add esp, 4
mov dword [edi + 0x734], 6
test eax, eax
je 0x411c52
mov ecx, dword [edi + 0x740]
push ecx
push 6
call eax
add esp, 8
pop edi
ret
sub esp, 0x404
mov eax, dword [0x43e040]
xor eax, esp
mov dword [esp + 0x400], eax
push esi
mov esi, ecx
mov ecx, dword [esi + 0x10]
movzx eax, byte [ecx]
sub eax, 0x2b
push edi
jne 0x411c95
movzx eax, byte [ecx + 1]
sub eax, 0x4f
jne 0x411c95
movzx eax, byte [ecx + 2]
sub eax, 0x4b
je 0x411cfe
sar eax, 0x1f
or eax, 1
je 0x411cfe
push str.QUIT_r_n
mov edi, esi
mov dword [esi + 0x14], 0
call fcn.00411d70
mov eax, dword [esi + 0x73c]
add esp, 4
mov dword [esi + 0x734], 8
test eax, eax
je 0x411cd5
mov ecx, dword [esi + 0x740]
push ecx
push 8
call eax
add esp, 8
mov eax, dword [esi + 0x73c]
mov dword [esi + 0x728], 0xfffffff4
mov dword [esi + 0x734], 9
test eax, eax
je 0x411d4e
mov edx, dword [esi + 0x740]
push edx
push 9
jmp 0x411d49
lea edi, [esp + 8]
call fcn.00411e90
test eax, eax
jle 0x411c9d
mov eax, edi
push eax
call fcn.004240fe
push str.QUIT_r_n
mov edi, esi
mov dword [esi + 0xc], eax
mov dword [esi + 0x14], 0
call fcn.00411d70
mov eax, dword [esi + 0x73c]
add esp, 8
mov dword [esi + 0x734], 8
test eax, eax
je 0x411d4e
mov ecx, dword [esi + 0x740]
push ecx
push 8
call eax
add esp, 8
mov ecx, dword [esp + 0x408]
pop edi
pop esi
xor ecx, esp
call fcn.00423ac7
add esp, 0x404
ret