Function at 0x140089730
Capabilities:
Copy file
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x220
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x210], rax
mov r14d, ecx
mov eax, r9d
mov esi, ecx
movzx r15d, r8b
lea rcx, [rsp + 0x100]
mov edx, 0x104
imul eax, r9d
sub r14d, eax
mov rbp, r9
mov byte [rsp + 0x60], r15b
add r14d, 6
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
lea rcx, [rsp + 0x100]
mov edx, 0x104
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
lea edx, [rbp*2]
mov ecx, esi
mov qword [rsp + 0x80], rax
add eax, 0xfffffff8
add edx, ebp
add edx, edx
add eax, ebp
mov edi, ebp
sub ecx, edx
add ecx, 8
add eax, ecx
lea rcx, str.parade
mov dword [rsp + 0x64], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.geranium
mov r9d, r14d
mov r8d, ebp
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EnumResourceNamesA]
xor ebx, ebx
mov r12d, r15d
mov r13d, eax
cmp eax, r15d
jge 0x140089831
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea r9d, [rbx + 2]
lea r8, [0x140001b00]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rcx, [rsp + 0x100]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
movzx eax, byte [rsp + 0x78]
lea ecx, [rbp + 0xe]
mov edx, 0x368
add cl, cl
imul byte [rsp + 0x80]
movzx r15d, al
sub r15b, cl
xor ecx, ecx
sub r15b, r13b
lea r8d, [rcx + 3]
sub r15b, byte [rsp + 0x64]
add r15b, sil
lea edi, [r15 - 0x1d]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor ecx, ecx
lea r8d, [rcx + 4]
mov edx, 0x271
mov dword [rsp + 0x68], eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov r8, qword [rsp + 0x70]
mov ecx, esi
imul ecx, ebp
lea ebx, [rcx + rcx*2]
movsx rcx, dil
mov qword [rsp + 0x88], rax
add ebx, ebx
lea r9, str.c4a2
lea rdx, str.plough
sub ebx, ecx
lea rcx, str.desk
sub ebx, r14d
sub ebx, 0xb
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x68]
lea rcx, [rsp + 0xc8]
mov dword [rsp + 0x20], eax
call fcn.1400dc490
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x98], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsp + 0xa8], xmm1
movups xmmword [rsp + 0xb8], xmm0
cmp dil, r12b
jle 0x14008995b
xor ecx, ecx
movsx r9d, dil
lea r8, str.pine
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x30], ebx
lea rdx, str.c1a1
mov ecx, esi
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r12d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov eax, dword [rsp + 0x64]
xor ecx, ecx
movsx r9d, dil
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r9d
lea r8, str.pine
lea rdx, str.c1a1
mov ecx, r13d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], esi
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov r12d, dword [rsp + 0x64]
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea rdx, str.plough
lea rcx, str.desk
mov r8d, esi
mov qword [rsp + 0x90], rax
call qword [sym.imp.KERNEL32.dll_CopyFileA]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xor ecx, ecx
lea r8d, [rcx + 2]
mov edx, 0x1e9
mov dword [rsp + 0x64], eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdx, qword [rsp + 0xa8]
or rcx, 0xffffffffffffffff
mov r10, rax
nop word [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x140089a00
mov r9, qword [rsp + 0x70]
movzx edx, bpl
sub dil, 0x33
movzx eax, r9b
add al, al
lea r8d, [rax + r9]
movzx eax, r15b
shl al, 2
add r8b, r12b
add r15b, al
mov eax, dword [rsp + 0x64]
add r8b, r8b
sub dl, al
sub r8b, r15b
add dl, byte [rsp + 0x90]
sub r8b, bl
shl r8b, 2
imul dl
add r8b, al
movzx edx, r9b
sub dl, r10b
movzx eax, r10b
add dl, 7
imul dl
sub r8b, al
movzx eax, bpl
imul bpl
movzx edx, al
mov al, 7
imul dl
movzx edx, byte [rsp + 0x60]
add r8b, al
movzx eax, dl
add al, al
add dl, al
lea eax, [rdx + rdx]
add al, r8b
sub al, r13b
sub al, byte [rsp + 0x80]
sub al, byte [rsp + 0x78]
add al, byte [rsp + 0x68]
add al, r14b
add al, sil
add al, r9b
add al, byte [rsp + 0x88]
add al, dil
add al, cl
mov rcx, qword [rsp + 0x210]
xor rcx, rsp
call fcn.1400dd340
mov rbx, qword [rsp + 0x268]
add rsp, 0x220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret