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

Disassembly:
push 0x28c
mov eax, 0x4fac51
call fcn.004cb630
mov ebx, ecx
mov dword [ebp - 0x238], ebx
lea eax, [ebx + 0x80]
push eax
lea ecx, [ebp - 0x270]
call fcn.004352f6
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x230], eax
cmp byte [ebx + 0xa8], al
je 0x459c87
cmp byte [ebp + 8], al
jne 0x459c81
mov dword [ebp - 0x230], 0xfffffffd
jmp 0x459cca
mov byte [ebx + 0xa8], al
cmp byte [ebx + 0x70], al
je 0x459cc2
cmp byte [ebp + 0xc], al
je 0x459cbf
cmp byte [ebx + 0x78], al
je 0x459ca9
mov ecx, ebx
call fcn.00459823
mov dword [ebp - 0x230], 0xfffffffe
jmp 0x459cca
xor ecx, ecx
cmp byte [ebx + 0xa9], cl
push 0xfffffffffffffffe
pop eax
cmovne eax, ecx
mov dword [ebp - 0x230], eax
jmp 0x459cca
mov byte [ebx + 0x78], al
cmp byte [ebx + 0xa9], al
je 0x459cd5
mov ebx, dword [ebp - 0x230]
jmp 0x45a505
xor eax, eax
inc eax
cmp byte [ebx + 0x6c], 0
mov dword [ebp - 0x244], eax
jne 0x459cec
mov byte [ebx + 0x6c], al
call fcn.004451c9
mov ecx, ebx
call fcn.00459823
call fcn.0042961e
mov ecx, dword [ebx + 0x128]
mov edi, eax
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x240], edx
cmp ecx, dword [ebx + 0x12c]
jne 0x459d1b
mov ecx, ebx
call fcn.00459a08
mov esi, dword [ebx + 0x14c]
xor ecx, ecx
mov eax, dword [ebx + 0x148]
cmp esi, ecx
jl 0x459d91
jg 0x459d33
cmp eax, ecx
jbe 0x459d91
mov edx, dword [ebx + 0x140]
add edx, eax
mov eax, dword [ebx + 0x144]
adc eax, esi
cmp eax, dword [ebp - 0x240]
jg 0x459d91
jl 0x459d51
cmp edx, edi
jae 0x459d91
mov dword [ebx + 0x148], ecx
mov dword [ebx + 0x14c], ecx
mov eax, dword [ebx + 0x12c]
sub eax, dword [ebx + 0x128]
cdq
push 0x1c
pop edi
idiv edi
xor edx, edx
mov ecx, eax
mov eax, dword [ebx + 0x13c]
inc eax
div ecx
mov dword [ebx + 0x13c], edx
test edx, edx
jne 0x459d8d
mov ecx, ebx
call fcn.00459a08
xor ecx, ecx
jmp 0x459d94
push 0x1c
pop edi
mov edx, dword [ebx + 0x128]
mov eax, dword [ebx + 0x12c]
cmp edx, eax
je 0x45a502
xor esi, esi
inc esi
cmp byte [ebx + 0x6d], 0
mov dword [ebp - 0x248], esi
je 0x459dd0
sub eax, edx
mov dword [ebx + 0x13c], ecx
cdq
idiv edi
mov byte [ebx + 0x15c], cl
mov esi, eax
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x24c], ecx
push 0xfffffffffffffffe
pop edi
test esi, esi
jle 0x45a340
test edi, edi
je 0x45a346
imul eax, dword [ebx + 0x13c], 0x1c
lea edi, [ebx + 0x40]
inc dword [ebx + 0x158]
mov ecx, edi
add eax, dword [ebx + 0x128]
push eax
call fcn.00440a6c
push edi
lea ecx, [ebp - 0x58]
call fcn.00440923
lea ecx, [ebp - 0x3c]
call fcn.004402b7
push 0x51f4e4
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 2
call fcn.004408c6
xor esi, esi
lea eax, [ebp - 0x18c]
push esi
push eax
mov ecx, edi
call fcn.00440e87
lea ecx, [ebp - 0x18c]
mov ebx, eax
call fcn.00440d6c
xor eax, eax
shr ebx, 0x1f
inc eax
xor bl, al
je 0x45a048
push 0x51f4f4
lea ecx, [ebp - 0x170]
call fcn.004408c6
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x58]
call fcn.004413b8
add eax, 4
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x38]
call fcn.00443405
lea ecx, [ebp - 0x1f4]
call fcn.00440d6c
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 2
call fcn.00440d6c
cmp dword [ebp - 0x28], esi
je 0x459ee9
lea ecx, [ebp - 0x3c]
call fcn.00442296
test al, al
je 0x459ee9
call fcn.004411db
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x230], eax
push ecx
lea ecx, [ebp - 0x58]
call fcn.0044279d
lea eax, [ebp - 0x54]
push eax
lea ecx, [edi + 4]
call fcn.00443405
mov ebx, dword [ebp - 0x238]
jmp 0x459ef8
mov ebx, dword [ebp - 0x238]
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x230], eax
push esi
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebx + 0xa0], eax
cmp eax, 0xffffffff
je 0x45a4c1
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.00440c92
cmp dword [eax + 0x14], 0x10
jb 0x459f39
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.00401443
push dword [ebp - 0x230]
call dword [sym.imp.WS2_32.dll_htons]
cmp dword [0x5417b4], 4
mov word [ebp - 0x1e], ax
jl 0x45a033
push str.e:works10820_blowsnow_source_smartice_siioclient.cpp
lea ecx, [ebp - 0x11c]
call fcn.004408c6
push 0xa
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x138]
push dword [ebx + 0x5c]
call fcn.004404ed
push 0x51f4f4
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 6
call fcn.004408c6
push str.connect
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 7
call fcn.004408c6
lea ecx, [ebx + 0x40]
mov byte [ebp - 4], 8
push ecx
mov ecx, eax
call fcn.004409ba
mov edi, eax
lea eax, [ebp - 0x150]
push eax
lea ecx, [edi + 4]
call fcn.0042cfc8
lea eax, [ebp - 0x134]
push eax
lea ecx, [edi + 4]
call fcn.0042cfc8
push 4
push 0x1c2
lea eax, [ebp - 0x11c]
mov ecx, 0x5417b4
push eax
push edi
call fcn.00459632
lea ecx, [ebp - 0x1d8]
call fcn.00440d6c
lea ecx, [ebp - 0x154]
call fcn.00440d6c
lea ecx, [ebp - 0x138]
call fcn.00440d6c
push 2
pop eax
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], al
call fcn.00440d6c
xor esi, esi
mov ecx, dword [ebx + 0xa0]
call fcn.00454dd2
push 0x10
lea eax, [ebp - 0x20]
jmp 0x45a1b2
mov ebx, dword [ebp - 0x238]
push esi
push eax
push 0x17
mov ecx, dword [ebx + 0x5c]
mov dword [ebp - 0x230], ecx
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebx + 0xa0], eax
cmp eax, 0xffffffff
je 0x45a4c1
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.00440c92
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0x10
jb 0x45a095
mov eax, dword [eax]
lea ecx, [ebp - 0x74]
mov edx, eax
push ecx
push 0x17
pop edi
mov ecx, edi
call fcn.004558a8
pop ecx
push 2
pop eax
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], al
call fcn.00401443
push dword [ebp - 0x230]
mov word [ebp - 0x74], di
call dword [sym.imp.WS2_32.dll_htons]
cmp dword [0x5417b4], 4
mov word [ebp - 0x72], ax
jl 0x45a1a0
push str.e:works10820_blowsnow_source_smartice_siioclient.cpp
lea ecx, [ebp - 0xc8]
call fcn.004408c6
push 0xa
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xe4]
push dword [ebx + 0x5c]
call fcn.004404ed
push 0x51f4f4
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xb
call fcn.004408c6
push str.connect
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0xc
call fcn.004408c6
lea ecx, [ebx + 0x40]
mov byte [ebp - 4], 0xd
push ecx
mov ecx, eax
call fcn.004409ba
mov edi, eax
lea eax, [ebp - 0xfc]
push eax
lea ecx, [edi + 4]
call fcn.0042cfc8
lea eax, [ebp - 0xe0]
push eax
lea ecx, [edi + 4]
call fcn.0042cfc8
push 4
push 0x1de
lea eax, [ebp - 0xc8]
mov ecx, 0x5417b4
push eax
push edi
call fcn.00459632
lea ecx, [ebp - 0x210]
call fcn.00440d6c
lea ecx, [ebp - 0x100]
call fcn.00440d6c
lea ecx, [ebp - 0xe4]
call fcn.00440d6c
push 2
pop eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], al
call fcn.00440d6c
xor esi, esi
mov ecx, dword [ebx + 0xa0]
call fcn.00454dd2
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 0x45a2cb
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 0x45a2c8
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.0042e494
mov ecx, esi
call fcn.00455b08
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 0x45a2c8
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 0x45a2c8
push ebx
lea ecx, [ebp - 0x268]
xor edi, edi
call fcn.004352f6
mov byte [ebp - 4], 0xe
lea esi, [ebx + 0x3c]
mov ecx, dword [ebx + 0xa0]
lea edx, [ebx + 0x20]
push esi
call fcn.004361de
pop ecx
push 2
pop eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], al
call fcn.00435318
lea edx, [ebx + 0x44]
lea ecx, [ebx + 0x24]
call fcn.0044373c
test al, al
je 0x45a2cb
mov eax, dword [ebp - 0x230]
cmp dword [esi], eax
jne 0x45a2cb
push 0xfffffffffffffffe
pop edi
cmp byte [ebx + 0x6d], 0
je 0x45a30f
test edi, edi
je 0x45a30f
xor eax, eax
mov dword [ebx + 0x148], eax
mov dword [ebx + 0x14c], eax
mov eax, dword [ebx + 0x12c]
sub eax, dword [ebx + 0x128]
cdq
push 0x1c
pop ecx
idiv ecx
xor edx, edx
mov ecx, eax
mov eax, dword [ebx + 0x13c]
inc eax
div ecx
mov ecx, ebx
mov dword [ebx + 0x13c], edx
call fcn.00459823
lea ecx, [ebp - 0x3c]
call fcn.00440d6c
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0
call fcn.00440d6c
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
cmp eax, dword [ebp - 0x248]
jl 0x459de1
test edi, edi
je 0x45a346
cmp byte [ebx + 0x6d], 0
jne 0x45a34d
mov byte [ebx + 0x15c], 1
test edi, edi
jne 0x45a4d5
xor ecx, ecx
mov byte [ebx + 0x6d], cl
mov dword [ebx + 0x148], ecx
mov dword [ebx + 0x14c], ecx
cmp byte [ebx + 0x6e], cl
je 0x45a378
mov ecx, dword [ebx + 0xa0]
call fcn.00454da8
xor ecx, ecx
mov byte [ebx + 0xa9], 1
cmp dword [ebx + 0xa4], ecx
jne 0x45a3b9
push 0x94
call fcn.004ca9ed
mov dword [ebp - 0x23c], eax
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.0045c8e2
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 [0x5417b4], 4
jl 0x45a452
push str.e:works10820_blowsnow_source_smartice_siioclient.cpp
lea ecx, [ebp - 0x90]
call fcn.004408c6
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xac]
push dword [ebx + 0xa0]
call fcn.00440556
push str.add_fd:
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x11
call fcn.004408c6
mov esi, eax
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [esi + 4]
call fcn.0042cfc8
push 4
push 0x246
lea eax, [ebp - 0x90]
mov ecx, 0x5417b4
push eax
push esi
call fcn.00459632
lea ecx, [ebp - 0x22c]
call fcn.00440d6c
lea ecx, [ebp - 0xac]
call fcn.00440d6c
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0
call fcn.00440d6c
mov edi, dword [ebx + 0xa4]
lea ecx, [ebp - 0x278]
mov esi, dword [ebx + 0xa0]
lea eax, [edi + 0x60]
push eax
call fcn.004352f6
lea eax, [ebp - 0x250]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [edi + 0x38]
mov dword [ebp - 0x250], esi
call fcn.0042e494
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0
call fcn.00435318
cmp byte [ebp - 0x244], 0
jne 0x45a4bd
mov ecx, dword [ebx + 0xa4]
lea eax, [ebp - 0x298]
push 0
push eax
call fcn.004329d6
lea ecx, [ebp - 0x298]
call fcn.00432126
xor ebx, ebx
jmp 0x45a505
lea ecx, [ebp - 0x3c]
call fcn.00440d6c
lea ecx, [ebp - 0x58]
call fcn.00440d6c
push 0xfffffffffffffffa
jmp 0x45a504
mov eax, dword [ebx + 0x148]
or eax, dword [ebx + 0x14c]
jne 0x45a4fb
mov eax, dword [ebp - 0x23c]
mov dword [ebx + 0x148], eax
mov eax, dword [ebp - 0x240]
mov dword [ebx + 0x14c], eax
mov ecx, ebx
call fcn.00459823
push 0xfffffffffffffffe
pop ebx
lea ecx, [ebp - 0x270]
call fcn.00435318
mov eax, ebx
call fcn.004cb5da
ret 8