Function at 0x1400fbbd0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rbx
push r13
push r14
lea rbp, [r11 - 0x118]
sub rsp, 0x1f8
mov rax, qword [0x140177090]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov r13, qword [rbp + 0x168]
mov r14, r8
xor ebx, ebx
shr r14, 3
mov qword [rbp + 0x30], rcx
mov dword [rsp + 0x40], 0
lea eax, [r14 - 0x14]
mov qword [rbp + 0x18], r14
test eax, 0xfffffff3
jne 0x1400fd071
cmp r14d, 0x18
je 0x1400fd071
mov qword [r11 - 0x28], rsi
mov qword [r11 - 0x30], rdi
mov qword [r11 - 0x38], r12
test r9, r9
mov eax, 0x200
lea r12, [0x14014a8a0]
cmovne r12, r9
cmp rdx, rax
mov qword [r11 - 0x40], r15
cmovb rdx, rax
mov qword [rbp + 0x20], r12
lea rdi, [rdx + 0x3f]
and rdi, 0xffffffffffffffc0
mov qword [rbp + 0x28], rdi
call fcn.1400a4df0
mov r15, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400fd030
call fcn.1400cd2d0
mov rsi, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400fc274
mov rcx, r15
call fcn.1400a4f70
mov rcx, r15
call fcn.1400a5050
mov rcx, r15
mov qword [rbp + 0x10], rax
call fcn.1400a5050
mov rcx, r15
mov qword [rbp + 0x38], rax
call fcn.1400a5050
mov rcx, r15
mov qword [rbp - 0x20], rax
call fcn.1400a5050
mov rcx, r15
mov qword [rbp - 0x10], rax
call fcn.1400a5050
mov rcx, r15
mov qword [rbp - 0x28], rax
call fcn.1400a5050
mov rcx, r15
mov qword [rbp], rax
call fcn.1400a5050
mov rcx, r15
mov qword [rbp - 0x18], rax
call fcn.1400a5050
lea r8d, [rdi - 1]
lea rdx, [0x14013a768]
mov rcx, rax
mov qword [rbp - 8], rax
call fcn.14006f2c0
test eax, eax
je 0x1400fc274
movsxd rsi, r14d
mov qword [rbp + 8], rsi
test r13, r13
je 0x1400fbd56
mov ecx, dword [r13]
dec ecx
je 0x1400fbd43
dec ecx
je 0x1400fbd36
xor eax, eax
jmp 0x1400fbd5b
mov r8, r13
mov edx, ebx
xor ecx, ecx
call qword [r13 + reloc.WS2_32.dll_recv]
jmp 0x1400fbd5b
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x1400fbd56
mov r8, qword [r13 + 8]
mov edx, ebx
xor ecx, ecx
call rax
mov eax, 1
inc ebx
mov dword [rsp + 0x44], ebx
test eax, eax
je 0x1400fc26f
mov rax, qword [0x1401f2858]
test rax, rax
jne 0x1400fbdbc
cmp qword [0x1401f29b8], rax
je 0x1400fbdae
lea edx, [rax + 1]
lea rcx, [0x1401f29b8]
call fcn.1400c0b80
mov rcx, rax
test rax, rax
je 0x1400fbdae
mov rax, qword [rax + 0x38]
mov qword [0x1401f2858], rax
test rax, rax
jne 0x1400fbea5
call fcn.14008c2e0
lea rax, [0x140187b50]
mov qword [0x1401f2858], rax
mov r8, qword [rax + 0x20]
test r8, r8
je 0x1400fbdd2
lea rcx, [rbp + 0xa0]
mov edx, r14d
call r8
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x60]
mov r8, rsi
call sub.MSVCR120.dll_memcpy
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x80]
mov r8, rsi
call sub.MSVCR120.dll_memcpy
lea rax, [rsi - 1]
test rax, rax
js 0x1400fbe0f
inc byte [rbp + rax + 0x60]
jne 0x1400fbe0f
dec rax
jns 0x1400fbe04
xor eax, eax
lea rcx, [rbp - 0x58]
xor r8d, r8d
mov qword [rbp - 0x48], rax
or dword [rbp - 0x48], 1
mov rdx, r12
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
call fcn.140095b00
test eax, eax
je 0x1400fbeb1
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x58]
mov r8, rsi
call qword [rbp - 0x30]
test eax, eax
je 0x1400fbeb1
mov rax, qword [rbp - 0x58]
cmp dword [rax + 8], 0x40
jg 0x1400fc796
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x58]
call qword [rax + 0x20]
mov ebx, eax
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1400fbe8b
lea rcx, [rbp - 0x58]
call rdx
or dword [rbp - 0x48], 2
mov rax, qword [rbp - 0x58]
movsxd r8, dword [rax + 0x60]
mov rcx, qword [rbp - 0x40]
xor edx, edx
call sub.MSVCR120.dll_memset
test ebx, ebx
je 0x1400fbeb1
mov edi, 1
jmp 0x1400fbeb3
mov qword [0x1401f2850], rcx
jmp 0x1400fbdbc
xor edi, edi
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x1400fbf2b
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1400fbed5
test byte [rbp - 0x48], 2
jne 0x1400fbed5
lea rcx, [rbp - 0x58]
call rdx
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x1400fbf2b
movsxd rdx, dword [rax + 0x60]
test edx, edx
je 0x1400fbf2b
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1400fbf2b
test byte [rbp - 0x48], 4
jne 0x1400fbf2b
call fcn.140011160
mov rax, qword [0x1401f2970]
mov rbx, qword [rbp - 0x40]
test rax, rax
je 0x1400fbf0d
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fbf2b
mov edx, 1
xor ecx, ecx
call rax
mov rbx, qword [rbp - 0x38]
test rbx, rbx
je 0x1400fbfa5
mov rax, qword [rbx]
test rax, rax
je 0x1400fbf4a
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x1400fbf4a
mov rcx, rbx
call rdx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400fbf58
call fcn.140085170
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400fbf66
call fcn.140085170
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400fbf74
call fcn.14008c2e0
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fbf87
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fbfa5
mov edx, 1
xor ecx, ecx
call rax
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1400fbfb3
call fcn.14008c2e0
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
test edi, edi
je 0x1400fc26f
mov qword [rbp - 0x78], rax
or dword [rbp - 0x78], 1
lea rcx, [rsp + 0x78]
xor r8d, r8d
mov rdx, r12
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
call fcn.140095b00
test eax, eax
je 0x1400fc071
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x78]
mov r8, rsi
call qword [rbp - 0x60]
test eax, eax
je 0x1400fc071
mov rax, qword [rsp + 0x78]
cmp dword [rax + 8], 0x40
jg 0x1400fc7cd
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x78]
call qword [rax + 0x20]
mov ebx, eax
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1400fc057
lea rcx, [rsp + 0x78]
call rdx
or dword [rbp - 0x78], 2
mov rax, qword [rsp + 0x78]
movsxd r8, dword [rax + 0x60]
mov rcx, qword [rbp - 0x70]
xor edx, edx
call sub.MSVCR120.dll_memset
test ebx, ebx
je 0x1400fc071
mov edi, 1
jmp 0x1400fc073
xor edi, edi
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400fc0ee
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1400fc098
test byte [rbp - 0x78], 2
jne 0x1400fc098
lea rcx, [rsp + 0x78]
call rdx
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1400fc0ee
movsxd rdx, dword [rax + 0x60]
test edx, edx
je 0x1400fc0ee
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400fc0ee
test byte [rbp - 0x78], 4
jne 0x1400fc0ee
call fcn.140011160
mov rax, qword [0x1401f2970]
mov rbx, qword [rbp - 0x70]
test rax, rax
je 0x1400fc0d0
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fc0ee
mov edx, 1
xor ecx, ecx
call rax
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x1400fc168
mov rax, qword [rbx]
test rax, rax
je 0x1400fc10d
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x1400fc10d
mov rcx, rbx
call rdx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400fc11b
call fcn.140085170
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400fc129
call fcn.140085170
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400fc137
call fcn.14008c2e0
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fc14a
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fc168
mov edx, 1
xor ecx, ecx
call rax
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400fc176
call fcn.14008c2e0
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
test edi, edi
je 0x1400fc26f
xor ecx, ecx
test r14d, r14d
jle 0x1400fc1e8
cmp r14d, 0x10
jb 0x1400fc1e8
mov eax, r14d
xor edx, edx
and eax, 0x8000000f
jge 0x1400fc1b9
dec eax
or eax, 0xfffffff0
inc eax
mov r8d, r14d
sub r8d, eax
nop
movsxd rax, edx
add edx, 0x10
add rcx, 0x10
movdqu xmm0, xmmword [rbp + rax + 0x40]
movdqu xmm1, xmmword [rbp + rax + 0x80]
pxor xmm1, xmm0
movdqu xmmword [rbp + rax + 0x40], xmm1
cmp edx, r8d
jl 0x1400fc1c0
cmp rcx, rsi
jge 0x1400fc204
nop dword [rax]
movzx eax, byte [rbp + rcx + 0x80]
inc rcx
xor byte [rbp + rcx + 0x3f], al
cmp rcx, rsi
jl 0x1400fc1f0
or byte [rbp + 0x40], 0x80
mov rdi, qword [rbp - 0x10]
or byte [rbp + rsi + 0x3f], 1
lea rcx, [rbp + 0x40]
mov r8, rdi
mov edx, r14d
call fcn.14006e990
test rax, rax
je 0x1400fc26f
mov r9d, 1
mov r8, r15
mov rcx, rdi
lea edx, [r9 + 0x31]
mov qword [rsp + 0x20], r13
call fcn.1400fb040
test eax, eax
jg 0x1400fc24e
jne 0x1400fc26f
mov ebx, dword [rsp + 0x44]
jmp 0x1400fbd21
test r13, r13
je 0x1400fc2d1
mov ecx, dword [r13]
dec ecx
je 0x1400fc28b
dec ecx
jne 0x1400fc26f
xor edx, edx
mov r8, r13
lea ecx, [rdx + 2]
call qword [r13 + reloc.WS2_32.dll_recv]
test eax, eax
jne 0x1400fc29f
mov rsi, qword [rsp + 0x30]
mov eax, dword [r15 + 0x34]
test eax, eax
je 0x1400fcdc3
dec eax
mov dword [r15 + 0x34], eax
jmp 0x1400fce25
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x1400fc29f
mov r8, qword [r13 + 8]
xor edx, edx
lea ecx, [rdx + 2]
call rax
mov ecx, dword [r13]
dec ecx
je 0x1400fc2bd
dec ecx
jne 0x1400fc26f
xor edx, edx
mov r8, r13
lea ecx, [rdx + 3]
call qword [r13 + reloc.WS2_32.dll_recv]
test eax, eax
je 0x1400fc26f
jmp 0x1400fc2d1
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x1400fc2d1
mov r8, qword [r13 + 8]
xor edx, edx
lea ecx, [rdx + 3]
call rax
mov rcx, qword [rbp + 0x28]
mov rbx, qword [rbp - 0x20]
movabs rax, 0xcccccccccccccccd
dec rcx
xor r15d, r15d
lea r14, [rsi - 1]
mul rcx
mov r12, rdx
shr r12, 7
test r15d, r15d
je 0x1400fc339
test r13, r13
je 0x1400fc339
mov ecx, dword [r13]
dec ecx
je 0x1400fc325
dec ecx
jne 0x1400fc31b
mov r8, r13
mov edx, r15d
call qword [r13 + reloc.WS2_32.dll_recv]
test eax, eax
jne 0x1400fc339
mov r15, qword [rsp + 0x38]
jmp 0x1400fc26f
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x1400fc339
mov r8, qword [r13 + 8]
mov edx, r15d
xor ecx, ecx
call rax
cmp dword [rbx + 0xc], 1
jge 0x1400fc39b
mov edx, 1
mov rcx, rbx
call fcn.14006e620
mov rdi, rax
test rax, rax
je 0x1400fc3b3
mov rbx, qword [rbx]
test rbx, rbx
je 0x1400fc38d
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fc36f
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fc38d
mov edx, 1
xor ecx, ecx
call rax
mov rbx, qword [rbp - 0x20]
mov qword [rbx], rdi
mov dword [rbx + 0xc], 1
mov rax, qword [rbx]
mov dword [rbx + 0x10], 0
mov qword [rax], 0
mov dword [rbx + 8], 0
xor esi, esi
test r12d, r12d
js 0x1400fc611
nop
mov rax, r14
test r14, r14
js 0x1400fc3d3
inc byte [rbp + rax + 0x60]
jne 0x1400fc3d3
dec rax
jns 0x1400fc3c8
mov rdx, qword [rbp + 0x20]
xor eax, eax
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x58], rax
or dword [rsp + 0x58], 1
xor r8d, r8d
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
call fcn.140095b00
test eax, eax
je 0x1400fc479
mov r8, qword [rbp + 8]
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x48]
call qword [rsp + reloc.WS2_32.dll_WSASetLastError]
test eax, eax
je 0x1400fc479
mov rax, qword [rsp + 0x48]
cmp dword [rax + 8], 0x40
jg 0x1400fc804
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x48]
call qword [rax + 0x20]
mov ebx, eax
mov rax, qword [rsp + 0x48]
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1400fc45e
lea rcx, [rsp + 0x48]
call rdx
or dword [rsp + 0x58], 2
mov rax, qword [rsp + 0x48]
movsxd r8, dword [rax + 0x60]
mov rcx, qword [rsp + 0x60]
xor edx, edx
call sub.MSVCR120.dll_memset
test ebx, ebx
je 0x1400fc479
mov edi, 1
jmp 0x1400fc47b
xor edi, edi
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1400fc4fa
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x1400fc4a1
test byte [rsp + 0x58], 2
jne 0x1400fc4a1
lea rcx, [rsp + 0x48]
call rdx
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1400fc4fa
movsxd rdx, dword [rax + 0x60]
test edx, edx
je 0x1400fc4fa
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400fc4fa
test byte [rsp + 0x58], 4
jne 0x1400fc4fa
call fcn.140011160
mov rax, qword [0x1401f2970]
mov rbx, qword [rsp + 0x60]
test rax, rax
je 0x1400fc4dc
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fc4fa
mov edx, 1
xor ecx, ecx
call rax
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400fc575
mov rax, qword [rbx]
test rax, rax
je 0x1400fc51a
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x1400fc51a
mov rcx, rbx
call rdx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1400fc528
call fcn.140085170
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400fc536
call fcn.140085170
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400fc544
call fcn.14008c2e0
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fc557
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fc575
mov edx, 1
xor ecx, ecx
call rax
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400fc584
call fcn.14008c2e0
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
test edi, edi
je 0x1400fc31b
mov rdi, qword [rbp + 0x10]
mov rbx, qword [rbp + 0x18]
lea rcx, [rbp + 0x40]
mov r8, rdi
mov edx, ebx
call fcn.14006e990
test rax, rax
je 0x1400fc31b
lea r8d, [rbx*8]
mov rdx, rdi
mov rcx, rdi
imul r8d, esi
call fcn.14006f2c0
test eax, eax
je 0x1400fc31b
mov rbx, qword [rbp - 0x20]
mov r8, rdi
mov rdx, rbx
mov rcx, rbx
call fcn.1400c9010
test eax, eax
je 0x1400fc31b
inc esi
cmp esi, r12d
jle 0x1400fc3c0
jmp 0x1400fc615
mov rdi, qword [rbp + 0x10]
mov rax, qword [rbp + 0x28]
dec eax
js 0x1400fc31b
cdq
and edx, 0x3f
add eax, edx
mov ecx, eax
and eax, 0x3f
sub eax, edx
sar ecx, 6
mov r9d, eax
cmp ecx, dword [rbx + 8]
jge 0x1400fc31b
test eax, eax
jne 0x1400fc646
mov dword [rbx + 8], ecx
jmp 0x1400fc666
lea eax, [rcx + 1]
movsxd rdx, ecx
mov ecx, r9d
mov dword [rbx + 8], eax
mov rax, qword [rbx]
lea r8, [rax + rdx*8]
or rax, 0xffffffffffffffff
shl rax, cl
not rax
and qword [r8], rax
mov edx, dword [rbx + 8]
test edx, edx
jle 0x1400fc695
lea eax, [rdx - 1]
movsxd rcx, eax
mov rax, qword [rbx]
lea r8, [rax + rcx*8]
nop word [rax + rax]
mov rax, qword [r8]
lea r8, [r8 - 8]
test rax, rax
jne 0x1400fc692
dec edx
test edx, edx
jg 0x1400fc680
mov dword [rbx + 8], edx
mov rsi, qword [rbp - 0x28]
mov rdx, rbx
mov rcx, rsi
call fcn.14006e840
test rax, rax
je 0x1400fc31b
mov r8, qword [rbp - 8]
mov rdx, rsi
mov rcx, rsi
call fcn.1400c9010
test eax, eax
je 0x1400fc31b
mov rdx, qword [rbp - 0x10]
mov rcx, rdi
call fcn.14006f0c0
test eax, eax
je 0x1400fc31b
mov rsi, qword [rsp + 0x38]
mov r8, qword [rbp - 0x28]
mov rdx, qword [rbp]
mov r9, rdi
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.1400f9c00
test eax, eax
je 0x1400fcdb3
mov rdx, qword [rbp]
lea r8, [0x14013a768]
mov rcx, rdi
call fcn.1400c93c0
test eax, eax
je 0x1400fcdb3
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
mov r8, rdi
call fcn.1400c93c0
test eax, eax
je 0x1400fcdb3
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x18]
call fcn.14006eb80
test eax, eax
js 0x1400fc76c
mov r8, rsi
mov rsi, qword [rbp - 0x18]
mov r9d, 1
lea edx, [r9 + 0x31]
mov rcx, rsi
mov qword [rsp + 0x20], r13
call fcn.1400fb040
test eax, eax
jg 0x1400fc83b
jne 0x1400fc31b
inc r15d
cmp r15d, 0x1000
jl 0x1400fc2f7
mov rsi, qword [rbp + 8]
mov r14, qword [rbp + 0x18]
mov r15, qword [rsp + 0x38]
mov r12, qword [rbp + 0x20]
mov ebx, dword [rsp + 0x44]
jmp 0x1400fbd21
lea r9, str.ctx__digest__md_size___EVP_MAX_MD_SIZE
lea rdx, [0x140193470]
lea rcx, str._s__d_:_OpenSSL_internal_error__assertion_failed:__s_n
mov r8d, 0x10f
call fcn.140090b40
mov ecx, reloc.WS2_32.dll_shutdown
call qword [sym.imp.MSVCR120.dll_raise]
mov ecx, 3
call qword [sym.imp.MSVCR120.dll__exit]
int3
lea r9, str.ctx__digest__md_size___EVP_MAX_MD_SIZE
lea rdx, [0x140193470]
lea rcx, str._s__d_:_OpenSSL_internal_error__assertion_failed:__s_n
mov r8d, 0x10f
call fcn.140090b40
mov ecx, reloc.WS2_32.dll_shutdown
call qword [sym.imp.MSVCR120.dll_raise]
mov ecx, 3
call qword [sym.imp.MSVCR120.dll__exit]
int3
lea r9, str.ctx__digest__md_size___EVP_MAX_MD_SIZE
lea rdx, [0x140193470]
lea rcx, str._s__d_:_OpenSSL_internal_error__assertion_failed:__s_n
mov r8d, 0x10f
call fcn.140090b40
mov ecx, reloc.WS2_32.dll_shutdown
call qword [sym.imp.MSVCR120.dll_raise]
mov ecx, 3
call qword [sym.imp.MSVCR120.dll__exit]
int3
test r13, r13
je 0x1400fc87e
mov ecx, dword [r13]
dec ecx
je 0x1400fc867
dec ecx
jne 0x1400fc31b
lea edx, [rcx + 1]
mov r8, r13
lea ecx, [rdx + 1]
call qword [r13 + reloc.WS2_32.dll_recv]
test eax, eax
je 0x1400fc31b
jmp 0x1400fc87e
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x1400fc87e
mov r8, qword [r13 + 8]
mov edx, 1
lea ecx, [rdx + 1]
call rax
mov rbx, qword [rbp - 8]
lea r8, [0x14013a768]
mov rdx, rsi
mov rcx, rbx
call fcn.1400c93c0
mov r15, qword [rsp + 0x38]
test eax, eax
je 0x1400fc26f
mov r14, qword [rbp - 0x10]
mov r8, rbx
xor edx, edx
mov rcx, rdi
mov r9, r14
mov qword [rsp + 0x20], r15
call fcn.1400f9c00
test eax, eax
je 0x1400fc26f
mov edx, 2
mov rcx, rbx
call fcn.14006e910
test eax, eax
je 0x1400fc26f
mov r12, qword [rsp + 0x30]
mov r8, r15
mov rdx, rsi
mov rcx, r12
call fcn.1400cd410
test eax, eax
je 0x1400fcdbb
mov qword [rsp + 0x28], r12
mov r12, qword [rbp + 0x38]
mov r9, rsi
mov r8, rdi
mov rdx, rbx
mov rcx, r12
mov qword [rsp + 0x20], r15
call fcn.1400cb270
test eax, eax
je 0x1400fc26f
nop dword [rax]
cmp dword [r12 + 8], 1
jne 0x1400fc97d
mov rax, qword [r12]
cmp qword [rax], 1
jne 0x1400fc97d
cmp dword [r12 + 0x10], 0
jne 0x1400fc97d
lea r8, [0x14013a768]
mov rdx, rbx
mov rcx, rbx
call fcn.1400c9010
test eax, eax
je 0x1400fc26f
mov rax, qword [rsp + 0x30]
mov r9, rsi
mov r8, rdi
mov qword [rsp + 0x28], rax
mov rdx, rbx
mov rcx, r12
mov qword [rsp + 0x20], r15
call fcn.1400cb270
test eax, eax
jne 0x1400fc920
jmp 0x1400fc26f
mov edx, 3
mov rcx, r13
lea r8d, [rdx - 2]
call fcn.1400fac90
test eax, eax
je 0x1400fc26f
mov r13, qword [rbp + 0x30]
mov dword [rsp + 0x40], 1
mov rbx, qword [r13 + 0x10]
test rbx, rbx
je 0x1400fca27
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400fc9ea
test byte [rbx + 0x14], 2
jne 0x1400fc9ea
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fc9cc
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fc9f1
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x1400fcab5
test rax, rax
je 0x1400fca09
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fca2e
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x1400fcad6
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400fca7a
test byte [rbx + 0x14], 2
jne 0x1400fca7a
test rax, rax
je 0x1400fca55
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fca7a
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x1400fcac8
test rax, rax
je 0x1400fca8e
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcad6
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
jmp 0x1400fcad6
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
jmp 0x1400fca2e
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
mov rbx, qword [r13 + 0x20]
test rbx, rbx
je 0x1400fcb64
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400fcb22
test byte [rbx + 0x14], 2
jne 0x1400fcb22
test rax, rax
je 0x1400fcafd
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcb22
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x1400fcb56
test rax, rax
je 0x1400fcb36
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcb64
mov edx, 1
xor ecx, ecx
call rax
jmp 0x1400fcb64
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
test rsi, rsi
je 0x1400fcc1a
call fcn.14006e540
mov rbx, rax
test rax, rax
je 0x1400fcc1a
mov rdx, rsi
mov rcx, rax
call fcn.14006e840
test rax, rax
jne 0x1400fcc1c
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400fcbd1
test byte [rbx + 0x14], 2
jne 0x1400fcbd1
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcbb3
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcbd8
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x1400fcc0c
test rax, rax
je 0x1400fcbec
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcc1a
mov edx, 1
xor ecx, ecx
call rax
jmp 0x1400fcc1a
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
xor ebx, ebx
mov qword [r13 + 0x10], rbx
test r14, r14
je 0x1400fccd6
call fcn.14006e540
mov rbx, rax
test rax, rax
je 0x1400fccd6
mov rdx, r14
mov rcx, rax
call fcn.14006e840
test rax, rax
jne 0x1400fccd8
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400fcc8d
test byte [rbx + 0x14], 2
jne 0x1400fcc8d
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcc6f
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcc94
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x1400fccc8
test rax, rax
je 0x1400fcca8
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fccd6
mov edx, 1
xor ecx, ecx
call rax
jmp 0x1400fccd6
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
xor ebx, ebx
mov qword [r13 + 0x18], rbx
call fcn.14006e540
mov rbx, rax
test rax, rax
je 0x1400fcd89
mov rdx, r12
mov rcx, rax
call fcn.14006e840
test rax, rax
jne 0x1400fcd8b
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400fcd40
test byte [rbx + 0x14], 2
jne 0x1400fcd40
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcd22
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcd47
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x1400fcd7b
test rax, rax
je 0x1400fcd5b
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcd89
mov edx, 1
xor ecx, ecx
call rax
jmp 0x1400fcd89
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 0x1400fcda6
cmp qword [r13 + 0x18], 0
je 0x1400fcda6
test rbx, rbx
jne 0x1400fc26f
mov dword [rsp + 0x40], 0
jmp 0x1400fc26f
mov r15, rsi
jmp 0x1400fc26f
mov rsi, r12
jmp 0x1400fc274
dec dword [r15 + 0x28]
mov rax, qword [r15 + 0x20]
mov ecx, dword [r15 + 0x28]
mov r9d, dword [rax + rcx*4]
mov r8d, dword [r15 + 0x30]
cmp r9d, r8d
jae 0x1400fce19
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 0x1400fce19
dec r8d
test edx, edx
jne 0x1400fce12
mov rax, qword [r15 + 8]
mov edx, reloc.WS2_32.dll_ntohs
mov rcx, qword [rax + 0x180]
mov qword [r15 + 8], rcx
jmp 0x1400fce14
dec edx
test r8d, r8d
jne 0x1400fcdf5
mov dword [r15 + 0x30], r9d
mov dword [r15 + 0x38], 0
mov rcx, r15
call fcn.1400a4ed0
test rsi, rsi
je 0x1400fd030
lea rbx, [rsi + 8]
test rbx, rbx
je 0x1400fcebb
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400fce7e
test byte [rbx + 0x14], 2
jne 0x1400fce7e
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fce60
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fce85
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x1400fcf49
test rax, rax
je 0x1400fce9d
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcec2
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
lea rbx, [rsi + 0x20]
test rbx, rbx
je 0x1400fcf6a
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400fcf0e
test byte [rbx + 0x14], 2
jne 0x1400fcf0e
test rax, rax
je 0x1400fcee9
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcf0e
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x1400fcf5c
test rax, rax
je 0x1400fcf22
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcf6a
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
jmp 0x1400fcf6a
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
jmp 0x1400fcec2
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
lea rbx, [rsi + 0x38]
test rbx, rbx
je 0x1400fcfff
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400fcfb6
test byte [rbx + 0x14], 2
jne 0x1400fcfb6
test rax, rax
je 0x1400fcf91
xor edx, edx
mov rcx, rdi
call rax
mov rcx, rdi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcfb6
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
mov ecx, dword [rbx + 0x14]
test cl, 1
je 0x1400fcff1
test rax, rax
je 0x1400fcfca
xor edx, edx
mov rcx, rbx
call rax
mov rcx, rbx
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1400fcfff
mov edx, 1
xor ecx, ecx
call rax
mov rax, qword [0x1401f2970]
jmp 0x1400fcfff
bts ecx, 0xf
mov qword [rbx], 0
mov dword [rbx + 0x14], ecx
test byte [rsi + 0x60], 1
je 0x1400fd030
test rax, rax
je 0x1400fd011
xor edx, edx
mov rcx, rsi
call rax
mov rcx, rsi
call qword [case.0x140054204.2]
mov r8, qword [0x1401f2970]
test r8, r8
je 0x1400fd030
mov edx, 1
xor ecx, ecx
call r8
mov eax, dword [rsp + 0x40]
mov r12, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov rsi, qword [rsp + 0x1f0]
mov r15, qword [rsp + 0x1d8]
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.140129b50
add rsp, 0x1f8
pop r14
pop r13
pop rbx
pop rbp
ret
xor eax, eax
jmp 0x1400fd054