Function at 0x44d660
Capabilities:
Decrypt data via sspi

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x428
mov eax, dword [0x595c60]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
push edi
push str.attempting_to_read__d_bytes_from_SSL_connection_n
push 1
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x408], edi
mov dword [ebp - 0x40c], 0
call fcn.004774c0
add esp, 0xc
test esi, esi
je 0x44de17
test eax, eax
je 0x44de17
test edi, edi
jle 0x44de17
mov eax, dword [esi + 0x1008c]
cmp eax, 4
jne 0x44d6ea
push str.Read_attempted_on_connection_in_error_state
push esi
call fcn.00449de0
add esp, 8
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x44d715
mov eax, esi
call fcn.0044d1f0
test eax, eax
jl 0x44d6d5
cmp dword [esi + 0x1008c], 2
je 0x44d742
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
cmp eax, 3
je 0x44d742
cmp eax, 2
je 0x44d742
push str.attempting_to_read_when_not_connected
push esi
call fcn.00449de0
add esp, 8
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x40]
test eax, eax
push ebx
je 0x44d7b6
mov ebx, dword [esi + 0x48]
sub ebx, dword [esi + 0x44]
add ebx, eax
mov eax, dword [ebp - 0x408]
cmp ebx, eax
mov edi, ebx
jle 0x44d760
mov edi, eax
push edi
push str.using__d_bytes_of_cached__decrypted_data_n
push 1
call fcn.004774c0
mov eax, dword [esi + 0x44]
mov ecx, dword [ebp - 0x410]
push edi
push eax
push ecx
call fcn.0050b730
add dword [ebp - 0x410], edi
sub dword [ebp - 0x408], edi
add esp, 0x18
cmp edi, ebx
mov dword [ebp - 0x40c], edi
jne 0x44d7ad
mov edx, dword [esi + 0x40]
push edx
call fcn.005074d4
add esp, 4
xor eax, eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x48], eax
jmp 0x44d7b0
add dword [esi + 0x44], edi
mov edi, dword [ebp - 0x408]
test edi, edi
jle 0x44db49
mov edi, edi
mov eax, dword [esi]
xor ebx, ebx
push eax
mov dword [ebp - 0x414], ebx
call fcn.00450940
add esp, 4
cmp eax, ebx
mov dword [ebp - 0x418], eax
je 0x44dbc4
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004437f0
add esp, 4
cmp eax, ebx
jl 0x44dce2
push eax
push str._d_bytes_in_input_buffer_n
push 1
call fcn.004774c0
add esp, 0xc
cmp eax, ebx
je 0x44d812
cmp dword [esi + 0x10], 0x80090318
jne 0x44d86b
cmp dword [esi + 0x1008c], 3
je 0x44dbe8
mov edx, dword [esi + 0x10094]
push 0x10000
lea edi, [esi + 0x50]
push edi
push edx
call fcn.00451850
add esp, 0xc
cmp eax, 0xffffffff
je 0x44dc06
test eax, eax
je 0x44dc83
push eax
push str._d_bytes_of__encrypted__application_data_received_n
push 1
call fcn.004774c0
push eax
mov eax, dword [esi + 0x4c]
push edi
push eax
call fcn.00443d10
add esp, 0x18
test eax, eax
je 0x44dcbe
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.004437f0
mov edi, eax
add esp, 4
test edi, edi
jl 0x44dce2
mov edx, dword [esi + 0x4c]
push edx
call fcn.004437d0
xor ecx, ecx
add esp, 4
cmp eax, ecx
mov dword [ebp - 0x41c], eax
je 0x44dd06
push edi
push str.attempting_to_decrypt__d_bytes_of_data_n
push 1
call fcn.004774c0
add esp, 0xc
mov dword [esi + 0x1005c], eax
lea eax, [esi + 0x10054]
push ecx
mov dword [eax], edi
push ecx
mov dword [ebp - 0x420], eax
lea edi, [esi + 0x10064]
lea eax, [ebp - 0x428]
mov dword [edi], ecx
mov dword [esi + 0x10070], ecx
mov dword [esi + 0x1007c], ecx
mov dword [ebp - 0x428], ecx
mov ecx, dword [ebp - 0x418]
push eax
push ecx
mov dword [esi + 0x10058], 1
mov dword [ebp - 0x424], 4
call sub.Secur32.dll_DecryptMessage
test eax, eax
mov dword [esi + 0x10], eax
jne 0x44d941
mov eax, 1
cmp dword [edi], 1
je 0x44d922
add eax, 1
add edi, 0xc
cmp eax, 4
jl 0x44d910
jmp 0x44d941
lea edx, [eax + eax*2]
cmp dword [esi + edx*4 + 0x10054], 0
jne 0x44d941
mov eax, dword [ebp - 0x41c]
cmp byte [eax], 0x15
jne 0x44d941
mov dword [esi + 0x10], 0x90317
mov eax, dword [esi + 0x10]
cmp eax, 0x80090318
jne 0x44d965
push str.msg_incomplete__need_more_data_before_decrypting_n
push 1
call fcn.004774c0
mov edi, dword [ebp - 0x408]
add esp, 8
jmp 0x44db41
cmp eax, 0x90317
jne 0x44d987
push str.connection_closed_by_server_n
push 1
call fcn.004774c0
add esp, 8
mov dword [esi + 0x1008c], 3
jmp 0x44d996
test eax, eax
je 0x44d996
cmp eax, 0x90321
jne 0x44dd2a
mov edx, 1
mov eax, edx
lea ecx, [esi + 0x10060]
cmp dword [ecx + 4], edx
jne 0x44d9dc
test ebx, ebx
push eax
jne 0x44d9ce
push str.Buffers__d_.BufferType__SECBUFFER_DATA_n
push edx
mov ebx, ecx
call fcn.004774c0
mov edi, dword [ecx]
push edi
push eax
push str.Buffers__d_.cbBuffer___d_n
push edx
call fcn.004774c0
add esp, 0x1c
jmp 0x44d9dc
push str.more_than_one_DATA_buffer_found___d__n
push edx
call fcn.004774c0
add esp, 0xc
cmp dword [ecx + 4], 5
jne 0x44da1f
cmp dword [ebp - 0x414], 0
push eax
jne 0x44da11
push str.Buffers__d_.BufferType__SECBUFFER_EXTRA_n
push edx
mov dword [ebp - 0x414], ecx
call fcn.004774c0
mov edi, dword [ecx]
push edi
push eax
push str.Buffers__d_.cbBuffer___d_n
push edx
call fcn.004774c0
add esp, 0x1c
jmp 0x44da1f
push str.more_than_one_DATA_buffer_found___d__n
push edx
call fcn.004774c0
add esp, 0xc
add eax, edx
add ecx, 0xc
cmp eax, 4
jl 0x44d9a3
test ebx, ebx
je 0x44daca
mov ecx, dword [ebx]
push ecx
push str.Decrypted_data:__d_bytes_n
push edx
call fcn.004774c0
mov eax, dword [ebx]
mov edi, dword [ebp - 0x408]
add esp, 0xc
cmp eax, edi
jbe 0x44db87
push edi
push str.only_room_for__d_more_bytes_in_buffer_n
push edx
call fcn.004774c0
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0x410]
push edi
push edx
push eax
call fcn.0050b730
mov eax, dword [ebx]
add dword [ebp - 0x40c], edi
sub eax, edi
push eax
mov dword [esi + 0x48], eax
call fcn.00507c0d
add esp, 0x1c
test eax, eax
mov dword [esi + 0x40], eax
je 0x44dddb
mov ecx, dword [esi + 0x48]
push ecx
push str.caching__d_bytes_of_decrypted_data_n
push 1
call fcn.004774c0
mov edx, dword [esi + 0x48]
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 0x40]
push edx
add eax, edi
push eax
push ecx
call fcn.0050b730
mov edx, dword [esi + 0x40]
add esp, 0x18
mov dword [esi + 0x44], edx
mov dword [ebp - 0x408], 0
mov edi, dword [ebp - 0x408]
mov eax, dword [esi + 0x4c]
push eax
call fcn.004439a0
add esp, 4
cmp eax, 1
jne 0x44dd84
mov eax, dword [ebp - 0x414]
test eax, eax
je 0x44db19
mov ecx, dword [eax]
push ecx
push str.Copying__d_extra_bytes_of_data_to_IO_buffer_n
push 1
call fcn.004774c0
mov edx, dword [eax]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x4c]
push edx
push eax
push ecx
call fcn.00443d10
add esp, 0x18
test eax, eax
je 0x44dda8
cmp dword [esi + 0x10], 0x90321
jne 0x44db41
push str.Server_requested_renegotiation_n
push 1
call fcn.004774c0
add esp, 8
call fcn.0044cee0
test eax, eax
mov dword [esi + 0x10], eax
jne 0x44ddcc
test edi, edi
jg 0x44d7c0
mov eax, dword [ebp - 0x40c]
test eax, eax
jne 0x44ddf1
cmp dword [esi + 0x1008c], 3
jne 0x44ddf1
push str.returning_connection_closed_status_n
push 1
call fcn.004774c0
add esp, 8
or eax, 0xffffffff
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push eax
push str.copying__d_bytes_to_buffer_n
push edx
call fcn.004774c0
mov eax, dword [ebx]
mov ecx, dword [ebx + 8]
mov edx, dword [ebp - 0x410]
push eax
push ecx
push edx
call fcn.0050b730
mov eax, dword [ebx]
add dword [ebp - 0x40c], eax
add dword [ebp - 0x410], eax
add esp, 0x18
sub edi, eax
mov dword [ebp - 0x408], edi
jmp 0x44dad0
push str.authdata_get_context___failed_in_SCUL_SSL_Read__
push esi
call fcn.00449de0
add esp, 8
pop ebx
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x40c]
cmp eax, ebx
jg 0x44db76
pop ebx
pop edi
or eax, 0xffffffff
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call edi
cmp eax, 0x2733
mov eax, dword [ebp - 0x40c]
je 0x44db76
test eax, eax
jg 0x44db76
push 0x3ff
lea edx, [ebp - 0x403]
push 0
push edx
mov byte [ebp - 0x404], 0
call fcn.0050be90
add esp, 0xc
push 0x400
lea eax, [ebp - 0x404]
push eax
call edi
push eax
call fcn.00470ef0
lea ecx, [ebp - 0x404]
push ecx
push str.Error_reading_data_from_server:__s
push esi
call fcn.00449de0
add esp, 0x18
pop ebx
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push str.Server_unexpectedly_disconnected_n
push 1
call fcn.004774c0
mov eax, dword [ebp - 0x40c]
add esp, 8
test eax, eax
jg 0x44db76
pop ebx
pop edi
mov dword [esi + 0x1008c], 0
or eax, 0xffffffff
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push str.error_returned_by_SCUL_BufferAddData___in_SCUL_SSL_Read__
push esi
call fcn.00449de0
add esp, 8
pop ebx
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push str.SCUL_BufferUnreadDataLen___failed_in_SCUL_SSL_Read__
push esi
call fcn.00449de0
add esp, 8
pop ebx
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push str.buffer_current___failed_in_SCUL_SSL_Read__
push esi
call fcn.00449de0
add esp, 8
pop ebx
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push 0x3ff
lea edx, [ebp - 0x403]
push 0
push edx
mov byte [ebp - 0x404], 0
call fcn.0050be90
mov ecx, dword [esi + 0x10]
push 0x400
lea eax, [ebp - 0x404]
push eax
push ecx
call fcn.00470ef0
lea edx, [ebp - 0x404]
push edx
push str.Error_returned_by_DecryptMessage__:__s
push esi
call fcn.00449de0
add esp, 0x24
pop ebx
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push str.SCUL_BufferClean___failed_in_SCUL_SSL_Read__
push esi
call fcn.00449de0
add esp, 8
pop ebx
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push str.SCUL_BufferAddData___failed_in_SCUL_SSL_Read__
push esi
call fcn.00449de0
add esp, 8
pop ebx
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push str.handshake_failed_in_renegotiation_n
push 1
call fcn.004774c0
add esp, 8
pop ebx
pop edi
mov eax, 0xfffffffe
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push eax
push str.SCUL_SSL_Read
push str._s___returning__d_n
push 1
call fcn.004774c0
add esp, 0x10
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret
push str.SCUL_SSL_Read
push str._s__:_Invalid_argument
push esi
call fcn.00449de0
mov ecx, dword [ebp - 4]
add esp, 0xc
pop edi
xor ecx, ebp
mov eax, 0xfffffffe
pop esi
call fcn.00506c7d
mov esp, ebp
pop ebp
ret