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

Disassembly:
push 0xffffffffffffffff
push 0x57c432
mov eax, dword fs:[0]
push eax
sub esp, 0x610
mov eax, dword [0x641030]
xor eax, esp
mov dword [esp + 0x60c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x641030]
xor eax, esp
push eax
lea eax, [esp + 0x624]
mov dword fs:[0], eax
mov eax, dword [esp + 0x638]
mov esi, dword [esp + 0x63c]
mov ebp, dword [esp + 0x634]
push str.svrProcessClientKeyExchange
mov edi, ecx
push esi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
call fcn.00437740
xor ebx, ebx
mov dword [esp + 0x62c], ebx
cmp dword [edi + 0x3c4], ebx
jne 0x4c9f71
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Cannot_process_the_ClientKeyExchange_without_a_previous_ClientHello.
mov ecx, esi
call eax
push esi
push ebp
push 0xa
jmp 0x4ca4bb
push esi
mov ecx, edi
call fcn.004c33f0
mov dword [esp + 0x30], eax
cmp eax, ebx
jne 0x4c9f98
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Expected_ClientKeyExchange__but_did_not_receive_it..
mov ecx, esi
call eax
push esi
push ebp
push 0xa
jmp 0x4ca4bb
mov ecx, dword [edi + 0x3cc]
cmp ecx, ebx
je 0x4c9fb1
call fcn.00412990
mov eax, dword [esp + 0x30]
mov dword [edi + 0x3cc], ebx
mov dword [edi + 0x3cc], eax
cmp byte [esi + 0x122], bl
je 0x4c9ff0
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Decrypting_encrypted_pre_master_secret...
mov ecx, esi
call eax
cmp byte [esi + 0x122], bl
je 0x4c9ff0
mov ecx, dword [edi + 0x3cc]
add ecx, 0x2c
call fcn.0051d090
push eax
push str.EncryptedPreMasterSecretLen
mov ecx, esi
call fcn.004373b0
lea ebp, [edi + 0x1c8]
mov ecx, ebp
call fcn.00446ed0
mov eax, dword [edi + 0x4c]
cmp eax, 3
je 0x4ca361
cmp eax, 5
je 0x4ca361
cmp eax, 8
je 0x4ca277
cmp eax, 0xa
je 0x4ca277
lea ecx, [esp + 0x40]
call fcn.00447240
mov ecx, dword [edi + 0x1a0]
mov byte [esp + 0x62c], 3
mov byte [esp + 0x58], 1
cmp ecx, ebx
jne 0x4ca07b
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.No_server_cert_chain.
mov ecx, esi
call eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push esi
push ecx
push 0x50
push edx
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x40]
mov byte [esp + 0x62c], bl
call fcn.004479b0
jmp 0x4ca4c7
push esi
lea eax, [esp + 0x44]
push eax
push ebx
call fcn.00518c70
test al, al
jne 0x4ca0c2
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Server_certificate_does_not_have_a_private_key.
mov ecx, esi
call eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push esi
push ecx
push 0x50
push edx
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x40]
mov byte [esp + 0x62c], bl
call fcn.004479b0
jmp 0x4ca4c7
lea ecx, [esp + 0x78]
call fcn.004b8880
push esi
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0x634], 4
call fcn.004ba4e0
cmp al, bl
jne 0x4ca131
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_parse_RSA_DER_key.
mov ecx, esi
call eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push esi
push ecx
push 0x50
push edx
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x78]
mov byte [esp + 0x62c], 3
call fcn.004b8950
lea ecx, [esp + 0x40]
mov byte [esp + 0x62c], bl
call fcn.004479b0
jmp 0x4ca4c7
mov ecx, edi
call fcn.004bf5b0
push esi
test al, al
jne 0x4ca176
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
push 0x50
push ecx
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x78]
mov byte [esp + 0x62c], 3
call fcn.004b8950
lea ecx, [esp + 0x40]
mov byte [esp + 0x62c], bl
call fcn.004479b0
jmp 0x4ca4c7
lea ecx, [esp + 0x7c]
call fcn.004b8a40
mov ecx, dword [edi + 0x78]
push eax
call fcn.0042b210
test al, al
jne 0x4ca1c6
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push esi
push edx
push 0x47
push eax
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x78]
mov byte [esp + 0x62c], 3
call fcn.004b8950
lea ecx, [esp + 0x40]
mov byte [esp + 0x62c], bl
call fcn.004479b0
jmp 0x4ca4c7
lea ecx, [esp + 0x5c]
call fcn.00447240
mov ecx, ebp
mov byte [esp + 0x62c], 5
mov byte [esp + 0x23], bl
call fcn.00446f40
push esi
push ebp
lea ecx, [esp + 0x2b]
push ecx
mov ecx, dword [edi + 0x3cc]
push 1
push 1
lea edx, [esp + 0x8c]
push edx
push ebx
push 1
push ebx
push ebx
push ebx
push ebx
add ecx, 0x2c
call fcn.0051d090
mov ecx, dword [edi + 0x3cc]
push eax
add ecx, 0x2c
call fcn.00446f60
push eax
call fcn.004b54f0
add esp, 0x38
mov ecx, ebp
mov byte [esp + 0x17], al
call fcn.0051d090
cmp eax, 0x30
je 0x4ca240
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Premaster_secret_size_is_not_48.
mov ecx, esi
call edx
lea ecx, [esp + 0x5c]
mov byte [esp + 0x62c], 4
call fcn.004479b0
lea ecx, [esp + 0x78]
mov byte [esp + 0x62c], 3
call fcn.004b8950
lea ecx, [esp + 0x40]
mov byte [esp + 0x62c], bl
call fcn.004479b0
jmp 0x4ca417
cmp dword [edi + 0x3b8], ebx
je 0x4ca341
cmp dword [edi + 0x1ac], ebx
je 0x4ca341
lea ecx, [esp + 0x19c]
call fcn.00523390
mov eax, dword [edi + 0x3cc]
mov ecx, dword [edi + 0x1ac]
push esi
add eax, 0x2c
push eax
add ecx, 0x88
mov byte [esp + 0x634], 2
call fcn.0051b3b0
push eax
lea ecx, [esp + 0x1a8]
call fcn.005250e0
cmp al, bl
jne 0x4ca30a
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_load_clientss_ECDH_public_key.
mov ecx, esi
call eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push esi
push ecx
push 0x50
push edx
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x19c]
mov byte [esp + 0x62c], bl
call fcn.00523410
jmp 0x4ca4c7
mov ecx, dword [edi + 0x1ac]
push esi
push ebp
lea eax, [esp + 0x1a4]
push eax
call fcn.00526f30
lea ecx, [esp + 0x19c]
mov byte [esp + 0x17], al
mov byte [edi + 0x1e4], bl
mov byte [esp + 0x62c], bl
call fcn.00523410
jmp 0x4ca417
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Missing_server_ECC_key_exchange_info.
mov ecx, esi
call eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push esi
push ecx
push 0x50
push edx
jmp 0x4ca4c0
cmp dword [edi + 0x3b8], ebx
je 0x4ca4a5
cmp dword [edi + 0x1a8], ebx
je 0x4ca4a5
lea ecx, [esp + 0x34]
call fcn.0053a700
mov ecx, dword [edi + 0x3cc]
add ecx, 0x2c
mov byte [esp + 0x62c], 1
call fcn.0051d090
mov ecx, dword [edi + 0x3cc]
push eax
add ecx, 0x2c
call fcn.00446f60
push eax
lea ecx, [esp + 0x3c]
call fcn.0053aea0
test al, al
jne 0x4ca3ca
mov byte [esp + 0x62c], bl
lea ecx, [esp + 0x34]
call fcn.0053b1c0
jmp 0x4ca4c7
mov ecx, dword [edi + 0x1a8]
lea eax, [esp + 0x34]
push eax
call fcn.00543bf0
mov byte [esp + 0x62c], bl
lea ecx, [esp + 0x34]
test al, al
je 0x4ca3c0
call fcn.0053b1c0
mov ecx, ebp
call fcn.00446ed0
mov ecx, dword [edi + 0x1a8]
push ebp
add ecx, 0x50
call fcn.0053a9a0
test al, al
je 0x4ca4c7
mov byte [edi + 0x1e4], bl
mov byte [esp + 0x17], 1
cmp byte [esi + 0x122], bl
je 0x4ca42c
push ebp
push str.premasterSecret_a
mov ecx, esi
call fcn.00437980
cmp byte [esp + 0x17], bl
jne 0x4ca47d
mov ecx, ebp
call fcn.00446f40
mov ecx, dword [edi + 0x3c4]
movzx edx, byte [ecx + 0x2c]
push edx
mov ecx, ebp
call fcn.00447e40
mov eax, dword [edi + 0x3c4]
movzx ecx, byte [eax + 0x30]
push ecx
mov ecx, ebp
call fcn.00447e40
push ebp
push 0x2e
call fcn.00467710
mov byte [edi + 0x1e4], 1
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
add esp, 8
push str.Failed_to_decrypt_premaster_secret__but_proceeding_as_described_in_section_7.4.7.1_of_RFC_5256.
mov ecx, esi
call eax
push esi
mov ecx, edi
call fcn.004c8510
test al, al
je 0x4ca34f
lea ecx, [esp + 0x24]
mov dword [esp + 0x62c], 0xffffffff
call fcn.004377b0
mov al, 1
jmp 0x4ca4dd
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Missing_server_key_exchange_info.
mov ecx, esi
call edx
mov eax, dword [esp + 0x1c]
push esi
push eax
push 0x50
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, edi
call fcn.004c2300
lea ecx, [esp + 0x24]
mov dword [esp + 0x62c], 0xffffffff
call fcn.004377b0
xor al, al
mov ecx, dword [esp + 0x624]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60c]
xor ecx, esp
call fcn.005550b0
add esp, 0x61c
ret 0xc