Function at 0x5ebe10
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x6577a3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c4
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2e8]
push edi
mov edi, ecx
push str.svrProcessCertificateVerify
push esi
lea ecx, [esp + 0x30]
call fcn.004f0370
xor ebx, ebx
push esi
mov ecx, edi
mov dword [esp + 0x2e0], ebx
call fcn.005f7520
mov ebp, eax
cmp ebp, ebx
jne 0x5ebe89
mov eax, dword [esi]
push str.Expected_CertifificateVerify__but_did_not_receive_it..
mov ecx, esi
call dword [eax + 0x14]
mov ecx, dword [esp + 0x2e4]
mov edx, dword [esp + 0x2e8]
push esi
push ecx
push 0xa
push edx
mov ecx, edi
call fcn.005f4c00
jmp 0x5ec367
lea ecx, [esp + 0x1c]
call fcn.004d8060
mov edx, dword [edi + 0x40]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x34], ebx
mov eax, dword [ebp + 0x48]
mov ecx, 3
mov byte [esp + 0x2dc], 1
cmp edx, ecx
mov dword [esp + 0x14], eax
jne 0x5ebec7
cmp dword [edi + 0x44], ecx
jne 0x5ebec7
cmp eax, 2
jne 0x5ebf16
mov dword [esp + 0x14], 1
lea edx, [esp + 0x14]
push esi
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0xe8]
push eax
push ecx
push ebx
push ebx
mov ecx, edi
call fcn.005f5720
test al, al
jne 0x5ebf7d
mov edx, dword [esi]
push str.Failed_to_calculate_the_certificate_verify_message.
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e8]
push esi
push eax
push 0xa
push ecx
mov ecx, edi
call fcn.005f4c00
jmp 0x5ec357
cmp eax, 4
jne 0x5ebf25
mov dword [esp + 0x14], 7
jmp 0x5ebec7
cmp eax, 5
jne 0x5ebf34
mov dword [esp + 0x14], 2
jmp 0x5ebec7
cmp eax, 6
jne 0x5ebf3f
mov dword [esp + 0x14], ecx
jmp 0x5ebec7
cmp eax, 1
jne 0x5ebf51
mov dword [esp + 0x14], 5
jmp 0x5ebec7
push eax
push str.unsupportedHashAlg
mov ecx, esi
call fcn.004effe0
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e8]
push esi
push eax
push 0xa
push ecx
mov ecx, edi
call fcn.005f4c00
jmp 0x5ec357
mov ecx, dword [edi + 0x3c4]
cmp ecx, ebx
jne 0x5ebfb2
mov edx, dword [esi]
push str.Unable_to_check_CertificateVerify_message:_did_not_receive_client_certificate.
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e8]
push esi
push eax
push 0xa
push ecx
mov ecx, edi
call fcn.005f4c00
jmp 0x5ec357
cmp byte [esi + 0x122], bl
je 0x5ebfcc
call fcn.005e28e0
push eax
push str.numClientCerts
mov ecx, esi
call fcn.004effe0
mov ecx, dword [edi + 0x3c4]
push esi
push ebx
call fcn.005e28f0
cmp eax, ebx
mov dword [esp + 0x18], eax
jne 0x5ec00c
mov edx, dword [esi]
push str.Unable_to_check_CertificateVerify_message:_no_client_certificate.
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e8]
push esi
push eax
push 0x2e
push ecx
mov ecx, edi
call fcn.005f4c00
jmp 0x5ec357
lea ecx, [esp + 0x38]
call fcn.004dfe70
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x38]
push esi
push edx
mov byte [esp + 0x2e4], 2
call fcn.005ae990
test al, al
jne 0x5ec05b
mov eax, dword [esi]
push str.Failed_to_get_public_key_from_client_certificate.
mov ecx, esi
call dword [eax + 0x14]
mov ecx, dword [esp + 0x2e4]
mov edx, dword [esp + 0x2e8]
push esi
push ecx
push 0x2e
push edx
mov ecx, edi
call fcn.005f4c00
jmp 0x5ec346
lea ecx, [esp + 0x120]
call fcn.0053b7b0
lea eax, [esp + 0x38]
push esi
push eax
lea ecx, [esp + 0x128]
mov byte [esp + 0x2e4], 3
call fcn.0053bda0
cmp al, bl
jne 0x5ec096
mov edx, dword [esi]
push str.Invalid_public_key_DER.
mov ecx, esi
call dword [edx + 0x14]
jmp 0x5ec332
lea ecx, [esp + 0x120]
call fcn.005a8750
cmp eax, ebx
mov dword [esp + 0x18], eax
jne 0x5ec0d5
mov eax, dword [esi]
push str.Non_RSA_keys_not_supported.
mov ecx, esi
call dword [eax + 0x14]
mov ecx, dword [esp + 0x2e4]
mov edx, dword [esp + 0x2e8]
push esi
push ecx
push 0x2e
push edx
mov ecx, edi
call fcn.005f4c00
jmp 0x5ec332
mov ecx, edi
call fcn.005ece40
test al, al
je 0x5ec332
mov ecx, dword [esp + 0x18]
push esi
call fcn.005c7010
mov ecx, dword [edi + 0x7c]
push eax
call fcn.004d8e70
test al, al
jne 0x5ec11a
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e8]
push esi
push eax
push 0x47
push ecx
mov ecx, edi
call fcn.005f4c00
jmp 0x5ec332
cmp byte [esi + 0x122], bl
je 0x5ec137
lea ecx, [ebp + 0x2c]
call fcn.005a8750
push eax
push str.sigLen
mov ecx, esi
call fcn.004effe0
lea ecx, [esp + 0x8c]
call fcn.004dfe70
lea ecx, [esp + 0x54]
mov byte [esp + 0x2dc], 4
call fcn.004dfe70
mov eax, dword [edi + 0x44]
mov byte [esp + 0x2dc], 5
cmp eax, 3
mov byte [esp + 0x13], bl
jne 0x5ec382
lea ecx, [esp + 0x70]
call fcn.004dfe70
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x70]
push esi
push edx
push 1
push 1
add ebp, 0x2c
push eax
push ebx
push ebx
mov ecx, ebp
mov byte [esp + 0x2f8], 6
call fcn.005a8750
push eax
mov ecx, ebp
call fcn.004dda10
push eax
call fcn.005d8fe0
add esp, 0x24
test al, al
jne 0x5ec1f5
mov edx, dword [esi]
push str.Failed_to_unsign_CertificateVerify_signature.
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esi]
push str.It_is_likely_the_wrong_certificate__and_thus_the_wrong_public_key_was_used_to_unsign_verify_this_signature.
mov ecx, esi
call dword [eax + 0x14]
mov ecx, dword [esp + 0x2e4]
mov edx, dword [esp + 0x2e8]
push esi
push ecx
push 0x2a
push edx
mov ecx, edi
call fcn.005f4c00
lea ecx, [esp + 0x70]
mov byte [esp + 0x2dc], 5
call fcn.004e0890
jmp 0x5ec30d
lea ecx, [esp + 0xa8]
call fcn.004dfe70
lea eax, [esp + 0xa8]
push esi
lea ecx, [esp + 0x74]
push eax
push ecx
mov byte [esp + 0x2e8], 7
call fcn.0053b910
add esp, 0xc
test al, al
jne 0x5ec25f
mov edx, dword [esi]
push str.Failed_to_unpack_cert_verify_ASN.1
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e8]
push esi
push eax
push 0x2a
push ecx
mov ecx, edi
call fcn.005f4c00
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2dc], 6
call fcn.004e0890
jmp 0x5ec1df
lea ecx, [esp + 0xc4]
call fcn.004dfe70
mov edx, dword [esp + 0x34]
lea eax, [esp + 0xe0]
push edx
push eax
lea ecx, [esp + 0xcc]
mov byte [esp + 0x2e4], 8
call fcn.004e1260
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0xc8]
call fcn.004e0a70
lea ecx, [esp + 0xc4]
mov byte [esp + 0x13], al
mov byte [esp + 0x2dc], 7
call fcn.004e0890
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2dc], 6
call fcn.004e0890
lea ecx, [esp + 0x70]
mov byte [esp + 0x2dc], 5
call fcn.004e0890
cmp byte [esp + 0x13], bl
jne 0x5ec455
mov edx, dword [esi]
push str.CertificateVerify_signature_is_invalid.
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e8]
push esi
push eax
push 0x2a
push ecx
mov ecx, edi
call fcn.005f4c00
lea ecx, [esp + 0x54]
mov byte [esp + 0x2dc], 4
call fcn.004e0890
lea ecx, [esp + 0x8c]
mov byte [esp + 0x2dc], 3
call fcn.004e0890
lea ecx, [esp + 0x120]
mov byte [esp + 0x2dc], 2
call fcn.0053b840
lea ecx, [esp + 0x38]
mov byte [esp + 0x2dc], 1
call fcn.004e0890
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2dc], bl
call fcn.004d80a0
lea ecx, [esp + 0x28]
mov dword [esp + 0x2dc], 0xffffffff
call fcn.004f03e0
xor al, al
jmp 0x5ec4d9
mov edx, dword [esp + 0x18]
push esi
lea eax, [esp + 0x17]
push edx
push eax
lea ecx, [esp + 0xec]
add ebp, 0x2c
push 0x24
push ecx
mov ecx, ebp
call fcn.005a8750
push eax
mov ecx, ebp
call fcn.004dda10
push eax
call fcn.005d88e0
add esp, 0x1c
test al, al
jne 0x5ec2dd
mov edx, dword [esi]
push str.Failed_to_decode_CertificateVerify_signature.
mov ecx, esi
call dword [edx + 0x14]
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e8]
push esi
push eax
push 0x2a
push ecx
mov ecx, edi
call fcn.005f4c00
lea ecx, [esp + 0x54]
mov byte [esp + 0x2dc], 4
call fcn.004e0890
lea ecx, [esp + 0x8c]
mov byte [esp + 0x2dc], 3
call fcn.004e0890
lea ecx, [esp + 0x120]
mov byte [esp + 0x2dc], 2
call fcn.0053b840
lea ecx, [esp + 0x38]
mov byte [esp + 0x2dc], 1
call fcn.004e0890
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2dc], bl
call fcn.004d80a0
lea ecx, [esp + 0x28]
mov dword [esp + 0x2dc], 0xffffffff
call fcn.004f03e0
xor al, al
jmp 0x5ec4d9
cmp byte [esi + 0x122], bl
je 0x5ec469
mov edx, dword [esi]
push str.CertificateVerify_signature_is_valid.
mov ecx, esi
call dword [edx + 0x18]
lea ecx, [esp + 0x54]
mov byte [esp + 0x2dc], 4
call fcn.004e0890
lea ecx, [esp + 0x8c]
mov byte [esp + 0x2dc], 3
call fcn.004e0890
lea ecx, [esp + 0x120]
mov byte [esp + 0x2dc], 2
call fcn.0053b840
lea ecx, [esp + 0x38]
mov byte [esp + 0x2dc], 1
call fcn.004e0890
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2dc], bl
call fcn.004d80a0
lea ecx, [esp + 0x28]
mov dword [esp + 0x2dc], 0xffffffff
call fcn.004f03e0
mov al, 1
mov ecx, dword [esp + 0x2d4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2d0
ret 0xc