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

Disassembly:
push 0x28c
mov eax, 0x4fac5e
call fcn.004cb654
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 0x459ca2
cmp byte [ebp + 8], al
jne 0x459c9c
mov dword [ebp - 0x230], 0xfffffffd
jmp 0x459ce5
mov byte [ebx + 0xa8], al
cmp byte [ebx + 0x70], al
je 0x459cdd
cmp byte [ebp + 0xc], al
je 0x459cda
cmp byte [ebx + 0x78], al
je 0x459cc4
mov ecx, ebx
call fcn.0045983e
mov dword [ebp - 0x230], 0xfffffffe
jmp 0x459ce5
xor ecx, ecx
cmp byte [ebx + 0xa9], cl
push 0xfffffffffffffffe
pop eax
cmovne eax, ecx
mov dword [ebp - 0x230], eax
jmp 0x459ce5
mov byte [ebx + 0x78], al
cmp byte [ebx + 0xa9], al
je 0x459cf0
mov ebx, dword [ebp - 0x230]
jmp 0x45a520
xor eax, eax
inc eax
cmp byte [ebx + 0x6c], 0
mov dword [ebp - 0x244], eax
jne 0x459d07
mov byte [ebx + 0x6c], al
call fcn.004451e3
mov ecx, ebx
call fcn.0045983e
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 0x459d36
mov ecx, ebx
call fcn.00459a23
mov esi, dword [ebx + 0x14c]
xor ecx, ecx
mov eax, dword [ebx + 0x148]
cmp esi, ecx
jl 0x459dac
jg 0x459d4e
cmp eax, ecx
jbe 0x459dac
mov edx, dword [ebx + 0x140]
add edx, eax
mov eax, dword [ebx + 0x144]
adc eax, esi
cmp eax, dword [ebp - 0x240]
jg 0x459dac
jl 0x459d6c
cmp edx, edi
jae 0x459dac
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 0x459da8
mov ecx, ebx
call fcn.00459a23
xor ecx, ecx
jmp 0x459daf
push 0x1c
pop edi
mov edx, dword [ebx + 0x128]
mov eax, dword [ebx + 0x12c]
cmp edx, eax
je 0x45a51d
xor esi, esi
inc esi
cmp byte [ebx + 0x6d], 0
mov dword [ebp - 0x248], esi
je 0x459deb
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 0x45a35b
test edi, edi
je 0x45a361
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.00440a86
push edi
lea ecx, [ebp - 0x58]
call fcn.0044093d
lea ecx, [ebp - 0x3c]
call fcn.004402d1
push 0x51f4e4
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 2
call fcn.004408e0
xor esi, esi
lea eax, [ebp - 0x18c]
push esi
push eax
mov ecx, edi
call fcn.00440ea1
lea ecx, [ebp - 0x18c]
mov ebx, eax
call fcn.00440d86
xor eax, eax
shr ebx, 0x1f
inc eax
xor bl, al
je 0x45a063
push 0x51f4f4
lea ecx, [ebp - 0x170]
call fcn.004408e0
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x58]
call fcn.004413d2
add eax, 4
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x38]
call fcn.0044341f
lea ecx, [ebp - 0x1f4]
call fcn.00440d86
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 2
call fcn.00440d86
cmp dword [ebp - 0x28], esi
je 0x459f04
lea ecx, [ebp - 0x3c]
call fcn.004422b0
test al, al
je 0x459f04
call fcn.004411f5
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x230], eax
push ecx
lea ecx, [ebp - 0x58]
call fcn.004427b7
lea eax, [ebp - 0x54]
push eax
lea ecx, [edi + 4]
call fcn.0044341f
mov ebx, dword [ebp - 0x238]
jmp 0x459f13
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 0x45a4dc
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.00440cac
cmp dword [eax + 0x14], 0x10
jb 0x459f54
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 0x45a04e
push str.e:works10820_nid_blowsnow_source_smartice_siioclient.cpp
lea ecx, [ebp - 0x11c]
call fcn.004408e0
push 0xa
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x138]
push dword [ebx + 0x5c]
call fcn.00440507
push 0x51f4f4
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 6
call fcn.004408e0
push str.connect
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 7
call fcn.004408e0
lea ecx, [ebx + 0x40]
mov byte [ebp - 4], 8
push ecx
mov ecx, eax
call fcn.004409d4
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.0045964d
lea ecx, [ebp - 0x1d8]
call fcn.00440d86
lea ecx, [ebp - 0x154]
call fcn.00440d86
lea ecx, [ebp - 0x138]
call fcn.00440d86
push 2
pop eax
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], al
call fcn.00440d86
xor esi, esi
mov ecx, dword [ebx + 0xa0]
call fcn.00454ded
push 0x10
lea eax, [ebp - 0x20]
jmp 0x45a1cd
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 0x45a4dc
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.00440cac
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0x10
jb 0x45a0b0
mov eax, dword [eax]
lea ecx, [ebp - 0x74]
mov edx, eax
push ecx
push 0x17
pop edi
mov ecx, edi
call fcn.004558c3
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 0x45a1bb
push str.e:works10820_nid_blowsnow_source_smartice_siioclient.cpp
lea ecx, [ebp - 0xc8]
call fcn.004408e0
push 0xa
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xe4]
push dword [ebx + 0x5c]
call fcn.00440507
push 0x51f4f4
lea ecx, [ebp - 0x100]
mov byte [ebp - 4], 0xb
call fcn.004408e0
push str.connect
lea ecx, [ebp - 0x210]
mov byte [ebp - 4], 0xc
call fcn.004408e0
lea ecx, [ebx + 0x40]
mov byte [ebp - 4], 0xd
push ecx
mov ecx, eax
call fcn.004409d4
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.0045964d
lea ecx, [ebp - 0x210]
call fcn.00440d86
lea ecx, [ebp - 0x100]
call fcn.00440d86
lea ecx, [ebp - 0xe4]
call fcn.00440d86
push 2
pop eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], al
call fcn.00440d86
xor esi, esi
mov ecx, dword [ebx + 0xa0]
call fcn.00454ded
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 0x45a2e6
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 0x45a2e3
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.00455b23
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 0x45a2e3
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 0x45a2e3
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.004361f3
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.00443756
test al, al
je 0x45a2e6
mov eax, dword [ebp - 0x230]
cmp dword [esi], eax
jne 0x45a2e6
push 0xfffffffffffffffe
pop edi
cmp byte [ebx + 0x6d], 0
je 0x45a32a
test edi, edi
je 0x45a32a
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.0045983e
lea ecx, [ebp - 0x3c]
call fcn.00440d86
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0
call fcn.00440d86
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
cmp eax, dword [ebp - 0x248]
jl 0x459dfc
test edi, edi
je 0x45a361
cmp byte [ebx + 0x6d], 0
jne 0x45a368
mov byte [ebx + 0x15c], 1
test edi, edi
jne 0x45a4f0
xor ecx, ecx
mov byte [ebx + 0x6d], cl
mov dword [ebx + 0x148], ecx
mov dword [ebx + 0x14c], ecx
cmp byte [ebx + 0x6e], cl
je 0x45a393
mov ecx, dword [ebx + 0xa0]
call fcn.00454dc3
xor ecx, ecx
mov byte [ebx + 0xa9], 1
cmp dword [ebx + 0xa4], ecx
jne 0x45a3d4
push 0x94
call fcn.004caa10
mov dword [ebp - 0x23c], eax
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.0045c8fd
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 0x45a46d
push str.e:works10820_nid_blowsnow_source_smartice_siioclient.cpp
lea ecx, [ebp - 0x90]
call fcn.004408e0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xac]
push dword [ebx + 0xa0]
call fcn.00440570
push str.add_fd:
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 0x11
call fcn.004408e0
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.0045964d
lea ecx, [ebp - 0x22c]
call fcn.00440d86
lea ecx, [ebp - 0xac]
call fcn.00440d86
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0
call fcn.00440d86
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 0x45a4d8
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 0x45a520
lea ecx, [ebp - 0x3c]
call fcn.00440d86
lea ecx, [ebp - 0x58]
call fcn.00440d86
push 0xfffffffffffffffa
jmp 0x45a51f
mov eax, dword [ebx + 0x148]
or eax, dword [ebx + 0x14c]
jne 0x45a516
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.0045983e
push 0xfffffffffffffffe
pop ebx
lea ecx, [ebp - 0x270]
call fcn.00435318
mov eax, ebx
call fcn.004cb5fe
ret 8