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

Disassembly:
push 0xffffffffffffffff
push 0x657508
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
push edi
mov edi, dword [esp + 0x74]
mov ebp, ecx
mov al, byte [edi + 0x122]
lea ecx, [esp + 0x10]
push eax
push str.initClientHello
push edi
call fcn.004f03a0
mov ecx, dword [ebp + 0x3c8]
mov dword [esp + 0x60], 0
test ecx, ecx
je 0x5e881e
call fcn.004d7f00
call fcn.005e0070
test eax, eax
mov dword [ebp + 0x3c8], eax
jne 0x5e8854
lea ecx, [esp + 0x10]
mov dword [esp + 0x60], 0xffffffff
call fcn.004f03e0
pop edi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
add esp, 0x58
ret 0x10
mov ecx, dword [ebp + 0x30]
lea ebx, [ebp + 0x30]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebp + 0x3c8]
mov ecx, dword [ebp + 0x34]
lea eax, [ebp + 0x34]
mov dword [edx + 0x30], ecx
mov cl, byte [edi + 0x122]
test cl, cl
je 0x5e889d
push eax
push ebx
push str._d._d
lea edx, [esp + 0x3c]
push 0x28
push edx
call fcn.004edc50
mov eax, dword [edi]
add esp, 0x14
lea ecx, [esp + 0x30]
push ecx
push str.clientVersion
mov ecx, edi
call dword [eax + 0x2c]
mov edx, dword [ebp + 0x3c8]
push edi
add edx, 0x34
mov ecx, ebp
push edx
push 1
call fcn.005e5420
test al, al
jne 0x5e88dc
lea ecx, [esp + 0x10]
mov dword [esp + 0x60], 0xffffffff
call fcn.004f03e0
pop edi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
add esp, 0x58
ret 0x10
push esi
mov esi, dword [esp + 0x74]
mov al, byte [esi + 0x1c]
test al, al
je 0x5e893e
mov eax, dword [esi + 0x20]
test eax, eax
je 0x5e893e
mov al, byte [edi + 0x122]
test al, al
je 0x5e8929
mov eax, dword [edi]
push str.Attempting_to_re_use_SSL_TLS_session.
mov ecx, edi
call dword [eax + 0x18]
mov ecx, dword [esi + 0x20]
add ecx, 0xc
call fcn.005a8750
mov ecx, dword [esi + 0x20]
push eax
add ecx, 0xc
call fcn.004dda10
push eax
push str.sessionId
mov ecx, edi
call fcn.004ef450
mov ecx, dword [esi + 0x20]
add ecx, 0xc
push ecx
mov ecx, dword [ebp + 0x3c8]
add ecx, 0x50
call fcn.004de6c0
mov ecx, dword [ebp + 0x3c8]
push 0
add ecx, 0x88
call fcn.004e0da0
mov al, byte [edi + 0x122]
test al, al
je 0x5e8991
mov edx, dword [ebx]
mov ecx, edi
push edx
push str.m_reqMajorVersion
call fcn.004effe0
mov eax, dword [ebp + 0x34]
mov ecx, edi
push eax
push str.m_reqMinorVersion
call fcn.004effe0
mov ecx, dword [esp + 0x70]
add ecx, 0xd50
push ecx
push str.AllowedCiphers
mov ecx, edi
call fcn.004efc60
mov edx, dword [esp + 0x70]
lea esi, [edx + 0xd50]
mov ecx, esi
call fcn.004dc560
push str.best_practices
mov ecx, esi
call fcn.004dc2a0
mov bl, al
push 0x713ffc
mov ecx, esi
mov byte [esp + 0x7c], bl
call fcn.004dc2a0
mov ecx, esi
call fcn.004dc460
test al, al
jne 0x5e8cbd
test bl, bl
jne 0x5e8cbd
mov al, byte [edi + 0x121]
test al, al
je 0x5e89ee
push esi
push str.allowedTlsCiphers
mov ecx, edi
call fcn.004efc60
lea ecx, [esp + 0x20]
call fcn.0053a540
lea ecx, [esp + 0x34]
mov byte [esp + 0x64], 1
call fcn.00506f60
mov ecx, esi
mov byte [esp + 0x64], 2
mov byte [esp + 0x4c], 1
call fcn.004dc860
push 0
push 0
lea eax, [esp + 0x3c]
push 0x2c
push eax
mov ecx, esi
call fcn.004dba70
mov ecx, eax
call fcn.004e5bf0
lea ecx, [esp + 0x34]
call fcn.00596fa0
xor bl, bl
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x78], bl
mov dword [esp + 0x74], 0
jle 0x5e8c9c
mov ecx, dword [esp + 0x74]
push ecx
lea ecx, [esp + 0x38]
call fcn.00507340
mov esi, eax
test esi, esi
je 0x5e8c87
mov ecx, esi
call fcn.004e2b40
push str.TLS_
mov ecx, esi
call fcn.004e5170
test al, al
je 0x5e8a98
lea edx, [esp + 0x20]
push edi
push edx
mov ecx, esi
call fcn.004dda00
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
jmp 0x5e8c80
push 0x713fdc
mov ecx, esi
call fcn.004e9220
test al, al
jne 0x5e8c6c
push str.ARC4
mov ecx, esi
call fcn.004e9220
test al, al
jne 0x5e8c6c
push str.ARCFOUR
mov ecx, esi
call fcn.004e9220
test al, al
jne 0x5e8c6c
push str.RSA512
mov ecx, esi
call fcn.004e9220
test al, al
je 0x5e8af9
mov eax, dword [esp + 0x70]
mov bl, 1
mov dword [eax + 0x109c], 0x200
jmp 0x5e8c87
push str.RSA1024
mov ecx, esi
call fcn.004e9220
test al, al
je 0x5e8b25
test bl, bl
jne 0x5e8b1b
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x109c], 0x400
mov byte [esp + 0x78], 1
jmp 0x5e8c87
push str.RSA2048
mov ecx, esi
call fcn.004e9220
test al, al
je 0x5e8b5c
test bl, bl
jne 0x5e8c87
mov al, byte [esp + 0x78]
test al, al
jne 0x5e8c87
mov edx, dword [esp + 0x70]
mov dword [edx + 0x109c], 0x800
jmp 0x5e8c87
push str.SECURE_RENEGOTIATION
mov ecx, esi
call fcn.004e9220
test al, al
je 0x5e8b7c
mov eax, dword [esp + 0x70]
mov byte [eax + 0x10a0], 1
jmp 0x5e8c87
push str.3DES_CBC
mov ecx, esi
call fcn.004e9220
test al, al
jne 0x5e8c53
push str.3DES
mov ecx, esi
call fcn.004e9220
test al, al
jne 0x5e8c53
push str.AES128_CBC
mov ecx, esi
call fcn.004e9220
test al, al
jne 0x5e8c07
push str.AES128
mov ecx, esi
call fcn.004e9220
test al, al
jne 0x5e8c07
push str.AES256_CBC
mov ecx, esi
call fcn.004e9220
test al, al
jne 0x5e8c45
push str.AES256
mov ecx, esi
call fcn.004e9220
test al, al
jne 0x5e8c45
push 0x713f64
mov ecx, esi
call fcn.004e9220
test al, al
je 0x5e8c15
lea ecx, [esp + 0x20]
push edi
push ecx
push 0
push 0x20
push 2
mov ecx, ebp
call fcn.005e84b0
lea edx, [esp + 0x20]
push edi
push edx
push 0
push 0x10
push 2
jmp 0x5e8c80
push 0x713f60
mov ecx, esi
call fcn.004e9220
test al, al
je 0x5e8c36
lea eax, [esp + 0x20]
push edi
push eax
push 6
mov ecx, ebp
call fcn.005e86d0
jmp 0x5e8c87
push esi
push str.unrecognizedAllowedCipher
mov ecx, edi
call fcn.004efcb0
jmp 0x5e8c87
lea ecx, [esp + 0x20]
push edi
push ecx
push 0
push 0x20
push 2
jmp 0x5e8c80
mov al, byte [esp + 0x6c]
test al, al
jne 0x5e8c87
lea eax, [esp + 0x20]
push edi
push eax
push 0
push 0x18
push 0x309
jmp 0x5e8c80
mov al, byte [esp + 0x6c]
test al, al
jne 0x5e8c87
lea ecx, [esp + 0x20]
push edi
push ecx
push 0
push 0x10
push 9
mov ecx, ebp
call fcn.005e84b0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x10]
inc eax
cmp eax, ecx
mov dword [esp + 0x74], eax
jl 0x5e8a52
lea ecx, [esp + 0x34]
mov byte [esp + 0x64], 1
call fcn.00506fa0
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 0
call fcn.0053a620
jmp 0x5e8e69
mov al, byte [edi + 0x122]
test al, al
je 0x5e8cdb
test bl, bl
je 0x5e8d56
mov edx, dword [edi]
push str.Using_best_practices_for_TLS_cipher_suites.
mov ecx, edi
call dword [edx + 0x18]
test bl, bl
je 0x5e8cf4
mov eax, dword [esp + 0x70]
mov byte [eax + 0x10a0], 1
mov dword [eax + 0x109c], 0x400
cmp word [0x688540], 0
mov esi, 0x688540
je 0x5e8e69
mov bl, byte [esp + 0x6c]
mov dl, byte [esi]
xor ecx, ecx
mov cl, byte [esi + 1]
mov byte [esp + 0x75], dl
mov byte [esp + 0x74], cl
mov ecx, dword [esi + 0x10]
cmp ecx, 6
jne 0x5e8d64
mov edx, dword [ebp + 0x30]
mov eax, 3
cmp edx, eax
jl 0x5e8d33
cmp dword [ebp + 0x34], eax
jge 0x5e8d64
mov al, byte [edi + 0x122]
test al, al
je 0x5e8e5c
mov ecx, dword [esi + 4]
mov eax, dword [edi]
push ecx
push str.skip_requiresTls12
mov ecx, edi
call dword [eax + 0x2c]
jmp 0x5e8e5c
mov eax, dword [edi]
push str.Allowing_all_default_SSL_TLS_cipher_suites.
mov ecx, edi
call dword [eax + 0x18]
jmp 0x5e8cf4
mov eax, dword [esi + 8]
cmp eax, 3
je 0x5e8d71
cmp eax, 5
jne 0x5e8d9e
mov dl, byte [ebp + 0xb2]
test dl, dl
jne 0x5e8d9e
mov al, byte [edi + 0x122]
test al, al
je 0x5e8e5c
mov eax, dword [esi + 4]
mov edx, dword [edi]
push eax
push str.skip_requiresDHE
mov ecx, edi
call dword [edx + 0x2c]
jmp 0x5e8e5c
cmp eax, 8
je 0x5e8da8
cmp eax, 0xa
jne 0x5e8dd5
mov al, byte [ebp + 0xb3]
test al, al
jne 0x5e8dd5
mov al, byte [edi + 0x122]
test al, al
je 0x5e8e5c
mov eax, dword [esi + 4]
mov edx, dword [edi]
push eax
push str.skip_requiresECDHE
mov ecx, edi
call dword [edx + 0x2c]
jmp 0x5e8e5c
cmp ecx, 6
jne 0x5e8e00
mov al, byte [ebp + 0xb4]
test al, al
jne 0x5e8e00
mov al, byte [edi + 0x122]
test al, al
je 0x5e8e5c
mov eax, dword [esi + 4]
mov edx, dword [edi]
push eax
push str.skip_requiresGCM
mov ecx, edi
call dword [edx + 0x2c]
jmp 0x5e8e5c
test bl, bl
je 0x5e8e08
test ecx, ecx
je 0x5e8e5c
mov al, byte [esp + 0x78]
test al, al
jne 0x5e8e14
test bl, bl
je 0x5e8e2d
mov eax, dword [esi + 0xc]
cmp eax, 9
je 0x5e8e5c
cmp eax, 7
je 0x5e8e5c
cmp eax, 0x309
je 0x5e8e5c
cmp eax, 8
je 0x5e8e5c
mov al, byte [edi + 0x122]
test al, al
je 0x5e8e47
mov eax, dword [esi + 4]
mov edx, dword [edi]
push eax
push str.cipherSuite
mov ecx, edi
call dword [edx + 0x2c]
lea ecx, [esp + 0x74]
push 2
push ecx
mov ecx, dword [ebp + 0x3c8]
add ecx, 0x6c
call fcn.004e1260
add esi, 0x34
cmp word [esi], 0
jne 0x5e8d0b
lea ecx, [esp + 0x14]
mov dword [esp + 0x64], 0xffffffff
call fcn.004f03e0
mov ecx, dword [esp + 0x5c]
pop esi
pop edi
pop ebp
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x58
ret 0x10