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

Disassembly:
push 0xffffffffffffffff
push 0x694bfc
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x78f694]
xor eax, esp
mov dword [esp + 0xa4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x78f694]
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 + 0x24], eax
call fcn.004b1850
mov ecx, edi
mov dword [esp + 0xc4], 0
mov byte [edi + 0x1a8], 0
mov byte [edi + 0x3d8], 0
call fcn.0057c740
lea ecx, [edi + 0x2e8]
call fcn.00467d60
mov ecx, dword [esp + 0x1c]
xor eax, eax
push esi
push ebp
push ecx
mov dword [edi + 0x304], eax
mov dword [edi + 0x308], eax
mov byte [edi + 0x28], al
mov byte [ebp + 0x1b], al
push eax
mov ecx, edi
mov byte [edi + 0x468], al
call fcn.00588130
test al, al
jne 0x59451a
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.00582ad0
mov dword [ebp + 0x28], 0x64
jmp 0x595c09
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.00590850
test al, al
jne 0x59455e
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 0x595c09
mov dword [ebp + 0x28], 0x65
jmp 0x595c09
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.00592350
test al, al
jne 0x5945b5
cmp dword [ebp + 0x28], 0
jne 0x595c09
mov dword [ebp + 0x28], 0x67
jmp 0x595c09
cmp dword [edi + 0x3ac], 0
jne 0x5946d4
push esi
mov ecx, edi
call fcn.005839e0
test eax, eax
mov dword [edi + 0x3ac], eax
jne 0x5946d4
push esi
mov ecx, edi
call fcn.005839b0
test al, al
je 0x5946d4
lea ecx, [edi + 0x404]
push 0
call fcn.004af020
test eax, eax
mov dword [esp + 0x2c], eax
jne 0x594626
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.005828d0
jmp 0x595c09
mov edx, dword [esp + 0x2c]
cmp dword [edx + 0x28], 0
jne 0x5946ab
push 0
lea ecx, [edi + 0x404]
call fcn.004af080
mov ecx, dword [esp + 0x2c]
call fcn.0048ed60
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.00592350
test al, al
je 0x59459f
cmp dword [edi + 0x3ac], 0
jne 0x5946d4
push esi
mov ecx, edi
call fcn.005839e0
test eax, eax
mov dword [edi + 0x3ac], eax
jne 0x5946d4
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.005828d0
jmp 0x595c09
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.005828d0
jmp 0x595c09
mov eax, dword [edi + 0x3ac]
test eax, eax
jne 0x5946f1
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Did_not_receive_the_ServerHello.
mov ecx, esi
call eax
jmp 0x595c09
mov ecx, dword [eax + 0x2c]
cmp ecx, 3
mov edx, dword [eax + 0x30]
je 0x594722
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.00582ad0
mov dword [ebp + 0x28], 0x69
jmp 0x595c09
cmp byte [edi + 0x81], 0
je 0x594a02
cmp byte [eax + 0xb1], 0
je 0x594a02
push str.ProcessHelloRetryRequest
push esi
lea ecx, [esp + 0x40]
call fcn.004b1850
push str.RestartHandshakeHash
push esi
lea ecx, [esp + 0x58]
mov byte [esp + 0xcc], 2
call fcn.004b1850
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc4], 3
call fcn.00468060
cmp dword [edi + 0x60], 2
mov byte [esp + 0xc4], 4
push 3
lea ecx, [esp + 0x60]
jne 0x5947a1
push str.FE000030
call fcn.0046ae80
mov edx, dword [edi + 0x30c]
lea ecx, [esp + 0x5c]
push ecx
push 2
push edx
jmp 0x5947b9
push str.FE000020
call fcn.0046ae80
mov ecx, dword [edi + 0x30c]
lea eax, [esp + 0x5c]
push eax
push 7
push ecx
lea ecx, [edi + 0x2e8]
call fcn.00467d80
push eax
call fcn.0048e660
mov edx, dword [edi + 0x30c]
add esp, 0x10
push edx
lea ecx, [edi + 0x2e8]
call fcn.00469bd0
lea ecx, [esp + 0x5c]
call fcn.00544a30
push eax
lea ecx, [esp + 0x60]
call fcn.00467d80
push eax
lea ecx, [edi + 0x2e8]
call fcn.0046c720
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc4], 3
call fcn.00468860
lea ecx, [esp + 0x50]
mov byte [esp + 0xc4], 2
call fcn.004b18c0
mov eax, dword [esp + 0x1c]
push esi
push ebp
push eax
push 1
mov ecx, edi
call fcn.00588130
test al, al
jne 0x59486b
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.00582ad0
mov dword [ebp + 0x28], 0x64
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
jmp 0x595c09
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.00590850
test al, al
jne 0x5948bc
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 0x5948a6
mov dword [ebp + 0x28], 0x65
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
jmp 0x595c09
mov ecx, dword [edi + 0x3ac]
test ecx, ecx
mov byte [edi + 0x310], 1
je 0x5948dc
call fcn.0048ed60
mov dword [edi + 0x3ac], 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.00592350
test al, al
jne 0x59491c
cmp dword [ebp + 0x28], 0
jne 0x594906
mov dword [ebp + 0x28], 0x67
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
jmp 0x595c09
cmp byte [edi + 0x468], 0
je 0x594971
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.00592350
test al, al
jne 0x594965
cmp dword [ebp + 0x28], 0
jne 0x59494f
mov dword [ebp + 0x28], 0x6d
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
jmp 0x595c09
mov byte [edi + 0x468], 0
mov byte [esp + 0x34], 0
push esi
mov ecx, edi
call fcn.005839e0
test eax, eax
mov dword [edi + 0x3ac], eax
jne 0x5949a7
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.004b18c0
jmp 0x595c09
mov ecx, dword [eax + 0x2c]
cmp ecx, 3
mov edx, dword [eax + 0x30]
mov dword [esp + 0x2c], edx
je 0x5949ed
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.00582ad0
lea ecx, [esp + 0x38]
mov dword [ebp + 0x28], 0x69
mov byte [esp + 0xc4], 1
call fcn.004b18c0
jmp 0x595c09
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
mov edx, dword [esp + 0x2c]
cmp byte [edi + 0x38], 0
je 0x594a33
cmp dword [edi + 0x34], edx
je 0x594a33
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.00582ad0
mov dword [ebp + 0x28], 0x6b
jmp 0x595c09
cmp edx, dword [edi + 0x3c]
jge 0x594a3f
push str.Server_did_not_choose_a_high_enough_version_of_SSL_TLS.
jmp 0x594a12
mov eax, dword [edi + 0x3ac]
mov ecx, dword [eax + 0x2c]
mov dword [edi + 0x40], ecx
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x1c]
push eax
mov ecx, edi
mov dword [edi + 0x44], edx
call fcn.00580b30
mov ecx, edi
call fcn.0057d790
push eax
push str.negotiatedTlsVersion
lea ecx, [edi + 0xb8]
push ecx
mov ecx, esi
call fcn.004b0630
cmp byte [ebp + 0x1c], 0
je 0x594b38
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x594b38
mov ecx, dword [edi + 0x3ac]
add eax, 0xc
push eax
add ecx, 0x50
call fcn.00468990
test al, al
je 0x594b21
mov byte [edi + 0x1c4], 1
cmp byte [esi + 0x122], 0
je 0x594ac1
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 + 0x1c]
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.00593c00
test al, al
je 0x595c09
cmp byte [esp + 0x17], 0
je 0x595b2d
mov ecx, edi
call fcn.00583800
cmp eax, 0xb
jne 0x59544e
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 + 0x1c4], 0
jmp 0x594b38
cmp byte [esi + 0x122], 0
je 0x594b38
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 + 0x81], 0
je 0x59501e
cmp dword [edi + 0x40], 3
jne 0x594ef0
cmp dword [edi + 0x44], 4
jne 0x594ef0
movzx ecx, byte [esi + 0x123]
push ecx
push str.compute_early_traffic_secret
push esi
lea ecx, [esp + 0x44]
call fcn.004b1880
mov edx, dword [edi + 0x3ac]
add edx, 0x8c
push edx
mov byte [esp + 0xc8], 5
call fcn.0057d8c0
add esp, 4
test eax, eax
mov dword [esp + 0x18], eax
jne 0x594bcc
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.00582ad0
mov dword [ebp + 0x28], 0x7f
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
jmp 0x595c09
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x18]
push esi
push ecx
mov ecx, edi
call fcn.00580560
test al, al
jne 0x594bf0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_derive_early_secret.
mov ecx, esi
call eax
jmp 0x594ba3
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x18]
push esi
push edx
mov ecx, edi
call fcn.00580940
test al, al
jne 0x594c0b
push str.Failed_to_handshake_secret.
jmp 0x594b9a
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.0048dc30
movzx edx, byte [esi + 0x123]
add esp, 4
push edx
push str.DeriveTls13Keys
push esi
lea ecx, [esp + 0x5c]
mov dword [esp + 0x38], eax
call fcn.004b1880
lea ecx, [edi + 0x1cc]
mov byte [esp + 0xc4], 6
call fcn.00544a30
cmp eax, dword [esp + 0x2c]
jae 0x594c67
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 0x594d34
movzx eax, byte [esi + 0x123]
push eax
push str.DeriveClientHandshakeSecret
push esi
lea ecx, [esp + 0x50]
call fcn.004b1880
push esi
lea ecx, [edi + 0x1ec]
push ecx
push 1
push str.c_hs_traffic
lea ecx, [edi + 0x1cc]
mov byte [esp + 0xd4], 7
call fcn.00467d80
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x18]
push edx
push ecx
mov ecx, edi
call fcn.00580aa0
lea ecx, [esp + 0x44]
mov byte [esp + 0x17], al
mov byte [esp + 0xc4], 6
call fcn.004b18c0
cmp byte [esp + 0x17], 0
je 0x594d34
movzx edx, byte [esi + 0x123]
push edx
push str.DeriveServerHandshakeSecret
push esi
lea ecx, [esp + 0x50]
call fcn.004b1880
push esi
lea eax, [edi + 0x208]
push eax
push 1
push str.s_hs_traffic
lea ecx, [edi + 0x1cc]
mov byte [esp + 0xd4], 8
call fcn.00467d80
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [edx + 0x18]
push ecx
push eax
mov ecx, edi
call fcn.00580aa0
lea ecx, [esp + 0x44]
mov byte [esp + 0x17], al
mov byte [esp + 0xc4], 6
call fcn.004b18c0
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x10], 6
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x2c], ecx
jne 0x594d4d
mov dword [esp + 0x2c], 0xc
cmp byte [esp + 0x17], 0
je 0x594e86
cmp byte [esi + 0x123], 0
je 0x594d6f
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 + 0x1ec]
push 0x6d9cdc
call fcn.00467d80
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x20]
push eax
push edx
lea eax, [edi + 0x224]
push eax
mov ecx, edi
call fcn.0058be40
test al, al
je 0x594e86
cmp byte [esi + 0x123], 0
je 0x594dbe
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 + 0x208]
push 0x6d9cdc
call fcn.00467d80
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x20]
push eax
push edx
lea eax, [edi + 0x240]
push eax
mov ecx, edi
call fcn.0058be40
test al, al
je 0x594e86
cmp byte [esi + 0x123], 0
je 0x594e0d
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 0x6db310
lea ecx, [edi + 0x1ec]
call fcn.00467d80
push eax
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [edi + 0x25c]
push ecx
mov ecx, edi
call fcn.0058be40
test al, al
je 0x594e86
cmp byte [esi + 0x123], 0
je 0x594e55
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 0x6db310
lea ecx, [edi + 0x208]
call fcn.00467d80
push eax
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [edi + 0x278]
push ecx
mov ecx, edi
call fcn.0058be40
test al, al
jne 0x594ece
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.00582ad0
lea ecx, [esp + 0x50]
mov dword [ebp + 0x28], 0x7f
mov byte [esp + 0xc4], 5
call fcn.004b18c0
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
jmp 0x595c09
lea ecx, [esp + 0x50]
mov byte [esp + 0xc4], 5
call fcn.004b18c0
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
cmp byte [edi + 0x81], 0
je 0x59501e
cmp dword [edi + 0x40], 3
jne 0x59501e
cmp dword [edi + 0x44], 4
jne 0x59514c
push esi
mov ecx, edi
call fcn.00590030
test al, al
jne 0x594f43
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.00582ad0
mov dword [ebp + 0x28], 0x7f
jmp 0x595c09
push str.readHandshakeMessages
push esi
lea ecx, [esp + 0x40]
call fcn.004b1850
cmp byte [esp + 0x34], 0
mov byte [esp + 0xc4], 9
je 0x59506b
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
cmp byte [edi + 0x468], 0
je 0x59501e
push str.readHandshakeMessages
push esi
lea ecx, [esp + 0x4c]
mov byte [edi + 0x468], 0
mov byte [esp + 0x3c], 0
call fcn.004b1850
lea ecx, [edi + 0x404]
mov byte [esp + 0xc4], 0xa
call fcn.005d4870
test eax, eax
jne 0x59500d
jmp 0x594fc0
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.00591e90
test al, al
je 0x5950fd
cmp byte [esp + 0x35], 0
jne 0x5950ef
cmp byte [esp + 0x34], 0
jne 0x59500d
lea ecx, [edi + 0x404]
call fcn.005d4870
lea ecx, [edi + 0x404]
call fcn.005d4870
test eax, eax
je 0x594fc0
lea ecx, [esp + 0x44]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
cmp dword [edi + 0x44], 4
jne 0x59514c
cmp dword [edi + 0x40], 3
jne 0x59514c
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x1c]
push esi
push ebp
push eax
push ecx
push ebx
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00594220
lea ecx, [esp + 0x20]
mov bl, al
mov dword [esp + 0xc4], 0xffffffff
call fcn.004b18c0
mov al, bl
jmp 0x595c1f
lea ecx, [edi + 0x404]
call fcn.005d4870
test eax, eax
jne 0x594f65
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.00591e90
test al, al
je 0x5950dc
cmp byte [esp + 0x35], 0
jne 0x5950ce
cmp byte [esp + 0x34], 0
jne 0x594f65
lea ecx, [edi + 0x404]
call fcn.005d4870
lea ecx, [edi + 0x404]
call fcn.005d4870
test eax, eax
je 0x595080
jmp 0x594f65
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.004b18c0
jmp 0x595136
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.004b18c0
cmp byte [esp + 0x34], 0
je 0x595136
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.00592350
test al, al
jne 0x59501e
cmp dword [ebp + 0x28], 0
jne 0x595c09
mov dword [ebp + 0x28], 0x6d
jmp 0x595c09
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.00592350
test al, al
je 0x595136
mov ecx, edi
call fcn.00583800
cmp eax, 0xb
mov dword [esp + 0x18], eax
jne 0x595263
push str.handleServerCert
push esi
lea ecx, [esp + 0x40]
call fcn.004b1850
mov ecx, dword [edi + 0x3b4]
test ecx, ecx
mov byte [esp + 0xc4], 0xb
je 0x5951a3
call fcn.0048ed60
push esi
mov ecx, edi
call fcn.005838f0
test eax, eax
mov dword [edi + 0x3b4], eax
jne 0x5951ec
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.00582ad0
lea ecx, [esp + 0x38]
mov dword [ebp + 0x28], 0x66
mov byte [esp + 0xc4], 1
call fcn.004b18c0
jmp 0x595c09
mov ecx, dword [esp + 0x1c]
push esi
push ebp
push ecx
push ebx
mov ecx, edi
call fcn.0058c870
test al, al
je 0x594855
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.00592350
test al, al
jne 0x595247
cmp dword [ebp + 0x28], 0
jne 0x594bb6
lea ecx, [esp + 0x38]
mov dword [ebp + 0x28], 0x6d
mov byte [esp + 0xc4], 1
call fcn.004b18c0
jmp 0x595c09
mov ecx, edi
call fcn.00583800
lea ecx, [esp + 0x38]
mov dword [esp + 0x18], eax
mov byte [esp + 0xc4], 1
call fcn.004b18c0
cmp dword [esp + 0x18], 0x16
jne 0x59530b
push str.handleCertificateStatus
push esi
lea ecx, [esp + 0x58]
call fcn.004b1850
push esi
mov ecx, edi
mov byte [esp + 0xc8], 0xc
call fcn.00583c20
test eax, eax
je 0x595298
mov ecx, eax
call fcn.0048ed60
cmp byte [esi + 0x122], 0
je 0x5952af
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.00592350
test al, al
jne 0x5952ef
cmp dword [ebp + 0x28], 0
jne 0x5952d9
mov dword [ebp + 0x28], 0x6d
lea ecx, [esp + 0x50]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
jmp 0x595c09
mov ecx, edi
call fcn.00583800
lea ecx, [esp + 0x50]
mov dword [esp + 0x18], eax
mov byte [esp + 0xc4], 1
call fcn.004b18c0
cmp dword [esp + 0x18], 0xc
jne 0x59539e
push str.handleServerKeyExchange
push esi
lea ecx, [esp + 0x40]
call fcn.004b1850
mov ecx, dword [edi + 0x3bc]
test ecx, ecx
mov byte [esp + 0xc4], 0xd
je 0x59533c
call fcn.0048ed60
push esi
mov ecx, edi
call fcn.00583aa0
test eax, eax
mov dword [edi + 0x3bc], eax
jne 0x595361
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 0x5951c3
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.00592350
test al, al
je 0x595220
mov ecx, edi
call fcn.00583800
lea ecx, [esp + 0x38]
mov dword [esp + 0x18], eax
mov byte [esp + 0xc4], 1
call fcn.004b18c0
cmp dword [esp + 0x18], 0xd
jne 0x595420
push str.handleCertificateRequest
push esi
lea ecx, [esp + 0x40]
call fcn.004b1850
mov ecx, dword [edi + 0x3b8]
test ecx, ecx
mov byte [esp + 0xc4], 0xe
je 0x5953cb
call fcn.0048ed60
push esi
mov ecx, edi
call fcn.00583b60
test eax, eax
mov dword [edi + 0x3b8], eax
jne 0x5953e7
push str.Expected_ServerCertificateRequest_message__but_did_not_receive_it.
jmp 0x5951ba
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.00592350
test al, al
je 0x595220
mov ecx, edi
call fcn.00583800
lea ecx, [esp + 0x38]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
mov ecx, edi
call fcn.00583800
cmp eax, 0xe
je 0x595466
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.00583800
push eax
push str.nextHandshakeMessageType
mov ecx, esi
call fcn.004b14c0
push esi
push ebx
push 0xa
push ebp
mov ecx, edi
call fcn.00582ad0
mov dword [ebp + 0x28], 0x66
jmp 0x595c09
push esi
mov ecx, edi
call fcn.00583c20
test eax, eax
mov dword [edi + 0x3b0], eax
jne 0x59549e
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.00582ad0
mov dword [ebp + 0x28], 0x66
jmp 0x595c09
mov ecx, dword [edi + 0x1c8]
test ecx, ecx
mov dword [esp + 0x18], 0
je 0x5954b9
call fcn.005af150
mov dword [esp + 0x18], eax
cmp byte [esi + 0x122], 0
je 0x5954d3
mov eax, dword [esp + 0x18]
push eax
push str.numClientCerts
mov ecx, esi
call fcn.004b14c0
cmp dword [edi + 0x3b8], 0
je 0x59557e
cmp dword [esp + 0x18], 0
jne 0x595541
cmp byte [esi + 0x121], 0
jne 0x5954f9
cmp byte [esi + 0x122], 0
je 0x595507
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.00590a20
test al, al
jne 0x595595
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 0x595c09
mov dword [ebp + 0x28], 0x6e
jmp 0x595c09
cmp byte [esi + 0x121], 0
jne 0x595553
cmp byte [esi + 0x122], 0
je 0x595561
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.00590a20
test al, al
jne 0x595595
push str.Failed_to_send_client_certificate.
jmp 0x595522
cmp byte [esi + 0x122], 0
je 0x595595
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.0058fc70
test al, al
jne 0x5955ab
push str.Failed_to_build_ClientKeyExchange
jmp 0x5944f9
cmp byte [esi + 0x122], 0
je 0x5955c2
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.005906b0
test al, al
jne 0x5955fc
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 0x595c09
mov dword [ebp + 0x28], 0x6f
jmp 0x595c09
cmp byte [esi + 0x122], 0
je 0x595613
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.00588cf0
test al, al
je 0x594502
cmp dword [edi + 0x3b8], 0
je 0x59573f
cmp dword [esp + 0x18], 0
je 0x59573f
cmp dword [edi + 0x1c8], 0
je 0x59573f
cmp byte [esi + 0x122], 0
je 0x59565f
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Sending_CertificateVerify...
mov ecx, esi
call eax
lea ecx, [esp + 0x5c]
call fcn.00468060
push esi
lea ecx, [esp + 0x1b]
push ecx
mov ecx, dword [edi + 0x1c8]
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x68]
push eax
push 0
mov byte [esp + 0xd8], 0xf
mov byte [esp + 0x88], 1
mov dword [esp + 0x40], 0
mov byte [esp + 0x2b], 0
call fcn.005af370
test al, al
jne 0x5956dd
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.00582ad0
lea ecx, [esp + 0x5c]
mov dword [ebp + 0x28], 0x70
mov byte [esp + 0xc4], 1
call fcn.00468860
jmp 0x595c09
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x2c]
push esi
push ebp
push ecx
push ebx
push edx
lea eax, [esp + 0x70]
push eax
mov ecx, edi
call fcn.00590be0
test al, al
jne 0x59572e
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 0x595718
mov dword [ebp + 0x28], 0x71
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc4], 1
call fcn.00468860
jmp 0x595c09
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc4], 1
call fcn.00468860
cmp byte [esi + 0x122], 0
je 0x595756
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 + 0x1c]
push esi
push ebp
push ecx
push edx
push ebx
mov ecx, edi
call fcn.005829e0
test al, al
jne 0x595795
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 0x595c09
mov dword [ebp + 0x28], 0x72
jmp 0x595c09
cmp byte [esi + 0x122], 0
je 0x5957ac
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Sent_ChangeCipherSpec_message.
mov ecx, esi
call edx
mov eax, dword [esp + 0x1c]
push esi
push 1
push eax
push ebp
push ebx
mov ecx, edi
call fcn.005891e0
test al, al
jne 0x5957db
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 0x595c09
cmp byte [esi + 0x122], 0
je 0x5957f2
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Derived_keys.
mov ecx, esi
call eax
mov ecx, dword [edi + 0x1c0]
push ecx
mov ecx, edi
call fcn.00581830
call fcn.0058deb0
mov dword [edi + 0x1c0], eax
cmp byte [esi + 0x122], 0
je 0x595822
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 + 0x1c]
push esi
push 1
push ecx
push ebp
push ebx
mov ecx, edi
call fcn.00588030
test al, al
jne 0x595851
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 0x595c09
cmp byte [esi + 0x122], 0
je 0x595868
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 + 0x1c]
push esi
push ebp
push ecx
push edx
push ebx
push 1
mov ecx, edi
call fcn.00592200
test al, al
jne 0x5958a9
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 0x595c09
mov dword [ebp + 0x28], 0x73
jmp 0x595c09
cmp byte [esi + 0x122], 0
je 0x5958c0
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Sent_FINISHED_message..
mov ecx, esi
call edx
cmp byte [edi + 0x468], 0
je 0x5958ef
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.00582ad0
mov dword [ebp + 0x28], 0x64
jmp 0x595c09
push str.readHandshakeMessages
push esi
lea ecx, [esp + 0x4c]
call fcn.004b1850
cmp byte [esp + 0x34], 0
mov byte [esp + 0xc4], 0x10
je 0x59593e
lea ecx, [esp + 0x44]
mov byte [esp + 0xc4], 1
call fcn.004b18c0
cmp byte [edi + 0x468], 0
jne 0x5959be
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Did_not_receive_the_expected_ChangeCipherSpec__3_
mov ecx, esi
call eax
jmp 0x59544e
lea ecx, [edi + 0x404]
call fcn.005d4870
test eax, eax
jne 0x59590d
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.00591e90
test al, al
je 0x5959a8
cmp byte [esp + 0x35], 0
jne 0x59599a
cmp byte [esp + 0x34], 0
jne 0x59590d
lea ecx, [edi + 0x404]
call fcn.005d4870
lea ecx, [edi + 0x404]
call fcn.005d4870
test eax, eax
je 0x595950
jmp 0x59590d
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.004b18c0
jmp 0x595136
mov ecx, dword [edi + 0x1bc]
push ecx
mov ecx, edi
mov byte [esp + 0x38], 0
call fcn.00581870
call fcn.0058deb0
mov edx, dword [esp + 0xd8]
push esi
push edx
push ebp
push ebx
mov dword [edi + 0x1bc], eax
push 0
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.00592350
test al, al
je 0x595136
mov ecx, edi
call fcn.00583800
cmp eax, 0x14
je 0x595a29
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.00583800
push eax
push str.handshakeMessageType
jmp 0x595447
cmp byte [esi + 0x122], 0
je 0x595a40
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.00583950
test eax, eax
mov dword [edi + 0x3c0], eax
jne 0x595a65
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Bad_FINISHED_message_from_server.
mov ecx, esi
call eax
jmp 0x59544e
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x2c]
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.00587ef0
test al, al
jne 0x595aa0
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 0x595c09
mov ecx, dword [edi + 0x3c0]
mov eax, dword [esp + 0x2c]
cmp eax, dword [ecx + 0x6c]
jne 0x595be8
add ecx, 0x2c
cmp eax, 4
lea edx, [esp + 0x78]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
jb 0x595ae5
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
cmp edx, dword [ecx]
jne 0x595b48
add dword [esp + 0x1c], 4
sub eax, 4
add ecx, 4
cmp eax, 4
jae 0x595ac7
mov dword [esp + 0x18], ecx
test eax, eax
jne 0x595b4c
xor eax, eax
test eax, eax
jne 0x595be8
cmp byte [esi + 0x122], al
je 0x595b09
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Handshake_completed_successfully.
mov ecx, esi
call eax
mov ecx, edi
mov byte [edi + 0x3d8], 1
call fcn.00583830
test al, al
je 0x595b23
push esi
mov ecx, edi
call fcn.00583850
push esi
push 1
mov ecx, edi
call fcn.00580ba0
lea ecx, [esp + 0x20]
mov dword [esp + 0xc4], 0xffffffff
call fcn.004b18c0
mov al, 1
jmp 0x595c1f
mov dword [esp + 0x18], ecx
movzx edx, byte [ecx]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [ecx]
sub ecx, edx
jne 0x595bd3
mov ecx, 1
add dword [esp + 0x18], ecx
add dword [esp + 0x1c], ecx
sub eax, ecx
test eax, eax
je 0x595ae9
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
sub ecx, edx
jne 0x595bd3
mov ecx, 1
add dword [esp + 0x18], ecx
add dword [esp + 0x1c], ecx
sub eax, ecx
test eax, eax
je 0x595ae9
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
sub ecx, edx
jne 0x595bd3
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x595ae9
movzx eax, byte [ecx]
movzx ecx, byte [edx]
sub ecx, eax
je 0x595ae9
test ecx, ecx
mov eax, 1
jg 0x595aeb
or eax, 0xffffffff
jmp 0x595aeb
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Verify_data_in_Server_FINISHED_message_is_invalid__2_.
mov ecx, esi
call eax
push esi
push ebx
push 0x28
push ebp
mov ecx, edi
call fcn.00582ad0
mov dword [ebp + 0x28], 0x74
lea ecx, [esp + 0x20]
mov dword [esp + 0xc4], 0xffffffff
call fcn.004b18c0
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.0062cbd3
add esp, 0xb4
ret 0x18