Function at 0x140036ebc
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
movaps xmmword [rsp + 0x180], xmm6
mov qword [rsp + 0x168], rdx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0xd0], 0
xor eax, eax
lea rdx, [0x1400ef050]
movsxd rbp, dword [rax + rdx]
xor dword [rsp + rbp*4 + 0x70], 0x78c104ba
add rax, 4
cmp rax, 0x64
jne 0x140036f24
test rcx, rcx
mov eax, 0x26a9f02c
mov edx, 0x545882a1
cmovs edx, eax
mov dword [rsp + 0x68], edx
mov rax, rcx
neg rax
cmovl rax, rcx
mov qword [rsp + 0x160], rax
movabs rax, 0x8000000000000000
cmp rcx, rax
mov eax, 0x5f709ff
mov ecx, 0xf730426
cmove ecx, eax
mov dword [rsp + 0x64], ecx
mov eax, 0x2b7cb90e
xor ecx, ecx
mov qword [rsp + 0x130], rcx
lea r15, [0x1400ef274]
lea r12, [0x1400ef1c0]
xorps xmm6, xmm6
lea rbx, [0x1400eeff0]
lea rdi, [0x1400ef294]
lea rbp, [0x1400ef120]
lea r8, [0x1400ef27c]
lea r9, [0x1400ef204]
mov ecx, 0
mov qword [rsp + 0x128], rcx
mov ecx, 0
mov qword [rsp + 0x120], rcx
mov ecx, 0
mov qword [rsp + 0x118], rcx
mov ecx, 0
mov qword [rsp + 0x110], rcx
mov ecx, 0
mov qword [rsp + 0x108], rcx
mov ecx, 0
mov qword [rsp + 0x100], rcx
mov ecx, 0
mov qword [rsp + 0xf0], rcx
mov ecx, 0
mov qword [rsp + 0xf8], rcx
mov ecx, 0
mov qword [rsp + 0xe8], rcx
mov ecx, 0
mov qword [rsp + 0xe0], rcx
cmp eax, 0x490510eb
jg 0x1400370d6
cmp eax, 0x2b7cb90d
jg 0x140037130
cmp eax, 0x1940c861
jg 0x1400371d0
cmp eax, 0x1236ecd9
jle 0x140037355
cmp eax, 0x1236ecda
je 0x1400373b5
cmp eax, 0x17ecc182
jne 0x140037043
cmp byte [rsp + 0x118], 0
lea rdx, [0x1400ef170]
jne 0x1400370aa
xor eax, eax
movsxd rcx, dword [rax + rdx]
xor dword [rsp + rcx*4 + 0x70], 0xe97711d
add rax, 4
cmp rax, 0x48
jne 0x140037094
mov eax, dword [rsp + 0x8c]
mov ecx, 0x3c696147
xor eax, ecx
mov ecx, 1
mov qword [rsp + 0x48], rcx
mov cl, 1
mov qword [rsp + 0x118], rcx
mov r13, qword [rsp + 0x50]
jmp 0x140037043
cmp eax, 0x5fb8fe26
jg 0x14003716f
cmp eax, 0x55455781
jg 0x140037243
cmp eax, 0x490510ec
je 0x1400373d1
cmp eax, 0x4a68ab65
je 0x1400373f7
cmp eax, 0x520aa150
jne 0x140037043
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov qword [rsp + 0x140], rax
mov eax, dword [rsp + 0x80]
mov ecx, 0x709c39d6
xor eax, ecx
jmp 0x140037043
cmp eax, 0x40a872dc
jg 0x1400372ad
cmp eax, 0x2b7cb90e
je 0x1400374ff
cmp eax, 0x303dc6fd
je 0x140037538
cmp eax, 0x3736e2f6
jne 0x140037043
mov eax, dword [rsp + 0xd0]
mov ecx, 0x6e61c7e7
xor eax, ecx
jmp 0x140037043
cmp eax, 0x77b2009b
jg 0x140037311
cmp eax, 0x5fb8fe27
je 0x140037557
cmp eax, 0x6fb1eea3
je 0x140037584
cmp eax, 0x6ff39071
jne 0x140037043
mov eax, dword [rsp + 0xa8]
mov ecx, 0x21ec6cc2
xor eax, ecx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x2c], 0
mov rcx, qword [rsp + 0x178]
mov qword [rsp + 0x158], rcx
jmp 0x140037043
cmp eax, 0x1940c862
je 0x1400375d6
cmp eax, 0x26959245
je 0x1400375f3
cmp eax, 0x2745755d
jne 0x140037043
mov rax, qword [rsp + 0x170]
cmp byte [rsp + 0x110], 0
jne 0x14003721b
xor ecx, ecx
movsxd rdx, dword [rcx + r12]
xor dword [rsp + rdx*4 + 0x70], 0x4ae4c48a
add rcx, 4
cmp rcx, 0x44
jne 0x140037205
cmp qword [rsp + 0x48], rax
mov eax, 0x7a0a8ba4
mov ecx, 0x4a039b20
cmovg eax, ecx
xor eax, dword [rsp + 0x90]
mov cl, 1
mov qword [rsp + 0x110], rcx
jmp 0x140037043
cmp eax, 0x55455782
je 0x140037656
cmp eax, 0x56259861
je 0x14003767c
cmp eax, 0x5818fbf3
jne 0x140037043
cmp byte [rsp + 0xe0], 0
jne 0x140037286
xor eax, eax
movsxd rcx, dword [rax + r8]
xor dword [rsp + rcx*4 + 0x70], 0x2529ff56
add rax, 4
cmp rax, 0x10
jne 0x140037270
cmp r14d, 5
mov eax, 0x53c0b08d
mov ecx, 0x58b69435
cmovl eax, ecx
xor eax, dword [rsp + 0xc4]
mov cl, 1
mov qword [rsp + 0xe0], rcx
jmp 0x140037043
cmp eax, 0x40a872dd
je 0x14003769f
cmp eax, 0x431144aa
je 0x1400377c2
cmp eax, 0x46794484
jne 0x140037043
cmp byte [rsp + 0xf8], 0
jne 0x1400372f7
xor eax, eax
lea rcx, [0x1400ef250]
movsxd rcx, dword [rax + rcx]
xor dword [rsp + rcx*4 + 0x70], 0x69603052
add rax, 4
cmp rax, 0x24
jne 0x1400372da
mov eax, dword [rsp + 0xb0]
xor eax, dword [rsp + 0x68]
mov cl, 1
mov qword [rsp + 0xf8], rcx
jmp 0x140037043
cmp eax, 0x77b2009c
je 0x140037824
cmp eax, 0x77b8ca1c
je 0x14003789f
cmp eax, 0x7d360d45
jne 0x140037043
call fcn.140011264
lea r9, [0x1400ef204]
lea r8, [0x1400ef27c]
mov eax, dword [rsp + 0x78]
mov ecx, 0x7552c159
xor eax, ecx
jmp 0x140037043
cmp eax, 0x549b891
jne 0x140037984
cmp byte [rsp + 0xe8], 0
jne 0x140037382
xor eax, eax
movsxd rcx, dword [rax + r15]
xor dword [rsp + rcx*4 + 0x70], 0x1b98f6ac
add rax, 4
cmp rax, 8
jne 0x14003736c
cmp qword [rsp + 0x20], 0
mov eax, 0x1ca5e08e
mov ecx, 0xe8d38a
cmove eax, ecx
xor eax, dword [rsp + 0xb8]
mov cl, 1
mov qword [rsp + 0xe8], rcx
xor ecx, ecx
mov qword [rsp + 0x150], rcx
jmp 0x140037043
test r14d, r14d
mov eax, 0x6e61c7e7
mov ecx, 0x589f654f
cmove eax, ecx
xor eax, dword [rsp + 0xcc]
jmp 0x140037043
call fcn.140011264
lea r9, [0x1400ef204]
lea r8, [0x1400ef27c]
mov eax, dword [rsp + 0xa4]
mov ecx, 0x688a6ef6
xor eax, ecx
jmp 0x140037043
mov rax, qword [rsp + 0x150]
lea rcx, [rax + 1]
call fcn.14001afa7
mov rsi, rax
mov rax, qword [rax]
mov byte [rsi + rax + 0x10], 0x2d
mov rax, qword [rsi]
mov byte [rax + rsi + 0x11], 0
mov rax, qword [rsi]
inc rax
mov qword [rsi], rax
movaps xmmword [rsp + 0x30], xmm6
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rsp + rdx*4 + 0x30], 0x78c104ba
add rcx, 4
cmp rcx, 0xc
jne 0x14003742b
mov rcx, qword [rsp + 0x20]
lea r15, [rcx + 0x10]
test rcx, rcx
mov ebp, 0x5b7261a0
mov ecx, 0x765675a7
cmove ebp, ecx
mov ecx, 0x59f86fa6
xor ebx, ebx
lea r8, [0x1400ef27c]
lea r9, [0x1400ef204]
cmp ecx, 0xe97711d
je 0x1400378c5
cmp ecx, 0x23b3651a
je 0x1400374b8
cmp ecx, 0x59f86fa6
jne 0x14003746f
test bl, bl
lea rbx, [0x1400ef28c]
jne 0x1400374ae
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rsp + rdx*4 + 0x30], 0x7a21c57f
add rcx, 4
cmp rcx, 8
jne 0x140037498
mov ecx, dword [rsp + 0x30]
xor ecx, ebp
mov bl, 1
jmp 0x14003746f
lea rcx, [rsi + rax]
add rcx, 0x10
mov r14, r13
mov r12, qword [rsp + 0x20]
mov r8, qword [r12]
inc r8
mov rdx, r15
call sub.msvcrt.dll_memcpy
lea r9, [0x1400ef204]
lea r8, [0x1400ef27c]
mov rax, qword [rsi]
add rax, qword [r12]
mov qword [rsi], rax
mov ecx, dword [rsp + 0x38]
mov edx, 0xc77b0d8
xor ecx, edx
jmp 0x14003746f
cmp byte [rsp + 0x130], 0
jne 0x140037521
xor eax, eax
movsxd rcx, dword [rax + rbx]
xor dword [rsp + rcx*4 + 0x70], 0x7a21c57f
add rax, 4
cmp rax, 0x60
jne 0x14003750b
mov eax, dword [rsp + 0x70]
xor eax, dword [rsp + 0x64]
mov cl, 1
mov qword [rsp + 0x130], rcx
jmp 0x140037043
mov rax, qword [r13]
mov qword [rsp + 0x148], rax
mov eax, dword [rsp + 0x9c]
mov ecx, 0x308a9da2
xor eax, ecx
jmp 0x140037043
mov eax, dword [rsp + 0x94]
mov ecx, 0x79ca33c8
xor eax, ecx
mov dword [rsp + 0x2c], 4
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x20], r13
jmp 0x140037043
cmp byte [rsp + 0x108], 0
jne 0x1400375a6
xor eax, eax
movsxd rcx, dword [rax + r9]
xor dword [rsp + rcx*4 + 0x70], 0x2f7d4ef2
add rax, 4
cmp rax, 0x10
jne 0x140037590
test r13, r13
mov eax, 0x6f626770
mov ecx, 0x1ff7d350
cmove eax, ecx
xor eax, dword [rsp + 0x98]
mov cl, 1
mov qword [rsp + 0x108], rcx
xor ecx, ecx
mov qword [rsp + 0x148], rcx
jmp 0x140037043
cmp r14d, 5
mov eax, 0x6e61c7e7
mov ecx, 0x589f654f
cmove eax, ecx
xor eax, dword [rsp + 0xc8]
jmp 0x140037043
cmp byte [rsp + 0xf0], 0
lea rdx, [0x1400ef220]
jne 0x14003761c
xor eax, eax
movsxd rcx, dword [rax + rdx]
xor dword [rsp + rcx*4 + 0x70], 0x7cbfe930
add rax, 4
cmp rax, 0x28
jne 0x140037606
cmp dword [rsp + 0x2c], 4
mov eax, 0x781ad4d0
mov ecx, 0x1926e509
cmove eax, ecx
xor eax, dword [rsp + 0xac]
mov cl, 1
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0x48], rcx
mov r13, qword [rsp + 0x20]
jmp 0x140037043
call fcn.140011264
lea r9, [0x1400ef204]
lea r8, [0x1400ef27c]
mov eax, dword [rsp + 0x88]
mov ecx, 0xcc0d598
xor eax, ecx
jmp 0x140037043
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x150], rax
mov eax, dword [rsp + 0xbc]
mov ecx, 0x1b702526
xor eax, ecx
jmp 0x140037043
mov dword [rsp + 0x6c], r14d
mov r14, qword [rsp + 0x48]
mov rax, qword [rsp + 0x148]
lea rcx, [rax + 1]
call fcn.14001afa7
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov byte [rax + rcx + 0x10], 0x30
mov rcx, qword [rax]
mov byte [rcx + rax + 0x11], 0
inc qword [rax]
mov rbp, qword [rsp + 0x58]
movaps xmmword [rsp + 0x30], xmm6
xor eax, eax
movsxd rcx, dword [rax + rdi]
xor dword [rsp + rcx*4 + 0x30], 0x78c104ba
add rax, 4
cmp rax, 0xc
jne 0x1400376e3
lea rsi, [r13 + 0x10]
mov qword [rsp + 0x138], r13
test r13, r13
mov r13d, 0x5b7261a0
mov eax, 0x765675a7
cmove r13d, eax
mov eax, 0x59f86fa6
mov bl, 1
lea r8, [0x1400ef27c]
lea r9, [0x1400ef204]
mov r12d, dword [rsp + 0x38]
mov ecx, 0xc77b0d8
xor r12d, ecx
cmp eax, 0xe97711d
je 0x1400378ff
cmp eax, 0x23b3651a
je 0x140037754
cmp eax, 0x59f86fa6
jne 0x140037739
jmp 0x140037790
mov rax, qword [rbp]
lea rcx, [rax + rbp]
add rcx, 0x10
mov r15, qword [rsp + 0x138]
mov r8, qword [r15]
inc r8
mov rdx, rsi
call sub.msvcrt.dll_memcpy
lea r9, [0x1400ef204]
lea r8, [0x1400ef27c]
mov rax, qword [r15]
add qword [rbp], rax
mov eax, r12d
jmp 0x140037739
test bl, 1
lea rdx, [0x1400ef28c]
je 0x1400377b4
xor eax, eax
movsxd rcx, dword [rax + rdx]
xor dword [rsp + rcx*4 + 0x30], 0x7a21c57f
add rax, 4
cmp rax, 8
jne 0x14003779e
mov eax, dword [rsp + 0x30]
xor eax, r13d
xor ebx, ebx
jmp 0x14003772c
mov rcx, qword [rsp + 0x168]
sub rcx, qword [rsp + 0x140]
seto al
mov qword [rsp + 0x170], rcx
cmp byte [rsp + 0x120], 0
jne 0x1400377ff
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x70], 0x28a16966
add rcx, 4
cmp rcx, 0x50
jne 0x1400377e9
test al, al
mov eax, 0x2461bcfe
mov ecx, 0x66c82afe
cmovne eax, ecx
xor eax, dword [rsp + 0x84]
mov cl, 1
mov qword [rsp + 0x120], rcx
jmp 0x140037043
mov rcx, qword [rsp + 0x160]
call fcn.140003751
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp byte [rsp + 0x128], 0
lea rsi, [0x1400ef0c0]
jne 0x140037864
xor ecx, ecx
movsxd rdx, dword [rcx + rsi]
xor dword [rsp + rdx*4 + 0x70], 0x316dbcb9
add rcx, 4
cmp rcx, 0x58
jne 0x14003784e
test rax, rax
mov eax, 0x50ea6095
mov ecx, 0x41f1856f
cmove eax, ecx
xor eax, dword [rsp + 0x7c]
mov cl, 1
mov qword [rsp + 0x128], rcx
xor ecx, ecx
mov qword [rsp + 0x140], rcx
lea r8, [0x1400ef27c]
lea r9, [0x1400ef204]
jmp 0x140037043
mov eax, dword [rsp + 0xb4]
mov ecx, 0x1298831c
xor eax, ecx
mov r14d, 5
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0xd8], rcx
jmp 0x140037043
mov qword [rsp + 0xd8], rsi
mov eax, dword [rsp + 0xc0]
mov ecx, 0x90075b0
xor eax, ecx
xor r14d, r14d
lea r12, [0x1400ef1c0]
lea rbx, [0x1400eeff0]
lea rbp, [0x1400ef120]
lea r15, [0x1400ef274]
jmp 0x140037043
inc r14
seto al
mov qword [rsp + 0x178], r14
cmp byte [rsp + 0x100], 0
lea rbp, [0x1400ef214]
jne 0x140037936
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x70], 0x775b11f8
add rcx, 4
cmp rcx, 8
jne 0x140037920
test al, al
mov eax, 0x1fd17f0e
mov ecx, 0x3927ff93
cmovne eax, ecx
xor eax, dword [rsp + 0xa0]
mov cl, 1
mov qword [rsp + 0x100], rcx
lea r15, [0x1400ef274]
lea r12, [0x1400ef1c0]
lea rbx, [0x1400eeff0]
lea rbp, [0x1400ef120]
mov r13, qword [rsp + 0x138]
mov r14d, dword [rsp + 0x6c]
jmp 0x140037043
cmp eax, 0x1c8405e
jne 0x140037043
mov rax, qword [rsp + 0xd8]
movaps xmm6, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret