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

Disassembly:
sub esp, 0x64
or eax, 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x6c]
imul eax, eax, 0x54
push ebx
push ebp
mov ebp, dword [esp + 0x70]
mov edx, dword [ebp + 0xb4]
push esi
lea esi, [eax + ebp + 0x17c]
mov eax, dword [ebp + 0x98]
xor ecx, ecx
cmp dword [esi + 8], 3
push edi
mov edi, dword [ebp]
push edx
setne cl
push eax
push str.schannel:_SSL_TLS_connection_with__s_port__hu__step_2_3__n
push edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ecx
call fcn.1001b7c0
xor ebx, ebx
add esp, 0x10
cmp dword [esi + 0xc], ebx
je 0x10021c59
cmp dword [esi + 0x10], ebx
je 0x10021c59
cmp dword [esi + 0x3c], ebx
jne 0x10021957
push 0x1000
mov dword [esi + 0x34], ebx
mov dword [esi + 0x2c], 0x1000
call dword [0x100731f0]
add esp, 4
mov dword [esi + 0x3c], eax
cmp eax, ebx
jne 0x10021957
push str.schannel:_unable_to_allocate_memory
push edi
call fcn.1001b850
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x64
ret
cmp dword [esi + 0x38], ebx
jne 0x1002197b
push 0x1000
mov dword [esi + 0x30], ebx
mov dword [esi + 0x28], 0x1000
call dword [0x100731f0]
add esp, 4
mov dword [esi + 0x38], eax
cmp eax, ebx
je 0x1002193c
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x28]
sub ecx, eax
cmp ecx, 0x400
jae 0x100219d0
mov edx, dword [esi + 0x38]
lea edi, [eax + 0x400]
push edi
push edx
call dword [0x100731f8]
add esp, 8
cmp eax, ebx
jne 0x100219c2
push str.schannel:_unable_to_re_allocate_memory
mov eax, dword [esp + 0x14]
push eax
call fcn.1001b850
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x64
ret
mov dword [esi + 0x38], eax
mov dword [esi + 0x28], edi
mov edi, dword [esp + 0x10]
lea esp, [esp]
cmp dword [esp + 0x14], ebx
je 0x10021a21
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x28]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esi + 0x38]
sub edx, eax
push edx
mov edx, dword [esp + 0x84]
add ecx, eax
mov eax, dword [ebp + edx*4 + 0x154]
push ecx
push eax
call fcn.1001b4a0
add esp, 0x10
cmp eax, 0x51
je 0x10021c66
cmp eax, ebx
jne 0x10021c8b
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x10021c8b
add dword [esi + 0x30], eax
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x30]
push ecx
push edx
push str.schannel:_encrypted_data_buffer:_offset__zu_length__zu_n
push edi
call fcn.1001b7c0
mov eax, dword [esi + 0x30]
push eax
call fcn.1001e890
mov ecx, dword [esi + 0x30]
push ecx
mov edi, eax
call dword [0x100731f0]
mov ecx, 2
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x6c], ecx
add esp, 0x18
lea edx, [esp + 0x38]
lea ecx, [esp + 0x50]
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], 0x11
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], 3
cmp eax, ebx
je 0x10021ca6
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0x38]
push edx
push ecx
push eax
call fcn.10049af0
mov ecx, dword [ebp + 0x98]
add esp, 0xc
cmp ecx, ebx
je 0x1002194a
mov eax, dword [esi + 0x10]
lea edx, [eax + 8]
push edx
lea edx, [esi + 0x44]
push edx
lea edx, [esp + 0x28]
push edx
push ebx
push ebx
lea edx, [esp + 0x40]
push edx
mov edx, dword [esi + 0x40]
push ebx
push ebx
push edx
push ecx
mov ecx, dword [0x10074ca4]
mov edx, dword [ecx + 0x18]
push eax
mov eax, dword [esi + 0xc]
push eax
call edx
mov edi, eax
mov eax, dword [esp + 0x40]
push eax
mov dword [esp + 0x18], edi
call dword [0x100731f4]
add esp, 4
mov dword [esp + 0x40], ebx
cmp edi, 0x80090318
je 0x10021cb0
cmp edi, 0x90320
je 0x10021c34
cmp edi, 0x90312
je 0x10021b4a
cmp edi, ebx
jne 0x10021cfe
xor ebp, ebp
lea edi, [esp + 0x50]
cmp dword [edi + 4], 2
jne 0x10021bab
mov eax, dword [edi]
cmp eax, ebx
jbe 0x10021bab
mov ecx, dword [esp + 0x10]
push eax
push str.schannel:_sending_next_handshake_data:_sending__lu_bytes..._n
push ecx
call fcn.1001b7c0
mov eax, dword [edi]
mov ecx, dword [edi + 8]
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [eax + edx*4 + 0x154]
push ecx
push eax
call fcn.1001ba60
add esp, 0x20
test eax, eax
mov eax, dword [esp + 0x1c]
jne 0x10021d21
cmp dword [edi], eax
jne 0x10021d21
mov eax, dword [edi + 8]
cmp eax, ebx
je 0x10021bbe
mov edx, dword [0x10074ca4]
push eax
mov eax, dword [edx + 0x40]
call eax
inc ebp
add edi, 0xc
cmp ebp, 3
jl 0x10021b50
cmp dword [esp + 0x48], 5
jne 0x10021d4a
mov eax, dword [esp + 0x44]
cmp eax, ebx
jbe 0x10021d4a
mov ecx, dword [esp + 0x10]
push eax
push str.schannel:_encrypted_data_length:__lu_n
push ecx
call fcn.1001b7c0
mov eax, dword [esi + 0x30]
mov edx, dword [esp + 0x50]
add esp, 0xc
cmp eax, edx
jbe 0x10021d4d
mov ecx, dword [esi + 0x38]
sub eax, edx
push edx
add eax, ecx
push eax
push ecx
call fcn.10048000
mov edx, dword [esp + 0x50]
add esp, 0xc
cmp dword [esp + 0x14], 0x90312
mov dword [esi + 0x30], edx
jne 0x10021d68
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x14], ebx
jmp 0x100219c8
mov eax, dword [esi + 0x40]
test al, al
jns 0x10021cd3
push edi
push ebp
call fcn.10020bf0
mov ecx, dword [esp + 0x18]
push eax
push str.schannel:_next_InitializeSecurityContext_failed:__s
push ecx
call fcn.1001b850
add esp, 0x14
pop edi
pop esi
pop ebp
mov eax, 0x23
pop ebx
add esp, 0x64
ret
cmp dword [esi + 8], 3
je 0x10021c73
mov dword [esi + 8], 2
push str.schannel:_failed_to_receive_handshake__need_more_data_n
push edi
call fcn.1001b7c0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
push str.schannel:_failed_to_receive_handshake__SSL_TLS_connection_failed
push edi
call fcn.1001b850
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x23
pop ebx
add esp, 0x64
ret
push str.schannel:_unable_to_allocate_memory
jmp 0x100219a8
mov ecx, dword [esp + 0x10]
push str.schannel:_received_incomplete_message__need_more_data_n
push ecx
mov dword [esi + 8], 2
call fcn.1001b7c0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
mov edx, dword [esp + 0x10]
or eax, 0x80
push str.schannel:_a_client_certificate_has_been_requested_n
push edx
mov dword [esi + 0x40], eax
mov dword [esi + 8], 3
call fcn.1001b7c0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
cmp edi, 0x80090322
jne 0x10021c3f
push edi
push ebp
call fcn.10020bf0
push eax
mov eax, dword [esp + 0x1c]
push str.schannel:_SNI_or_certificate_check_failed:__s
push eax
jmp 0x10021c51
lea edx, [ebp + ebp*2]
mov ecx, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x10]
push ecx
push eax
push str.schannel:_failed_to_send_next_handshake_data:_sent__zd_of__lu_bytes
push edx
call fcn.1001b850
add esp, 0x10
pop edi
pop esi
pop ebp
mov eax, 0x23
pop ebx
add esp, 0x64
ret
mov dword [esi + 0x30], ebx
cmp dword [esp + 0x14], 0x90312
jne 0x10021d68
pop edi
mov dword [esi + 8], 2
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret
cmp dword [esp + 0x14], ebx
jne 0x10021d87
mov eax, dword [esp + 0x10]
push str.schannel:_SSL_TLS_handshake_complete_n
push eax
mov dword [esi + 8], 4
call fcn.1001b7c0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x64
ret