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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov eax, dword [rcx + 0x48]
cmp eax, 0x2112
mov rbx, rcx
mov dword [rsp + 0x44], 0x50
mov qword [rsp + 0x50], 0
je 0x6e401842
cmp eax, 0x2110
je 0x6e401630
mov rax, qword [rbx + 8]
lea rdx, [rsp + 0x40]
mov dword [rbx + 0x1a8], 1
mov r9d, 1
mov qword [rsp + 0x28], rdx
mov r8d, 0x2112
mov edx, 0x2111
mov rcx, rbx
mov dword [rsp + 0x20], 0x4000
call qword [rax + 0x60]
mov r10d, dword [rsp + 0x40]
movsxd rsi, eax
test r10d, r10d
je 0x6e401619
mov rdi, qword [rbx + 0x58]
cmp esi, 0x22
mov dword [rbx + 0x1a8], 0
mov qword [rsp + 0x48], rdi
jle 0x6e4015c0
lea rdx, [rdi + 2]
movzx eax, word [rdi]
mov qword [rsp + 0x48], rdx
mov rdx, qword [rbx + 8]
mov r8d, dword [rbx]
rol ax, 8
mov rcx, qword [rdx + 0xc8]
movzx eax, ax
mov dword [rbx + 0x1ac], eax
test byte [rcx + 0x70], 8
je 0x6e401640
cmp eax, r8d
jle 0x6e401649
cmp dword [rdx], 0x1ffff
je 0x6e401649
mov edx, 0x8a
mov dword [rsp + 0x20], 0x3c9
mov ecx, 0x14
mov r8d, 0x10b
lea r9, str.s3_srvr.c
call fcn.6e440310
mov eax, dword [rbx + 0x1ac]
mov edx, eax
sar edx, 8
cmp edx, 3
je 0x6e401902
mov dword [rsp + 0x44], 0x46
mov r8d, 0x46
jmp 0x6e4015f1
mov dword [rsp + 0x44], 0x32
mov dword [rsp + 0x20], 0x3bb
mov r8d, 0xa0
mov edx, 0x8a
mov ecx, 0x14
lea r9, str.s3_srvr.c
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
mov edx, 2
mov rcx, rbx
call fcn.6e413930
mov dword [rbx + 0x48], 0x3005
mov esi, 0xffffffff
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x6e401619
call fcn.6e43fb80
mov eax, esi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rcx + 0x48], 0x2111
jmp 0x6e4014cd
cmp eax, r8d
jl 0x6e401577
xor r9d, r9d
xor r8d, r8d
mov edx, 0x20
mov rcx, rbx
add rdi, rsi
call sym.SSLEAY32.dll_gSL_ctrl
test ah, 0x20
mov rax, qword [rsp + 0x48]
je 0x6e40168e
movzx ecx, byte [rax + 0x20]
mov r8, rdi
sub r8, rax
mov rdx, rcx
add ecx, 0x21
cmp ecx, r8d
jae 0x6e401940
cmp byte [rax + rdx + 0x21], 0
mov esi, 1
je 0x6e401619
mov r8, qword [rax]
mov rcx, qword [rbx + 0x80]
mov qword [rcx + 0xc0], r8
lea rdx, [rcx + 0xc0]
mov rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
mov rcx, qword [rax + 0x10]
mov qword [rdx + 0x10], rcx
mov rcx, qword [rax + 0x18]
mov qword [rdx + 0x18], rcx
movzx esi, byte [rax + 0x20]
lea rdx, [rax + 0x21]
mov rax, rdi
sub rax, rdx
mov qword [rsp + 0x48], rdx
cmp rax, rsi
mov r8, rsi
jl 0x6e401925
cmp sil, 0x20
ja 0x6e401a90
mov dword [rbx + 0xa8], 0
mov r9d, dword [rbx + 0x3c]
test r9d, r9d
je 0x6e401703
test byte [rbx + 0x19e], 1
jne 0x6e401720
mov r9, rdi
mov rcx, rbx
call fcn.6e432f80
cmp eax, 1
je 0x6e401a70
cmp eax, 0xffffffff
je 0x6e4015fe
mov edx, 1
mov rcx, rbx
call fcn.6e4326a0
test eax, eax
je 0x6e4015fe
mov rdx, qword [rbx + 8]
mov rax, rdi
add rsi, qword [rsp + 0x48]
mov rdx, qword [rdx + 0xc8]
sub rax, rsi
mov qword [rsp + 0x48], rsi
test byte [rdx + 0x70], 8
jne 0x6e401955
xor ebp, ebp
cmp rax, 1
jle 0x6e401ea1
movzx r12d, word [rsi]
lea rdx, [rsi + 2]
mov qword [rsp + 0x48], rdx
rol r12w, 8
test r12w, r12w
movzx r8d, r12w
je 0x6e401e6b
lea eax, [r8 + 1]
mov rcx, rdi
sub rcx, rdx
cdqe
cmp rcx, rax
jl 0x6e401b93
lea r9, [rsp + 0x50]
mov rcx, rbx
call fcn.6e42cef0
test rax, rax
je 0x6e4015fe
mov r8d, dword [rbx + 0xa8]
movzx esi, r12w
add rsi, qword [rsp + 0x48]
test r8d, r8d
mov qword [rsp + 0x48], rsi
je 0x6e401b0b
mov rax, qword [rbx + 0x130]
xor esi, esi
mov rax, qword [rax + 0xd0]
mov r12d, dword [rax + 0x10]
jmp 0x6e4017fe
mov rcx, qword [rsp + 0x50]
mov edx, esi
call fcn.6e43fb28
cmp dword [rax + 0x10], r12d
je 0x6e401b06
add esi, 1
mov rcx, qword [rsp + 0x50]
call fcn.6e43fb68
cmp eax, esi
jg 0x6e4017e5
mov r8d, 0xd7
mov edx, 0x8a
mov dword [rsp + 0x20], 0x4c1
mov ecx, 0x14
lea r9, str.s3_srvr.c
mov dword [rsp + 0x44], 0x2f
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov ebp, dword [rcx + 0x1a8]
test ebp, ebp
jne 0x6e4014cd
mov rdx, qword [rbx + 0x100]
mov rax, qword [rdx + 0x268]
test rax, rax
je 0x6e401884
mov rdx, qword [rdx + 0x270]
mov rcx, rbx
call rax
test eax, eax
je 0x6e401ad0
js 0x6e402265
mov dword [rbx + 0x28], 1
mov rcx, rbx
call sym.SSLEAY32.dll_gSL_get_ciphers
mov rcx, rbx
mov r8, rax
mov rax, qword [rbx + 0x130]
mov rdx, qword [rax + 0xe0]
call fcn.6e40ede0
test rax, rax
je 0x6e401e35
mov rdx, qword [rbx + 0x80]
mov qword [rdx + 0x3a0], rax
mov rax, qword [rbx + 8]
mov rax, qword [rax + 0xc8]
test byte [rax + 0x70], 2
je 0x6e4018d6
test byte [rbx + 0x140], 1
jne 0x6e4018e6
mov rcx, rbx
call fcn.6e410650
test eax, eax
je 0x6e401a03
cmp dword [rbx], 0x2ff
jg 0x6e4019c0
xor esi, esi
test ebp, ebp
setne sil
add esi, 1
jmp 0x6e40160a
cmp qword [rbx + 0xe8], 0
jne 0x6e4015af
cmp qword [rbx + 0xf0], 0
jne 0x6e4015af
mov dword [rbx], eax
jmp 0x6e4015af
mov dword [rsp + 0x44], 0x32
mov dword [rsp + 0x20], 0x3f5
jmp 0x6e4015d0
mov dword [rsp + 0x44], 0x32
mov dword [rsp + 0x20], 0x3e3
jmp 0x6e4015d0
test rax, rax
jle 0x6e401f1b
lea rax, [rsi + 1]
mov rcx, rdi
mov qword [rsp + 0x48], rax
movzx ebp, byte [rsi]
sub rcx, rax
cmp ebp, ecx
mov rsi, rbp
ja 0x6e401e20
xor r9d, r9d
xor r8d, r8d
mov edx, 0x20
mov rcx, rbx
call sym.SSLEAY32.dll_gSL_ctrl
test ah, 0x20
je 0x6e401997
test ebp, ebp
jne 0x6e401a0d
xor ebp, ebp
mov rax, qword [rbx + 8]
add rsi, qword [rsp + 0x48]
cmp dword [rax], 0x1ffff
mov qword [rsp + 0x48], rsi
je 0x6e401eb6
mov rax, rdi
sub rax, rsi
jmp 0x6e40175c
lea rdx, [rsp + 0x44]
mov rcx, rbx
call fcn.6e41ce00
test eax, eax
jne 0x6e4018f2
mov r8d, 0xe2
mov edx, 0x8a
mov ecx, 0x14
mov dword [rsp + 0x20], 0x5c6
lea r9, str.s3_srvr.c
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov rax, qword [rbx + 0x88]
mov r8, rbp
mov rdx, qword [rsp + 0x48]
lea rcx, [rax + 0x104]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx + 0x170]
mov rax, qword [rax + 0xc0]
test rax, rax
je 0x6e4021db
mov rcx, qword [rbx + 0x88]
mov r8d, ebp
lea rdx, [rcx + 0x104]
mov rcx, rbx
call rax
test eax, eax
je 0x6e4022aa
mov ebp, 1
jmp 0x6e401999
mov rax, qword [rbx + 0x130]
mov eax, dword [rax]
cmp dword [rbx], eax
jne 0x6e401720
mov dword [rbx + 0xa8], 1
jmp 0x6e401735
mov dword [rsp + 0x44], 0x32
mov dword [rsp + 0x20], 0x3fb
mov r8d, 0x9f
mov edx, 0x8a
mov ecx, 0x14
lea r9, str.s3_srvr.c
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov r8d, 0x179
mov edx, 0x8a
mov dword [rsp + 0x20], 0x586
mov ecx, 0x14
lea r9, str.s3_srvr.c
mov dword [rsp + 0x44], 0x50
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov rsi, qword [rsp + 0x48]
lea r13, [rsi + 1]
mov rdx, rdi
mov qword [rsp + 0x48], r13
movzx r12d, byte [rsi]
sub rdx, r13
movzx ecx, r12b
cmp rdx, rcx
jl 0x6e40203a
test r12d, r12d
je 0x6e401b53
cmp byte [rsi + 1], 0
je 0x6e401ba8
lea rax, [rsi + 2]
lea edx, [r12 - 1]
add rdx, rax
jmp 0x6e401b4e
add rax, 1
cmp byte [rax - 1], 0
je 0x6e401ba8
cmp rdx, rax
jne 0x6e401b44
lea rax, [r13 + rcx]
mov r8d, 0xbb
mov dword [rsp + 0x20], 0x4da
mov edx, 0x8a
lea r9, str.s3_srvr.c
mov ecx, 0x14
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x44], 0x32
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov dword [rsp + 0x44], 0x32
mov dword [rsp + 0x20], 0x489
jmp 0x6e401aa0
cmp dword [rbx], 0x2ff
lea rax, [r13 + rcx]
mov qword [rsp + 0x48], rax
jle 0x6e401bd2
lea rdx, [rsp + 0x48]
mov r8, rdi
mov rcx, rbx
call fcn.6e41bdd0
test eax, eax
je 0x6e4021b2
mov rax, qword [rbx + 0x80]
mov r9d, 0x20
mov edx, 1
mov rcx, rbx
lea r8, [rax + 0xa0]
call fcn.6e418040
test eax, eax
jle 0x6e401a03
mov ecx, dword [rbx + 0xa8]
mov rax, qword [rbx + 0x130]
test ecx, ecx
jne 0x6e401d0f
cmp dword [rbx], 0x300
jle 0x6e401d0f
mov r10, qword [rbx + 0x248]
test r10, r10
je 0x6e401d0f
mov dword [rax + 0x10], 0x30
mov rcx, qword [rbx + 0x250]
lea rdx, [rax + 0x14]
mov qword [rsp + 0x58], 0
mov r9, qword [rsp + 0x50]
lea r8, [rax + 0x10]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call r10
test eax, eax
je 0x6e401d08
mov dword [rbx + 0xa8], 1
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], 0
mov rdx, qword [rbx + 0x130]
mov qword [rdx + 0xe0], rax
mov rax, qword [rsp + 0x58]
mov dword [rdx + 0xb8], 0
test rax, rax
je 0x6e4022f7
mov rcx, qword [rbx + 0xb8]
mov qword [rdx + 0xd0], rax
test rcx, rcx
je 0x6e401cc3
call fcn.6e43fb80
mov rcx, qword [rbx + 0xc0]
test rcx, rcx
je 0x6e401cd4
call fcn.6e43fb80
mov rax, qword [rbx + 0x130]
mov rcx, qword [rax + 0xe0]
call fcn.6e43fb90
mov qword [rbx + 0xb8], rax
mov rax, qword [rbx + 0x130]
mov rcx, qword [rax + 0xe0]
call fcn.6e43fb90
mov qword [rbx + 0xc0], rax
mov rax, qword [rbx + 0x130]
mov edi, dword [rax + 0xc8]
mov rdx, qword [rbx + 0x80]
test edi, edi
mov qword [rdx + 0x408], 0
mov edx, dword [rbx + 0x19c]
je 0x6e401f30
xor r13d, r13d
xor r15d, r15d
and edx, 0x20000
je 0x6e401d75
jmp 0x6e402237
mov rax, qword [rbx + 0x170]
mov edx, r13d
mov rcx, qword [rax + 0xf8]
call fcn.6e43fb28
cmp dword [rax], edi
mov r15, rax
je 0x6e402171
add r13d, 1
mov rax, qword [rbx + 0x170]
mov rcx, qword [rax + 0xf8]
call fcn.6e43fb68
cmp eax, r13d
jg 0x6e401d50
mov rax, qword [rbx + 0x80]
cmp qword [rax + 0x408], 0
je 0x6e401dec
xor eax, eax
movzx edx, byte [rsi + rax + 1]
cmp edx, edi
je 0x6e402079
add rax, 1
cmp r12d, eax
jg 0x6e401da0
mov r8d, 0x156
mov edx, 0x8a
mov dword [rsp + 0x20], 0x543
mov ecx, 0x14
lea r9, str.s3_srvr.c
mov dword [rsp + 0x44], 0x2f
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov r8d, 0x155
mov edx, 0x8a
mov ecx, 0x14
mov dword [rsp + 0x20], 0x538
lea r9, str.s3_srvr.c
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov dword [rsp + 0x44], 0x32
mov dword [rsp + 0x20], 0x434
jmp 0x6e4015d0
mov dword [rsp + 0x44], 0x28
mov dword [rsp + 0x20], 0x593
mov r8d, 0xc1
mov edx, 0x8a
mov ecx, 0x14
lea r9, str.s3_srvr.c
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov r8d, 0xb7
mov edx, 0x8a
mov dword [rsp + 0x20], 0x481
mov ecx, 0x14
lea r9, str.s3_srvr.c
mov dword [rsp + 0x44], 0x2f
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov dword [rsp + 0x44], 0x32
mov dword [rsp + 0x20], 0x47a
jmp 0x6e4015d0
mov eax, dword [rbx + 0x1ac]
cmp eax, 0xfefd
jg 0x6e40204f
mov eax, dword [rbx + 0x19c]
test eax, 0x8000000
je 0x6e402184
mov rdx, qword [rbx + 0x100]
test dword [rdx + 0x54], 0x30000
jne 0x6e402198
test eax, 0x4000000
jne 0x6e402118
mov dword [rbx], 0xfeff
call sym.SSLEAY32.dll_gTLSv1_server_method
mov qword [rbx + 8], rax
mov rax, qword [rbx + 0x130]
mov edx, dword [rbx]
mov rsi, qword [rsp + 0x48]
mov dword [rax], edx
jmp 0x6e4019b3
mov dword [rsp + 0x44], 0x32
mov dword [rsp + 0x20], 0x42d
jmp 0x6e4015d0
mov r14d, dword [rbx + 0xa8]
test r14d, r14d
jne 0x6e401fd9
and edx, 0x20000
jne 0x6e4020a3
mov rdx, qword [rbx + 0x170]
mov rcx, qword [rdx + 0xf8]
test rcx, rcx
je 0x6e4020a3
call fcn.6e43fb68
test eax, eax
mov dword [rsp + 0x3c], eax
jle 0x6e401fbf
lea eax, [r12 - 1]
lea rsi, [rsi + rax + 2]
mov rax, qword [rbx + 0x170]
mov edx, r14d
mov rcx, qword [rax + 0xf8]
call fcn.6e43fb28
mov r15, rax
mov ecx, dword [rax]
mov rax, r13
nop dword [rax + rax]
movzx edx, byte [rax]
cmp edx, ecx
je 0x6e4022d0
add rax, 1
cmp rax, rsi
jne 0x6e401fa0
add r14d, 1
cmp dword [rsp + 0x3c], r14d
jne 0x6e401f7a
cmp dword [rbx + 0xa8], 0
mov rax, qword [rbx + 0x130]
je 0x6e4020a3
mov edx, dword [rbx + 0x19c]
and edx, 0x40000000
je 0x6e402157
mov r13, qword [rax + 0xe0]
xor edi, edi
xor r12d, r12d
xor esi, esi
jmp 0x6e402012
mov edx, esi
mov rcx, r13
call fcn.6e43fb28
test byte [rax + 0x1c], 0x20
cmovne r12, rax
test byte [rax + 0x28], 2
cmovne rdi, rax
add esi, 1
mov rcx, r13
call fcn.6e43fb68
cmp eax, esi
jg 0x6e401ff5
test r12, r12
mov rax, qword [rbx + 0x80]
je 0x6e4022bf
mov qword [rax + 0x3a0], r12
jmp 0x6e4018bc
mov dword [rsp + 0x44], 0x32
mov dword [rsp + 0x20], 0x4cb
jmp 0x6e401aa0
mov rdx, qword [rbx + 0x100]
test dword [rdx + 0x54], 0x30000
jne 0x6e402198
cmp eax, 0xfeff
jg 0x6e402118
mov eax, dword [rbx + 0x19c]
jmp 0x6e401eec
cmp r12d, eax
jle 0x6e401db6
mov edx, dword [rbx + 0xa8]
mov rax, qword [rbx + 0x130]
test edx, edx
jne 0x6e401fd3
test r15, r15
je 0x6e402351
mov edi, dword [r15]
mov rcx, qword [rax + 0xe0]
mov dword [rax + 0xc8], edi
test rcx, rcx
je 0x6e4020c1
call fcn.6e43fb80
mov rax, qword [rbx + 0x130]
mov rdx, qword [rsp + 0x50]
test rdx, rdx
mov qword [rax + 0xe0], rdx
je 0x6e402274
mov qword [rsp + 0x50], 0
mov rcx, rbx
call fcn.6e41e2d0
test eax, eax
jne 0x6e401850
mov r8d, 0xe2
mov edx, 0x8a
mov ecx, 0x14
mov dword [rsp + 0x20], 0x57d
lea r9, str.s3_srvr.c
call fcn.6e440310
jmp 0x6e4015fe
mov dword [rsp + 0x20], 0x46f
lea r9, str.s3_srvr.c
mov r8d, 0x10b
mov edx, 0x8a
mov ecx, 0x14
call fcn.6e440310
mov eax, dword [rbx + 0x1ac]
mov dword [rsp + 0x44], 0x46
mov r8d, 0x46
mov dword [rbx], eax
jmp 0x6e4015f1
mov rdx, qword [rbx + 0x80]
mov rax, qword [rax + 0xd0]
mov qword [rdx + 0x3a0], rax
jmp 0x6e4018bc
mov rax, qword [rbx + 0x80]
mov qword [rax + 0x408], r15
jmp 0x6e401d9e
mov dword [rbx], 0xfefd
call sym.SSLEAY32.dll_gTLSv1_2_server_method
mov qword [rbx + 8], rax
jmp 0x6e401f06
mov dword [rsp + 0x20], 0x465
lea r9, str.s3_srvr.c
mov r8d, 0x183
jmp 0x6e40212d
mov r8d, 0xe3
mov edx, 0x8a
mov ecx, 0x14
mov dword [rsp + 0x20], 0x4e1
lea r9, str.s3_srvr.c
call fcn.6e440310
jmp 0x6e4015fe
mov rax, qword [rbx + 0x88]
mov r8d, dword [rax + 0x204]
lea rdx, [rax + 4]
lea rcx, [rax + 0x104]
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x6e401a5d
mov dword [rsp + 0x44], 0x28
mov dword [rsp + 0x20], 0x456
mov r8d, 0x134
mov edx, 0x8a
mov ecx, 0x14
lea r9, str.s3_srvr.c
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov r8d, 0x154
mov edx, 0x8a
mov ecx, 0x14
mov dword [rsp + 0x20], 0x52b
lea r9, str.s3_srvr.c
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov dword [rbx + 0x28], 4
or esi, 0xffffffff
jmp 0x6e401619
mov r8d, 0x44
mov edx, 0x8a
mov dword [rsp + 0x20], 0x578
mov ecx, 0x14
lea r9, str.s3_srvr.c
mov dword [rsp + 0x44], 0x50
call fcn.6e440310
mov r8d, dword [rsp + 0x44]
jmp 0x6e4015f1
mov dword [rsp + 0x44], 0x28
mov dword [rsp + 0x20], 0x44d
jmp 0x6e402211
test rdi, rdi
je 0x6e402337
mov qword [rax + 0x3a0], rdi
jmp 0x6e4018bc
mov rax, qword [rbx + 0x80]
cmp dword [rbx + 0xa8], 0
mov qword [rax + 0x408], r15
mov rax, qword [rbx + 0x130]
je 0x6e4020a0
jmp 0x6e401fd3
mov rcx, rbx
call sym.SSLEAY32.dll_gSL_get_ciphers
mov rcx, rbx
mov r8, rax
mov rax, qword [rbx + 0x130]
mov rdx, qword [rax + 0xe0]
call fcn.6e40ede0
test rax, rax
mov qword [rsp + 0x58], rax
jne 0x6e402358
mov dword [rsp + 0x44], 0x28
mov dword [rsp + 0x20], 0x50b
jmp 0x6e401e45
mov rdx, qword [rbx + 0x130]
mov rdx, qword [rdx + 0xd0]
mov qword [rax + 0x3a0], rdx
jmp 0x6e4018bc
xor edi, edi
jmp 0x6e4020a3
mov rdx, qword [rbx + 0x130]
jmp 0x6e401cab