Function at 0x41decf
Capabilities:
Connect socket
Send data
Send data on socket

Disassembly:
sub esp, 0x424
push ebx
mov ebx, dword [esp + 0x430]
push ebp
xor ebp, ebp
cmp dword [0x441ff4], ebp
push esi
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
push edi
mov dword [esp + 0x10], ebp
je 0x41df7c
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x41df13
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebp
jne 0x41df7c
cmp eax, 3
jle 0x41df7c
call esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], 0
mov ebp, eax
jge 0x41df32
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41df6c
push 3
push dword [0x43cd48]
push 0x52c
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push ebx
push dword [esp + 0x44c]
push str.attempting_to_send_command__d_to__d__n
call fcn.0041c506
add esp, 0x1c
call fcn.0041c4cc
push edi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebp, ebp
mov eax, ebx
sub eax, ebp
je 0x41dfb3
dec eax
je 0x41dfa7
dec eax
je 0x41df9b
dec eax
jne 0x41e426
mov ecx, 0x442408
call fcn.00420585
jmp 0x41dfbd
mov ecx, 0x442408
call fcn.0042078d
jmp 0x41dfbd
mov ecx, 0x442408
call fcn.00420770
jmp 0x41dfbd
mov ecx, 0x442408
call fcn.00420753
movzx edi, ax
cmp edi, ebp
jne 0x41e053
cmp dword [0x441ff4], ebp
je 0x41e426
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x41dff7
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebp
jne 0x41e426
cmp eax, 3
jle 0x41e426
call esi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], ebp
mov edi, eax
jge 0x41e015
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e13c
push 3
push dword [0x43cd48]
push 0x541
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push ebx
push dword [esp + 0x44c]
push str.send_cmd__d_to__d__service_not_ready_yet_n
call fcn.0041c506
add esp, 0x1c
jmp 0x41e137
push str.127.0.0.1
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [esp + 0x20], eax
push 0x10
lea eax, [esp + 0x28]
push ebp
push eax
call sub.MSVCRT.dll_memset
lea eax, [esp + 0x2c]
push 4
push eax
lea eax, [esp + 0x3c]
push eax
mov word [esp + 0x3c], 2
call sub.MSVCRT.dll_memcpy
add esp, 0x18
push edi
call dword [sym.imp.WS2_32.dll_htons]
push ebp
push 1
pop ebx
mov word [esp + 0x2a], ax
push ebx
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
jne 0x41e14f
cmp dword [0x441ff4], ebp
je 0x41e426
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebx
je 0x41e0dd
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebp
jne 0x41e426
cmp eax, ebx
jle 0x41e426
call esi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], ebp
mov edi, eax
jge 0x41e0fb
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e13c
push ebx
push dword [0x43cd48]
push 0x552
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push 0x400
push 0x442004
call fcn.0041dbd3
push eax
push str.failed_to_create_TCP_socket:__s._n
call fcn.0041c506
add esp, 0x20
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x41e426
lea eax, [esp + 0x24]
push 0x10
push eax
push dword [esp + 0x20]
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x41e42d
cmp dword [esp + 0x438], 2
jne 0x41e184
cmp dword [esp + 0x448], ebp
jne 0x41e184
mov dword [esp + 0x10], ebx
jmp 0x41e7d3
mov eax, dword [esp + 0x440]
mov ebx, dword [esp + 0x444]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x438]
push 8
xor edi, edi
cmp dword [esp + 0x444], edi
mov dword [esp + 0x38], eax
pop ebp
lea eax, [ebx + 8]
mov dword [esp + 0x1c], ebp
mov edx, 0x3f8
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x3c]
je 0x41e1d5
test ebx, ebx
jle 0x41e1d5
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x1c], ebp
jle 0x41e370
cmp edi, 0xffffffff
je 0x41e370
xor ebx, ebx
cmp dword [esp + 0x440], ebx
je 0x41e207
cmp dword [esp + 0x444], edx
jge 0x41e1f9
mov edx, dword [esp + 0x444]
push edx
push dword [esp + 0x14]
push ecx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
cmp dword [0x441ff4], ebx
je 0x41e2a1
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x41e22e
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x41e2a1
cmp eax, 3
jle 0x41e2a1
call esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], 0
mov ebx, eax
jge 0x41e24d
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e291
push 3
push dword [0x43cd48]
push 0x573
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
add esp, 0x10
cmp ebp, 0x400
mov eax, ebp
jb 0x41e27f
mov eax, 0x400
push eax
push str._attempting_to_send__d_bytes._n
call fcn.0041c506
pop ecx
pop ecx
call fcn.0041c4cc
push edi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
mov eax, 0x400
cmp ebp, eax
jae 0x41e2ac
mov eax, ebp
push ebx
push eax
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x24]
call dword [sym.imp.WS2_32.dll_send]
mov edi, eax
cmp edi, 0xffffffff
je 0x41e383
cmp dword [0x441ff4], ebx
je 0x41e355
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x41e2ef
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x41e355
cmp eax, 3
jle 0x41e355
call esi
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], 0
mov ebx, eax
jge 0x41e30e
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e341
push 3
push dword [0x43cd48]
push 0x578
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push edi
push str._sent__d_bytes._n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
push ebp
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ebp, dword [esp + 0x1c]
xor ebx, ebx
add dword [esp + 0x10], edi
sub ebp, edi
cmp ebp, ebx
lea ecx, [esp + 0x34]
mov edx, 0x400
mov dword [esp + 0x1c], ebp
jg 0x41e1d5
xor eax, eax
push 1
test ebp, ebp
sete al
pop ebx
mov dword [esp + 0x10], eax
jmp 0x41e4c0
cmp dword [0x441ff4], ebx
je 0x41e41c
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x41e3aa
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebx
jne 0x41e41c
cmp eax, 1
jle 0x41e41c
call esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], ebx
mov ebp, eax
jge 0x41e3c8
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e40e
push 1
push dword [0x43cd48]
push 0x581
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push dword [esp + 0x440]
push dword [esp + 0x440]
push str._failed_to_send_cmd__u_to__u__error__u_n
call fcn.0041c506
add esp, 0x10
call fcn.0041c4cc
push edi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
push dword [esp + 0x18]
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
jmp 0x41e7e1
cmp dword [0x441ff4], ebp
je 0x41e4c2
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebx
je 0x41e452
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebp
jne 0x41e4c2
cmp eax, ebx
jle 0x41e4c2
call esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], 0
mov ebp, eax
jge 0x41e471
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e4b2
push ebx
push dword [0x43cd48]
push 0x58c
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push 0x400
push 0x442004
call fcn.0041dbd3
push eax
push str.failed_to_connect_to_TCP_socket:__s._n
call fcn.0041c506
add esp, 0x20
call fcn.0041c4cc
push edi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebp, ebp
cmp dword [esp + 0x448], ebp
je 0x41e7d3
cmp dword [0x441ff4], ebp
je 0x41e553
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 4
je 0x41e4f2
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebp
jne 0x41e553
cmp eax, 4
jle 0x41e553
call esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], 0
mov ebp, eax
jge 0x41e511
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e543
push 4
push dword [0x43cd48]
push 0x592
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push str.:_SendTCPEx__to_wait_return_value_n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push edi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebp, ebp
cmp dword [esp + 0x44c], ebp
je 0x41e6a8
cmp dword [esp + 0x450], ebp
je 0x41e6a8
push dword [esp + 0x454]
push ebp
push dword [esp + 0x458]
push dword [esp + 0x458]
push dword [esp + 0x28]
call fcn.0041fa92
mov edi, eax
add esp, 0x14
cmp edi, 0xffffffff
jne 0x41e637
cmp dword [0x441ff4], ebp
je 0x41e62e
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebx
je 0x41e5bf
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebp
jne 0x41e62e
cmp eax, ebx
jle 0x41e62e
call esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], 0
mov ebp, eax
jge 0x41e5de
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e61e
push ebx
push dword [0x43cd48]
push 0x5a8
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
add esp, 0x10
call esi
push eax
push 0xffffffffffffffff
push dword [esp + 0x440]
push str.:_SendTCPEx__command:_d_failed_to_recv__err_d_n
call fcn.0041c506
add esp, 0x10
call fcn.0041c4cc
push edi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ebp, ebp
mov dword [esp + 0x10], ebp
jmp 0x41e7d3
cmp dword [0x441ff4], ebp
mov dword [esp + 0x10], ebx
je 0x41e7d3
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 4
je 0x41e66a
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebp
jne 0x41e7d3
cmp eax, 4
jle 0x41e7d3
call esi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], 0
mov ebp, eax
jge 0x41e689
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e7c5
push 4
push dword [0x43cd48]
push 0x5ae
jmp 0x41e7a1
push dword [esp + 0x454]
and byte [esp + 0x1b], 0
lea eax, [esp + 0x1b]
push ebp
push ebx
push eax
push dword [esp + 0x28]
call fcn.0041fa92
mov edi, eax
add esp, 0x14
cmp edi, 0xffffffff
jne 0x41e738
cmp dword [0x441ff4], ebp
je 0x41e62e
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, ebx
je 0x41e6fb
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebp
jne 0x41e62e
cmp eax, ebx
jle 0x41e62e
call esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], 0
mov ebp, eax
jge 0x41e71a
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e61e
push ebx
push dword [0x43cd48]
push 0x59a
jmp 0x41e5f3
xor eax, eax
cmp byte [esp + 0x17], al
setne al
cmp dword [0x441ff4], ebp
mov dword [esp + 0x10], eax
je 0x41e7d3
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 4
je 0x41e76c
mov ecx, dword [0x441fdc]
cmp dword [ecx], ebp
jne 0x41e7d3
cmp eax, 4
jle 0x41e7d3
call esi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x43cd48], 0
mov ebp, eax
jge 0x41e78b
mov eax, dword [0x441fa0]
mov dword [0x43cd48], eax
call fcn.0041c4b1
test eax, eax
je 0x41e7c5
push 4
push dword [0x43cd48]
push 0x5a0
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutilitycabutil.cpp
call fcn.0041c4e1
push edi
push dword [esp + 0x44c]
push str.:_SendTCPEx_command:_d___d_bytes_recv_n
call fcn.0041c506
add esp, 0x1c
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebp
call dword [sym.imp.KERNEL32.dll_SetLastError]
push dword [esp + 0x18]
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x424
ret