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

Disassembly:
push 0xffffffffffffffff
push 0x657f10
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebp
push esi
push edi
mov edi, dword [esp + 0x88]
mov esi, ecx
push str.buildCertificatesMessage13
push edi
lea ecx, [esp + 0x18]
mov dword [esp + 0x14], esi
call fcn.004f0370
mov al, byte [edi + 0x122]
mov ebp, dword [esp + 0x80]
test al, al
mov dword [esp + 0x78], 0
je 0x5f529a
test ebp, ebp
je 0x5f528e
push edi
mov ecx, ebp
call fcn.005afcc0
jmp 0x5f529a
mov eax, dword [edi]
push str.The_client_cert_chain_is_NULL.
mov ecx, edi
call dword [eax + 0x18]
mov eax, dword [esi + 0x3b8]
test eax, eax
jne 0x5f52d7
mov edx, dword [edi]
push str.Did_not_previously_receive_a_CertificateRequest_handshake_message.
mov ecx, edi
call dword [edx + 0x14]
lea ecx, [esp + 0x10]
mov dword [esp + 0x78], 0xffffffff
call fcn.004f03e0
pop edi
pop esi
xor al, al
pop ebp
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret 0xc
push ebx
mov ebx, dword [esp + 0x88]
mov ecx, ebx
call fcn.004dd9e0
lea ecx, [esp + 0x3c]
call fcn.004dfe70
lea ecx, [esp + 0x20]
mov byte [esp + 0x7c], 1
call fcn.004dfe70
xor esi, esi
mov byte [esp + 0x7c], 2
test ebp, ebp
mov dword [esp + 0x8c], esi
je 0x5f531f
mov ecx, ebp
call fcn.005afc30
mov dword [esp + 0x8c], eax
mov esi, eax
mov al, byte [edi + 0x121]
test al, al
jne 0x5f5333
mov al, byte [edi + 0x122]
test al, al
je 0x5f5340
push esi
push str.numCerts
mov ecx, edi
call fcn.004effe0
lea ecx, [esp + 0x58]
call fcn.004dfe70
xor ebp, ebp
mov byte [esp + 0x7c], 3
test esi, esi
jbe 0x5f53df
mov ecx, dword [esp + 0x84]
lea eax, [esp + 0x58]
push edi
push eax
push ebp
call fcn.005afc90
test al, al
je 0x5f53d6
lea ecx, [esp + 0x58]
call fcn.005a8750
mov esi, eax
mov ecx, esi
shr ecx, 0x10
push ecx
lea ecx, [esp + 0x24]
call fcn.004e0da0
mov edx, esi
lea ecx, [esp + 0x20]
shr edx, 8
push edx
call fcn.004e0da0
push esi
lea ecx, [esp + 0x24]
call fcn.004e0da0
lea eax, [esp + 0x58]
lea ecx, [esp + 0x20]
push eax
call fcn.004de6c0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
lea ecx, [esp + 0x58]
call fcn.004dd9e0
mov esi, dword [esp + 0x8c]
inc ebp
cmp ebp, esi
jb 0x5f5358
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x3b8]
mov dl, byte [ecx + 0x2c]
lea ecx, [esp + 0x3c]
push edx
call fcn.004e0da0
mov eax, dword [esi + 0x3b8]
xor ecx, ecx
mov cl, byte [eax + 0x2c]
test ecx, ecx
je 0x5f5413
add eax, 0x2d
push ecx
push eax
lea ecx, [esp + 0x44]
call fcn.004e1260
lea ecx, [esp + 0x20]
call fcn.005a8750
mov esi, eax
lea ecx, [esp + 0x3c]
shr eax, 0x10
push eax
call fcn.004e0da0
mov ecx, esi
shr ecx, 8
push ecx
lea ecx, [esp + 0x40]
call fcn.004e0da0
push esi
lea ecx, [esp + 0x40]
call fcn.004e0da0
lea edx, [esp + 0x20]
lea ecx, [esp + 0x3c]
push edx
call fcn.004de6c0
push 0xb
mov ecx, ebx
call fcn.004e0da0
lea ecx, [esp + 0x3c]
call fcn.005a8750
mov esi, eax
mov al, byte [edi + 0x122]
test al, al
je 0x5f547d
push esi
push str.CertificateSize
mov ecx, edi
call fcn.004f00d0
mov eax, esi
mov ecx, ebx
shr eax, 0x10
push eax
call fcn.004e0da0
mov ecx, esi
shr ecx, 8
push ecx
mov ecx, ebx
call fcn.004e0da0
push esi
mov ecx, ebx
call fcn.004e0da0
lea edx, [esp + 0x3c]
mov ecx, ebx
push edx
call fcn.004de6c0
lea ecx, [esp + 0x58]
mov byte [esp + 0x7c], 2
call fcn.004e0890
lea ecx, [esp + 0x20]
mov byte [esp + 0x7c], 1
call fcn.004e0890
lea ecx, [esp + 0x3c]
mov byte [esp + 0x7c], 0
call fcn.004e0890
lea ecx, [esp + 0x14]
mov dword [esp + 0x7c], 0xffffffff
call fcn.004f03e0
mov ecx, dword [esp + 0x74]
pop ebx
pop edi
pop esi
mov al, 1
pop ebp
mov dword fs:[0], ecx
add esp, 0x70
ret 0xc