Function at 0x479fdf
Capabilities:
Connect socket
Get socket status
Resolve function by parsing pe exports

Disassembly:
push 0x28c
mov eax, 0x615739
call fcn.00524043
mov ebx, ecx
mov dword [ebp - 0x238], ebx
lea eax, [ebx + 0x80]
push eax
lea ecx, [ebp - 0x270]
call fcn.0045712a
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x230], eax
cmp byte [ebx + 0xa8], al
je 0x47a032
cmp byte [ebp + 8], al
jne 0x47a02c
mov dword [ebp - 0x230], 0xfffffffd
jmp 0x47a075
mov byte [ebx + 0xa8], al
cmp byte [ebx + 0x70], al
je 0x47a06d
cmp byte [ebp + 0xc], al
je 0x47a06a
cmp byte [ebx + 0x78], al
je 0x47a054
mov ecx, ebx
call fcn.00479c41
mov dword [ebp - 0x230], 0xfffffffe
jmp 0x47a075
xor ecx, ecx
cmp byte [ebx + 0xa9], cl
push 0xfffffffffffffffe
pop eax
cmovne eax, ecx
mov dword [ebp - 0x230], eax
jmp 0x47a075
mov byte [ebx + 0x78], al
cmp byte [ebx + 0xa9], al
je 0x47a080
mov ebx, dword [ebp - 0x230]
jmp 0x47a88a
xor eax, eax
inc eax
cmp byte [ebx + 0x6c], 0
mov dword [ebp - 0x244], eax
jne 0x47a097
mov byte [ebx + 0x6c], al
call fcn.00466b5c
mov ecx, ebx
call fcn.00479c41
call fcn.0044b8a6
mov ecx, dword [ebx + 0xf4]
mov edi, eax
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x240], edx
cmp ecx, dword [ebx + 0xf8]
jne 0x47a0c6
mov ecx, ebx
call fcn.00479db3
mov esi, dword [ebx + 0x11c]
xor ecx, ecx
mov eax, dword [ebx + 0x118]
cmp esi, ecx
jl 0x47a13c
jg 0x47a0de
cmp eax, ecx
jbe 0x47a13c
mov edx, dword [ebx + 0x110]
add edx, eax
mov eax, dword [ebx + 0x114]
adc eax, esi
cmp eax, dword [ebp - 0x240]
jg 0x47a13c
jl 0x47a0fc
cmp edx, edi
jae 0x47a13c
mov dword [ebx + 0x118], ecx
mov dword [ebx + 0x11c], ecx
mov eax, dword [ebx + 0xf8]
sub eax, dword [ebx + 0xf4]
cdq
push 0x1c
pop edi
idiv edi
xor edx, edx
mov ecx, eax
mov eax, dword [ebx + 0x108]
inc eax
div ecx
mov dword [ebx + 0x108], edx
test edx, edx
jne 0x47a138
mov ecx, ebx
call fcn.00479db3
xor ecx, ecx
jmp 0x47a13f
push 0x1c
pop edi
mov edx, dword [ebx + 0xf4]
mov eax, dword [ebx + 0xf8]
cmp edx, eax
je 0x47a887
xor esi, esi
inc esi
cmp byte [ebx + 0x6d], 0
mov dword [ebp - 0x248], esi
je 0x47a175
sub eax, edx
mov dword [ebx + 0x108], ecx
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x24c], ecx
push 0xfffffffffffffffe
pop edi
test esi, esi
jle 0x47a85a
test edi, edi
je 0x47a6de
imul eax, dword [ebx + 0x108], 0x1c
lea edi, [ebx + 0x40]
mov ecx, edi
add eax, dword [ebx + 0xf4]
push eax
call fcn.00462754
push edi
lea ecx, [ebp - 0x58]
call fcn.0046260b
lea ecx, [ebp - 0x3c]
call fcn.00461f9f
push 2
pop eax
push 0x694800
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], al
call fcn.004625ae
xor esi, esi
lea eax, [ebp - 0x18c]
push esi
push eax
mov ecx, edi
call fcn.00462b6f
lea ecx, [ebp - 0x18c]
mov ebx, eax
call fcn.00462a54
shr ebx, 0x1f
xor bl, 1
je 0x47a3eb
push 0x694818
lea ecx, [ebp - 0x170]
call fcn.004625ae
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x58]
call fcn.004630a0
add eax, 4
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x38]
call fcn.00465045
lea ecx, [ebp - 0x1f4]
call fcn.00462a54
push 2
pop eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], al
call fcn.00462a54
cmp dword [ebp - 0x28], esi
je 0x47a28a
lea ecx, [ebp - 0x3c]
call fcn.00463f4b
test al, al
je 0x47a28a
call fcn.00462ec3
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x230], eax
push ecx
lea ecx, [ebp - 0x58]
call fcn.004643e1
lea eax, [ebp - 0x54]
push eax
lea ecx, [edi + 4]
call fcn.00465045
mov ebx, dword [ebp - 0x238]
jmp 0x47a299
mov ebx, dword [ebp - 0x238]
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x230], eax
push esi
push 1
push 2
pop eax
push eax
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebx + 0xa0], eax
cmp eax, 0xffffffff
je 0x47a846
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
lea ecx, [ebp - 0x58]
push 2
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop eax
mov word [ebp - 0x20], ax
lea eax, [ebp - 0x1a4]
push eax
call fcn.0046297a
cmp dword [eax + 0x14], 0x10
jb 0x47a2dc
mov eax, dword [eax]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x1c], eax
call fcn.004482f6
push dword [ebp - 0x230]
call dword [sym.imp.WS2_32.dll_htons]
cmp dword [0x6b5ec0], 4
mov word [ebp - 0x1e], ax
jl 0x47a3d6
push str.e:works10780_blowsnow_source_smartice_siioclient.cpp
lea ecx, [ebp - 0x11c]
call fcn.004625ae
push 0xa
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x138]
push dword [ebx + 0x5c]
call fcn.004621d5
push 0x694818
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 6
call fcn.004625ae
push str.connect
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 7
call fcn.004625ae
lea ecx, [ebx + 0x40]
mov byte [ebp - 4], 8
push ecx
mov ecx, eax
call fcn.004626a2
mov edi, eax
lea eax, [ebp - 0x150]
push eax
lea ecx, [edi + 4]
call fcn.0044f15c
lea eax, [ebp - 0x134]
push eax
lea ecx, [edi + 4]
call fcn.0044f15c
push 4
push 0x18f
lea eax, [ebp - 0x11c]
mov ecx, 0x6b5ec0
push eax
push edi
call fcn.00479ab2
lea ecx, [ebp - 0x1d8]
call fcn.00462a54
lea ecx, [ebp - 0x154]
call fcn.00462a54
lea ecx, [ebp - 0x138]
call fcn.00462a54
push 2
pop eax
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], al
call fcn.00462a54
xor esi, esi
mov ecx, dword [ebx + 0xa0]
call fcn.0047599c
push 0x10
lea eax, [ebp - 0x20]
jmp 0x47a54c
mov ebx, dword [ebp - 0x238]
push esi
push 1
push 0x17
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x230], eax
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebx + 0xa0], eax
cmp eax, 0xffffffff
je 0x47a846
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x74]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x58]
call fcn.0046297a
cmp dword [eax + 0x14], 0x10
jb 0x47a435
mov eax, dword [eax]
lea ecx, [ebp - 0x74]
mov edx, eax
push ecx
push 0x17
pop edi
mov ecx, edi
call fcn.00475da5
pop ecx
lea ecx, [ebp - 0x1bc]
call fcn.004482f6
push dword [ebp - 0x230]
mov word [ebp - 0x74], di
call dword [sym.imp.WS2_32.dll_htons]
cmp dword [0x6b5ec0], 4
mov word [ebp - 0x72], ax
jl 0x47a53a
push str.e:works10780_blowsnow_source_smartice_siioclient.cpp
lea ecx, [ebp - 0xc8]
call fcn.004625ae
push 0xa
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xe4]
push dword [ebx + 0x5c]
call fcn.004621d5
push 0x694818
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xa
call fcn.004625ae
push str.connect
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0xb
call fcn.004625ae
lea ecx, [ebx + 0x40]
mov byte [ebp - 4], 0xc
push ecx
mov ecx, eax
call fcn.004626a2
mov edi, eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [edi + 4]
call fcn.0044f15c
lea eax, [ebp - 0xe0]
push eax
lea ecx, [edi + 4]
call fcn.0044f15c
push 4
push 0x1ab
lea eax, [ebp - 0xc8]
mov ecx, 0x6b5ec0
push eax
push edi
call fcn.00479ab2
lea ecx, [ebp - 0x210]
call fcn.00462a54
lea ecx, [ebp - 0x100]
call fcn.00462a54
lea ecx, [ebp - 0xe4]
call fcn.00462a54
push 2
pop eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], al
call fcn.00462a54
xor esi, esi
mov ecx, dword [ebx + 0xa0]
call fcn.0047599c
push 0x1c
pop eax
push eax
lea eax, [ebp - 0x74]
push eax
push dword [ebx + 0xa0]
call dword [sym.imp.WS2_32.dll_connect]
mov edi, eax
test edi, edi
je 0x47a665
mov dword [ebp - 0x234], esi
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x254], 4
cmp eax, 0x2733
jne 0x47a662
lea esi, [ebx + 0xb0]
mov eax, dword [esi]
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0xa0]
mov dword [ebp - 0x258], eax
lea eax, [ebp - 0x258]
push eax
call fcn.0045f530
mov ecx, esi
call fcn.00475faf
mov eax, dword [ebx + 0x60]
lea ecx, [ebp - 0x260]
push ecx
mov dword [ebp - 0x260], eax
xor eax, eax
push eax
push dword [ebx + 0xbc]
mov dword [ebp - 0x25c], eax
push eax
push dword [ebx + 0xc0]
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x47a662
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x234]
push eax
push 0x1007
push 0xffff
push dword [ebx + 0xa0]
call dword [sym.imp.WS2_32.dll_getsockopt]
cmp dword [ebp - 0x234], 0
jne 0x47a662
push ebx
lea ecx, [ebp - 0x268]
xor edi, edi
call fcn.0045712a
mov byte [ebp - 4], 0xd
lea esi, [ebx + 0x3c]
mov ecx, dword [ebx + 0xa0]
lea edx, [ebx + 0x20]
push esi
call fcn.00457fa3
pop ecx
push 2
pop eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], al
call fcn.0045714c
lea edx, [ebx + 0x44]
lea ecx, [ebx + 0x24]
call fcn.0046537c
test al, al
je 0x47a665
mov eax, dword [ebp - 0x230]
cmp dword [esi], eax
jne 0x47a665
push 0xfffffffffffffffe
pop edi
cmp byte [ebx + 0x6d], 0
je 0x47a6a9
test edi, edi
je 0x47a6a9
xor eax, eax
mov dword [ebx + 0x118], eax
mov dword [ebx + 0x11c], eax
mov eax, dword [ebx + 0xf8]
sub eax, dword [ebx + 0xf4]
cdq
push 0x1c
pop ecx
idiv ecx
xor edx, edx
mov ecx, eax
mov eax, dword [ebx + 0x108]
inc eax
div ecx
mov ecx, ebx
mov dword [ebx + 0x108], edx
call fcn.00479c41
lea ecx, [ebp - 0x3c]
call fcn.00462a54
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0
call fcn.00462a54
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
cmp eax, dword [ebp - 0x248]
jl 0x47a186
test edi, edi
jne 0x47a85a
xor ecx, ecx
mov byte [ebx + 0x6d], cl
mov dword [ebx + 0x118], ecx
mov dword [ebx + 0x11c], ecx
cmp byte [ebx + 0x6e], cl
je 0x47a701
mov ecx, dword [ebx + 0xa0]
call fcn.00475972
xor ecx, ecx
mov byte [ebx + 0xa9], 1
cmp dword [ebx + 0xa4], ecx
jne 0x47a742
push 0x94
call fcn.00522cb9
mov dword [ebp - 0x23c], eax
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.0047b5aa
xor ecx, ecx
mov byte [ebp - 4], cl
mov dword [ebx + 0xa4], eax
mov dword [eax + 0x80], ebx
mov byte [ebp - 0x244], cl
cmp dword [0x6b5ec0], 4
jl 0x47a7d7
push str.e:works10780_blowsnow_source_smartice_siioclient.cpp
lea ecx, [ebp - 0x90]
call fcn.004625ae
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xac]
push dword [ebx + 0xa0]
call fcn.0046223e
push str.add_fd:
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x10
call fcn.004625ae
mov esi, eax
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [esi + 4]
call fcn.0044f15c
push 4
push 0x210
lea eax, [ebp - 0x90]
mov ecx, 0x6b5ec0
push eax
push esi
call fcn.00479ab2
lea ecx, [ebp - 0x22c]
call fcn.00462a54
lea ecx, [ebp - 0xac]
call fcn.00462a54
lea ecx, [ebp - 0x90]
call fcn.00462a54
mov edi, dword [ebx + 0xa4]
lea ecx, [ebp - 0x278]
mov esi, dword [ebx + 0xa0]
lea eax, [edi + 0x60]
push eax
call fcn.0045712a
lea eax, [ebp - 0x250]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [edi + 0x38]
mov dword [ebp - 0x250], esi
call fcn.0045f530
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0
call fcn.0045714c
cmp byte [ebp - 0x244], 0
jne 0x47a842
mov ecx, dword [ebx + 0xa4]
lea eax, [ebp - 0x298]
push 0
push eax
call fcn.004548cd
lea ecx, [ebp - 0x298]
call fcn.0045412c
xor ebx, ebx
jmp 0x47a88a
lea ecx, [ebp - 0x3c]
call fcn.00462a54
lea ecx, [ebp - 0x58]
call fcn.00462a54
push 0xfffffffffffffffa
jmp 0x47a889
mov eax, dword [ebx + 0x118]
or eax, dword [ebx + 0x11c]
jne 0x47a880
mov eax, dword [ebp - 0x23c]
mov dword [ebx + 0x118], eax
mov eax, dword [ebp - 0x240]
mov dword [ebx + 0x11c], eax
mov ecx, ebx
call fcn.00479c41
push 0xfffffffffffffffe
pop ebx
lea ecx, [ebp - 0x270]
call fcn.0045714c
mov eax, ebx
call fcn.00523fed
ret 8