Function at 0x140003aa0
Capabilities:
Copy file
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x130], rax
movsx rbx, byte [rbp + 0x190]
mov eax, 5
mov r13, rcx
sub eax, ebx
mov qword [rsp + 0x58], rcx
lea rcx, [rbp + 0x20]
mov dword [rsp + 0x68], eax
lea rax, str.retina
mov edx, 0x104
mov r12, r8
mov qword [rsp + 0x48], r8
mov byte [rsp + 0x41], bl
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
mov qword [rbp - 0x80], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov qword [rbp - 0x78], rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea rcx, [rbp - 0x20]
movups xmm0, xmmword [rsp + 0x68]
movups xmm1, xmmword [rsp + 0x78]
mov qword [rbp - 0x70], rax
movzx eax, r12b
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm1
shl al, 2
movups xmm0, xmmword [rbp - 0x78]
lea r14d, [rax + r12]
movaps xmmword [rbp], xmm0
lea r15d, [r14 - 0xd]
movzx r8d, r15b
mov byte [rsp + 0x40], r15b
call fcn.14000f250
lea rcx, [rbp - 0x20]
movzx esi, al
mov byte [rsp + 0x42], al
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
cmp bl, sil
jl 0x140003d26
movsx rdi, byte [rsp + 0x40]
movzx eax, bl
imul r14b
lea r15d, [rax - 0x23]
mov al, 0x1e
add r15b, sil
imul byte [rbp - 0x78]
movzx r13d, al
sub r13b, bl
add r13b, r13b
sub r13b, r12b
sub r13b, dil
add r13b, 5
call qword [sym.imp.USER32.dll_GetForegroundWindow]
movzx r8d, r13b
mov r9, rax
movzx eax, sil
movzx edx, r15b
imul bl
movzx ecx, al
mov al, 0x74
imul cl
lea rcx, [0x1400ed360]
lea ebx, [r14 + rax]
lea rax, str.bribery
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r12
mov byte [rsp + 0x20], bl
call fcn.1400164a0
mov edx, 8
mov rcx, rax
mov r14, rax
call fcn.1400184b0
mov ecx, r12d
mov edx, 9
movsx rsi, sil
imul ecx, r14d
sub edx, ecx
lea r12d, [rdx + rdx*2]
sub r12d, esi
sub r12d, edi
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov qword [rbp - 0x20], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
movsx ecx, bl
mov rbx, qword [rsp + 0x48]
mov dword [rbp - 0x18], eax
movsx eax, r15b
imul ecx, eax
lea eax, [rbx + rbx*4]
lea edx, [rcx + rax*2]
lea eax, [r14 + r14*8]
add edx, eax
movsx rax, byte [rsp + 0x41]
mov r15, rax
add eax, 0xfffffffa
sub edx, edi
add eax, edx
mov dword [rbp - 0x14], eax
lea rax, str.gazebo
mov qword [rbp - 0x10], rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea edx, [rdi + rdi*4]
mov qword [rbp - 8], rax
lea eax, [r14*4]
movsx rcx, r13b
sub edx, eax
add ecx, esi
add ebx, 2
sub edx, r15d
mov dword [rbp], 4
mov qword [rbp + 8], r14
lea eax, [rcx + rdx*2]
xor ecx, ecx
mov edx, 0x307
add eax, ebx
lea r8d, [rcx + 0x18]
mov dword [rbp + 4], eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [rbp + 0x10], rax
lea rax, [0x1400ed4fc]
mov qword [rbp + 0x18], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea r8, [rbp - 0x60]
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp - 0x10]
mov qword [rsp + 0x30], rax
mov ecx, r12d
mov qword [rsp + 0x20], rbx
movaps xmmword [rbp - 0x60], xmm0
movaps xmm0, xmmword [rbp]
movaps xmmword [rbp - 0x50], xmm1
movaps xmm1, xmmword [rbp + 0x10]
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x30], xmm1
call fcn.140010640
mov r12, qword [rsp + 0x48]
movzx r15d, byte [rsp + 0x40]
mov r13, qword [rsp + 0x58]
movzx esi, byte [rsp + 0x42]
movzx eax, sil
mov r14d, 1
mov edx, 0x3a6
mov r8d, r14d
xor ecx, ecx
imul r12b
lea ebx, [rax + 5]
mov byte [rsp + 0x43], bl
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rsi, rax
mov qword [rsp + 0x58], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
movsx r8d, byte [rsp + 0x41]
lea rdx, str.cleaner
lea rcx, str.plough
mov edi, eax
mov dword [rsp + 0x50], eax
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov dword [rsp + 0x30], eax
movzx r9d, dil
mov r8, r12
mov rdx, rsi
movzx ecx, bl
mov qword [rsp + 0x28], r12
mov byte [rsp + 0x20], 0x40
mov dword [rsp + 0x48], eax
call fcn.14000a340
or rdi, 0xffffffffffffffff
mov rsi, rax
cmp r15b, byte [rsp + 0x50]
je 0x140003e34
call fcn.140009320
movzx r9d, byte [rsp + 0x50]
mov rcx, rdi
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x140003dc0
mov r8d, dword [rsp + 0x48]
movsx rdx, byte [rsp + 0x41]
movsx rax, bl
add edx, 0x11
imul ecx, r8d
sub ecx, eax
dec r8d
movsx rax, r15b
sub ecx, eax
movsx eax, byte [rsp + 0x42]
sub ecx, r9d
add edx, ecx
movsx ecx, bl
mov dword [rsp + 0x28], edx
lea rdx, str.c0a1
mov dword [rsp + 0x20], r14d
imul ecx, eax
imul ecx, dword [rsp + 0x58]
add r8d, ecx
lea rcx, [0x1400ed4d4]
imul r8d, r12d
sub r8d, r9d
lea r9, str.hail
sub r8d, dword [rbp - 0x78]
add r8d, 4
call fcn.140012510
lea rcx, str.wine
call fcn.14005c700
lea rcx, str.ottoman
lea edx, [rax + 4]
mov rbx, rax
call fcn.14003a9c0
mov rcx, rbx
call fcn.1400596d0
mov ebx, dword [rsp + 0x48]
movsx r9, byte [rsp + 0x41]
movzx eax, bl
lea r8, [0x140001b00]
xor edx, edx
sub al, byte [rsp + 0x42]
xor ecx, ecx
add al, 0x23
add al, r15b
mov byte [rsp + 0x40], al
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp - 0x60]
xor r8d, r8d
mov r9, rax
mov qword [rsp + 0x60], rax
call fcn.140017b50
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm1
call qword [sym.imp.USER32.dll_GetActiveWindow]
movsx r10d, byte [rsp + 0x43]
movzx r8d, byte [rsp + 0x50]
mov qword [r13], rax
lea rax, str.wound
movsx r15, r15b
mov qword [r13 + 8], rax
movsx eax, byte [rsp + 0x42]
imul r10d, eax
lea eax, [r12 + r12*4]
mov dword [rsp + 0x48], eax
mov rax, rdi
inc rax
cmp byte [rsi + rax], 0
jne 0x140003f01
movsx rcx, byte [rsp + 0x41]
mov r11, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
imul eax, ebx
sub r14d, r8d
mov rdx, rcx
imul ecx, ecx, 0x54
imul r14d, r12d
add eax, r14d
mov r14d, dword [rsp + 0x48]
add eax, ecx
lea ecx, [r10 + 0x3f]
sub eax, r15d
sub eax, dword [rbp]
sub eax, r11d
sub eax, r9d
add eax, r14d
add ecx, eax
lea rax, [0x1400ed4fc]
mov qword [r13 + 0x18], rax
mov dword [r13 + 0x10], ecx
nop dword [rax + rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x140003f60
movsx rax, byte [rsp + 0x40]
shl r8d, 5
sub r12d, r8d
lea eax, [rax + r12*2]
add eax, 0xfffffff8
sub eax, r15d
sub eax, r10d
sub eax, dword [rbp + 0x18]
sub eax, dword [rbp - 0x80]
sub eax, ebx
add eax, r14d
add edi, eax
add edi, edx
add edi, r11d
add edi, r9d
mov dword [r13 + 0x20], edi
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov qword [r13 + 0x28], rax
mov rax, r13
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.1400dd340
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret