Function at 0x100235f0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket

Disassembly:
push ebp
lea ebp, [esp - 0x1e2c]
mov eax, 0x1e2c
call fcn.10140530
push 0xfffffffffffffffe
push 0x10185b20
push 0x10132540
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x10189710]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0x1e28], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov edi, ecx
mov ebx, edx
mov dword [ebp - 0x1c], ebx
xor esi, esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 4], esi
mov byte [ebp + 0x1810], 0
push 0x40f
push esi
lea eax, [ebp + 0x1811]
push eax
call fcn.1012e060
mov byte [ebp + 0x1410], 0
push 0x3ff
push esi
lea ecx, [ebp + 0x1411]
push ecx
call fcn.1012e060
add esp, 0x18
call fcn.10016ab0
call fcn.100802d0
test eax, eax
jne 0x100236e3
xor ecx, ecx
call fcn.1007aaf0
test eax, eax
jne 0x100239dd
cmp dword [0x101aa5a4], 5
jl 0x100236c7
push edi
lea edx, [ebp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x10]
push eax
call fcn.10061df0
lea ecx, [ebp + 0x10]
push ecx
push str.SendingComm_DIRECTLY___s_
call fcn.10017540
add esp, 0xc
push 0xffffffffffffffff
push 4
mov edx, ebx
mov ecx, edi
call fcn.1001b270
add esp, 8
mov dword [ebp - 4], 0xfffffffe
jmp 0x10023c23
cmp dword [0x101aa5a4], 5
jl 0x10023711
push edi
lea edx, [ebp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp + 0x10]
push eax
call fcn.10061df0
lea ecx, [ebp + 0x10]
push ecx
push str.SendingComm_via_PortComm___s_
call fcn.10017540
add esp, 0xc
mov dword [ebp - 0x20], esi
push 0x410
push esi
lea edx, [ebp + 0x1810]
push edx
call fcn.1012e060
mov eax, dword [ebp + 0x1e34]
push eax
push esi
push ebx
call fcn.1012e060
add esp, 0x18
xor eax, eax
mov dword [ebp], eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
mov ecx, 2
mov word [ebp], cx
cmp edi, esi
je 0x100237d1
mov eax, str.:getcat
mov ecx, edi
call fcn.1005a140
test eax, eax
jne 0x100237d1
cmp dword [0x101a9f18], esi
jne 0x10023773
cmp dword [0x101aa5a4], 5
jl 0x10023780
push str._CAT__ReadCommConfigURL__
call fcn.10017540
add esp, 4
call fcn.10021010
mov esi, 0x101b3360
cmp dword [0x101c4254], 0
jne 0x10023812
mov dword [0x101c4254], 1
movzx edx, word [0x101b3498]
push edx
push 0x101b349a
push str.URLCat_Server_____s:_u
lea eax, [ebp + 0x1d24]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0x1d24]
push ecx
push 0x1014d8cc
call fcn.10017540
add esp, 0x18
jmp 0x10023812
cmp dword [0x101a9f18], esi
jne 0x100237e2
cmp dword [0x101aa5a4], 5
jl 0x100237ef
push str._CAT__ReadCommConfig__
call fcn.10017540
add esp, 4
cmp dword [0x101a9f18], esi
jne 0x10023803
cmp dword [0x101aa5a4], 5
jge 0x10023803
push esi
jmp 0x10023805
push 1
call fcn.10021270
add esp, 4
mov esi, 0x101b3208
cmp dword [0x101a9f18], 0
je 0x10023844
movzx edx, word [esi + 0x138]
push edx
lea eax, [esi + 0x13a]
push eax
push str.CONNPARAM_a_:__s:_u
lea ecx, [ebp + 0x1d24]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0x1d24]
push edx
jmp 0x10023874
cmp dword [0x101aa5a4], 5
jl 0x10023881
movzx eax, word [esi + 0x138]
push eax
lea ecx, [esi + 0x13a]
push ecx
push str.CONNPARAM_b_:__s:_u
lea edx, [ebp + 0x1d24]
push edx
call fcn.10127dc0
lea eax, [ebp + 0x1d24]
push eax
push 0x1014d8cc
call fcn.10017540
add esp, 0x18
movzx ecx, word [esi + 0x138]
push ecx
call sub.WS2_32.dll_htons
mov word [ebp + 2], ax
lea ebx, [esi + 0x13a]
push ebx
call sub.WS2_32.dll_inet_addr
mov dword [ebp + 4], eax
cmp eax, 0xffffffff
jne 0x100238c2
mov ecx, ebx
call fcn.1000ee40
test eax, eax
je 0x100238c2
mov edx, dword [eax + 0xc]
cmp dword [edx], 0
je 0x100238c2
mov eax, edx
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [ebp + 4], edx
push 0
push 1
push 2
call sub.WS2_32.dll_socket
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x10023950
push 0x104
lea esi, [ebp + 0x1d24]
call fcn.10065360
mov eax, esi
push eax
push str._ERROR__Unable_to_create_socket__Reason:__s
lea ecx, [ebp + 0x1c20]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0x1c20]
push edx
call fcn.10017540
add esp, 0x14
xor ecx, ecx
call fcn.1007aaf0
test eax, eax
jne 0x100239dd
cmp dword [0x101aa5a4], 5
jl 0x10023944
push edi
lea eax, [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp + 0x10]
push ecx
call fcn.10061df0
lea edx, [ebp + 0x10]
push edx
push str.SendingComm_DIRECTLY___s_
call fcn.10017540
add esp, 0xc
push 0xffffffffffffffff
push 5
mov edx, dword [ebp - 0x1c]
jmp 0x100236cd
cmp dword [0x101a9f18], 0
je 0x1002397a
test edi, edi
je 0x1002397a
mov eax, str.:getcat
mov ecx, edi
call fcn.1005a140
test eax, eax
jne 0x1002397a
push str._CAT__GetCat_Connecting_to_server
call fcn.10017540
add esp, 4
push 0x10
lea eax, [ebp]
push eax
push ebx
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
jne 0x100239eb
mov byte [ebp + 0x1d24], 0
push 0x103
push 0
lea ecx, [ebp + 0x1d25]
push ecx
call fcn.1012e060
add esp, 0xc
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push 0x104
lea esi, [ebp + 0x1d24]
call fcn.10065360
add esp, 4
push ebx
call sub.WS2_32.dll_closesocket
cmp dword [0x101aa5a4], 5
jl 0x100239dd
push str._ERROR__Unable_to_connect_
call fcn.10017540
add esp, 4
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x10023c23
cmp dword [0x101a9f18], 0
je 0x10023a15
test edi, edi
je 0x10023a15
mov eax, str.:getcat
mov ecx, edi
call fcn.1005a140
test eax, eax
jne 0x10023a15
push str._CAT__GetCat_reading_line
call fcn.10017540
add esp, 4
add esi, 0x118
push 0
push esi
push 0xfa0
push 0x40c
lea edx, [ebp + 0x1810]
push edx
push ebx
lea edx, [ebp + 0x1410]
lea ecx, [ebp - 0x28]
call fcn.1000f280
add esp, 0x18
test eax, eax
jne 0x10023a76
push ebx
call sub.WS2_32.dll_closesocket
cmp dword [0x101aa5a4], 5
jl 0x10023a68
lea eax, [ebp + 0x1410]
push eax
push str._ERROR__Unable_to_ReadLine__Reason:__s
call fcn.10017540
add esp, 8
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x10023c23
cmp dword [0x101a9f18], 0
je 0x10023aba
test edi, edi
je 0x10023aba
mov eax, str.:getcat
mov ecx, edi
call fcn.1005a140
test eax, eax
jne 0x10023aba
lea ecx, [ebp + 0x1810]
push ecx
push str._CAT__GetCat_read_welcome_line_return___s_
lea edx, [ebp + 0x1010]
push edx
call fcn.10127dc0
lea eax, [ebp + 0x1010]
push eax
call fcn.10017540
add esp, 0x10
mov dword [ebp - 0x24], 0x1388
mov eax, str.:IsPhish
mov ecx, edi
call fcn.1005a140
test eax, eax
je 0x10023ae1
mov eax, str.:GetCatES
mov ecx, edi
call fcn.1005a140
test eax, eax
jne 0x10023ae8
mov dword [ebp - 0x24], 0x2710
cmp dword [0x101a9f18], 0
je 0x10023b12
test edi, edi
je 0x10023b12
mov eax, str.:getcat
mov ecx, edi
call fcn.1005a140
test eax, eax
jne 0x10023b12
push str._CAT__GetCat_Sending_cmd_buffer
call fcn.10017540
add esp, 4
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10023b17
sub eax, edx
push edi
mov ecx, eax
mov edx, ebx
call fcn.1000f9c0
add esp, 4
cmp dword [0x101a9f18], 0
je 0x10023b57
test edi, edi
je 0x10023b57
mov eax, str.:getcat
mov ecx, edi
call fcn.1005a140
test eax, eax
jne 0x10023b57
push str._CAT__GetCat_Reading_Cmd_Response
call fcn.10017540
add esp, 4
push esi
mov ecx, dword [ebp + 0x1e34]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp + 0x1e38], 0
je 0x10023b6e
push 0xffffffffffffffff
jmp 0x10023b72
mov eax, dword [ebp - 0x24]
push eax
push ecx
push edx
push ebx
lea ecx, [ebp - 0x28]
call fcn.1000f7a0
mov esi, eax
mov dword [ebp - 0x20], esi
add esp, 0x14
cmp dword [0x101a9f18], 0
je 0x10023bc6
test edi, edi
je 0x10023bc6
mov eax, str.:getcat
mov ecx, edi
call fcn.1005a140
test eax, eax
jne 0x10023bc6
mov eax, dword [ebp - 0x1c]
push eax
push str._CAT__GetCat_Reading_Response_returns___s_
lea ecx, [ebp + 0x1010]
push ecx
call fcn.10127dc0
lea edx, [ebp + 0x1010]
push edx
call fcn.10017540
add esp, 0x10
push ebx
call sub.WS2_32.dll_closesocket
cmp dword [0x101aa5a4], 5
jl 0x10023bf6
push esi
push str.ReadBytes_returned__d
lea eax, [ebp + 0x1c20]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0x1c20]
push ecx
call fcn.10017540
add esp, 0x10
mov dword [ebp - 4], 0xfffffffe
jmp 0x10023c21
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1e28]
xor ecx, ebp
call fcn.10127db1
add ebp, 0x1e2c
mov esp, ebp
pop ebp
ret 8