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

Disassembly:
push 0xffffffffffffffff
push 0x57cfbc
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x641030]
xor eax, esp
mov dword [esp + 0xa4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x641030]
xor eax, esp
push eax
lea eax, [esp + 0xbc]
mov dword fs:[0], eax
mov eax, dword [esp + 0xd4]
mov esi, dword [esp + 0xe0]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0xdc]
push str.clientHandshake2
mov edi, ecx
push esi
lea ecx, [esp + 0x28]
mov dword [esp + 0x34], eax
call fcn.00437740
mov ecx, edi
mov dword [esp + 0xc4], 0
mov byte [edi + 0x1a4], 0
mov byte [edi + 0x3d4], 0
call fcn.004bbf90
lea ecx, [edi + 0x2e4]
call fcn.00446f40
mov ecx, dword [esp + 0x2c]
xor eax, eax
push esi
push ebp
push ecx
mov dword [edi + 0x300], eax
mov dword [edi + 0x304], eax
mov byte [edi + 0x28], al
mov byte [ebp + 0x1b], al
push eax
mov ecx, edi
mov byte [edi + 0x464], al
call fcn.004c79d0
test al, al
jne 0x4d3b0a
push str.Failed_to_build_ClientHello
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
push esi
push ebx
push 0x50
push ebp
mov ecx, edi
call fcn.004c2300
mov dword [ebp + 0x28], 0x64
jmp 0x4d5174
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xcc]
push esi
push ebp
push ecx
push ebx
push edx
push 0
mov ecx, edi
call fcn.004cff20
test al, al
jne 0x4d3b4e
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Failed_to_send_ClientHello
mov ecx, esi
call edx
cmp dword [ebp + 0x28], 0
jne 0x4d5174
mov dword [ebp + 0x28], 0x65
jmp 0x4d5174
mov dword [esp + 0x30], vtable.TlsIncomingSummary.0
mov byte [esp + 0x34], 0
mov byte [esp + 0x35], 0
mov byte [esp + 0x36], 0
mov byte [esp + 0x37], 0
mov eax, dword [esp + 0xd8]
push esi
push eax
push ebp
push ebx
push 0
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
mov byte [esp + 0xdc], 1
call fcn.004d1a20
test al, al
jne 0x4d3ba5
cmp dword [ebp + 0x28], 0
jne 0x4d5174
mov dword [ebp + 0x28], 0x67
jmp 0x4d5174
cmp dword [edi + 0x3a8], 0
jne 0x4d3cc4
push esi
mov ecx, edi
call fcn.004c3210
mov dword [edi + 0x3a8], eax
test eax, eax
jne 0x4d3cc4
push esi
mov ecx, edi
call fcn.004c31e0
test al, al
je 0x4d3cc4
lea ecx, [edi + 0x400]
push 0
call fcn.0044efd0
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4d3c16
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Has_waiting_HELLO_REQUEST._The_server_is_also_trying_to_renegotiate...
mov ecx, esi
call eax
mov ecx, dword [esp + 0xd8]
push esi
push ebp
push ecx
push ebx
push 0x64
push 1
mov ecx, edi
call fcn.004c2100
jmp 0x4d5174
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x28], 0
jne 0x4d3c9b
push 0
lea ecx, [edi + 0x400]
call fcn.0044f030
mov ecx, dword [esp + 0x1c]
call fcn.00412990
mov eax, dword [esp + 0xd8]
push esi
push eax
push ebp
push ebx
push 0
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.004d1a20
test al, al
je 0x4d3b8f
cmp dword [edi + 0x3a8], 0
jne 0x4d3cc4
push esi
mov ecx, edi
call fcn.004c3210
mov dword [edi + 0x3a8], eax
test eax, eax
jne 0x4d3cc4
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Has_waiting_HELLO_REQUEST._The_server_is_also_trying_to_renegotiate_
mov ecx, esi
call eax
mov ecx, dword [esp + 0xd8]
push esi
push ebp
push ecx
push ebx
push 0x64
push 1
mov ecx, edi
call fcn.004c2100
jmp 0x4d5174
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Has_waiting_HELLO_REQUEST._The_server_is_also_trying_to_renegotiate.
mov ecx, esi
call eax
mov ecx, dword [esp + 0xd8]
push esi
push ebp
push ecx
push ebx
push 0x64
push 1
mov ecx, edi
call fcn.004c2100
jmp 0x4d5174
mov eax, dword [edi + 0x3a8]
test eax, eax
jne 0x4d3ce1
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Did_not_receive_the_ServerHello.
mov ecx, esi
call eax
jmp 0x4d5174
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x30]
cmp ecx, 3
je 0x4d3d12
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Unexpected_major_version_number_received_from_server.
mov ecx, esi
call eax
push esi
push ebx
push 0xa
push ebp
mov ecx, edi
call fcn.004c2300
mov dword [ebp + 0x28], 0x69
jmp 0x4d5174
cmp byte [edi + 0x7d], 0
je 0x4d3fef
cmp byte [eax + 0xb1], 0
je 0x4d3fef
push str.ProcessHelloRetryRequest
push esi
lea ecx, [esp + 0x40]
call fcn.00437740
push str.RestartHandshakeHash
push esi
lea ecx, [esp + 0x58]
mov byte [esp + 0xcc], 2
call fcn.00437740
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc4], 3
call fcn.00447240
cmp dword [edi + 0x5c], 2
mov byte [esp + 0xc4], 4
push 3
lea ecx, [esp + 0x60]
jne 0x4d3d8e
push str.FE000030
call fcn.00449ef0
mov edx, dword [edi + 0x308]
lea ecx, [esp + 0x5c]
push ecx
push 2
push edx
jmp 0x4d3da6
push str.FE000020
call fcn.00449ef0
mov ecx, dword [edi + 0x308]
lea eax, [esp + 0x5c]
push eax
push 7
push ecx
lea ecx, [edi + 0x2e4]
call fcn.00446f60
push eax
call fcn.00468990
mov edx, dword [edi + 0x308]
add esp, 0x10
push edx
lea ecx, [edi + 0x2e4]
call fcn.00448cb0
lea ecx, [esp + 0x5c]
call fcn.0051d090
push eax
lea ecx, [esp + 0x60]
call fcn.00446f60
push eax
lea ecx, [edi + 0x2e4]
call fcn.0044b780
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc4], 3
call fcn.004479b0
lea ecx, [esp + 0x50]
mov byte [esp + 0xc4], 2
call fcn.004377b0
mov eax, dword [esp + 0x2c]
push esi
push ebp
push eax
push 1
mov ecx, edi
call fcn.004c79d0
test al, al
jne 0x4d3e58
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_build_2nd_TLS_1.3_ClientHello
mov ecx, esi
call eax
push esi
push ebx
push 0x50
push ebp
mov ecx, edi
call fcn.004c2300
mov dword [ebp + 0x28], 0x64
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xcc]
push esi
push ebp
push ecx
push ebx
push edx
push 1
mov ecx, edi
call fcn.004cff20
test al, al
jne 0x4d3ea9
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Failed_to_send_2nd_TLS_1.3_ClientHello
mov ecx, esi
call edx
cmp dword [ebp + 0x28], 0
jne 0x4d3e93
mov dword [ebp + 0x28], 0x65
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
mov ecx, dword [edi + 0x3a8]
mov byte [edi + 0x30c], 1
test ecx, ecx
je 0x4d3ec9
call fcn.00412990
mov dword [edi + 0x3a8], 0
mov eax, dword [esp + 0xd8]
push esi
push eax
push ebp
push ebx
push 1
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.004d1a20
test al, al
jne 0x4d3f09
cmp dword [ebp + 0x28], 0
jne 0x4d3ef3
mov dword [ebp + 0x28], 0x67
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
cmp byte [edi + 0x464], 0
je 0x4d3f5e
mov edx, dword [esp + 0xd8]
push esi
push edx
push ebp
push ebx
push 0
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.004d1a20
test al, al
jne 0x4d3f52
cmp dword [ebp + 0x28], 0
jne 0x4d3f3c
mov dword [ebp + 0x28], 0x6d
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
mov byte [edi + 0x464], 0
mov byte [esp + 0x34], 0
push esi
mov ecx, edi
call fcn.004c3210
mov dword [edi + 0x3a8], eax
test eax, eax
jne 0x4d3f94
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Did_not_receive_the_2nd_ServerHello.
mov ecx, esi
call eax
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x30]
mov dword [esp + 0x1c], edx
cmp ecx, 3
je 0x4d3fda
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Unexpected_major_version_number_received_from_server__2_.
mov ecx, esi
call edx
push esi
push ebx
push 0xa
push ebp
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x38]
mov dword [ebp + 0x28], 0x69
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
mov edx, dword [esp + 0x1c]
cmp byte [edi + 0x34], 0
je 0x4d4020
cmp dword [edi + 0x30], edx
je 0x4d4020
push str.Server_did_not_choose_the_exact_version_of_SSL_TLS_that_is_required.
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
push esi
push ebx
push 0x28
push ebp
mov ecx, edi
call fcn.004c2300
mov dword [ebp + 0x28], 0x6b
jmp 0x4d5174
cmp edx, dword [edi + 0x38]
jge 0x4d402c
push str.Server_did_not_choose_a_high_enough_version_of_SSL_TLS.
jmp 0x4d3fff
mov eax, dword [edi + 0x3a8]
mov ecx, dword [eax + 0x2c]
mov dword [edi + 0x3c], ecx
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x2c]
push eax
mov ecx, edi
mov dword [edi + 0x40], edx
call fcn.004c0370
mov ecx, edi
call fcn.004bcfd0
push eax
push str.negotiatedTlsVersion
lea ecx, [edi + 0xb4]
push ecx
mov ecx, esi
call fcn.00436610
cmp byte [ebp + 0x1c], 0
je 0x4d4125
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4d4125
mov ecx, dword [edi + 0x3a8]
add eax, 0xc
push eax
add ecx, 0x50
call fcn.00447ae0
test al, al
je 0x4d410e
mov byte [edi + 0x1c0], 1
cmp byte [esi + 0x122], 0
je 0x4d40ae
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Server_will_allow_for_re_using_the_session.
mov ecx, esi
call eax
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0x2c]
push esi
lea ecx, [esp + 0x1b]
push ecx
push ebp
push edx
push eax
push ebx
lea ecx, [esp + 0x48]
push ecx
mov ecx, edi
mov byte [esp + 0x33], 0
call fcn.004d3260
test al, al
je 0x4d5174
cmp byte [esp + 0x17], 0
je 0x4d513b
mov ecx, edi
call fcn.004c3030
cmp eax, 0xb
jne 0x4d4a2e
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Server_sent_certificates.__Apparently_it_is_not_going_to_re_use_the_session.
mov ecx, esi
call eax
mov byte [edi + 0x1c0], 0
jmp 0x4d4125
cmp byte [esi + 0x122], 0
je 0x4d4125
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Server_will_NOT_allow_for_re_using_the_session.
mov ecx, esi
call eax
cmp byte [edi + 0x7d], 0
je 0x4d45fe
cmp dword [edi + 0x3c], 3
jne 0x4d44da
cmp dword [edi + 0x40], 4
jne 0x4d44da
movzx ecx, byte [esi + 0x123]
push ecx
push str.compute_early_traffic_secret
push esi
lea ecx, [esp + 0x44]
call fcn.00437770
mov edx, dword [edi + 0x3a8]
add edx, 0x8c
push edx
mov byte [esp + 0xc8], 5
call fcn.004bd100
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jne 0x4d41b6
push str.Unable_to_find_cipher_suite_indicated_in_ServerHello.
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
push esi
push ebx
push 0x28
push ebp
mov ecx, edi
call fcn.004c2300
mov dword [ebp + 0x28], 0x7f
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x18]
push esi
push ecx
mov ecx, edi
call fcn.004bfdb0
test al, al
jne 0x4d41da
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_derive_early_secret.
mov ecx, esi
call eax
jmp 0x4d418d
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x18]
push esi
push edx
mov ecx, edi
call fcn.004c0180
test al, al
jne 0x4d41f5
push str.Failed_to_handshake_secret.
jmp 0x4d4184
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.004680e0
movzx edx, byte [esi + 0x123]
add esp, 4
push edx
push str.DeriveTls13Keys
push esi
lea ecx, [esp + 0x5c]
mov dword [esp + 0x28], eax
call fcn.00437770
lea ecx, [edi + 0x1c8]
mov byte [esp + 0xc4], 6
call fcn.0051d090
cmp eax, dword [esp + 0x1c]
jae 0x4d4251
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Expected_the_premaster_secret_to_be_available_at_this_point.
mov ecx, esi
call edx
mov byte [esp + 0x17], 0
jmp 0x4d431e
movzx eax, byte [esi + 0x123]
push eax
push str.DeriveClientHandshakeSecret
push esi
lea ecx, [esp + 0x50]
call fcn.00437770
push esi
lea ecx, [edi + 0x1e8]
push ecx
push 1
push str.c_hs_traffic
lea ecx, [edi + 0x1c8]
mov byte [esp + 0xd4], 7
call fcn.00446f60
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x18]
push edx
push ecx
mov ecx, edi
call fcn.004c02e0
lea ecx, [esp + 0x44]
mov byte [esp + 0x17], al
mov byte [esp + 0xc4], 6
call fcn.004377b0
cmp byte [esp + 0x17], 0
je 0x4d431e
movzx edx, byte [esi + 0x123]
push edx
push str.DeriveServerHandshakeSecret
push esi
lea ecx, [esp + 0x50]
call fcn.00437770
push esi
lea eax, [edi + 0x204]
push eax
push 1
push str.s_hs_traffic
lea ecx, [edi + 0x1c8]
mov byte [esp + 0xd4], 8
call fcn.00446f60
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx + 0x18]
push ecx
push eax
mov ecx, edi
call fcn.004c02e0
lea ecx, [esp + 0x44]
mov byte [esp + 0x17], al
mov byte [esp + 0xc4], 6
call fcn.004377b0
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x10], 6
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x1c], ecx
jne 0x4d4337
mov dword [esp + 0x1c], 0xc
cmp byte [esp + 0x17], 0
je 0x4d4470
cmp byte [esi + 0x123], 0
je 0x4d4359
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.derive_the_client_key...
mov ecx, esi
call eax
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x18]
push esi
push eax
lea ecx, [edi + 0x1e8]
push 0x5c973c
call fcn.00446f60
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x20]
push eax
push edx
lea eax, [edi + 0x220]
push eax
mov ecx, edi
call fcn.004cb670
test al, al
je 0x4d4470
cmp byte [esi + 0x123], 0
je 0x4d43a8
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.derive_the_server_key...
mov ecx, esi
call eax
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x18]
push esi
push eax
lea ecx, [edi + 0x204]
push 0x5c973c
call fcn.00446f60
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x20]
push eax
push edx
lea eax, [edi + 0x23c]
push eax
mov ecx, edi
call fcn.004cb670
test al, al
je 0x4d4470
cmp byte [esi + 0x123], 0
je 0x4d43f7
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.derive_the_client_IV...
mov ecx, esi
call eax
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x18]
push esi
push edx
push 0x5cf8ac
lea ecx, [edi + 0x1e8]
call fcn.00446f60
push eax
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [edi + 0x258]
push ecx
mov ecx, edi
call fcn.004cb670
test al, al
je 0x4d4470
cmp byte [esi + 0x123], 0
je 0x4d443f
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.derive_the_server_IV...
mov ecx, esi
call eax
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x18]
push esi
push edx
push 0x5cf8ac
lea ecx, [edi + 0x204]
call fcn.00446f60
push eax
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [edi + 0x274]
push ecx
mov ecx, edi
call fcn.004cb670
test al, al
jne 0x4d44b8
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_compute_TLS13_keys.
mov ecx, esi
call eax
push esi
push ebx
push 0x28
push ebp
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x50]
mov dword [ebp + 0x28], 0x7f
mov byte [esp + 0xc4], 5
call fcn.004377b0
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
lea ecx, [esp + 0x50]
mov byte [esp + 0xc4], 5
call fcn.004377b0
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
cmp byte [edi + 0x7d], 0
je 0x4d45fe
cmp dword [edi + 0x3c], 3
jne 0x4d45fe
cmp dword [edi + 0x40], 4
jne 0x4d472c
push esi
mov ecx, edi
call fcn.004cf700
test al, al
jne 0x4d452a
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_install_TLS13_keys_after_ServerHello.
mov ecx, esi
call eax
push esi
push ebx
push 0x28
push ebp
mov ecx, edi
call fcn.004c2300
mov dword [ebp + 0x28], 0x7f
jmp 0x4d5174
push str.readHandshakeMessages
push esi
lea ecx, [esp + 0x40]
call fcn.00437740
cmp byte [esp + 0x34], 0
mov byte [esp + 0xc4], 9
je 0x4d464b
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
cmp byte [edi + 0x464], 0
je 0x4d45fe
push str.readHandshakeMessages
push esi
lea ecx, [esp + 0x4c]
mov byte [edi + 0x464], 0
mov byte [esp + 0x3c], 0
call fcn.00437740
lea ecx, [edi + 0x400]
mov byte [esp + 0xc4], 0xa
call fcn.0044efc0
test eax, eax
jne 0x4d45ed
lea esp, [esp]
mov ecx, dword [esp + 0xd8]
push esi
lea eax, [esp + 0x34]
push eax
push ebp
push ecx
push ebx
push 1
mov ecx, edi
call fcn.004d1560
test al, al
je 0x4d46dd
cmp byte [esp + 0x35], 0
jne 0x4d46cf
cmp byte [esp + 0x34], 0
jne 0x4d45ed
lea ecx, [edi + 0x400]
call fcn.0044efc0
lea ecx, [edi + 0x400]
call fcn.0044efc0
test eax, eax
je 0x4d45a0
lea ecx, [esp + 0x44]
mov byte [esp + 0xc4], 1
call fcn.004377b0
cmp dword [edi + 0x40], 4
jne 0x4d472c
cmp dword [edi + 0x3c], 3
jne 0x4d472c
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x2c]
push esi
push ebp
push eax
push ecx
push ebx
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.004d3810
lea ecx, [esp + 0x20]
mov bl, al
mov dword [esp + 0xc4], 0xffffffff
call fcn.004377b0
mov al, bl
jmp 0x4d518a
lea ecx, [edi + 0x400]
call fcn.0044efc0
test eax, eax
jne 0x4d454c
mov edi, edi
mov edx, dword [esp + 0xd8]
push esi
lea ecx, [esp + 0x34]
push ecx
push ebp
push edx
push ebx
push 1
mov ecx, edi
call fcn.004d1560
test al, al
je 0x4d46bc
cmp byte [esp + 0x35], 0
jne 0x4d46ae
cmp byte [esp + 0x34], 0
jne 0x4d454c
lea ecx, [edi + 0x400]
call fcn.0044efc0
lea ecx, [edi + 0x400]
call fcn.0044efc0
test eax, eax
je 0x4d4660
jmp 0x4d454c
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Aborting_handshake_because_of_fatal_alert.
mov ecx, esi
call edx
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d4716
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Aborting_handshake_because_of_fatal_alert.
mov ecx, esi
call eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xc4], 1
call fcn.004377b0
cmp byte [esp + 0x34], 0
je 0x4d4716
mov ecx, dword [esp + 0xd8]
push esi
push ecx
push ebp
push ebx
push 0
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.004d1a20
test al, al
jne 0x4d45fe
cmp dword [ebp + 0x28], 0
jne 0x4d5174
mov dword [ebp + 0x28], 0x6d
jmp 0x4d5174
mov eax, dword [esp + 0xd8]
push esi
push eax
push ebp
push ebx
push 0
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.004d1a20
test al, al
je 0x4d4716
mov ecx, edi
call fcn.004c3030
mov dword [esp + 0x18], eax
cmp eax, 0xb
jne 0x4d4843
push str.handleServerCert
push esi
lea ecx, [esp + 0x40]
call fcn.00437740
mov ecx, dword [edi + 0x3b0]
mov byte [esp + 0xc4], 0xb
test ecx, ecx
je 0x4d4783
call fcn.00412990
push esi
mov ecx, edi
call fcn.004c3120
mov dword [edi + 0x3b0], eax
test eax, eax
jne 0x4d47cc
push str.Expected_server_certificates__but_did_not_receive_it.
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
push esi
push ebx
push 0xa
push ebp
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x38]
mov dword [ebp + 0x28], 0x66
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
mov ecx, dword [esp + 0x2c]
push esi
push ebp
push ecx
push ebx
mov ecx, edi
call fcn.004cc060
test al, al
je 0x4d3e42
mov edx, dword [esp + 0xd8]
push esi
push edx
push ebp
push ebx
push 0
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.004d1a20
test al, al
jne 0x4d4827
cmp dword [ebp + 0x28], 0
jne 0x4d41a0
lea ecx, [esp + 0x38]
mov dword [ebp + 0x28], 0x6d
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
mov ecx, edi
call fcn.004c3030
lea ecx, [esp + 0x38]
mov dword [esp + 0x18], eax
mov byte [esp + 0xc4], 1
call fcn.004377b0
cmp dword [esp + 0x18], 0x16
jne 0x4d48eb
push str.handleCertificateStatus
push esi
lea ecx, [esp + 0x58]
call fcn.00437740
push esi
mov ecx, edi
mov byte [esp + 0xc8], 0xc
call fcn.004c3450
test eax, eax
je 0x4d4878
mov ecx, eax
call fcn.00412990
cmp byte [esi + 0x122], 0
je 0x4d488f
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Received_certificate_status.
mov ecx, esi
call eax
mov ecx, dword [esp + 0xd8]
push esi
push ecx
push ebp
push ebx
push 0
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.004d1a20
test al, al
jne 0x4d48cf
cmp dword [ebp + 0x28], 0
jne 0x4d48b9
mov dword [ebp + 0x28], 0x6d
lea ecx, [esp + 0x50]
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d5174
mov ecx, edi
call fcn.004c3030
lea ecx, [esp + 0x50]
mov dword [esp + 0x18], eax
mov byte [esp + 0xc4], 1
call fcn.004377b0
cmp dword [esp + 0x18], 0xc
jne 0x4d497e
push str.handleServerKeyExchange
push esi
lea ecx, [esp + 0x40]
call fcn.00437740
mov ecx, dword [edi + 0x3b8]
mov byte [esp + 0xc4], 0xd
test ecx, ecx
je 0x4d491c
call fcn.00412990
push esi
mov ecx, edi
call fcn.004c32d0
mov dword [edi + 0x3b8], eax
test eax, eax
jne 0x4d4941
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Expected_ServerKeyExchange_message__but_did_not_receive_it.
mov ecx, esi
call edx
jmp 0x4d47a3
mov eax, dword [esp + 0xd8]
push esi
push eax
push ebp
push ebx
push 0
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.004d1a20
test al, al
je 0x4d4800
mov ecx, edi
call fcn.004c3030
lea ecx, [esp + 0x38]
mov dword [esp + 0x18], eax
mov byte [esp + 0xc4], 1
call fcn.004377b0
cmp dword [esp + 0x18], 0xd
jne 0x4d4a00
push str.handleCertificateRequest
push esi
lea ecx, [esp + 0x40]
call fcn.00437740
mov ecx, dword [edi + 0x3b4]
mov byte [esp + 0xc4], 0xe
test ecx, ecx
je 0x4d49ab
call fcn.00412990
push esi
mov ecx, edi
call fcn.004c3390
mov dword [edi + 0x3b4], eax
test eax, eax
jne 0x4d49c7
push str.Expected_ServerCertificateRequest_message__but_did_not_receive_it.
jmp 0x4d479a
mov ecx, dword [esp + 0xd8]
push esi
push ecx
push ebp
push ebx
push 0
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.004d1a20
test al, al
je 0x4d4800
mov ecx, edi
call fcn.004c3030
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004377b0
mov ecx, edi
call fcn.004c3030
cmp eax, 0xe
je 0x4d4a46
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Expected_ServerHelloDone__but_did_not_receive_it.
mov ecx, esi
call edx
mov ecx, edi
call fcn.004c3030
push eax
push str.nextHandshakeMessageType
mov ecx, esi
call fcn.004373b0
push esi
push ebx
push 0xa
push ebp
mov ecx, edi
call fcn.004c2300
mov dword [ebp + 0x28], 0x66
jmp 0x4d5174
push esi
mov ecx, edi
call fcn.004c3450
mov dword [edi + 0x3ac], eax
test eax, eax
jne 0x4d4a7e
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Internal_ServerHelloDone_error.
mov ecx, esi
call edx
push esi
push ebx
push 0x50
push ebp
mov ecx, edi
call fcn.004c2300
mov dword [ebp + 0x28], 0x66
jmp 0x4d5174
mov ecx, dword [edi + 0x1c4]
mov dword [esp + 0x18], 0
test ecx, ecx
je 0x4d4a99
call fcn.00518ae0
mov dword [esp + 0x18], eax
cmp byte [esi + 0x122], 0
je 0x4d4ab3
mov eax, dword [esp + 0x18]
push eax
push str.numClientCerts
mov ecx, esi
call fcn.004373b0
cmp dword [edi + 0x3b4], 0
je 0x4d4b5e
cmp dword [esp + 0x18], 0
jne 0x4d4b21
cmp byte [esi + 0x121], 0
jne 0x4d4ad9
cmp byte [esi + 0x122], 0
je 0x4d4ae7
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Sending_0_length_certificate__this_is_normal_.
mov ecx, esi
call eax
mov ecx, dword [esp + 0xd8]
push esi
push ebp
push ecx
push ebx
mov ecx, edi
call fcn.004d00f0
test al, al
jne 0x4d4b75
push str.Failed_to_send_0_length_certificate.
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp dword [ebp + 0x28], 0
jne 0x4d5174
mov dword [ebp + 0x28], 0x6e
jmp 0x4d5174
cmp byte [esi + 0x121], 0
jne 0x4d4b33
cmp byte [esi + 0x122], 0
je 0x4d4b41
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Sending_client_side_certificate_s_...
mov ecx, esi
call eax
mov ecx, dword [esp + 0xd8]
push esi
push ebp
push ecx
push ebx
mov ecx, edi
call fcn.004d00f0
test al, al
jne 0x4d4b75
push str.Failed_to_send_client_certificate.
jmp 0x4d4b02
cmp byte [esi + 0x122], 0
je 0x4d4b75
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.No_client_certificate_required_by_the_server.
mov ecx, esi
call eax
push esi
mov ecx, edi
call fcn.004cf340
test al, al
jne 0x4d4b8b
push str.Failed_to_build_ClientKeyExchange
jmp 0x4d3ae9
cmp byte [esi + 0x122], 0
je 0x4d4ba2
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Sending_ClientKeyExchange...
mov ecx, esi
call eax
mov ecx, dword [esp + 0xd8]
push esi
push ebp
push ecx
push ebx
mov ecx, edi
call fcn.004cfd80
test al, al
jne 0x4d4bdc
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_send_ClientKeyExchange
mov ecx, esi
call eax
cmp dword [ebp + 0x28], 0
jne 0x4d5174
mov dword [ebp + 0x28], 0x6f
jmp 0x4d5174
cmp byte [esi + 0x122], 0
je 0x4d4bf3
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Sent_ClientKeyExchange_message.
mov ecx, esi
call eax
push esi
mov ecx, edi
call fcn.004c8510
test al, al
je 0x4d3af2
cmp dword [edi + 0x3b4], 0
je 0x4d4d1f
cmp dword [esp + 0x18], 0
je 0x4d4d1f
cmp dword [edi + 0x1c4], 0
je 0x4d4d1f
cmp byte [esi + 0x122], 0
je 0x4d4c3f
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Sending_CertificateVerify...
mov ecx, esi
call eax
lea ecx, [esp + 0x5c]
call fcn.00447240
push esi
lea ecx, [esp + 0x1b]
push ecx
mov ecx, dword [edi + 0x1c4]
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x68]
push eax
push 0
mov byte [esp + 0xd8], 0xf
mov byte [esp + 0x88], 1
mov dword [esp + 0x30], 0
mov byte [esp + 0x2b], 0
call fcn.00518d00
test al, al
jne 0x4d4cbd
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_get_certificates_private_key_for_sending_the_CertificateVerify
mov ecx, esi
call eax
push esi
push ebx
push 0x50
push ebp
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x5c]
mov dword [ebp + 0x28], 0x70
mov byte [esp + 0xc4], 1
call fcn.004479b0
jmp 0x4d5174
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x1c]
push esi
push ebp
push ecx
push ebx
push edx
lea eax, [esp + 0x70]
push eax
mov ecx, edi
call fcn.004d02b0
test al, al
jne 0x4d4d0e
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_send_client_certificate_verify_message.
mov ecx, esi
call eax
cmp dword [ebp + 0x28], 0
jne 0x4d4cf8
mov dword [ebp + 0x28], 0x71
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc4], 1
call fcn.004479b0
jmp 0x4d5174
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc4], 1
call fcn.004479b0
cmp byte [esi + 0x122], 0
je 0x4d4d36
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Sending_ChangeCipherSpec...
mov ecx, esi
call eax
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x2c]
push esi
push ebp
push ecx
push edx
push ebx
mov ecx, edi
call fcn.004c2210
test al, al
jne 0x4d4d75
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Failed_to_send_ChangeCipherSpec
mov ecx, esi
call edx
cmp dword [ebp + 0x28], 0
jne 0x4d5174
mov dword [ebp + 0x28], 0x72
jmp 0x4d5174
cmp byte [esi + 0x122], 0
je 0x4d4d8c
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Sent_ChangeCipherSpec_message.
mov ecx, esi
call edx
mov eax, dword [esp + 0x2c]
push esi
push 1
push eax
push ebp
push ebx
mov ecx, edi
call fcn.004c8a10
test al, al
jne 0x4d4dbb
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_derive_keys.
mov ecx, esi
call eax
mov dword [ebp + 0x28], 0x64
jmp 0x4d5174
cmp byte [esi + 0x122], 0
je 0x4d4dd2
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Derived_keys.
mov ecx, esi
call eax
mov ecx, dword [edi + 0x1bc]
push ecx
mov ecx, edi
call fcn.004c1060
call fcn.004cd6c0
mov dword [edi + 0x1bc], eax
cmp byte [esi + 0x122], 0
je 0x4d4e02
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Installed_new_outgoing_security_params.
mov ecx, esi
call eax
mov ecx, dword [esp + 0x2c]
push esi
push 1
push ecx
push ebp
push ebx
mov ecx, edi
call fcn.004c78d0
test al, al
jne 0x4d4e31
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_build_client_Finished_message
mov ecx, esi
call eax
mov dword [ebp + 0x28], 0x64
jmp 0x4d5174
cmp byte [esi + 0x122], 0
je 0x4d4e48
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Sending_FINISHED_message..
mov ecx, esi
call eax
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x2c]
push esi
push ebp
push ecx
push edx
push ebx
push 1
mov ecx, edi
call fcn.004d18d0
test al, al
jne 0x4d4e89
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Failed_to_send_client_Finished_message.
mov ecx, esi
call edx
cmp dword [ebp + 0x28], 0
jne 0x4d5174
mov dword [ebp + 0x28], 0x73
jmp 0x4d5174
cmp byte [esi + 0x122], 0
je 0x4d4ea0
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Sent_FINISHED_message..
mov ecx, esi
call edx
cmp byte [edi + 0x464], 0
je 0x4d4ecf
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Should_not_have_received_the_ChangeCipherSpec_yet...
mov ecx, esi
call edx
push esi
push ebx
push 0xa
push ebp
mov ecx, edi
call fcn.004c2300
mov dword [ebp + 0x28], 0x64
jmp 0x4d5174
push str.readHandshakeMessages
push esi
lea ecx, [esp + 0x4c]
call fcn.00437740
cmp byte [esp + 0x34], 0
mov byte [esp + 0xc4], 0x10
je 0x4d4f1e
lea ecx, [esp + 0x44]
mov byte [esp + 0xc4], 1
call fcn.004377b0
cmp byte [edi + 0x464], 0
jne 0x4d4f9e
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Did_not_receive_the_expected_ChangeCipherSpec__3_
mov ecx, esi
call eax
jmp 0x4d4a2e
lea ecx, [edi + 0x400]
call fcn.0044efc0
test eax, eax
jne 0x4d4eed
lea ecx, [ecx]
mov ecx, dword [esp + 0xd8]
push esi
lea eax, [esp + 0x34]
push eax
push ebp
push ecx
push ebx
push 1
mov ecx, edi
call fcn.004d1560
test al, al
je 0x4d4f88
cmp byte [esp + 0x35], 0
jne 0x4d4f7a
cmp byte [esp + 0x34], 0
jne 0x4d4eed
lea ecx, [edi + 0x400]
call fcn.0044efc0
lea ecx, [edi + 0x400]
call fcn.0044efc0
test eax, eax
je 0x4d4f30
jmp 0x4d4eed
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Aborting_handshake_because_of_fatal_alert.
mov ecx, esi
call eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xc4], 1
call fcn.004377b0
jmp 0x4d4716
mov ecx, dword [edi + 0x1b8]
push ecx
mov ecx, edi
mov byte [esp + 0x38], 0
call fcn.004c10a0
call fcn.004cd6c0
mov edx, dword [esp + 0xd8]
push esi
push edx
push ebp
push ebx
mov dword [edi + 0x1b8], eax
push 0
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.004d1a20
test al, al
je 0x4d4716
mov ecx, edi
call fcn.004c3030
cmp eax, 0x14
je 0x4d5009
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Expected_FINISHED_message_from_server__but_received_something_else.
mov ecx, esi
call eax
mov ecx, edi
call fcn.004c3030
push eax
push str.handshakeMessageType
jmp 0x4d4a27
cmp byte [esi + 0x122], 0
je 0x4d5020
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Dequeue_the_FINISHED_message...
mov ecx, esi
call eax
push esi
mov ecx, edi
call fcn.004c3180
mov dword [edi + 0x3bc], eax
test eax, eax
jne 0x4d5045
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Bad_FINISHED_message_from_server.
mov ecx, esi
call eax
jmp 0x4d4a2e
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x7c]
push edx
push esi
push 0
push 0
push eax
push ebp
push ebx
mov ecx, edi
call fcn.004c7790
test al, al
jne 0x4d5080
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_calculate_expected_FINISHED_verify_data.
mov ecx, esi
call eax
mov dword [ebp + 0x28], 0x64
jmp 0x4d5174
mov ecx, dword [edi + 0x3bc]
mov eax, dword [esp + 0x1c]
cmp eax, dword [ecx + 0x6c]
jne 0x4d5153
add ecx, 0x2c
mov dword [esp + 0x2c], ecx
mov edx, ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0x1c], ecx
cmp eax, 4
jb 0x4d50d4
lea esp, [esp]
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x4d5153
mov ecx, dword [esp + 0x1c]
sub eax, 4
add ecx, 4
add edx, 4
mov dword [esp + 0x1c], ecx
cmp eax, 4
jae 0x4d50b0
mov dword [esp + 0x2c], edx
test eax, eax
je 0x4d5100
mov dl, byte [edx]
cmp dl, byte [ecx]
jne 0x4d5153
cmp eax, 1
jbe 0x4d5100
mov edx, dword [esp + 0x2c]
mov dl, byte [edx + 1]
cmp dl, byte [ecx + 1]
jne 0x4d5153
cmp eax, 2
jbe 0x4d5100
mov eax, dword [esp + 0x2c]
mov dl, byte [eax + 2]
cmp dl, byte [ecx + 2]
jne 0x4d5153
cmp byte [esi + 0x122], 0
je 0x4d5117
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Handshake_completed_successfully.
mov ecx, esi
call edx
mov ecx, edi
mov byte [edi + 0x3d4], 1
call fcn.004c3060
test al, al
je 0x4d5131
push esi
mov ecx, edi
call fcn.004c3080
push esi
push 1
mov ecx, edi
call fcn.004c03e0
lea ecx, [esp + 0x20]
mov dword [esp + 0xc4], 0xffffffff
call fcn.004377b0
mov al, 1
jmp 0x4d518a
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Verify_data_in_Server_FINISHED_message_is_invalid__2_.
mov ecx, esi
call edx
push esi
push ebx
push 0x28
push ebp
mov ecx, edi
call fcn.004c2300
mov dword [ebp + 0x28], 0x74
lea ecx, [esp + 0x20]
mov dword [esp + 0xc4], 0xffffffff
call fcn.004377b0
xor al, al
mov ecx, dword [esp + 0xbc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa4]
xor ecx, esp
call fcn.005550b0
add esp, 0xb4
ret 0x18