Function at 0x45ff30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x48
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
push ebx
mov ebx, dword [esp + 0x50]
push ebp
push esi
push edi
mov edi, dword [ebx]
push ecx
xor ebp, ebp
lea eax, [eax + eax*8]
push str.schannel:_client_wants_to_read__zu_bytes_n
push edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], 0xffffffff
lea esi, [ebx + eax*8 + 0x17c]
mov dword [esp + 0x24], ebp
call fcn.0045a960
mov edx, dword [esp + 0x78]
add esp, 0xc
mov dword [edx], ebp
cmp dword [esi + 0x3c], ebp
jne 0x45ffa1
push 0x1000
mov dword [esi + 0x34], ebp
mov dword [esi + 0x2c], 0x1000
call dword [0x4a3680]
add esp, 4
mov dword [esi + 0x3c], eax
test eax, eax
jne 0x45ffa1
push str.schannel:_unable_to_allocate_memory
jmp 0x45ffd6
mov eax, dword [esi + 0x28]
mov ecx, eax
sub ecx, dword [esi + 0x30]
cmp ecx, 0x400
jb 0x45ffb7
cmp eax, dword [esp + 0x68]
jae 0x45fff4
mov edx, dword [esi + 0x38]
add eax, eax
push eax
push edx
mov dword [esi + 0x28], eax
call dword [0x4a3688]
add esp, 8
mov dword [esi + 0x38], eax
test eax, eax
jne 0x45ffa1
push str.schannel:_unable_to_re_allocate_memory
push edi
call fcn.0045a9f0
mov eax, dword [esp + 0x74]
mov dword [eax], 0x1b
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov ecx, dword [esi + 0x30]
push eax
push ecx
push str.schannel:_encrypted_data_buffer:_offset__zu_length__zu_n
push edi
call fcn.0045a960
mov ecx, dword [esi + 0x30]
mov eax, dword [esi + 0x28]
add esp, 0x10
sub eax, ecx
je 0x460067
lea edx, [esp + 0x14]
push edx
push eax
mov eax, dword [esi + 0x38]
add eax, ecx
mov ecx, dword [esp + 0x68]
mov edx, dword [ebx + ecx*4 + 0x154]
push eax
push edx
call fcn.0045a6a0
mov ecx, dword [esp + 0x7c]
add esp, 0x10
mov dword [ecx], eax
test eax, eax
je 0x460045
mov dword [esp + 0x10], 0xffffffff
jmp 0x460054
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x460050
add dword [esi + 0x30], eax
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
push edx
push str.schannel:_encrypted_data_got__zd_n
push edi
call fcn.0045a960
add esp, 0xc
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x30]
push eax
push ecx
push str.schannel:_encrypted_data_buffer:_offset__zu_length__zu_n
push edi
call fcn.0045a960
add esp, 0x10
cmp dword [esi + 0x30], ebp
jbe 0x460297
test ebp, ebp
jne 0x460297
mov edx, dword [esp + 0x68]
cmp dword [esi + 0x34], edx
jae 0x460297
mov eax, dword [esi + 0x30]
push eax
call fcn.0045ea00
mov ecx, dword [esi + 0x38]
push ecx
mov ecx, eax
lea edx, [ebp + 1]
lea eax, [esp + 0x30]
call fcn.0045f300
push ebp
xor ecx, ecx
xor edx, edx
lea eax, [esp + 0x40]
call fcn.0045f300
push edx
xor ecx, ecx
lea eax, [esp + 0x50]
call fcn.0045f300
push edx
xor ecx, ecx
lea eax, [esp + 0x60]
call fcn.0045f300
add esp, 0x14
lea edx, [ebp + 4]
lea ecx, [esp + 0x28]
lea eax, [esp + 0x1c]
call fcn.0045f310
mov ecx, dword [0x4a5a54]
push ebp
mov edx, eax
mov eax, dword [esi + 0xc]
push ebp
push edx
mov edx, dword [ecx + 0x68]
push eax
call edx
mov ebp, eax
cmp ebp, 0x80090318
je 0x460354
test ebp, ebp
je 0x460129
cmp ebp, 0x90321
je 0x460129
cmp ebp, 0x90317
jne 0x46023e
cmp dword [esp + 0x38], 1
jne 0x4601d7
mov eax, dword [esp + 0x34]
push eax
push str.schannel:_decrypted_data_length:__lu_n
push edi
call fcn.0045a960
mov eax, dword [esp + 0x40]
add esp, 0xc
mov ebx, eax
cmp eax, 0x400
ja 0x460160
mov ebx, 0x400
lea esp, [esp]
mov eax, dword [esi + 0x2c]
mov ecx, eax
sub ecx, dword [esi + 0x34]
cmp ecx, ebx
jb 0x460172
cmp eax, dword [esp + 0x68]
jae 0x460191
mov edx, dword [esi + 0x3c]
add eax, eax
push eax
push edx
mov dword [esi + 0x2c], eax
call dword [0x4a3688]
add esp, 8
mov dword [esi + 0x3c], eax
test eax, eax
jne 0x460160
jmp 0x45ffd1
mov ebx, dword [esp + 0x34]
test ebx, ebx
jbe 0x4601b1
mov ecx, dword [esi + 0x3c]
mov eax, dword [esp + 0x3c]
add ecx, dword [esi + 0x34]
push ebx
push eax
push ecx
call fcn.00433540
add esp, 0xc
add dword [esi + 0x34], ebx
push ebx
push str.schannel:_decrypted_data_added:__zu_n
push edi
call fcn.0045a960
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x34]
push edx
push eax
push str.schannel:_decrypted_data_cached:_offset__zu_length__zu_n
push edi
call fcn.0045a960
mov ebx, dword [esp + 0x78]
add esp, 0x1c
cmp dword [esp + 0x50], 5
jne 0x460237
mov eax, dword [esp + 0x4c]
test eax, eax
jbe 0x460237
push eax
push str.schannel:_encrypted_data_length:__lu_n
push edi
call fcn.0045a960
mov eax, dword [esi + 0x30]
mov ecx, dword [esp + 0x58]
add esp, 0xc
cmp eax, ecx
jbe 0x46021f
mov edx, dword [esi + 0x38]
mov ebx, edx
sub ebx, ecx
push ecx
add ebx, eax
push ebx
push edx
call fcn.00433b80
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x68]
add esp, 0xc
mov dword [esi + 0x30], ecx
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x30]
push edx
push eax
push str.schannel:_encrypted_data_cached:_offset__zu_length__zu_n
push edi
call fcn.0045a960
add esp, 0x10
jmp 0x46023e
mov dword [esi + 0x30], 0
cmp ebp, 0x90321
jne 0x46028d
push str.schannel:_remote_party_requests_SSL_TLS_renegotiation_n
push edi
call fcn.0045a960
push str.schannel:_renegotiating_SSL_TLS_connection_n
push edi
call fcn.0045a960
mov edx, dword [esp + 0x70]
lea ecx, [esp + 0x28]
push ecx
push 0
push edx
push ebx
mov dword [esi + 4], 1
mov dword [esi + 0x24], 3
call fcn.00460700
add esp, 0x20
test eax, eax
je 0x460377
mov ecx, dword [esp + 0x6c]
mov dword [ecx], eax
cmp dword [esi + 0x30], 0
ja 0x460086
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x34]
push edx
push eax
push str.schannel:_decrypted_data_buffer:_offset__zu_length__zu_n
push edi
call fcn.0045a960
mov ebx, dword [esi + 0x34]
mov eax, dword [esp + 0x78]
add esp, 0x10
cmp eax, ebx
jae 0x4602ba
mov ebx, eax
test ebx, ebx
jbe 0x460309
mov ecx, dword [esi + 0x3c]
mov edx, dword [esp + 0x64]
push ebx
push ecx
push edx
call fcn.00433540
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x3c]
sub ecx, ebx
push ecx
lea edx, [eax + ebx]
push edx
push eax
mov dword [esp + 0x28], ebx
call fcn.00433b80
sub dword [esi + 0x34], ebx
push ebx
push str.schannel:_decrypted_data_returned__zd_n
push edi
call fcn.0045a960
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x34]
push eax
push ecx
push str.schannel:_decrypted_data_buffer:_offset__zu_length__zu_n
push edi
call fcn.0045a960
add esp, 0x34
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x45ffec
cmp ebp, 0x90317
je 0x460332
test ebp, ebp
jne 0x4603a7
cmp dword [esi + 0x30], ebp
jbe 0x4603a7
mov edx, dword [esi + 0x38]
cmp byte [edx], 0x15
jne 0x4603a7
push str.schannel:_server_closed_the_connection_n
push edi
call fcn.0045a960
mov eax, dword [esp + 0x74]
add esp, 8
pop edi
pop esi
pop ebp
mov dword [eax], 0
xor eax, eax
pop ebx
add esp, 0x48
ret
push str.schannel:_failed_to_decrypt_data__need_more_data_n
push edi
call fcn.0045a960
mov edx, dword [esp + 0x74]
add esp, 8
pop edi
pop esi
pop ebp
mov dword [edx], 0x51
or eax, 0xffffffff
pop ebx
add esp, 0x48
ret
push str.schannel:_SSL_TLS_connection_renegotiated_n
push edi
call fcn.0045a960
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
push eax
push ecx
push ebx
call fcn.0045ff30
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
test eax, eax
jge 0x45ffec
test ebp, ebp
je 0x45ffec
mov ecx, dword [esp + 0x5c]
push ebp
push ecx
call fcn.0044f8e0
push eax
push str.schannel:_failed_to_read_data_from_server:__s_n
push edi
call fcn.0045a960
mov edx, dword [esp + 0x80]
add esp, 0x14
pop edi
pop esi
pop ebp
mov dword [edx], 0x38
or eax, 0xffffffff
pop ebx
add esp, 0x48
ret