Function at 0x44a520
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1394
call fcn.0042b810
push ebx
push esi
push edi
lea edi, [ebp - 0x1394]
mov ecx, 0x4e5
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x12a8], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 2
jne 0x44a564
jmp 0x44ae2f
mov eax, dword [ebp + 8]
mov dword [eax + 8], 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x44a828
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xc], 2
je 0x44a59d
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 8], ecx
jmp 0x44a577
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x24], 0
je 0x44a60c
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.0044e2f0
add esp, 4
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jge 0x44a60c
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.0044e3a0
add esp, 4
push eax
call fcn.0044e500
add esp, 4
test eax, eax
jne 0x44a60c
push str.Send_error_occured__disconnecting.
push str.xmpp
mov eax, dword [ebp + 8]
push eax
call fcn.0044b1d0
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x18], 0x2745
mov eax, dword [ebp - 0x14]
push eax
call fcn.004480a0
add esp, 4
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0x260], ecx
cmp dword [ebp - 0x260], 0
je 0x44a7e5
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x260]
mov edx, dword [eax + 4]
sub edx, dword [ecx + 8]
mov dword [ebp - 0x278], edx
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x24], 0
je 0x44a6f2
mov eax, dword [ebp - 0x278]
push eax
mov ecx, dword [ebp - 0x260]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x260]
add edx, dword [eax + 8]
push edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x24]
push edx
call fcn.0044f5f0
add esp, 0xc
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jge 0x44a6b9
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.0044e3a0
add esp, 4
push eax
call fcn.0044e500
add esp, 4
test eax, eax
jne 0x44a6b9
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.0044e3a0
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x18], eax
jmp 0x44a7e5
mov eax, dword [ebp - 0x244]
cmp eax, dword [ebp - 0x278]
jge 0x44a6ed
cmp dword [ebp - 0x244], 0
jl 0x44a6e8
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + 8]
add ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x260]
mov dword [edx + 8], ecx
jmp 0x44a7e5
jmp 0x44a77e
mov eax, dword [ebp - 0x278]
push eax
mov ecx, dword [ebp - 0x260]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x260]
add edx, dword [eax + 8]
push edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
push edx
call fcn.0044e2a0
add esp, 0xc
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jge 0x44a74d
call fcn.0044d0d0
push eax
call fcn.0044d1a0
add esp, 4
test eax, eax
jne 0x44a74d
call fcn.0044d0d0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x18], eax
jmp 0x44a7e5
mov eax, dword [ebp - 0x244]
cmp eax, dword [ebp - 0x278]
jge 0x44a77e
cmp dword [ebp - 0x244], 0
jl 0x44a77c
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + 8]
add ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x260]
mov dword [edx + 8], ecx
jmp 0x44a7e5
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0044b290
add esp, 8
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x260], ecx
mov eax, dword [ebp - 0x26c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0044b290
add esp, 8
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x260]
mov dword [eax + 0x70], ecx
cmp dword [ebp - 0x260], 0
jne 0x44a7e0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x74], 0
jmp 0x44a618
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x18], 0
je 0x44a81a
push str.Send_error_occured__disconnecting.
push str.xmpp
mov eax, dword [ebp + 8]
push eax
call fcn.0044b1d0
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x18], 0x2745
mov eax, dword [ebp - 0x14]
push eax
call fcn.004480a0
add esp, 4
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 8], ecx
jmp 0x44a577
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 8], ecx
jmp 0x44a83c
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x44a85d
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
cmp dword [ecx + 0x78], 0
je 0x44a85b
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call fcn.00448240
add esp, 4
jmp 0x44a833
mov eax, dword [ebp + 8]
push eax
call fcn.0044bf10
add esp, 4
mov dword [ebp - 0x1290], eax
mov dword [ebp - 0x128c], edx
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebp - 0x138c], eax
mov dword [ebp - 0x1388], ecx
mov edx, dword [ebp - 0x128c]
cmp edx, dword [ebp - 0x1388]
ja 0x44a8be
jb 0x44a8a4
mov eax, dword [ebp - 0x1290]
cmp eax, dword [ebp - 0x138c]
jae 0x44a8be
mov ecx, dword [ebp - 0x1290]
mov dword [ebp - 0x1394], ecx
mov edx, dword [ebp - 0x128c]
mov dword [ebp - 0x1390], edx
jmp 0x44a8cf
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebp - 0x1394], eax
mov dword [ebp - 0x1390], ecx
push 0
push 0x3e8
mov edx, dword [ebp - 0x1390]
push edx
mov eax, dword [ebp - 0x1394]
push eax
call fcn.00447b60
mov dword [ebp - 0x129c], eax
mov eax, dword [ebp - 0x129c]
cdq
mov ecx, 0xf4240
idiv ecx
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x129c]
cdq
mov ecx, 0xf4240
idiv ecx
mov dword [ebp - 0x250], edx
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x22c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x44ab4a
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1388], ecx
cmp dword [ebp - 0x1388], 1
je 0x44a96d
cmp dword [ebp - 0x1388], 2
je 0x44aa7f
jmp 0x44aafe
call fcn.00450170
push edx
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [eax + 0x10]
push edx
call fcn.00450130
add esp, 0x10
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x80]
xor esi, esi
mov dword [ebp - 0x138c], eax
mov dword [ebp - 0x1388], edx
mov dword [ebp - 0x1394], ecx
mov dword [ebp - 0x1390], esi
mov edx, dword [ebp - 0x1388]
cmp edx, dword [ebp - 0x1390]
ja 0x44aa51
jb 0x44a9d0
mov eax, dword [ebp - 0x138c]
cmp eax, dword [ebp - 0x1394]
ja 0x44aa51
mov dword [ebp - 0x12b4], 0
jmp 0x44a9eb
mov eax, dword [ebp - 0x12b4]
add eax, 1
mov dword [ebp - 0x12b4], eax
mov eax, dword [ebp - 0x12b4]
cmp eax, dword [ebp - 0x22c]
jae 0x44aa12
mov eax, dword [ebp - 0x12b4]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + eax*4 - 0x228]
cmp edx, dword [ecx + 0x20]
jne 0x44aa10
jmp 0x44aa12
jmp 0x44a9dc
mov eax, dword [ebp - 0x12b4]
cmp eax, dword [ebp - 0x22c]
jne 0x44aa4b
cmp dword [ebp - 0x22c], 0x40
jae 0x44aa4b
mov eax, dword [ebp - 0x12b4]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
mov dword [ebp + eax*4 - 0x228], edx
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
xor eax, eax
jne 0x44a9d0
jmp 0x44aa7d
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x18], 0x274c
push str.Connection_attempt_timed_out.
push str.xmpp
mov eax, dword [ebp + 8]
push eax
call fcn.0044b2f0
add esp, 0xc
mov eax, dword [ebp - 0x14]
push eax
call fcn.004480a0
add esp, 4
jmp 0x44aafe
mov dword [ebp - 0x12c0], 0
jmp 0x44aa9a
mov eax, dword [ebp - 0x12c0]
add eax, 1
mov dword [ebp - 0x12c0], eax
mov eax, dword [ebp - 0x12c0]
cmp eax, dword [ebp - 0x120]
jae 0x44aac1
mov eax, dword [ebp - 0x12c0]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + eax*4 - 0x11c]
cmp edx, dword [ecx + 0x20]
jne 0x44aabf
jmp 0x44aac1
jmp 0x44aa8b
mov eax, dword [ebp - 0x12c0]
cmp eax, dword [ebp - 0x120]
jne 0x44aafa
cmp dword [ebp - 0x120], 0x40
jae 0x44aafa
mov eax, dword [ebp - 0x12c0]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
mov dword [ebp + eax*4 - 0x11c], edx
mov eax, dword [ebp - 0x120]
add eax, 1
mov dword [ebp - 0x120], eax
xor eax, eax
jne 0x44aa7f
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x24], 0
je 0x44ab22
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.0044e900
add esp, 4
add eax, dword [ebp - 0x12a8]
mov dword [ebp - 0x12a8], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [ebp - 0x238]
jbe 0x44ab3c
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x238], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 8], ecx
jmp 0x44a934
mov esi, esp
lea eax, [ebp - 0x254]
push eax
push 0
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x120]
push edx
mov eax, dword [ebp - 0x238]
add eax, 1
push eax
call dword [sym.imp.WS2_32.dll_select]
cmp esi, esp
call fcn.00457480
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jge 0x44abbc
call fcn.0044d0d0
push eax
call fcn.0044d1a0
add esp, 4
test eax, eax
jne 0x44abb7
call fcn.0044d0d0
push eax
push str.event_watcher_internal_error__d
push str.xmpp
mov eax, dword [ebp + 8]
push eax
call fcn.0044b230
add esp, 0x10
jmp 0x44ae2f
cmp dword [ebp - 0x244], 0
jne 0x44abd3
cmp dword [ebp - 0x12a8], 0
jne 0x44abd3
jmp 0x44ae2f
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x44ae23
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x1388], ecx
cmp dword [ebp - 0x1388], 1
je 0x44ac15
cmp dword [ebp - 0x1388], 2
je 0x44ac97
jmp 0x44ae15
lea eax, [ebp - 0x22c]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44ac92
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.0044cfe0
add esp, 4
test eax, eax
je 0x44ac66
push str.connection_failed
push str.xmpp
mov eax, dword [ebp + 8]
push eax
call fcn.0044b1d0
add esp, 0xc
mov eax, dword [ebp - 0x14]
push eax
call fcn.004480a0
add esp, 4
jmp 0x44ae15
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xc], 2
push str.connection_successful
push str.xmpp
mov eax, dword [ebp + 8]
push eax
call fcn.0044b1d0
add esp, 0xc
mov eax, dword [ebp - 0x14]
push eax
call fcn.004481c0
add esp, 4
jmp 0x44ae15
lea eax, [ebp - 0x120]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x44acd2
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x24], 0
je 0x44ae15
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.0044e900
add esp, 4
test eax, eax
je 0x44ae15
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x24], 0
je 0x44acfe
push 0x1000
lea eax, [ebp - 0x1280]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x24]
push edx
call fcn.0044e950
add esp, 0xc
mov dword [ebp - 0x244], eax
jmp 0x44ad1f
push 0x1000
lea eax, [ebp - 0x1280]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x20]
push edx
call fcn.0044d200
add esp, 0xc
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jle 0x44ad7b
mov eax, dword [ebp - 0x244]
push eax
lea ecx, [ebp - 0x1280]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x7c]
push eax
call fcn.004505a0
add esp, 0xc
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jne 0x44ad76
push str.parse_error__disconnecting
push str.xmpp
mov eax, dword [ebp + 8]
push eax
call fcn.0044b1d0
add esp, 0xc
mov eax, dword [ebp - 0x14]
push eax
call fcn.004480a0
add esp, 4
jmp 0x44ae15
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x24], 0
je 0x44ade9
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.0044e3a0
add esp, 4
push eax
call fcn.0044e500
add esp, 4
test eax, eax
jne 0x44ade7
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.0044e3a0
add esp, 4
push eax
push str.Unrecoverable_TLS_error___d.
push str.xmpp
mov edx, dword [ebp + 8]
push edx
call fcn.0044b1d0
add esp, 0x10
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.0044e3a0
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.004480a0
add esp, 4
jmp 0x44ae15
push str.Socket_closed_by_remote_host.
push str.xmpp
mov eax, dword [ebp + 8]
push eax
call fcn.0044b1d0
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x18], 0x2746
mov eax, dword [ebp - 0x14]
push eax
call fcn.004480a0
add esp, 4
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
mov dword [ebp - 8], ecx
jmp 0x44abdc
mov eax, dword [ebp + 8]
push eax
call fcn.0044bf10
add esp, 4
push edx
mov ecx, ebp
push eax
lea edx, [0x44ae54]
call fcn.00457420
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0x1394
cmp ebp, esp
call fcn.00457480
mov esp, ebp
pop ebp
ret