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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x74b5df
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x899944]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x1c]
mov edi, ecx
mov ecx, dword [ebp + 0x14]
push str.serverHandshake2
mov dword [ebp - 0x4c], ecx
push esi
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x38], eax
call fcn.00474ef0
xor eax, eax
mov ecx, edi
mov dword [ebp - 4], eax
mov byte [edi + 0xfc], 1
mov byte [edi + 0x1ec], al
mov dword [edi + 0x108], eax
mov dword [edi + 0x10c], eax
call fcn.005302b0
lea ecx, [edi + 0x218]
call fcn.0042aad0
test eax, eax
je 0x541a07
push 0
lea ecx, [edi + 0x218]
call fcn.0042aae0
cmp dword [eax + 0x28], 1
je 0x541a20
lea ecx, [edi + 0x15c]
call fcn.0040fb90
xor eax, eax
mov dword [edi + 0x178], eax
mov dword [edi + 0x17c], eax
cmp byte [ebp + 8], 0
mov byte [edi + 0x28], 0
mov byte [ebx + 0x17], 0
mov byte [edi + 0x27c], 0
je 0x541ad5
cmp byte [ebp + 0xc], 0
je 0x541ad1
cmp byte [esi + 0xae], 0
je 0x541a5a
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Sending_HelloRequest...
mov ecx, esi
call eax
lea ecx, [ebp - 0x68]
call fcn.0040fe80
push 0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 1
call fcn.00410ec0
push 0
lea ecx, [ebp - 0x68]
call fcn.00410ec0
push 0
lea ecx, [ebp - 0x68]
call fcn.00410ec0
push 0
lea ecx, [ebp - 0x68]
call fcn.00410ec0
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x38]
mov eax, dword [edi + 0x40]
push esi
push ebx
push ecx
mov ecx, dword [edi + 0x3c]
push edx
push eax
push ecx
lea edx, [ebp - 0x68]
push edx
mov ecx, edi
call fcn.0053fe10
test al, al
jne 0x541ac5
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Failed_to_send_HelloRequest.
mov ecx, esi
call edx
lea ecx, [ebp - 0x68]
jmp 0x542310
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0
call fcn.004105c0
cmp byte [ebp + 8], 0
sete al
cmp byte [esi + 0xae], 0
mov byte [ebp - 0x6c], al
je 0x541af4
movzx eax, al
push eax
push str.bInitialHandshake
mov ecx, esi
call fcn.00474a80
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x6c]
push esi
push ebx
push ecx
push edx
push eax
mov ecx, edi
call fcn.00541740
test al, al
jne 0x541b2d
cmp dword [ebx + 0x24], 0
jne 0x541b1a
mov dword [ebx + 0x24], 0x77
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_receive_ClientHello.
mov ecx, esi
call eax
jmp 0x542319
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x38]
push esi
push ebx
push ecx
push edx
mov ecx, edi
call fcn.0053b5e0
test al, al
jne 0x541b5c
mov dword [ebx + 0x24], 0x75
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Unable_to_agree_on_a_TLS_protocol_version.
mov ecx, esi
call edx
jmp 0x542319
mov eax, dword [ebp - 0x4c]
push esi
push eax
mov ecx, edi
call fcn.00539810
test al, al
jne 0x541b87
mov ecx, dword [ebp - 0x38]
push esi
push ecx
push 0x50
push ebx
mov ecx, edi
mov dword [ebx + 0x24], 0x76
call fcn.00534910
jmp 0x542319
mov ecx, edi
call fcn.00532a40
test al, al
jne 0x541bad
mov edx, dword [ebp - 0x38]
push esi
push edx
push 0x50
push ebx
mov ecx, edi
call fcn.00534910
mov dword [ebx + 0x24], 0x64
jmp 0x542319
cmp dword [edi + 0x1c0], 0
je 0x541bcc
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, edi
call fcn.00533160
mov ecx, dword [edi + 0x78]
push ecx
mov ecx, edi
call fcn.00533160
lea ecx, [ebp - 0x88]
call fcn.0040fe80
push esi
lea edx, [ebp - 0x88]
push edx
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.0053c2c0
test al, al
jne 0x541c09
mov eax, dword [ebp - 0x38]
push esi
push eax
push 0x50
push ebx
mov ecx, edi
call fcn.00534910
mov dword [ebx + 0x24], 0x64
jmp 0x54230a
lea ecx, [ebp - 0x88]
push ecx
lea ecx, [edi + 0x15c]
call fcn.00412840
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x38]
mov ecx, dword [edi + 0x40]
push esi
push ebx
push edx
mov edx, dword [edi + 0x3c]
push eax
push ecx
push edx
lea eax, [ebp - 0x88]
push eax
mov ecx, edi
call fcn.0053fe10
test al, al
jne 0x541c55
cmp dword [ebx + 0x24], 0
jne 0x54230a
mov dword [ebx + 0x24], 0x78
jmp 0x54230a
lea ecx, [ebp - 0x88]
call fcn.0040fb20
cmp byte [esi + 0xae], 0
je 0x541c77
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Sent_handshake_messages_up_to_and_including_ServerHelloDone.
mov ecx, esi
call eax
xor eax, eax
mov dword [ebp - 0x68], vtable.TlsIncomingSummary.0
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x38]
push esi
push ecx
push ebx
push edx
push eax
lea eax, [ebp - 0x68]
push eax
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00541630
test al, al
jne 0x541cc6
cmp dword [ebx + 0x24], 0
jne 0x54230a
mov dword [ebx + 0x24], 0x6d
jmp 0x54230a
mov ecx, edi
call fcn.005353b0
cmp eax, 0xb
jne 0x541d5a
push str.handleClientCert
push esi
lea ecx, [ebp - 0xa0]
call fcn.00474ef0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x38]
push esi
push ebx
push ecx
push edx
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.0053fbd0
test al, al
jne 0x541d1b
lea ecx, [ebp - 0xa0]
mov dword [ebx + 0x24], 0x79
mov byte [ebp - 4], 3
call fcn.00474f80
jmp 0x54230a
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x38]
push esi
push eax
push ebx
push ecx
push 0
lea edx, [ebp - 0x68]
push edx
dec dword [ebp - 0x60]
mov ecx, edi
call fcn.00541630
test al, al
jne 0x541db5
cmp dword [ebx + 0x24], 0
jne 0x541d46
mov dword [ebx + 0x24], 0x6d
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 3
call fcn.00474f80
jmp 0x54230a
cmp eax, 0x15
jne 0x541dc4
push str.handleClientCertUrl
push esi
lea ecx, [ebp - 0xa0]
call fcn.00474ef0
mov eax, dword [ebp - 0x38]
push esi
push ebx
push eax
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.0053a8c0
test al, al
jne 0x541da0
lea ecx, [ebp - 0xa0]
mov dword [ebx + 0x24], 0x7a
mov byte [ebp - 4], 3
call fcn.00474f80
jmp 0x54230a
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x38]
push esi
push ecx
push ebx
push edx
push 0
lea eax, [ebp - 0x68]
push eax
jmp 0x541d2b
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 3
call fcn.00474f80
cmp dword [edi + 0x1d8], 0
jne 0x541dfa
mov ecx, dword [edi + 0x1bc]
test ecx, ecx
je 0x541dfa
call fcn.0048ca30
test eax, eax
je 0x541dfa
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.The_server_requires_a_valid_client_cert__but_the_client_provided_none.
mov ecx, esi
call eax
mov dword [ebx + 0x24], 0x79
jmp 0x54230a
mov ecx, edi
call fcn.005353b0
cmp eax, 0x10
jne 0x5422e6
mov ecx, dword [ebp - 0x38]
push esi
push ebx
push ecx
mov ecx, edi
call fcn.0053b000
test al, al
jne 0x541e27
mov dword [ebx + 0x24], 0x7b
jmp 0x54230a
dec dword [ebp - 0x60]
push str.readHandshakeMessages
push esi
lea ecx, [ebp - 0x94]
call fcn.00474ef0
cmp dword [ebp - 0x5c], 0
mov byte [ebp - 4], 6
je 0x541e94
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 3
call fcn.00474f80
lea ecx, [edi + 0x218]
call fcn.0042aad0
test eax, eax
je 0x541f1f
mov ecx, edi
call fcn.005353b0
cmp eax, 0xf
jne 0x5422e6
mov ecx, dword [ebp - 0x38]
push esi
push ebx
push ecx
mov ecx, edi
call fcn.0053a9a0
test al, al
jne 0x541ef2
mov dword [ebx + 0x24], 0x7c
jmp 0x54230a
cmp dword [ebp - 0x60], 0
jne 0x541e45
lea ebx, [ebx]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x38]
push esi
lea edx, [ebp - 0x68]
push edx
push ebx
push eax
push ecx
mov ecx, edi
call fcn.00541390
test al, al
je 0x541ede
cmp dword [ebp - 0x58], 0
ja 0x541ed0
cmp dword [ebp - 0x5c], 0
jne 0x541e45
cmp dword [ebp - 0x60], 0
je 0x541ea0
jmp 0x541e45
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Aborting_handshake_because_of_fatal_alert.
mov ecx, esi
call eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 3
call fcn.00474f80
jmp 0x541cb0
dec dword [ebp - 0x60]
push str.readHandshakeMessages
push esi
lea ecx, [ebp - 0x94]
call fcn.00474ef0
cmp dword [ebp - 0x5c], 0
mov byte [ebp - 4], 7
je 0x541f32
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 3
call fcn.00474f80
cmp byte [edi + 0x27c], 0
jne 0x541f69
push str.Did_not_receive_the_expected_ChangeCipherSpec
jmp 0x5422eb
cmp dword [ebp - 0x60], 0
jne 0x541f10
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x38]
push esi
lea edx, [ebp - 0x68]
push edx
push ebx
push eax
push ecx
mov ecx, edi
call fcn.00541390
test al, al
je 0x541ede
cmp dword [ebp - 0x58], 0
ja 0x541ed0
cmp dword [ebp - 0x5c], 0
jne 0x541f10
cmp dword [ebp - 0x60], 0
je 0x541f38
jmp 0x541f10
cmp byte [esi + 0xae], 0
je 0x541f80
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.ChangeCipherSpec_has_been_received.
mov ecx, esi
call eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x38]
push esi
push 0
push ecx
push ebx
push edx
mov ecx, edi
call fcn.0053a0d0
test al, al
jne 0x541fb1
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Failed_to_derive_keys.
mov ecx, esi
call edx
mov dword [ebx + 0x24], 0x64
jmp 0x54230a
cmp byte [esi + 0xae], 0
je 0x541fc8
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Derived_keys.
mov ecx, esi
call edx
mov eax, dword [edi + 0x110]
push eax
mov ecx, edi
call fcn.005338d0
call fcn.0053e350
mov dword [edi + 0x110], eax
cmp byte [esi + 0xae], 0
je 0x541ff8
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Installed_new_incoming_security_params.
mov ecx, esi
call eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp - 0x38]
push esi
push ecx
push ebx
push edx
push 0
lea eax, [ebp - 0x68]
push eax
mov ecx, edi
call fcn.00541630
test al, al
jne 0x542033
cmp dword [ebx + 0x24], 0
jne 0x542020
mov dword [ebx + 0x24], 0x6d
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_read_the_HANDSHAKE_FINISHED_message.
mov ecx, esi
call eax
jmp 0x54230a
mov ecx, edi
call fcn.005353b0
cmp eax, 0x14
je 0x542066
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Expected_FINISHED_message_from_client__but_received_something_else.
mov ecx, esi
call eax
mov ecx, edi
call fcn.005353b0
push eax
push str.handshakeMessageType
mov ecx, esi
call fcn.00474a80
jmp 0x5422f4
cmp byte [esi + 0xae], 0
je 0x54207d
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.00535620
mov dword [edi + 0x1e8], eax
test eax, eax
jne 0x542099
push str.Bad_FINISHED_message_from_server.
jmp 0x5422eb
mov ecx, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
push edx
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
push eax
push esi
push 1
push 0
push ecx
push ebx
push edx
mov ecx, edi
mov dword [ebp - 0x48], 0
call fcn.00538fb0
test al, al
jne 0x5420db
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Failed_to_calculate_expected_FINISHED_verify_data.
mov ecx, esi
call edx
mov dword [ebx + 0x24], 0x64
jmp 0x54230a
mov ecx, dword [edi + 0x1e8]
mov eax, dword [ebp - 0x48]
cmp eax, dword [ecx + 0x50]
jne 0x5422c0
add ecx, 0x2c
mov dword [ebp - 0x48], ecx
mov edx, ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x6c], ecx
cmp eax, 4
jb 0x542121
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x5422c0
mov ecx, dword [ebp - 0x6c]
sub eax, 4
add ecx, 4
add edx, 4
mov dword [ebp - 0x6c], ecx
cmp eax, 4
jae 0x542100
mov dword [ebp - 0x48], edx
test eax, eax
je 0x542157
mov dl, byte [edx]
cmp dl, byte [ecx]
jne 0x5422c0
cmp eax, 1
jbe 0x542157
mov edx, dword [ebp - 0x48]
mov dl, byte [edx + 1]
cmp dl, byte [ecx + 1]
jne 0x5422c0
cmp eax, 2
jbe 0x542157
mov eax, dword [ebp - 0x48]
mov dl, byte [eax + 2]
cmp dl, byte [ecx + 2]
jne 0x5422c0
cmp byte [esi + 0xae], 0
je 0x54216e
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Sending_ChangeCipherSpec...
mov ecx, esi
call edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x38]
push esi
push ebx
push eax
push ecx
push edx
mov ecx, edi
call fcn.00534830
test al, al
jne 0x5421ab
push str.Failed_to_send_ChangeCipherSpec
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp dword [ebx + 0x24], 0
jne 0x54230a
mov dword [ebx + 0x24], 0x72
jmp 0x54230a
cmp byte [esi + 0xae], 0
je 0x5421c2
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Sent_ChangeCipherSpec_message.
mov ecx, esi
call edx
mov eax, dword [edi + 0x114]
push eax
mov ecx, edi
call fcn.00533890
call fcn.0053e350
mov dword [edi + 0x114], eax
cmp byte [esi + 0xae], 0
je 0x5421f2
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Installed_new_outgoing_security_params.
mov ecx, esi
call eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x38]
push esi
push 0
push ecx
push ebx
push edx
mov ecx, edi
call fcn.005390e0
test al, al
jne 0x542223
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Failed_to_build_server_Finished_message
mov ecx, esi
call edx
mov dword [ebx + 0x24], 0x64
jmp 0x54230a
cmp byte [esi + 0xae], 0
je 0x54223a
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Sending_FINISHED_message..
mov ecx, esi
call edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x38]
push esi
push ebx
push eax
push ecx
push edx
push 0
mov ecx, edi
call fcn.00541540
test al, al
jne 0x54225f
push str.Failed_to_send_server_Finished_message.
jmp 0x54218c
cmp byte [esi + 0xae], 0
je 0x54228d
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Sent_FINISHED_message..
mov ecx, esi
call edx
cmp byte [esi + 0xae], 0
je 0x54228d
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Handshake_completed_successfully.
mov ecx, esi
call edx
push esi
push 0
mov ecx, edi
mov byte [edi + 0x1ec], 1
call fcn.005331d0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0
call fcn.004105c0
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.00474f80
mov al, 1
jmp 0x54232a
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Verify_data_in_client_FINISHED_message_is_invalid.
mov ecx, esi
call edx
mov eax, dword [ebp - 0x38]
push esi
push eax
push 0x28
push ebx
mov ecx, edi
call fcn.00534910
mov dword [ebx + 0x24], 0x74
jmp 0x54230a
push str.Expected_to_receive_the_ClientKeyExchange_message.
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ecx, dword [ebp - 0x38]
push esi
push ecx
push 0xa
push ebx
mov ecx, edi
call fcn.00534910
mov dword [ebx + 0x24], 0x66
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0
call fcn.004105c0
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.00474f80
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0070bb4c
mov esp, ebp
pop ebp
ret 0x1c