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

Disassembly:
sub esp, 0x48
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x58]
push edi
mov edi, dword [esi]
push ecx
xor ebx, ebx
lea eax, [eax + eax*8]
push str.schannel:_client_wants_to_read__zu_bytes_n
xor ebp, ebp
push edi
mov dword [esp + 0x20], ebx
lea esi, [esi + eax*8 + 0x17c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebp
call fcn.1000a240
mov edx, dword [esp + 0x78]
add esp, 0xc
mov dword [edx], ebx
cmp dword [esi + 0x3c], ebx
jne 0x10036d7b
push 0x1000
mov dword [esi + 0x34], ebx
mov dword [esi + 0x2c], 0x1000
call dword [0x10044038]
add esp, 4
mov dword [esi + 0x3c], eax
cmp eax, ebx
jne 0x10036d7b
push str.schannel:_unable_to_allocate_memory
push edi
call fcn.1000a2d0
mov eax, dword [esp + 0x74]
add esp, 8
pop edi
pop esi
pop ebp
mov dword [eax], 0x1b
or eax, 0xffffffff
pop ebx
add esp, 0x48
ret
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x30]
mov edx, eax
sub edx, ecx
cmp edx, 0x400
jb 0x10036d93
cmp eax, dword [esp + 0x68]
jae 0x10036de0
mov eax, dword [esp + 0x68]
lea ebx, [ecx + 0x400]
cmp ebx, eax
jae 0x10036da3
mov ebx, eax
mov eax, dword [esi + 0x38]
push ebx
push eax
call dword [0x10044040]
add esp, 8
test eax, eax
jne 0x10036dd8
push str.schannel:_unable_to_re_allocate_memory
push edi
call fcn.1000a2d0
mov ecx, dword [esp + 0x74]
add esp, 8
pop edi
pop esi
pop ebp
mov dword [ecx], 0x1b
or eax, 0xffffffff
pop ebx
add esp, 0x48
ret
mov dword [esi + 0x28], ebx
mov dword [esi + 0x38], eax
xor ebx, ebx
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x30]
push edx
push eax
push str.schannel:_encrypted_data_buffer:_offset__zu_length__zu_n
push edi
call fcn.1000a240
mov ecx, dword [esi + 0x30]
mov eax, dword [esi + 0x28]
add esp, 0x10
sub eax, ecx
je 0x10036e4d
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esi + 0x38]
add eax, ecx
mov ecx, dword [esp + 0x64]
push eax
mov eax, dword [ecx + edx*4 + 0x154]
push eax
call fcn.10009f30
mov ecx, dword [esp + 0x7c]
add esp, 0x10
mov dword [ecx], eax
cmp eax, ebx
je 0x10036e33
or eax, 0xffffffff
jmp 0x10036e3e
mov eax, dword [esp + 0x14]
cmp eax, ebx
jle 0x10036e3e
add dword [esi + 0x30], eax
push eax
push str.schannel:_encrypted_data_got__zd_n
push edi
call fcn.1000a240
add esp, 0xc
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x30]
push edx
push eax
push str.schannel:_encrypted_data_buffer:_offset__zu_length__zu_n
push edi
call fcn.1000a240
add esp, 0x10
cmp dword [esi + 0x30], ebx
jbe 0x1003708f
lea esp, [esp]
cmp ebp, ebx
jne 0x1003708f
mov ecx, dword [esp + 0x68]
cmp dword [esi + 0x34], ecx
jae 0x1003708f
mov edx, dword [esi + 0x30]
push edx
call fcn.100019b0
add esp, 4
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x38]
push ebx
lea ecx, [esp + 0x2c]
push ebx
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x2c], ecx
mov ecx, dword [0x100441cc]
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x38], 1
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], 4
mov edx, dword [ecx + 0x68]
push eax
call edx
mov ebp, eax
mov dword [esp + 0x10], ebp
cmp ebp, 0x80090318
je 0x10037155
cmp ebp, ebx
je 0x10036f1c
cmp ebp, 0x90321
je 0x10036f1c
cmp ebp, 0x90317
jne 0x10037034
cmp dword [esp + 0x38], 1
jne 0x10036fd2
mov eax, dword [esp + 0x34]
push eax
push str.schannel:_decrypted_data_length:__lu_n
push edi
call fcn.1000a240
mov ebx, dword [esp + 0x40]
add esp, 0xc
mov ecx, ebx
cmp ebx, 0x400
ja 0x10036f4d
mov ecx, 0x400
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x34]
mov ebp, edx
sub ebp, eax
cmp ebp, ecx
jb 0x10036f61
cmp edx, dword [esp + 0x68]
jae 0x10036f8e
lea ebx, [eax + ecx]
mov eax, dword [esp + 0x68]
cmp ebx, eax
jae 0x10036f6e
mov ebx, eax
mov ecx, dword [esi + 0x3c]
push ebx
push ecx
call dword [0x10044040]
add esp, 8
test eax, eax
je 0x10037178
mov dword [esi + 0x2c], ebx
mov ebx, dword [esp + 0x34]
mov dword [esi + 0x3c], eax
test ebx, ebx
jbe 0x10036faa
mov eax, dword [esi + 0x3c]
mov edx, dword [esp + 0x3c]
add eax, dword [esi + 0x34]
push ebx
push edx
push eax
call sub.MSVCR90.dll_memcpy
add esp, 0xc
add dword [esi + 0x34], ebx
push ebx
push str.schannel:_decrypted_data_added:__zu_n
push edi
call fcn.1000a240
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x34]
push ecx
push edx
push str.schannel:_decrypted_data_cached:_offset__zu_length__zu_n
push edi
call fcn.1000a240
mov ebp, dword [esp + 0x2c]
add esp, 0x1c
xor ebx, ebx
cmp dword [esp + 0x50], 5
jne 0x10037031
mov eax, dword [esp + 0x4c]
cmp eax, ebx
jbe 0x10037031
push eax
push str.schannel:_encrypted_data_length:__lu_n
push edi
call fcn.1000a240
mov eax, dword [esi + 0x30]
mov ecx, dword [esp + 0x58]
add esp, 0xc
cmp eax, ecx
jbe 0x10037019
mov edx, dword [esi + 0x38]
mov ebx, edx
sub ebx, ecx
push ecx
add ebx, eax
push ebx
push edx
call dword [sym.imp.MSVCR90.dll_memmove]
mov eax, dword [esp + 0x58]
add esp, 0xc
mov dword [esi + 0x30], eax
xor ebx, ebx
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x30]
push ecx
push edx
push str.schannel:_encrypted_data_cached:_offset__zu_length__zu_n
push edi
call fcn.1000a240
add esp, 0x10
jmp 0x10037034
mov dword [esi + 0x30], ebx
cmp ebp, 0x90321
jne 0x10037086
push str.schannel:_remote_party_requests_SSL_TLS_renegotiation_n
push edi
call fcn.1000a240
push str.schannel:_renegotiating_SSL_TLS_connection_n
push edi
call fcn.1000a240
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
lea eax, [esp + 0x28]
push eax
push ebx
push ecx
push edx
mov dword [esi + 4], 1
mov dword [esi + 0x24], 3
call fcn.100375b0
add esp, 0x20
cmp eax, ebx
je 0x10037182
mov ecx, dword [esp + 0x6c]
mov dword [ecx], eax
cmp dword [esi + 0x30], ebx
ja 0x10036e70
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.1000a240
mov ebx, dword [esi + 0x34]
mov eax, dword [esp + 0x78]
add esp, 0x10
cmp eax, ebx
jae 0x100370b2
mov ebx, eax
test ebx, ebx
jbe 0x100371b6
mov edx, dword [esi + 0x3c]
mov eax, dword [esp + 0x64]
push ebx
push edx
push eax
call sub.MSVCR90.dll_memcpy
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x3c]
sub ecx, ebx
push ecx
lea edx, [eax + ebx]
push edx
push eax
call dword [sym.imp.MSVCR90.dll_memmove]
sub dword [esi + 0x34], ebx
push ebx
push str.schannel:_decrypted_data_returned__zd_n
push edi
call fcn.1000a240
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.1000a240
mov ebp, dword [esp + 0x44]
add esp, 0x34
test ebx, ebx
jg 0x100371f7
cmp ebp, 0x90317
je 0x10037133
test ebp, ebp
jne 0x100371bd
cmp dword [esi + 0x30], ebp
jbe 0x100371bd
mov edx, dword [esi + 0x38]
cmp byte [edx], 0x15
jne 0x100371bd
push str.schannel:_server_closed_the_connection_n
push edi
call fcn.1000a240
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.1000a240
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:_unable_to_re_allocate_memory
jmp 0x10036d5d
push str.schannel:_SSL_TLS_connection_renegotiated_n
push edi
call fcn.1000a240
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x6c]
push eax
push ecx
push edx
call fcn.10036cf0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
xor ebx, ebx
jmp 0x1003710e
test ebx, ebx
jge 0x100371f7
test ebp, ebp
je 0x100371f7
mov ecx, dword [esp + 0x5c]
push ebp
push ecx
call fcn.10024710
push eax
push str.schannel:_failed_to_read_data_from_server:__s_n
push edi
call fcn.1000a240
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
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x48
ret