Function at 0x140100180
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x140177090]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0xe0]
xor ebp, ebp
mov r13d, r9d
dec eax
mov qword [rsp + 0x38], r8
mov dword [rsp + 0x34], edx
mov qword [rsp + 0x40], rcx
mov esi, ebp
mov dword [rsp + 0x30], ebp
cmp eax, 0x29
jl 0x140100524
mov r15d, eax
sub r15d, r9d
jns 0x1401001e7
mov dword [rsp + 0x30], 1
mov r15d, ebp
mov r13d, eax
lea edi, [rax - 0x14]
lea ebx, [rax + rdi]
test ebx, ebx
jle 0x140100502
mov rax, qword [0x1401f2978]
mov dword [0x14017bd2c], ebp
test rax, rax
je 0x140100224
lea r8, [0x1401c75b8]
mov r9d, 0x7c
mov edx, ebx
xor ecx, ecx
mov dword [0x14017bd84], ebp
mov dword [rsp + 0x20], ebp
call rax
lea rdx, [0x1401c75b8]
movsxd rcx, ebx
mov r8d, 0x7c
call qword [0x14013ac78]
mov rsi, rax
mov rax, qword [0x1401f2978]
test rax, rax
je 0x140100265
lea r8, [0x1401c75b8]
mov r9d, 0x7c
mov edx, ebx
mov rcx, rsi
mov dword [rsp + 0x20], 1
call rax
test rsi, rsi
je 0x140100502
movsxd r12, edi
movsxd rbx, r15d
xor edx, edx
lea r14, [r12 + rsi]
mov r8, rbx
mov rcx, r14
call sub.MSVCR120.dll_memset
mov rdx, qword [rsp + 0x38]
lea rcx, [rbx + r14]
movsxd r8, r13d
call sub.MSVCR120.dll_memcpy
lea r15, [r14 + 0x14]
lea r13, [0x14014a8a0]
mov ebx, socket
lea rcx, [rsp + 0x48]
mov r8, r15
mov r9d, edi
mov edx, ebx
mov qword [rsp + 0x20], r13
call fcn.1401005b0
test eax, eax
jne 0x14010057a
lea rax, [r14 + 0x13]
lea rdx, [rsp + 0x48]
mov ecx, ebp
cmp rdx, rax
ja 0x1401002e0
lea rax, [rsp + 0x5b]
cmp rax, r14
jae 0x1401002fa
nop
movdqu xmm1, xmmword [r14]
movdqu xmm0, xmmword [rsp + 0x48]
mov ecx, reloc.WS2_32.dll_recv
pxor xmm1, xmm0
movdqu xmmword [rsp + 0x48], xmm1
movsxd rdx, ecx
cmp rdx, rbx
jge 0x140100327
lea rax, [rsp + 0x48]
sub r14, rax
nop word [rax + rax]
lea rcx, [rsp + 0x48]
add rcx, rdx
inc rdx
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
cmp rdx, rbx
jl 0x140100310
lea r8, [rsp + 0x48]
mov r9d, ebx
mov edx, edi
mov rcx, rsi
mov qword [rsp + 0x20], r13
call fcn.1401005b0
test eax, eax
jne 0x14010057a
mov edx, ebp
test edi, edi
jle 0x14010039e
cmp edi, 0x10
jb 0x14010039e
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rcx + r15]
lea r8, [rcx + rsi]
cmp rsi, rax
ja 0x140100369
cmp r8, r15
jae 0x14010039e
mov eax, edi
and eax, 0x8000000f
jge 0x140100379
dec eax
or eax, 0xfffffff0
inc eax
mov ecx, edi
sub ecx, eax
nop dword [rax]
movsxd rax, edx
add edx, 0x10
movdqu xmm1, xmmword [rax + r15]
movdqu xmm0, xmmword [rax + rsi]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp edx, ecx
jl 0x140100380
movsxd rax, edx
cmp rax, r12
jge 0x1401003d1
mov rdx, r12
sub r15, rsi
lea rcx, [rax + rsi]
sub rdx, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r15 + rcx]
lea rcx, [rcx + 1]
xor byte [rcx - 1], al
dec rdx
jne 0x1401003c0
lea r8, [rsp + 0x60]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], r13
call fcn.140096000
test eax, eax
je 0x14010057a
lea rax, [rsp + 0x64]
mov r8, rsi
xor r9b, r9b
sub r8, rax
nop dword [rax]
lea rcx, [rsp + 0x64]
add rcx, rbp
add rbp, 5
movzx edx, byte [rcx + r8 + 1]
movzx eax, byte [rcx + r8 + 2]
xor al, byte [rcx - 2]
xor dl, byte [rcx - 3]
or dl, al
movzx eax, byte [rcx + r8 + 3]
xor al, byte [rcx - 1]
or dl, al
movzx eax, byte [rcx + r8]
xor al, byte [rcx - 4]
or dl, al
movzx eax, byte [rcx + r8 + 4]
xor al, byte [rcx]
or dl, al
or r9b, dl
cmp rbp, rbx
jb 0x140100400
test r9b, r9b
jne 0x140100524
cmp dword [rsp + 0x30], 0
jne 0x140100524
mov rax, rbx
cmp rbx, r12
jge 0x140100473
cmp byte [rax + rsi], 0
jne 0x140100473
inc rax
inc ebx
cmp rax, r12
jl 0x140100463
cmp ebx, edi
je 0x140100524
movsxd rax, ebx
cmp byte [rax + rsi], 1
jne 0x140100524
inc ebx
sub edi, ebx
cmp dword [rsp + 0x34], edi
jge 0x1401004b7
mov edx, 0x7a
lea r9, [0x1401c7618]
mov dword [rsp + 0x20], 0xa8
lea ecx, [rdx - 0x76]
lea r8d, [rdx - 0xd]
call fcn.140073540
or edi, 0xffffffff
jmp 0x1401004ca
mov rcx, qword [rsp + 0x40]
movsxd rdx, ebx
movsxd r8, edi
add rdx, rsi
call sub.MSVCR120.dll_memcpy
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1401004dd
xor edx, edx
mov rcx, rsi
call rax
mov rcx, rsi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x1401004fb
mov edx, 1
xor ecx, ecx
call rax
mov eax, edi
jmp 0x14010057d
mov edx, 0x7a
lea r9, [0x1401c7648]
mov dword [rsp + 0x20], 0x7f
lea ecx, [rdx - 0x76]
lea r8d, [rdx - 0x39]
call fcn.140073540
jmp 0x14010057a
mov edx, 0x7a
lea r9, str.....opensslopensslcrypto_rsa_rsa_oaep.c
mov dword [rsp + 0x20], 0xb5
lea ecx, [rdx - 0x76]
lea r8d, [rdx - 1]
call fcn.140073540
test rsi, rsi
je 0x14010057a
mov rax, qword [0x1401f2970]
test rax, rax
je 0x14010055c
xor edx, edx
mov rcx, rsi
call rax
mov rcx, rsi
call qword [case.0x140054204.2]
mov rax, qword [0x1401f2970]
test rax, rax
je 0x14010057a
mov edx, 1
xor ecx, ecx
call rax
or eax, 0xffffffff
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140129b50
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret