Function at 0x1402148d0
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push rbp
push rbx
mov rbp, rsp
mov eax, reloc.WS2_32.dll_getservbyport
call fcn.14038bb30
sub rsp, rax
mov eax, dword [rcx + 0x150]
mov rbx, rcx
test eax, eax
je 0x140214905
mov eax, dword [rcx + 0xd8]
shr eax, 7
not eax
and eax, 1
add rsp, 0x38
pop rbx
pop rbp
ret
mov rcx, qword [rcx + 0x148]
call fcn.1401fb230
test eax, eax
jne 0x14021491c
add rsp, 0x38
pop rbx
pop rbp
ret
test dword [rbx + 0xd8], 0x100
je 0x140214949
mov rcx, qword [rbx + 0x148]
call fcn.1401fb2f0
mov eax, dword [rbx + 0xd8]
shr eax, 7
not eax
and eax, 1
add rsp, 0x38
pop rbx
pop rbp
ret
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x30], r14
call fcn.14026a4f0
mov rdx, rax
lea r8, [rbx + 0x128]
xor r9d, r9d
mov rcx, rbx
call fcn.140242bf0
test eax, eax
jne 0x140214980
or dword [rbx + 0xd8], 0x100000
call fcn.1401ef820
mov rcx, rbx
call fcn.140211ea0
test eax, eax
jne 0x140214998
or dword [rbx + 0xd8], 0x40
mov esi, 0xffffffff
lea r8, [rbp + 0x18]
xor r9d, r9d
mov dword [rbx + 0xd0], esi
mov rcx, rbx
lea edx, [rsi + 0x58]
call fcn.1401fae40
mov rdi, rax
test rax, rax
je 0x140214a44
cmp dword [rax], 0
je 0x1402149cd
or dword [rbx + 0xd8], 0x10
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140214a33
cmp dword [rcx + 4], 0x102
jne 0x140214a28
call fcn.140200110
lea r8, str.ossl_x509v3_cache_extensions
mov edx, 0x1b9
lea rcx, [0x14042ff80]
call fcn.140200230
xor r8d, r8d
mov edx, 0xa8
lea ecx, [r8 + 0xb]
call fcn.140200330
or dword [rbx + 0xd8], 0x80
mov rcx, rdi
call fcn.14026a800
or dword [rbx + 0xd8], 1
jmp 0x140214a53
call fcn.140247630
mov dword [rbx + 0xd0], eax
mov rcx, rdi
call fcn.14026a800
or dword [rbx + 0xd8], 1
jmp 0x140214a53
cmp dword [rbp + 0x18], esi
je 0x140214a53
or dword [rbx + 0xd8], 0x80
xor r9d, r9d
lea r8, [rbp + 0x18]
mov edx, 0x297
mov rcx, rbx
call fcn.1401fae40
mov rdi, rax
test rax, rax
je 0x140214ad3
test byte [rbx + 0xd8], 0x10
jne 0x140214aa0
mov r8d, esi
mov edx, 0x55
mov rcx, rbx
call fcn.1401fae00
test eax, eax
jns 0x140214aa0
mov r8d, esi
mov edx, 0x56
mov rcx, rbx
call fcn.1401fae00
test eax, eax
js 0x140214aaa
or dword [rbx + 0xd8], 0x80
mov rcx, qword [rdi]
test rcx, rcx
je 0x140214ab9
call fcn.140247630
mov esi, eax
mov rcx, rdi
mov dword [rbx + 0xd4], esi
call fcn.14026a5d0
or dword [rbx + 0xd8], 0x400
jmp 0x140214ae2
cmp dword [rbp + 0x18], esi
je 0x140214ae2
or dword [rbx + 0xd8], 0x80
xor r9d, r9d
lea r8, [rbp + 0x18]
mov rcx, rbx
lea edx, [r9 + 0x53]
call fcn.1401fae40
xor r14d, r14d
mov rdx, rax
test rax, rax
je 0x140214b7c
mov dword [rbx + 0xdc], r14d
cmp dword [rax], r14d
jle 0x140214b34
mov rcx, qword [rax + 8]
movzx r8d, byte [rcx]
mov dword [rbx + 0xdc], r8d
cmp dword [rax], 1
jle 0x140214b34
mov rax, qword [rax + 8]
movzx ecx, byte [rax + 1]
shl ecx, 8
or ecx, r8d
mov dword [rbx + 0xdc], ecx
or dword [rbx + 0xd8], 2
mov rcx, rdx
call fcn.1401ff500
cmp dword [rbx + 0xdc], r14d
jne 0x140214b8c
call fcn.140200110
lea r8, str.ossl_x509v3_cache_extensions
mov edx, 0x1e2
lea rcx, [0x14042ff80]
call fcn.140200230
xor r8d, r8d
mov edx, 0xa9
lea ecx, [r8 + 0xb]
call fcn.140200330
jmp 0x140214b82
cmp dword [rbp + 0x18], 0xffffffff
je 0x140214b8c
or dword [rbx + 0xd8], 0x80
xor r9d, r9d
mov dword [rbx + 0xe0], r14d
lea r8, [rbp + 0x18]
mov rcx, rbx
lea edx, [r9 + 0x7e]
call fcn.1401fae40
mov rdi, rax
test rax, rax
je 0x140214c9d
or dword [rbx + 0xd8], 4
mov rcx, rax
mov dword [rbp + 0x18], r14d
call fcn.1401f0b40
mov ecx, dword [rbp + 0x18]
cmp ecx, eax
jge 0x140214c8c
lea rsi, [0x140000000]
nop word [rax + rax]
mov edx, ecx
mov rcx, rdi
call fcn.1401f0e40
mov rcx, rax
call fcn.140200a40
cmp eax, 0xb4
jg 0x140214c52
je 0x140214c49
sub eax, 0x81
cmp eax, 0xa
ja case.0x140214c11.134
cdqe
mov ecx, dword [rsi + rax*4 + 0x215034]
add rcx, rsi
jmp rcx
or dword [rbx + 0xe0], 1
jmp case.0x140214c11.134
or dword [rbx + 0xe0], 2
jmp case.0x140214c11.134
or dword [rbx + 0xe0], 4
jmp case.0x140214c11.134
or dword [rbx + 0xe0], 8
jmp case.0x140214c11.134
or dword [rbx + 0xe0], 0x10
jmp case.0x140214c11.134
or dword [rbx + 0xe0], 0x40
jmp case.0x140214c11.134
or dword [rbx + 0xe0], 0x20
jmp case.0x140214c11.134
cmp eax, 0x129
je 0x140214c6c
cmp eax, 0x38e
jne case.0x140214c11.134
or dword [rbx + 0xe0], 0x100
jmp case.0x140214c11.134
or dword [rbx + 0xe0], 0x80
inc dword [rbp + 0x18]
mov rcx, rdi
call fcn.1401f0b40
mov ecx, dword [rbp + 0x18]
cmp ecx, eax
jl 0x140214be0
lea rdx, [fcn.140250d10]
mov rcx, rdi
call fcn.1401f0b80
jmp 0x140214cad
cmp dword [rbp + 0x18], 0xffffffff
je 0x140214cad
or dword [rbx + 0xd8], 0x80
xor r9d, r9d
lea r8, [rbp + 0x18]
mov rcx, rbx
lea edx, [r9 + 0x47]
call fcn.1401fae40
test rax, rax
je 0x140214ced
cmp dword [rax], r14d
jle 0x140214cd3
mov rcx, qword [rax + 8]
movzx edx, byte [rcx]
jmp 0x140214cd6
mov edx, r14d
mov dword [rbx + 0xe4], edx
mov rcx, rax
or dword [rbx + 0xd8], 8
call fcn.1401ff500
jmp 0x140214cfd
cmp dword [rbp + 0x18], 0xffffffff
je 0x140214cfd
or dword [rbx + 0xd8], 0x80
xor r9d, r9d
lea r8, [rbp + 0x18]
mov rcx, rbx
lea edx, [r9 + 0x52]
call fcn.1401fae40
mov qword [rbx + 0xe8], rax
test rax, rax
jne 0x140214d2c
cmp dword [rbp + 0x18], 0xffffffff
je 0x140214d2c
or dword [rbx + 0xd8], 0x80
xor r9d, r9d
lea r8, [rbp + 0x18]
mov rcx, rbx
lea edx, [r9 + 0x5a]
call fcn.1401fae40
mov qword [rbx + 0xf0], rax
test rax, rax
jne 0x140214d5b
cmp dword [rbp + 0x18], 0xffffffff
je 0x140214d5b
or dword [rbx + 0xd8], 0x80
mov rcx, rbx
call fcn.1401fa570
mov rcx, rbx
mov rdi, rax
call fcn.1401fa580
mov rcx, rax
mov rdx, rdi
call fcn.1401f9b00
test eax, eax
jne 0x140214db8
mov rdx, qword [rbx + 0xf0]
mov rcx, rbx
or dword [rbx + 0xd8], 0x20
call fcn.140214410
test eax, eax
jne 0x140214db8
mov rcx, rbx
call fcn.1401fa540
mov rcx, rax
mov rdx, rbx
call fcn.1402146d0
test eax, eax
jne 0x140214db8
or dword [rbx + 0xd8], 0x2000
xor r9d, r9d
lea r8, [rbp + 0x18]
mov rcx, rbx
lea edx, [r9 + 0x55]
call fcn.1401fae40
mov qword [rbx + 0x108], rax
test rax, rax
jne 0x140214de7
cmp dword [rbp + 0x18], 0xffffffff
je 0x140214de7
or dword [rbx + 0xd8], 0x80
xor r9d, r9d
lea r8, [rbp + 0x18]
mov edx, 0x29a
mov rcx, rbx
call fcn.1401fae40
mov qword [rbx + 0x110], rax
test rax, rax
jne 0x140214e17
cmp dword [rbp + 0x18], 0xffffffff
je 0x140214e17
or dword [rbx + 0xd8], 0x80
mov rcx, rbx
call fcn.1402150d0
test eax, eax
jne 0x140214e2f
or dword [rbx + 0xd8], 0x80
jmp 0x140214e35
js 0x140215006
xor r9d, r9d
lea r8, [rbp + 0x18]
mov edx, 0x122
mov rcx, rbx
call fcn.1401fae40
mov qword [rbx + 0x118], rax
test rax, rax
jne 0x140214e65
cmp dword [rbp + 0x18], 0xffffffff
je 0x140214e65
or dword [rbx + 0xd8], 0x80
xor r9d, r9d
lea r8, [rbp + 0x18]
mov edx, 0x123
mov rcx, rbx
call fcn.1401fae40
mov qword [rbx + 0x120], rax
test rax, rax
jne 0x140214e95
cmp dword [rbp + 0x18], 0xffffffff
je 0x140214e95
or dword [rbx + 0xd8], 0x80
mov rcx, rbx
mov dword [rbp + 0x18], r14d
call fcn.1401fae20
mov ecx, dword [rbp + 0x18]
cmp ecx, eax
jge 0x140214f92
lea r14, [0x1402147c0]
mov edx, ecx
mov rcx, rbx
call fcn.1401fade0
mov rcx, rax
mov rsi, rax
call fcn.1401fa900
mov rcx, rax
call fcn.140200a40
mov edi, eax
cmp eax, 0x359
jne 0x140214ee3
or dword [rbx + 0xd8], 0x1000
mov rcx, rsi
call fcn.140249cf0
test eax, eax
je 0x140214f70
mov rcx, rsi
call fcn.1401fa900
mov rcx, rax
call fcn.140200a40
mov dword [rbp + 0x20], eax
test eax, eax
je 0x140214f88
mov r9d, 4
mov qword [rsp + 0x20], r14
lea rdx, [0x14042ff40]
lea rcx, [rbp + 0x20]
lea r8d, [r9 + 0xb]
call fcn.140200560
test rax, rax
je 0x140214f88
cmp edi, 0x52
je 0x140214f66
cmp edi, 0x55
je 0x140214f5a
cmp edi, 0x57
je 0x140214f4e
cmp edi, 0x5a
jne 0x140214f70
or dword [rbx + 0xd8], 0x20000
jmp 0x140214f70
or dword [rbx + 0xd8], 0x10000
jmp 0x140214f70
or dword [rbx + 0xd8], 0x80000
jmp 0x140214f70
or dword [rbx + 0xd8], 0x40000
inc dword [rbp + 0x18]
mov rcx, rbx
call fcn.1401fae20
mov ecx, dword [rbp + 0x18]
cmp ecx, eax
jl 0x140214eb3
jmp 0x140214f92
or dword [rbx + 0xd8], 0x200
mov rcx, rbx
call fcn.140211f10
or dword [rbx + 0xd8], 0x100
mov dword [rbx + 0x150], 1
call fcn.1401ef5f0
mov ecx, dword [rbx + 0xd8]
test ecx, 0x100080
jne 0x140214fd4
mov rcx, qword [rbx + 0x148]
call fcn.1401fb2f0
mov eax, 1
jmp 0x14021501e
test cl, cl
jns 0x140215006
call fcn.140200110
lea r8, str.ossl_x509v3_cache_extensions
mov edx, 0x27b
lea rcx, [0x14042ff80]
call fcn.140200230
xor r8d, r8d
mov edx, 0x9e
lea ecx, [r8 + 0xb]
call fcn.140200330
mov rcx, qword [rbx + 0x148]
or dword [rbx + 0xd8], 0x100
call fcn.1401fb2f0
xor eax, eax
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x30]
add rsp, 0x38
pop rbx
pop rbp
ret