Function at 0x1010d800
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1019fcf8
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1026d48c]
xor eax, esp
push eax
lea eax, [esp + 0x3c]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esp + 0x64]
call fcn.10095ac0
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
mov eax, edi
or eax, ebp
je 0x1010d8f6
push 2
push str._r_n_____Received______r_n
mov ecx, esi
call fcn.1010cf90
mov eax, dword [esi + 0x54]
test eax, eax
mov dword [esi + 0x58], 2
je 0x1010d908
mov edx, dword [eax + 0x78]
lea ecx, [eax + 0x78]
mov eax, dword [edx + 4]
call eax
mov ebx, eax
mov ecx, ebx
call fcn.10018170
xor ecx, ecx
test eax, eax
je 0x1010d908
cmp ecx, ebp
jg 0x1010d890
jl 0x1010d88c
cmp eax, edi
jae 0x1010d890
mov edi, eax
jmp 0x1010d894
mov ecx, dword [esp + 0x50]
cmp byte [esp + 0x58], 0
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x1c], ecx
jne 0x1010d8d5
mov edx, dword [esp + 0x64]
push ebp
push edx
push edi
mov ecx, ebx
call fcn.100180d0
mov ecx, dword [esp + 0x60]
push eax
call fcn.10082370
test al, al
jne 0x1010d8d5
mov eax, dword [ebp]
mov edx, dword [eax + 0x14]
push str.Failed_to_send_bytes_to_the_output.
mov ecx, ebp
call edx
xor al, al
jmp 0x1010db05
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
sub eax, edi
sbb ecx, 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
or eax, ecx
mov ecx, ebx
jne 0x1010d8fd
push edi
call fcn.1001b060
mov al, 1
jmp 0x1010db05
call fcn.10018200
mov edi, dword [esp + 0x4c]
jmp 0x1010d90c
mov ebp, dword [esp + 0x68]
mov eax, dword [esp + 0x50]
mov ebx, edi
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x4c], 0
call fcn.100182e0
xor edi, edi
mov dword [esp + 0x44], edi
jmp 0x1010d93a
mov ebp, dword [esp + 0x68]
mov ebx, dword [esp + 0x18]
xor edi, edi
cmp dword [esp + 0x1c], edi
jl 0x1010d951
jg 0x1010d94a
cmp ebx, 0x1000
jbe 0x1010d951
mov eax, 0x1000
jmp 0x1010d953
mov eax, ebx
mov ecx, dword [esi + 0x54]
cmp ecx, edi
je 0x1010db2b
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
push ebp
push ebx
push edx
push eax
push eax
lea eax, [esp + 0x34]
push eax
call fcn.100a44f0
test al, al
mov byte [esp + 0x17], al
jne 0x1010da1b
push ebp
push str.readNToOutput
mov ecx, ebx
call fcn.10095b30
mov ecx, dword [esi + 0x54]
cmp ecx, edi
je 0x1010d9c9
push ebp
push 1
call fcn.100a18a0
test al, al
jne 0x1010d9c9
mov ecx, dword [esi + 0x54]
add ecx, 0x7c
call fcn.10049240
push 2
push str._r_n_____Not_Connected______r_n
mov ecx, esi
mov dword [esi + 0x54], edi
mov byte [esp + 0x54], 1
call fcn.1010cf90
mov dword [esi + 0x58], 3
cmp byte [ebx + 0x16], 0
je 0x1010da11
cmp byte [esp + 0x4c], 0
jne 0x1010da11
mov edx, dword [ebp]
mov eax, dword [edx + 0x14]
push str.Received_fatal_socket_error.__Closing_the_connection.
mov ecx, ebp
call eax
mov eax, dword [esi + 0x54]
cmp eax, edi
je 0x1010d9f7
lea ecx, [eax + 0x7c]
call fcn.10049240
mov dword [esi + 0x54], edi
push 2
push str._r_n_____Not_Connected______r_n
mov ecx, esi
mov byte [esp + 0x54], 1
call fcn.1010cf90
mov dword [esi + 0x58], 3
cmp byte [ebx + 0x15], 0
jne 0x1010db2b
lea ecx, [esp + 0x20]
call fcn.100f6330
cmp edi, dword [esp + 0x1c]
mov ebx, eax
jg 0x1010db55
jl 0x1010da3c
cmp ebx, dword [esp + 0x18]
jae 0x1010db55
cmp byte [esp + 0x58], 0
mov byte [esp + 0x16], 1
jne 0x1010da60
mov ecx, dword [esp + 0x64]
push ebp
push ecx
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x28]
push edx
call fcn.10082590
mov byte [esp + 0x16], al
lea ecx, [esp + 0x20]
call fcn.100f6330
lea ecx, [esp + 0x20]
mov edi, eax
call fcn.1008bea0
mov ebp, eax
test ebp, ebp
je 0x1010dab1
test edi, edi
je 0x1010dab1
cmp byte [esi + 0x178], 0
je 0x1010da94
push edi
push ebp
lea ecx, [esi + 0x17c]
call fcn.10019380
cmp byte [esi + 0x5c], 0
je 0x1010dab1
push 0
push edi
lea eax, [esi + 0x60]
push ebp
push eax
call fcn.10032090
add esp, 0x10
test al, al
jne 0x1010dab1
mov byte [esi + 0x5c], al
sub dword [esp + 0x18], ebx
mov eax, 0
lea ecx, [esp + 0x20]
sbb dword [esp + 0x1c], eax
call fcn.10017ff0
mov bl, byte [esp + 0x16]
test bl, bl
je 0x1010db1b
cmp byte [esp + 0x5c], 0
je 0x1010dadd
cmp byte [esp + 0x4c], 0
jne 0x1010db40
cmp byte [esp + 0x17], 0
je 0x1010db2b
mov ecx, dword [esp + 0x18]
or ecx, dword [esp + 0x1c]
jne 0x1010d930
lea ecx, [esp + 0x20]
mov dword [esp + 0x44], 0xffffffff
call fcn.10018a90
mov al, bl
mov ecx, dword [esp + 0x3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret 0x20
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
push str.Failed_to_send_received_bytes_to_the_output.
mov eax, dword [edx + 0x14]
call eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x44], 0xffffffff
call fcn.10018a90
xor al, al
jmp 0x1010db05
lea ecx, [esp + 0x20]
mov dword [esp + 0x44], 0xffffffff
call fcn.10018a90
mov al, 1
jmp 0x1010db05
cmp byte [esp + 0x58], 0
mov byte [esp + 0x5c], 1
jne 0x1010db83
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x18]
push ebp
push ecx
push edx
lea ecx, [esp + 0x2c]
call fcn.1008bea0
mov ecx, dword [esp + 0x60]
push eax
call fcn.10082370
mov byte [esp + 0x5c], al
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
call fcn.1008bea0
push eax
mov ecx, esi
call fcn.1010ce60
cmp edi, dword [esp + 0x1c]
jl 0x1010dbc3
mov edi, dword [esp + 0x18]
jg 0x1010dba9
cmp ebx, edi
jbe 0x1010dbc3
push edi
lea ecx, [esp + 0x24]
call fcn.10018030
mov ecx, dword [esi + 0x54]
sub ebx, edi
test ecx, ecx
je 0x1010dbc3
push ebx
push eax
call fcn.100a2a60
cmp byte [esp + 0x5c], 0
jne 0x1010db40
mov edx, dword [ebp]
push str.Failed_to_send_received_bytes_to_the_output.__2_
mov ecx, ebp
jmp 0x1010db26