Function at 0x4aa890
Capabilities:
Connect socket
Set socket configuration
Terminate process

Disassembly:
sub esp, 0x28
mov eax, dword [0x6009e4]
xor eax, esp
mov dword [esp + 0x24], eax
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
mov esi, ecx
mov dword [esp + 0x10], 1
push edi
mov eax, dword [esi + 0x2c]
cmp eax, 0xffffffff
jne 0x4aaae6
xorps xmm0, xmm0
lea eax, [esi + 0x54]
push 0x38
movups xmmword [esi + 0x38], xmm0
push 0
movq qword [esi + 0x48], xmm0
push eax
mov dword [esi + 0x50], 0
call fcn.005869c0
movzx ecx, word [ebp]
mov ebx, 0x10
add esp, 0xc
lea eax, [ebx - 0xf]
lea edx, [ebx + 0xc]
cmp ecx, eax
jne 0x4aa8f8
mov word [esi + 0x38], ax
jmp 0x4aa90d
cmp ecx, 0x17
mov eax, ebx
lea ecx, [esi + 0x38]
cmove eax, edx
push eax
push ebp
call fcn.00401000
add esp, 8
push dword [esi + 0x1f8]
mov eax, dword [esp + 0x48]
push dword [esi + 0x1f0]
mov dword [esi + 0x1d4], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x1e0], 0
mov dword [esi + 0x1c4], eax
call fcn.00591c5f
add esp, 8
test eax, eax
je 0x4aab21
movzx ecx, word [esi + 0x38]
mov dword [esi + 0x1f0], eax
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x1f4], eax
cmp ecx, 1
je 0x4aa9a1
movzx eax, word [esi + 0x8c]
xorps xmm0, xmm0
movq qword [esp + 0x28], xmm0
mov dword [esp + 0x30], 0
movups xmmword [esp + 0x18], xmm0
test ax, ax
jne 0x4aa996
mov ax, word [ebp]
mov word [esp + 0x18], ax
lea eax, [esp + 0x18]
jmp 0x4aa9a3
xor eax, eax
cmp ecx, 1
je 0x4aa9c5
push 6
mov edx, 1
mov ecx, eax
call fcn.004b12b0
add esp, 4
mov dword [esi + 0x2c], eax
test eax, eax
jne 0x4aa9dc
jmp 0x4aab62
push 0
push 1
push 1
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0x2c], eax
test eax, eax
js 0x4aaba3
cmp word [esi + 0x38], 1
mov dword [esi + 0x1e4], 0
mov dword [esi + 0x218], 0
mov dword [esi + 0x1e8], 0
mov dword [esi + 0x1ec], 0
je 0x4aaa2a
push 4
lea eax, [esp + 0x18]
push eax
push 8
push 0xffff
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jne 0x4aabe4
lea eax, [esp + 0x14]
push eax
push 0x8004667e
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
movzx ecx, word [esi + 0x8c]
lea eax, [esi + 0x8c]
test cx, cx
je 0x4aaaa7
cmp word [esi + 0x38], 1
je 0x4aaa71
cmp ecx, 0x17
mov ecx, 0x1c
cmove ebx, ecx
push ebx
push eax
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x4aaacb
mov ecx, dword [esi + 0x1d0]
mov edx, esi
push 0
push fcn.004aa730
push 0
mov dword [esi + 0x1e4], 0xffffffff
call fcn.004b2450
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.00584a28
add esp, 0x28
ret
cmp word [esi + 0x38], 1
je 0x4aaa71
cmp word [ebp], 0x17
mov ecx, 0x1c
cmove ebx, ecx
push ebx
push ebp
push dword [esi + 0x2c]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x4aaa71
mov ecx, dword [esi + 0xc]
call fcn.004aee90
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00584a28
add esp, 0x28
ret
push eax
push 0xfd
push 0x35c
mov edx, 0x61ba88
xor ecx, ecx
call fcn.004b47e0
add esp, 0xc
push 0x35c
push 0x61baa8
push str.CRITICALEXIT2__FILE:__s__LINE:__d_r_n
call fcn.004010e0
add esp, 0xc
push 0xfd
call fcn.00587d2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfe
push 0x378
mov edx, 0x61baec
xor ecx, ecx
call fcn.004b47e0
add esp, 0xc
push 0x378
push 0x61bb0c
push 0x61bb2c
call fcn.004010e0
add esp, 0xc
push 0xfe
call fcn.00587d2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfd
push 0x394
mov edx, 0x61bb50
xor ecx, ecx
call fcn.004b47e0
add esp, 0xc
push 0x394
push 0x61bb70
push 0x61bb90
call fcn.004010e0
add esp, 0xc
push 0xfd
call fcn.00587d2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xfd
push 0x398
mov edx, 0x61bbb4
xor ecx, ecx
call fcn.004b47e0
add esp, 0xc
push 0x398
push 0x61bbd4
push 0x61bbf4
call fcn.004010e0
add esp, 0xc
push 0xfd
call fcn.00587d2d
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x3a6
mov edx, 0x61bc18
xor ecx, ecx
call fcn.004b47e0
add esp, 0xc
push 0xfd
call fcn.00587d2d
int3