Function at 0x140002390
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf0]
sub rsp, 0x1f0
mov rax, qword [0x14004d020]
xor rax, rsp
mov qword [rbp + 0xe0], rax
xor edx, edx
mov r8d, 0x105
lea rcx, [rbp - 0x30]
call fcn.140010ee0
mov r8d, 0x104
lea rdx, [rbp - 0x30]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edx, 0x5c
lea rcx, [rbp - 0x30]
call fcn.14001058c
mov byte [rax], 0
xor edi, edi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], dil
lea rax, [rbp - 0x30]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140002420
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x80]
call fcn.1400053b0
nop
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
movsd xmm0, qword [str._test.txt]
movsd qword [rbp - 0x60], xmm0
movzx eax, word [0x140045ce8]
mov word [rbp - 0x58], ax
lea rax, [rbp - 0x60]
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140002470
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov r15, qword [rbp - 0x70]
sub rax, r15
cmp rax, rbx
jb 0x140002920
lea r13, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
setae byte [rsp + 0x20]
mov r14, qword [rbp - 0x80]
cmovae r13, r14
mov qword [rsp + 0x28], rdi
lea r12, [r15 + rbx]
mov edi, 0xf
lea rsi, [rsp + 0x28]
cmp r12, rdi
jbe 0x14000254e
mov rdi, r12
cmp r12, 0x10
cmovb rdi, qword [0x140046ac8]
or rdi, 0xf
cmp rdi, rcx
jbe 0x1400024e5
mov rdi, rcx
jmp 0x1400024f1
mov eax, 0x16
cmp rdi, rax
cmovb rdi, rax
mov rcx, rdi
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x140002538
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002926
mov rcx, rax
call fcn.14000e828
test rax, rax
je 0x140002932
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140002549
test rcx, rcx
je 0x140002547
call fcn.14000e828
mov rsi, rax
jmp 0x140002549
xor esi, esi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], rdi
mov r8, r15
mov rdx, r13
mov rcx, rsi
call fcn.140010830
lea rcx, [r15 + rsi]
mov r8, rbx
lea rdx, [rbp - 0x60]
call fcn.140010830
mov byte [rsi + r12], 0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x1400025b8
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400025b3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002932
call fcn.14000e820
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rsp + 0x38]
movups xmmword [rsp + 0x58], xmm1
lea rdi, [rsp + 0x48]
movq rcx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 0x10
cmovae rdi, rcx
xor r12d, r12d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], 0xf
mov byte [rsp + 0x28], r12b
mov r8d, 0xc28
lea rdx, str.184121991601801721406868685215202221181211715033122072236122072292122072210012207542012752431414911714112117132232120375670104100513314173569133166169225211220722100207612012691483419760927970495420719620468686812193132483512691482020712920207410013691481671812187141520711220412691469117141121171322325133141735691331241644918187189676112514949156280207496136914834520772120207488136914852076420412691485285282629305285295301219916810052218716428529301220786173111871871872546681325051454245423348685181320516282051815254851986718714512117141121171509117132911714152052052541261861227187145173215686868301220513352522391968689117141521521467152152541920521913018714517561311220513312117150132051569117141224468118132192222252541751710612718714512205130121991352046782712205181254916868684668441961196868132051645253646868685254492218194187145122051811220515813131132187187187187911714122225254105669263187145193132751932176968681218713975192200696868175247173160696868172198187187187107465349335461105119106119106118106554045411064145421064655680151205121146101177998716713823323417961991921851462281171541041901501772373632501211004942179948285248203708015411224221136203771593037685393933524812610048336048107444841401043752524045393748454342107604448414011160414010437525240453937484543421076041401275312111610612510411010711012753121116106124737853939335248105837423549373533126100334210517231043342127531211161061137378223334335433541261004448485212610710739433233106465349335461106394341107737853939335248105142394332454235126100356245521041003233344037483373781755335410553533424812610094362454040371071131061161001081945423243515510010161001141061191271001654453233424810711510611612710054501261171171061161091004045473310033339474373786810515128134150185829520825520901352375532171581003525211818516516622019622291443721522526121210203186921872102148210403311421825124718096685250180241230181871451211714125468684685252688468685253468686852542822423161187145122152323122051631220518112205158525268100686813205189525486210205166187145121991281001931324824234207671269135193132491472828281265235756868201351725918518718711711811210611811811710611811611910611311468651771656868
lea rcx, [rsp + 0x28]
call fcn.1400053b0
nop
lea rdx, [0x140045cdc]
mov rcx, rdi
call fcn.140018988
mov rbx, rax
test rax, rax
je 0x1400026ba
xor edx, edx
lea r8d, [r12 + 2]
mov rcx, rax
call fcn.140018e7c
mov rcx, rbx
call fcn.140014ff8
movsxd rsi, eax
mov rcx, rbx
call fcn.14001b43c
mov rcx, rbx
call fcn.140018c08
test rsi, rsi
je 0x1400026ba
lea rdx, [0x140045cdc]
mov rcx, rdi
call fcn.140018988
mov rdi, rax
test rax, rax
je 0x1400026ba
mov rcx, rsi
call fcn.14000e86c
mov r15, rax
mov rcx, rdi
call fcn.14001b43c
mov r9, rdi
mov r8, rsi
lea edx, [r12 + 1]
mov rcx, r15
call fcn.14001c48c
mov rbx, rax
mov rcx, rdi
call fcn.140018c08
test rbx, rbx
jne 0x1400026c6
mov rcx, r15
call fcn.14000e820
lea rcx, str.hello_hello_hello_n
call fcn.1400011f0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x68]
call fcn.1400020b0
nop
movsd xmm0, qword [str.collAlautriV]
movsd qword [rbp - 0x40], xmm0
mov eax, dword [0x140046940]
mov dword [rbp - 0x38], eax
movzx eax, byte [0x140046944]
mov byte [rbp - 0x34], al
lea rcx, [rbp - 0x40]
call fcn.140023ce0
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, qword [rsp + 0x70]
sub rbx, qword [rsp + 0x68]
mov r9d, 4
mov r8d, 0x1000
mov rdx, rbx
xor ecx, ecx
call rax
mov rdi, rax
mov r9d, r12d
test rbx, rbx
je 0x140002773
mov r8, r12
mov rcx, qword [rsp + 0x68]
movzx edx, byte [rcx + r8]
xor dl, 0x44
mov byte [r8 + rdi], dl
inc r9d
lea r8, [r8 + 1]
movsxd rax, r9d
cmp rax, rbx
jb 0x140002753
movsd xmm0, qword [str.tcetorPlautriV]
movsd qword [rbp - 0x50], xmm0
mov eax, dword [0x140046970]
mov dword [rbp - 0x48], eax
movzx eax, word [0x140046974]
mov word [rbp - 0x44], ax
movzx eax, byte [0x140046976]
mov byte [rbp - 0x42], al
lea rcx, [rbp - 0x50]
call fcn.140023ce0
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea r9, [0x14004fc98]
mov r8d, 0x40
mov rdx, rbx
mov rcx, rdi
call rax
call rdi
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140002823
mov rdx, qword [rsp + 0x78]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002810
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000292c
call fcn.14000e820
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r12
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x140002861
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000285b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002932
call fcn.14000e820
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14000289e
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002899
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002938
call fcn.14000e820
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
cmp byte [rsp + 0x20], 0
je 0x1400028e8
mov rdx, qword [rbp - 0x68]
inc rdx
mov rax, r14
cmp rdx, 0x1000
jb 0x1400028e0
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000291a
mov rcx, r14
call fcn.14000e820
xor eax, eax
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.14000e800
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001c788
nop
call fcn.140001440
nop
call fcn.1400013a0
nop
call fcn.14001c788
nop
call fcn.14001c788
nop
call fcn.14001c788
int3