Function at 0x4c25a0
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
mov eax, dword [0x606180]
xor eax, esp
mov dword [esp + 0x14], eax
mov dword [esp], ecx
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov eax, 0x275927d3
jmp 0x4c2abb
mov eax, dword [esp]
mov eax, dword [eax + 4]
mov dword [eax], 2
mov eax, 0x5fc84ffb
mov dword [esp + 8], 0
nop dword [eax]
cmp eax, 0x2579bc79
jg 0x4c2630
cmp eax, 0xf489ed0a
jg 0x4c2670
cmp eax, 0xc14f27a2
jg 0x4c2703
cmp eax, 0x870c751d
je 0x4c27e0
cmp eax, 0x91c47ac6
je 0x4c2a10
jmp 0x4c25f0
cmp eax, 0x45d0299f
jg 0x4c26a0
cmp eax, 0x42c14727
jg 0x4c274d
cmp eax, 0x2579bc7a
je 0x4c283d
cmp eax, 0x275927d3
jne 0x4c25f0
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x10], 0
mov eax, 0x45d029a0
mov ecx, 0x7c7b258d
cmove eax, ecx
jmp 0x4c25f0
cmp eax, 0xfda03548
jg 0x4c2785
cmp eax, 0xf489ed0b
je 0x4c292d
cmp eax, 0xf48beff5
je 0x4c25dc
jmp 0x4c25f0
cmp eax, 0x79364983
jle 0x4c27cb
cmp eax, 0x79364984
je 0x4c25d0
cmp eax, 0x7c7b258d
jne 0x4c25f0
mov eax, dword [0x60b750]
mov ecx, dword [0x60b754]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x4441989b
mov ebp, 0x870c751d
cmovne ebx, ebp
test eax, edx
mov eax, ebx
cmove eax, ebp
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x4c25f0
cmp eax, 0xc14f27a3
je 0x4c29a7
cmp eax, 0xe40a7908
jne 0x4c25f0
mov eax, dword [esp]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp]
mov ecx, dword [ecx + 8]
push dword [eax + 4]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
push edi
call fcn.004c2c20
add esp, 0x14
mov ecx, dword [esp]
mov ecx, dword [ecx + 4]
mov dword [ecx], eax
mov eax, dword [esp]
mov eax, 0xf489ed0b
jmp 0x4c25f0
cmp eax, 0x42c14728
je 0x4c29be
cmp eax, 0x4441989b
jne 0x4c25f0
push 1
push edi
call fcn.004c2af0
add esp, 8
push dword [esi + 0x10]
push dword [esi + 0x18]
push edi
call dword [sym.imp.WS2_32.dll_connect]
mov eax, 0x870c751d
jmp 0x4c25f0
cmp eax, 0xfda03549
je 0x4c29d5
cmp eax, 0xffc38ca7
jne 0x4c25f0
mov eax, dword [0x60b750]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xe40a7908
mov ebx, 0xf489ed0b
cmove eax, ebx
cmp dword [0x60b754], 0xa
mov edx, 0xe40a7908
jmp 0x4c282d
cmp eax, 0x45d029a0
jne 0x4c29fd
mov eax, 0x7c7b258d
jmp 0x4c25f0
push 1
push edi
call fcn.004c2af0
add esp, 8
push dword [esi + 0x10]
push dword [esi + 0x18]
push edi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
sets byte [esp + 4]
mov eax, dword [0x60b750]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x4441989b
mov ebx, 0x42c14728
cmove eax, ebx
cmp dword [0x60b754], 0xa
mov edx, 0x4441989b
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
jmp 0x4c25f0
mov eax, dword [0x60b758]
mov ecx, dword [0x60b75c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esp + 6]
cmp ecx, 0xa
setl byte [esp + 7]
mov eax, 0x6a53ae2e
nop word [eax + eax]
cmp eax, 0x174abd21
jg 0x4c28a0
cmp eax, 0x881595fb
je 0x4c28e0
cmp eax, 0xa0fc077a
jne 0x4c2870
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov eax, 0x881595fb
jmp 0x4c2870
cmp eax, 0x174abd22
je 0x4c29df
cmp eax, 0x6a53ae2e
jne 0x4c2870
movzx ecx, byte [esp + 6]
movzx eax, byte [esp + 7]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0xa0fc077a
mov ebp, 0x881595fb
cmovne eax, ebp
test cl, cl
mov ecx, 0xa0fc077a
cmove eax, ecx
test dl, dl
cmovne eax, ebp
jmp 0x4c2870
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
setne bl
mov eax, dword [0x60b758]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0xa0fc077a
mov ebp, 0x174abd22
cmove eax, ebp
cmp dword [0x60b75c], 0xa
mov edx, 0xa0fc077a
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebp
jmp 0x4c2870
mov eax, dword [esp]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp]
mov ecx, dword [ecx + 8]
push dword [eax + 4]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
push edi
call fcn.004c2c20
add esp, 0x14
mov ecx, dword [esp]
mov ecx, dword [ecx + 4]
mov dword [ecx], eax
mov edx, dword [0x60b750]
mov ecx, dword [0x60b754]
lea eax, [edx - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xe40a7908
mov ebx, 0xc14f27a3
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esp]
mov ecx, dword [ecx + 4]
cmovge eax, edx
cmp dword [ecx], 0
setne byte [esp + 5]
jmp 0x4c25f0
cmp byte [esp + 5], 0
mov eax, 0xfda03549
mov ecx, 0xf48beff5
cmovne eax, ecx
jmp 0x4c25f0
cmp byte [esp + 4], 0
mov eax, 0x91c47ac6
mov ecx, 0x2579bc7a
cmovne eax, ecx
jmp 0x4c25f0
mov eax, 0x91c47ac6
jmp 0x4c25f0
and bl, 1
mov byte [esp + 0x10], bl
cmp byte [esp + 0x10], 0
mov eax, 0xffc38ca7
mov ecx, 0x79364984
cmovne eax, ecx
jmp 0x4c25f0
cmp eax, 0x5fc84ffb
jne 0x4c25f0
jmp 0x4c2ac4
push 0
push edi
call fcn.004c2af0
add esp, 8
mov eax, dword [esp]
mov eax, dword [eax + 0x10]
imul ebx, dword [eax], 0x3e8
mov eax, dword [esp]
mov eax, dword [eax + 0x14]
push 0
push 0x3e8
push dword [eax + 4]
push dword [eax]
call fcn.005ce830
add eax, ebx
mov dword [esp + 0x10], eax
push 4
lea ebp, [esp + 0x14]
push ebp
push 0x1006
push 0xffff
push edi
mov ebp, esi
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
call esi
mov eax, dword [esp]
mov eax, dword [eax + 0x18]
imul ebx, dword [eax], 0x3e8
mov eax, dword [esp]
mov eax, dword [eax + 0x1c]
push 0
push 0x3e8
push dword [eax + 4]
push dword [eax]
call fcn.005ce830
mov ecx, 0xd79f65a9
add eax, ecx
add eax, ebx
sub eax, ecx
mov dword [esp + 0x10], eax
push 4
lea eax, [esp + 0x14]
push eax
push 0x1005
push 0xffff
push edi
call esi
mov esi, ebp
mov eax, dword [esp]
mov eax, dword [eax + 4]
mov dword [eax], 0
mov eax, 0x5fc84ffb
mov cl, 1
mov dword [esp + 8], ecx
jmp 0x4c25f0
mov ebx, dword [esp + 8]
and bl, 1
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.005ce735
mov eax, ebx
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret 8