Function at 0x14016d030
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r13
push r14
lea rbp, [rsp - 0xf0]
mov eax, 0x1f0
call fcn.1401ef830
sub rsp, rax
mov rax, qword [0x140310170]
xor rax, rsp
mov qword [rbp + 0xc8], rax
mov r13, qword [rbp + 0x168]
xor esi, esi
mov r14, r8
mov qword [rbp + 0x40], rcx
shr r14, 3
xor ebx, ebx
mov dword [rsp + 0x30], esi
mov qword [rbp + 0x28], r14
lea eax, [r14 - 0x14]
test eax, 0xfffffff3
jne 0x14016e163
cmp r14d, 0x18
je 0x14016e163
test r9, r9
mov qword [rsp + 0x1e8], rdi
mov qword [rsp + 0x1e0], r12
mov eax, 0x200
lea r12, [0x14028fed0]
mov qword [rsp + 0x1d8], r15
cmovne r12, r9
cmp rdx, rax
mov qword [rbp + 0x30], r12
cmovb rdx, rax
lea rax, [rdx + 0x3f]
and rax, 0xffffffffffffffc0
mov qword [rbp - 0x18], rax
call fcn.140131310
mov qword [rsp + 0x38], rax
mov rdi, rax
test rax, rax
je 0x14016e12b
call fcn.1400f55d0
mov qword [rsp + 0x40], rax
mov r15, rax
test rax, rax
je 0x14016e0d8
mov rcx, rax
call fcn.1400f5750
mov rcx, r15
call fcn.1400f5840
mov rcx, r15
mov qword [rbp + 0x10], rax
call fcn.1400f5840
mov rcx, r15
mov qword [rbp + 0x38], rax
call fcn.1400f5840
mov rcx, r15
mov qword [rsp + 0x50], rax
call fcn.1400f5840
mov rcx, r15
mov qword [rbp + 8], rax
call fcn.1400f5840
mov rcx, r15
mov qword [rbp - 0x10], rax
call fcn.1400f5840
mov rcx, r15
mov qword [rbp + 0x18], rax
call fcn.1400f5840
mov rcx, r15
mov qword [rbp - 8], rax
call fcn.1400f5840
mov qword [rbp], rax
test rax, rax
je 0x14016e056
mov r8, qword [rbp - 0x18]
lea rdx, [0x14027e828]
movsxd rsi, r14d
dec r8d
mov rcx, rax
mov qword [rbp + 0x20], rsi
call fcn.14010d0a0
test eax, eax
je 0x14016e056
nop word [rax + rax]
test r13, r13
je 0x14016d1d7
mov ecx, dword [r13]
sub ecx, 1
je 0x14016d1c4
cmp ecx, 1
je 0x14016d1b7
xor eax, eax
jmp 0x14016d1dc
mov r8, r13
mov edx, ebx
xor ecx, ecx
call qword [r13 + reloc.WS2_32.dll_recv]
jmp 0x14016d1dc
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x14016d1d7
mov r8, qword [r13 + 8]
mov edx, ebx
xor ecx, ecx
call rax
mov eax, 1
inc ebx
mov dword [rsp + 0x48], ebx
test eax, eax
je 0x14016dbfb
mov rax, qword [0x14036bc48]
test rax, rax
jne 0x14016d239
cmp qword [0x14036be78], rax
je 0x14016d22b
lea edx, [rax + 1]
lea rcx, [0x14036be78]
call fcn.14012e5e0
mov rcx, rax
test rax, rax
je 0x14016d22b
mov rax, qword [rax + 0x38]
mov qword [0x14036bc48], rax
test rax, rax
jne 0x14016d239
call fcn.1400c1e20
lea rax, [0x140332138]
mov qword [0x14036bc48], rax
mov r8, qword [rax + 8]
test r8, r8
je 0x14016dbfb
mov edx, r14d
lea rcx, [rbp + 0xa8]
call r8
test eax, eax
jle 0x14016dbfb
mov r8, rsi
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0x68]
call fcn.14020f990
mov r8, rsi
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0x88]
call fcn.14020f990
lea rax, [rsi - 1]
test rax, rax
js 0x14016d29d
nop dword [rax]
add byte [rbp + rax + 0x68], 1
jne 0x14016d29d
sub rax, 1
jns 0x14016d290
xor eax, eax
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x68], rax
xor r8d, r8d
or dword [rsp + 0x68], 1
mov rdx, r12
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
call fcn.1400c7f80
test eax, eax
je 0x14016d340
mov r8, rsi
lea rdx, [rbp + 0xa8]
lea rcx, [rsp + 0x58]
call qword [rbp - 0x80]
test eax, eax
je 0x14016d340
mov rax, qword [rsp + 0x58]
cmp dword [rax + 8], 0x40
jg 0x14016e167
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x58]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov ebx, eax
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x14016d327
lea rcx, [rsp + 0x58]
call rdx
or dword [rsp + 0x68], 2
mov rax, qword [rsp + 0x58]
movsxd rdx, dword [rax + 0x60]
mov rcx, qword [rsp + 0x70]
call fcn.1400011e0
test ebx, ebx
je 0x14016d340
mov edi, 1
jmp 0x14016d342
xor edi, edi
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14016d3c0
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x14016d368
test byte [rsp + 0x68], 2
jne 0x14016d368
lea rcx, [rsp + 0x58]
call rdx
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14016d3c0
movsxd rdx, dword [rax + 0x60]
test edx, edx
je 0x14016d3c0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14016d3c0
test byte [rsp + 0x68], 4
jne 0x14016d3c0
call fcn.1400011e0
mov rax, qword [0x14036bc68]
mov rbx, qword [rsp + 0x70]
test rax, rax
je 0x14016d3a3
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016d3c0
mov edx, 1
xor ecx, ecx
call rax
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14016d3cf
call fcn.1400f7380
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14016d3de
call fcn.1400c1e20
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
test edi, edi
je 0x14016e044
mov qword [rbp - 0x68], rax
lea rcx, [rbp - 0x78]
or dword [rbp - 0x68], 1
xor r8d, r8d
mov rdx, r12
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
call fcn.1400c7f80
test eax, eax
je 0x14016d497
mov r8, rsi
lea rdx, [rbp + 0x68]
lea rcx, [rbp - 0x78]
call qword [rbp - 0x50]
test eax, eax
je 0x14016d497
mov rax, qword [rbp - 0x78]
cmp dword [rax + 8], 0x40
jg 0x14016e19c
lea rdx, [rbp + 0x88]
lea rcx, [rbp - 0x78]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov ebx, eax
mov rax, qword [rbp - 0x78]
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x14016d47f
lea rcx, [rbp - 0x78]
call rdx
or dword [rbp - 0x68], 2
mov rax, qword [rbp - 0x78]
movsxd rdx, dword [rax + 0x60]
mov rcx, qword [rbp - 0x60]
call fcn.1400011e0
test ebx, ebx
je 0x14016d497
mov edi, 1
jmp 0x14016d499
xor edi, edi
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x14016d510
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x14016d4bb
test byte [rbp - 0x68], 2
jne 0x14016d4bb
lea rcx, [rbp - 0x78]
call rdx
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x14016d510
movsxd rdx, dword [rax + 0x60]
test edx, edx
je 0x14016d510
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x14016d510
test byte [rbp - 0x68], 4
jne 0x14016d510
call fcn.1400011e0
mov rax, qword [0x14036bc68]
mov rbx, qword [rbp - 0x60]
test rax, rax
je 0x14016d4f3
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016d510
mov edx, 1
xor ecx, ecx
call rax
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x14016d51e
call fcn.1400f7380
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x14016d52c
call fcn.1400c1e20
xor eax, eax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
test edi, edi
je 0x14016e044
xor ecx, ecx
test r14d, r14d
jle 0x14016d5bb
cmp r14d, 0x20
jb 0x14016d5bb
mov edx, r14d
and edx, 0x8000001f
jge 0x14016d56d
dec edx
or edx, 0xffffffe0
inc edx
mov eax, r14d
sub eax, edx
movsxd rdx, eax
nop word [rax + rax]
movdqu xmm0, xmmword [rbp + rcx + 0x48]
movdqu xmm1, xmmword [rbp + rcx + 0x88]
pxor xmm1, xmm0
movdqu xmmword [rbp + rcx + 0x48], xmm1
movdqu xmm0, xmmword [rbp + rcx + 0x58]
movdqu xmm1, xmmword [rbp + rcx + 0x98]
pxor xmm1, xmm0
movdqu xmmword [rbp + rcx + 0x58], xmm1
add rcx, 0x20
cmp rcx, rdx
jl 0x14016d580
cmp rcx, rsi
jge 0x14016d5d4
movzx eax, byte [rbp + rcx + 0x88]
xor byte [rbp + rcx + 0x48], al
inc rcx
cmp rcx, rsi
jl 0x14016d5c0
or byte [rbp + 0x48], 0x80
lea rcx, [rbp + 0x48]
mov rdi, qword [rbp + 8]
mov edx, r14d
or byte [rbp + rsi + 0x47], 1
mov r8, rdi
call fcn.14009b580
test rax, rax
je 0x14016dbfb
mov r9d, 1
mov qword [rsp + 0x20], r13
mov r8, r15
mov rcx, rdi
lea edx, [r9 + 0x31]
call fcn.140166b60
test eax, eax
jg 0x14016d626
jne 0x14016dbfb
mov ebx, dword [rsp + 0x48]
jmp 0x14016d1a0
test r13, r13
je 0x14016d6a3
mov ecx, dword [r13]
sub ecx, 1
je 0x14016d653
cmp ecx, 1
jne 0x14016dbfb
xor edx, edx
mov r8, r13
lea ecx, [rdx + 2]
call qword [r13 + reloc.WS2_32.dll_recv]
test eax, eax
je 0x14016dbfb
jmp 0x14016d667
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x14016d667
mov r8, qword [r13 + 8]
xor edx, edx
lea ecx, [rdx + 2]
call rax
mov ecx, dword [r13]
sub ecx, 1
je 0x14016d68f
cmp ecx, 1
jne 0x14016dbfb
xor edx, edx
mov r8, r13
lea ecx, [rdx + 3]
call qword [r13 + reloc.WS2_32.dll_recv]
test eax, eax
je 0x14016dbfb
jmp 0x14016d6a3
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x14016d6a3
mov r8, qword [r13 + 8]
xor edx, edx
lea ecx, [rdx + 3]
call rax
mov rcx, qword [rbp - 0x18]
lea r14, [rsi - 1]
mov rdi, qword [rsp + 0x50]
dec rcx
movabs rax, 0xcccccccccccccccd
xor r15d, r15d
mul rcx
mov r12, rdx
shr r12, 7
nop word [rax + rax]
test r15d, r15d
je 0x14016d71f
test r13, r13
je 0x14016d71f
mov ecx, dword [r13]
sub ecx, 1
je 0x14016d70b
cmp ecx, 1
jne 0x14016d6f8
mov r8, r13
mov edx, r15d
xor ecx, ecx
call qword [r13 + reloc.WS2_32.dll_recv]
test eax, eax
jne 0x14016d71f
mov r15, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov esi, dword [rsp + 0x30]
jmp 0x14016e058
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x14016d71f
mov r8, qword [r13 + 8]
mov edx, r15d
xor ecx, ecx
call rax
cmp dword [rdi + 0xc], 1
jge 0x14016d784
mov edx, 1
mov rcx, rdi
call fcn.14009b1e0
mov rdi, rax
test rax, rax
je 0x14016d79e
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsi]
test rbx, rbx
je 0x14016d777
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016d75a
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016d777
mov edx, 1
xor ecx, ecx
call rax
mov qword [rsi], rdi
mov rdi, rsi
mov dword [rsi + 0xc], 1
mov rax, qword [rdi]
mov dword [rdi + 0x10], 0
mov qword [rax], 0
mov dword [rdi + 8], 0
jmp 0x14016d7a3
mov rdi, qword [rsp + 0x50]
xor esi, esi
test r12d, r12d
js 0x14016d9e0
nop
mov rax, r14
test r14, r14
js 0x14016d7c5
add byte [rbp + rax + 0x68], 1
jne 0x14016d7c5
sub rax, 1
jns 0x14016d7b8
mov rdx, qword [rbp + 0x30]
lea rcx, [rbp - 0x48]
xor eax, eax
xor r8d, r8d
mov qword [rbp - 0x38], rax
or dword [rbp - 0x38], 1
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
call fcn.1400c7f80
test eax, eax
je 0x14016d858
mov r8, qword [rbp + 0x20]
lea rdx, [rbp + 0x68]
lea rcx, [rbp - 0x48]
call qword [rbp - 0x20]
test eax, eax
je 0x14016d858
mov rax, qword [rbp - 0x48]
cmp dword [rax + 8], 0x40
jg 0x14016e1d1
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x48]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov ebx, eax
mov rax, qword [rbp - 0x48]
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x14016d840
lea rcx, [rbp - 0x48]
call rdx
or dword [rbp - 0x38], 2
mov rax, qword [rbp - 0x48]
movsxd rdx, dword [rax + 0x60]
mov rcx, qword [rbp - 0x30]
call fcn.1400011e0
test ebx, ebx
je 0x14016d858
mov edi, 1
jmp 0x14016d85a
xor edi, edi
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x14016d8d1
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x14016d87c
test byte [rbp - 0x38], 2
jne 0x14016d87c
lea rcx, [rbp - 0x48]
call rdx
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x14016d8d1
movsxd rdx, dword [rax + 0x60]
test edx, edx
je 0x14016d8d1
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14016d8d1
test byte [rbp - 0x38], 4
jne 0x14016d8d1
call fcn.1400011e0
mov rax, qword [0x14036bc68]
mov rbx, qword [rbp - 0x30]
test rax, rax
je 0x14016d8b4
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016d8d1
mov edx, 1
xor ecx, ecx
call rax
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x14016d94a
mov rax, qword [rbx]
test rax, rax
je 0x14016d8f0
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x14016d8f0
mov rcx, rbx
call rdx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14016d8fe
call fcn.14009a300
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14016d90c
call fcn.14009a300
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14016d91a
call fcn.1400c1e20
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016d92d
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016d94a
mov edx, 1
xor ecx, ecx
call rax
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14016d958
call fcn.1400c1e20
xor eax, eax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
test edi, edi
je 0x14016e03f
mov rbx, qword [rbp + 0x10]
lea rcx, [rbp + 0x48]
mov rdi, qword [rbp + 0x28]
mov r8, rbx
mov edx, edi
call fcn.14009b580
test rax, rax
je 0x14016d6f8
lea r8d, [rdi*8]
mov rdx, rbx
imul r8d, esi
mov rcx, rbx
call fcn.14010d0a0
test eax, eax
je 0x14016d6f8
mov rdi, qword [rsp + 0x50]
mov r8, rbx
mov rdx, rdi
mov rcx, rdi
call fcn.14011e340
test eax, eax
je 0x14016d6f8
inc esi
cmp esi, r12d
jle 0x14016d7b0
jmp 0x14016d9e4
mov rbx, qword [rbp + 0x10]
mov rdx, qword [rbp - 0x18]
mov rcx, rdi
dec edx
call fcn.14009b920
test eax, eax
je 0x14016d6f8
mov rsi, qword [rbp - 0x10]
mov rdx, rdi
mov rcx, rsi
call fcn.14009b410
test rax, rax
je 0x14016d6f8
mov r8, qword [rbp]
mov rdx, rsi
mov rcx, rsi
call fcn.14011e340
test eax, eax
je 0x14016d6f8
mov rdx, qword [rbp + 8]
mov rcx, rbx
call fcn.14010ce90
test eax, eax
je 0x14016d6f8
mov rsi, qword [rsp + 0x40]
mov r9, rbx
mov r8, qword [rbp - 0x10]
xor ecx, ecx
mov rdx, qword [rbp + 0x18]
mov qword [rsp + 0x20], rsi
call fcn.140157b30
test eax, eax
je 0x14016e031
mov rdx, qword [rbp + 0x18]
lea r8, [0x14027e828]
mov rcx, rbx
call fcn.14011e6f0
test eax, eax
je 0x14016e031
mov rdx, qword [rbp - 0x10]
mov r8, rbx
mov rcx, qword [rbp - 8]
call fcn.14011e6f0
test eax, eax
je 0x14016e031
mov rdx, qword [rbp]
mov rcx, qword [rbp - 8]
call fcn.14009b7a0
test eax, eax
js 0x14016dacd
mov r9d, 1
mov qword [rsp + 0x20], r13
mov r8, rsi
mov rsi, qword [rbp - 8]
mov rcx, rsi
lea edx, [r9 + 0x31]
call fcn.140166b60
test eax, eax
jg 0x14016daf7
jne 0x14016d6f8
inc r15d
cmp r15d, 0x1000
jl 0x14016d6d0
mov rsi, qword [rbp + 0x20]
mov r14, qword [rbp + 0x28]
mov r15, qword [rsp + 0x40]
mov r12, qword [rbp + 0x30]
mov ebx, dword [rsp + 0x48]
jmp 0x14016d1a0
mov edx, 2
mov rcx, r13
lea r8d, [rdx - 1]
call fcn.1401667b0
test eax, eax
je 0x14016d6f8
mov rdi, qword [rbp]
lea r8, [0x14027e828]
mov rcx, rdi
mov rdx, rsi
call fcn.14011e6f0
mov r15, qword [rsp + 0x40]
test eax, eax
je 0x14016dbfb
mov r14, qword [rbp + 8]
mov r8, rdi
mov r9, r14
mov qword [rsp + 0x20], r15
xor edx, edx
mov rcx, rbx
call fcn.140157b30
test eax, eax
je 0x14016dbfb
mov edx, 2
mov rcx, rdi
call fcn.14009b4f0
test eax, eax
je 0x14016dbfb
mov r12, qword [rsp + 0x38]
mov r8, r15
mov rcx, r12
mov rdx, rsi
call fcn.140131450
test eax, eax
je 0x14016e04d
mov qword [rsp + 0x28], r12
mov r9, rsi
mov r12, qword [rbp + 0x38]
mov r8, rbx
mov rcx, r12
mov qword [rsp + 0x20], r15
mov rdx, rdi
call fcn.140138dd0
test eax, eax
je 0x14016dbfb
cmp dword [r12 + 8], 1
jne 0x14016dc09
mov rax, qword [r12]
cmp qword [rax], 1
jne 0x14016dc09
cmp dword [r12 + 0x10], 0
jne 0x14016dc09
lea r8, [0x14027e828]
mov rdx, rdi
mov rcx, rdi
call fcn.14011e340
test eax, eax
je 0x14016dbfb
mov rax, qword [rsp + 0x38]
mov r9, rsi
mov qword [rsp + 0x28], rax
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0x20], r15
mov rcx, r12
call fcn.140138dd0
test eax, eax
jne 0x14016dba7
mov rdi, qword [rsp + 0x38]
mov esi, dword [rsp + 0x30]
jmp 0x14016e058
mov edx, 3
mov rcx, r13
lea r8d, [rdx - 2]
call fcn.1401667b0
test eax, eax
je 0x14016dbfb
mov dword [rsp + 0x30], 1
nop word [rax + rax]
mov r13, qword [rbp + 0x40]
mov rbx, qword [r13 + 0x10]
test rbx, rbx
je 0x14016dcb7
mov rdi, qword [rbx]
test rdi, rdi
je 0x14016dc7b
test byte [rbx + 0x14], 2
jne 0x14016dc7b
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016dc5e
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016dc82
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x14036bc68]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x14016dd43
test rax, rax
je 0x14016dc9a
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016dcbe
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x14036bc68]
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x14016dd64
mov rdi, qword [rbx]
test rdi, rdi
je 0x14016dd09
test byte [rbx + 0x14], 2
jne 0x14016dd09
test rax, rax
je 0x14016dce5
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016dd09
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x14036bc68]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x14016dd56
test rax, rax
je 0x14016dd1d
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016dd64
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x14036bc68]
jmp 0x14016dd64
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
jmp 0x14016dcbe
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
mov rbx, qword [r13 + 0x20]
test rbx, rbx
je 0x14016ddec
mov rdi, qword [rbx]
test rdi, rdi
je 0x14016ddab
test byte [rbx + 0x14], 2
jne 0x14016ddab
test rax, rax
je 0x14016dd87
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016ddab
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x14036bc68]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x14016ddde
test rax, rax
je 0x14016ddbf
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016ddec
mov edx, 1
xor ecx, ecx
call rax
jmp 0x14016ddec
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
test rsi, rsi
je 0x14016dea0
call fcn.14009b110
mov rbx, rax
test rax, rax
je 0x14016dea0
mov rdx, rsi
mov rcx, rax
call fcn.14009b410
test rax, rax
jne 0x14016dea2
mov rdi, qword [rbx]
test rdi, rdi
je 0x14016de58
test byte [rbx + 0x14], 2
jne 0x14016de58
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016de3b
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016de5f
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x14036bc68]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x14016de92
test rax, rax
je 0x14016de73
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016dea0
mov edx, 1
xor ecx, ecx
call rax
jmp 0x14016dea0
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
xor ebx, ebx
mov qword [r13 + 0x10], rbx
test r14, r14
je 0x14016df5a
call fcn.14009b110
mov rbx, rax
test rax, rax
je 0x14016df5a
mov rdx, r14
mov rcx, rax
call fcn.14009b410
test rax, rax
jne 0x14016df5c
mov rdi, qword [rbx]
test rdi, rdi
je 0x14016df12
test byte [rbx + 0x14], 2
jne 0x14016df12
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016def5
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016df19
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x14036bc68]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x14016df4c
test rax, rax
je 0x14016df2d
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016df5a
mov edx, 1
xor ecx, ecx
call rax
jmp 0x14016df5a
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
xor ebx, ebx
mov qword [r13 + 0x18], rbx
call fcn.14009b110
mov rbx, rax
test rax, rax
je 0x14016e00b
mov rdx, r12
mov rcx, rax
call fcn.14009b410
test rax, rax
jne 0x14016e00d
mov rdi, qword [rbx]
test rdi, rdi
je 0x14016dfc3
test byte [rbx + 0x14], 2
jne 0x14016dfc3
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016dfa6
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016dfca
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x14036bc68]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x14016dffd
test rax, rax
je 0x14016dfde
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call fcn.1402196e8
mov rax, qword [0x14036bc68]
test rax, rax
je 0x14016e00b
mov edx, 1
xor ecx, ecx
call rax
jmp 0x14016e00b
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
xor ebx, ebx
cmp qword [r13 + 0x10], 0
mov qword [r13 + 0x20], rbx
je 0x14016e028
cmp qword [r13 + 0x18], 0
je 0x14016e028
test rbx, rbx
jne 0x14016dbfb
mov rdi, qword [rsp + 0x38]
xor esi, esi
jmp 0x14016e058
mov rdi, qword [rsp + 0x38]
mov r15, rsi
mov esi, dword [rsp + 0x30]
jmp 0x14016e058
mov r15, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov esi, eax
jmp 0x14016e058
mov esi, dword [rsp + 0x30]
mov rdi, r12
jmp 0x14016e058
mov esi, ebx
mov eax, dword [r15 + 0x34]
test eax, eax
je 0x14016e068
dec eax
mov dword [r15 + 0x34], eax
jmp 0x14016e0d0
dec dword [r15 + 0x28]
mov ecx, dword [r15 + 0x28]
mov rax, qword [r15 + 0x20]
mov r8d, dword [r15 + 0x30]
mov r9d, dword [rax + rcx*4]
cmp r9d, r8d
jae 0x14016e0c4
mov eax, dword [r15 + 0x18]
sub r8d, r9d
lea edx, [rax - 1]
sub eax, r8d
and edx, 0xf
mov dword [r15 + 0x18], eax
test r8d, r8d
je 0x14016e0c4
nop word [rax + rax]
dec r8d
test edx, edx
jne 0x14016e0bd
mov rax, qword [r15 + 8]
mov edx, reloc.WS2_32.dll_ntohs
mov rcx, qword [rax + 0x180]
mov qword [r15 + 8], rcx
jmp 0x14016e0bf
dec edx
test r8d, r8d
jne 0x14016e0a0
mov dword [r15 + 0x30], r9d
mov dword [r15 + 0x38], 0
mov rcx, r15
call fcn.1400f56b0
lea rcx, [rdi + 8]
call fcn.14009aff0
lea rcx, [rdi + 0x20]
call fcn.14009aff0
lea rcx, [rdi + 0x38]
call fcn.14009aff0
test byte [rdi + 0x60], 1
je 0x14016e12b
mov r8, qword [0x14036bc68]
test r8, r8
je 0x14016e10d
xor edx, edx
mov rcx, rdi
call r8
mov rcx, rdi
call fcn.1402196e8
mov r8, qword [0x14036bc68]
test r8, r8
je 0x14016e12b
mov edx, 1
xor ecx, ecx
call r8
mov r12, qword [rsp + 0x1e0]
mov eax, esi
mov rdi, qword [rsp + 0x1e8]
mov r15, qword [rsp + 0x1d8]
mov rcx, qword [rbp + 0xc8]
xor rcx, rsp
call fcn.1401ef4e0
add rsp, 0x1f0
pop r14
pop r13
pop rsi
pop rbx
pop rbp
ret
xor eax, eax
jmp 0x14016e145
lea r9, str.ctx__digest__md_size___EVP_MAX_MD_SIZE
mov r8d, 0x118
lea rdx, [0x14032dc38]
lea rcx, str._s__d_:_OpenSSL_internal_error__assertion_failed:__s_n
call fcn.1400c24c0
mov ecx, reloc.WS2_32.dll_shutdown
call fcn.14022a944
mov ecx, 3
call fcn.140221d40
int3
lea r9, str.ctx__digest__md_size___EVP_MAX_MD_SIZE
mov r8d, 0x118
lea rdx, [0x14032dc38]
lea rcx, str._s__d_:_OpenSSL_internal_error__assertion_failed:__s_n
call fcn.1400c24c0
mov ecx, reloc.WS2_32.dll_shutdown
call fcn.14022a944
mov ecx, 3
call fcn.140221d40
int3
lea r9, str.ctx__digest__md_size___EVP_MAX_MD_SIZE
mov r8d, 0x118
lea rdx, [0x14032dc38]
lea rcx, str._s__d_:_OpenSSL_internal_error__assertion_failed:__s_n
call fcn.1400c24c0
mov ecx, reloc.WS2_32.dll_shutdown
call fcn.14022a944
mov ecx, 3
call fcn.140221d40
int3