Function at 0x423660
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
sub esp, 0x444
mov eax, dword [0x4a97e0]
xor eax, esp
mov dword [esp + 0x43c], eax
mov eax, dword [esp + 0x44c]
push ebx
push ebp
mov ebp, dword [esp + 0x450]
push esi
push edi
push 0x3ff
lea ecx, [esp + 0x4d]
push 0
push ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x54], 0
call fcn.00461780
add esp, 0xc
push str._GetNtwk1284String__
call fcn.00421450
mov edi, eax
call fcn.00421970
add esp, 4
call fcn.004233c0
test eax, eax
je 0x423947
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4236f8
push str.Could_not_get_a_socket
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call fcn.00421450
mov ecx, eax
call fcn.00421ae0
add esp, 4
jmp 0x423941
push 4
lea edx, [esp + 0x14]
push edx
push 0x1006
push 0xffff
push esi
mov dword [esp + 0x24], 0x1388
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x42373d
push str.Could_not_set_socket_timeout
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call fcn.00421450
mov ecx, eax
call fcn.00421ae0
add esp, 4
jmp 0x423941
push ebp
call dword [sym.imp.WS2_32.dll_inet_addr]
mov edi, dword [sym.imp.WS2_32.dll_htons]
push 0x238c
mov dword [esp + 0x40], eax
mov word [esp + 0x3c], 2
call edi
mov word [esp + 0x3a], ax
push 0x10
lea eax, [esp + 0x3c]
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jge 0x42377d
push str.Could_not_connect_to_the_socket
jmp 0x423923
mov ebp, dword [sym.imp.WS2_32.dll_send]
push 0
push 9
push str.e__12345X
push esi
call ebp
cmp eax, 0xffffffff
jne 0x42379e
push str.Could_not_send_ICL_PJL_UEL_to_the_socket
jmp 0x423923
cmp eax, 9
jne 0x42393a
push 0
push 0x19
push str._PJL_ENTER_LANGUAGEACL_r_n
push esi
call ebp
cmp eax, 0xffffffff
jne 0x4237c2
push str.Could_not_send_ICL_PJL_ENTERLANG_to_the_socket
jmp 0x423923
cmp eax, 0x19
jne 0x42393a
xor eax, eax
push 0xac
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
call edi
push 6
mov word [esp + 0x2c], ax
call edi
push 0
push 0x10
lea ecx, [esp + 0x30]
push ecx
push esi
mov word [esp + 0x3a], ax
call ebp
cmp eax, 0xffffffff
je 0x42391e
cmp eax, 0x10
jne 0x42391e
xor eax, eax
push str._GetNtwk1284String__:_Getting_1284_string_...
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
call fcn.00421450
mov edi, eax
call fcn.00421970
mov edi, dword [sym.imp.WS2_32.dll_recv]
add esp, 4
push 0
push 0x10
lea edx, [esp + 0x20]
push edx
push esi
call edi
cmp eax, 0xffffffff
je 0x423917
cmp eax, 0x10
jne 0x423917
mov eax, dword [esp + 0x18]
mov ebx, dword [sym.imp.WS2_32.dll_ntohs]
push eax
call ebx
cmp ax, 0xac
jne 0x423904
mov ecx, dword [esp + 0x1a]
push ecx
call ebx
cmp ax, 6
jne 0x423904
mov edx, dword [esp + 0x1c]
push edx
call ebx
cmp ax, 1
jne 0x423904
push 0
push 0x400
lea eax, [esp + 0x50]
push eax
push esi
call edi
cmp eax, 0xffffffff
jne 0x4238aa
push str.recv_1284_string_failed
jmp 0x423923
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x49]
push ecx
push 0x100
push edx
mov byte [esp + eax + 0x54], 0
call fcn.0045f0f6
add esp, 0xc
push str.Successfully_received_1284_string..._Now_sending_end_PJL
call fcn.00421450
mov edi, eax
call fcn.00421970
add esp, 4
push 0
push 9
push str.e__12345X
push esi
call ebp
cmp eax, 0xffffffff
je 0x42393a
cmp eax, 9
jne 0x42393a
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x423949
push str.Incorrect_command_response_received
call fcn.00421450
mov edi, eax
call fcn.00421970
jmp 0x423937
push str.recv_response_failed
jmp 0x423923
push str.Failed_send_acl_cmd_to_the_socket
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
call fcn.00421450
mov ecx, eax
call fcn.00421ae0
add esp, 4
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
xor eax, eax
mov ecx, dword [esp + 0x44c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0045e88c
add esp, 0x444
ret