Function at 0x14004c050
Capabilities:
Create thread
Extract resource via kernel32 functions

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 - 0x370]
sub rsp, 0x470
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x360], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea r8, str.demur
lea rcx, [rbp + 0xd0]
mov r15, rax
lea rax, str.kohlrabi
mov r9d, 8
mov rdx, r15
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
call fcn.14006e3a0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x28], xmm0
movups xmmword [rbp + 0x58], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp + 0x68], xmm1
movsd xmm1, qword [rax + 0x30]
movups xmmword [rbp + 0x78], xmm0
movsd qword [rbp + 0x88], xmm1
call qword [sym.imp.USER32.dll_GetForegroundWindow]
lea rcx, str.mustard
mov rdx, rax
mov rbx, rax
mov qword [rbp - 0x78], rax
call fcn.1400a3b10
mov edi, r15d
mov edx, 0x104
movups xmm0, xmmword [rbp + 0x28]
mov byte [rsp + 0x60], al
psrldq xmm0, 8
movd eax, xmm0
imul ecx, eax, 7
mov dword [rsp + 0x70], eax
sub edi, ecx
lea rcx, [rbp + 0x250]
sub edi, ebx
sub edi, 8
mov dword [rbp - 0x54], edi
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
lea r13d, [r15 + 0x15]
xor ecx, ecx
mov dword [rsp + 0x6c], r13d
mov rsi, rax
mov qword [rbp - 0x38], rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r12, rax
mov qword [rbp - 0x80], rax
call fcn.1400d7d20
mov r14, rax
xor eax, eax
mov edx, 0x63
mov qword [rbp - 0x10], rax
lea rax, str.c2ret
lea r8d, [rdx - 0x57]
mov qword [rbp - 8], rax
lea rax, str.c0a3
xor ecx, ecx
mov dword [rbp], 1
mov qword [rbp + 0x10], rsi
mov qword [rbp + 8], rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
or rsi, 0xffffffffffffffff
movzx ecx, r12b
mov qword [rbp + 0x18], rax
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp byte [r14 + rax], 0
jne 0x14004c1b0
imul ecx, r13d
sub ecx, dword [rbp + 0x58]
add ecx, r15d
sub ecx, eax
add ecx, 8
mov dword [rbp - 0x68], ecx
mov dword [rbp + 0x20], ecx
lea rcx, str.demur
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [rbp + 0x24], eax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdx, qword [rbp - 0x80]
movups xmm0, xmmword [rbp - 0x10]
movups xmm1, xmmword [rbp]
mov qword [rbp - 0x40], rax
movzx eax, dl
lea r8d, [r15 + r15*4]
movaps xmmword [rbp + 0x90], xmm0
movaps xmmword [rbp + 0xa0], xmm1
movups xmm0, xmmword [rbp + 0x10]
movsd xmm1, qword [rbp + 0x20]
mov ecx, r13d
lea r12d, [r8 - 8]
lea r9, str.dimple
movaps xmmword [rbp + 0xb0], xmm0
movsd qword [rbp + 0xc0], xmm1
mov dword [rbp - 0x60], r8d
imul ecx, edi
sub ecx, eax
lea rax, str.lemonade
sub ecx, dword [rbp + 0x58]
add r12d, ecx
mov rcx, rbx
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rax
lea rax, str.c2a1
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x64], r12d
call fcn.1400bc690
mov qword [rbp - 0x70], rax
call fcn.140093cd0
xor ecx, ecx
lea r8d, [rcx + 0xd]
mov edx, 0x1f4
mov r13d, eax
mov dword [rsp + 0x68], eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [rbp - 0x50], rax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, rsi
mov qword [rsp + 0x78], rax
nop word [rax + rax]
inc rcx
cmp byte [r14 + rcx], 0
jne 0x14004c2b0
movzx eax, byte [rbp + 0x24]
mov rdx, qword [rbp + 0x70]
imul cl
movzx ecx, al
movzx eax, byte [rbp - 0x80]
imul cl
mov rcx, rsi
movzx ebx, al
movzx eax, byte [rbp - 0x40]
imul r12b
shl al, 4
sub bl, al
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x14004c2e0
movzx eax, r15b
add r13b, 4
imul cl
add bl, al
add bl, r13b
add bl, dil
add bl, byte [rbp - 0x38]
add bl, byte [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x30]
movzx r9d, bl
mov dword [rsp + 0x28], 0x20
mov r13d, eax
mov dword [rsp + 0x20], eax
call fcn.1400a84d0
mov edx, dword [rsp + 0x6c]
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x68]
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x38], 8
movzx r12d, bl
mov r9d, edx
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], eax
lea r8, str.demur
lea rdx, str.c0a1
mov ecx, r12d
mov dword [rsp + 0x20], eax
mov dword [rbp - 0x48], r12d
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rcx, rsi
mov rdx, rax
mov qword [rbp + 0x38], rax
nop dword [rax + rax]
inc rcx
cmp byte [r14 + rcx], 0
jne 0x14004c390
mov r9, qword [rbp - 0x50]
mov r10, qword [rbp - 0x80]
mov eax, r12d
imul eax, dword [rsp + 0x78]
neg ecx
lea r8d, [r15 + 1]
shl ecx, 2
sub ecx, eax
mov eax, dword [rbp - 0x70]
imul eax, dword [rsp + 0x68]
sub ecx, eax
mov eax, r12d
movzx r12d, r10b
sub ecx, r9d
imul eax, r13d
sub r12d, eax
mov eax, r9d
sub ecx, r13d
add r8d, ecx
mov rcx, r15
mov dword [rbp - 0x58], r8d
imul eax, dword [rsp + 0x64]
sub r12d, eax
sub r12d, dword [rbp - 0x40]
add r12d, 0xffffffe0
add r12d, dword [rbp + 0x58]
add r12d, r15d
mov r9d, r12d
call fcn.1400811e0
lea r8, str.cottage
lea rdx, str.c2ret
lea rcx, [0x1400ed830]
mov dword [rbp - 0x64], eax
call fcn.1400b48e0
cmp dword [rsp + 0x64], 0x20
mov qword [rbp + 0x28], rax
jbe 0x14004c438
call fcn.1400839e0
lea rcx, str.c0a1
call fcn.1400c5520
lea rdx, str.pantry
lea rcx, str.c0a3
mov r8d, 8
call fcn.1400a3530
mov edx, eax
mov dword [rbp - 0x5c], eax
cmp r12d, r13d
je 0x14004c4fd
mov rcx, rsi
inc rcx
cmp byte [r14 + rcx], 0
jne 0x14004c462
mov r8, qword [rbp - 0x80]
movzx eax, r8b
imul ecx, eax
mov eax, dword [rbp - 0x70]
sub eax, dword [rsp + 0x64]
add eax, dword [rsp + 0x68]
lea ecx, [rcx + rax*4]
mov rax, qword [rbp - 0x38]
add ecx, 0xffffffb4
imul eax, edi
mov rdi, qword [rbp + 0x38]
add ecx, eax
sub ecx, edx
movzx eax, bl
mov edx, 0x104
sub ecx, dword [rsp + 0x78]
sub ecx, dword [rbp - 0x50]
sub ecx, dword [rsp + 0x6c]
add ecx, dword [rbp - 0x60]
add ecx, eax
add ecx, edi
add ecx, dword [rbp + 0x68]
add ecx, dword [rbp - 0x68]
mov dword [rbp + 0x40], ecx
lea rcx, [rbp + 0x110]
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
mov rdx, qword [rsp + 0x78]
mov qword [rbp + 0x50], rdi
movsd xmm1, qword [rbp + 0x50]
movsd qword [rbp - 0x20], xmm1
mov qword [rbp + 0x48], rax
lea r9, str.whole
lea r8, str.c4a2
movups xmm0, xmmword [rbp + 0x40]
lea rcx, [rbp - 0x30]
movaps xmmword [rbp - 0x30], xmm0
call fcn.140080df0
mov eax, dword [rsp + 0x68]
movsx rdi, byte [rsp + 0x60]
lea r8, [0x140001b00]
imul eax, dword [rsp + 0x64]
movzx r9d, bl
xor edx, edx
imul eax, dword [rsp + 0x6c]
imul ecx, eax, 0xc80
mov eax, dword [rbp - 0x64]
add ecx, 7
imul eax, r12d
lea r12d, [rdi - 6]
imul ecx, dword [rbp - 0x78]
sub eax, ecx
mov ecx, dword [rsp + 0x70]
imul ecx, r15d
lea eax, [rax + rcx*8]
xor ecx, ecx
sub eax, dword [rbp + 0x28]
add eax, dword [rsp + 0x78]
add r12d, eax
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x70], r12d
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rcx, [rbp - 0x30]
mov edx, r12d
mov r8, rax
mov rbx, rax
call fcn.14006e7f0
mov r10, qword [rbp - 0x40]
mov r11, qword [rbp - 0x80]
movups xmm2, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
mov r8, qword [rbp - 0x78]
mov r9, qword [rsp + 0x78]
mov edx, dword [rsp + 0x70]
mov ecx, r10d
psrldq xmm2, 8
movsd qword [rbp - 0x20], xmm1
imul ecx, dword [rbp - 0x70]
movzx eax, r11b
imul ecx, dword [rsp + 0x64]
sub eax, ecx
lea r12d, [r8 + rax*2]
movd eax, xmm2
add r12d, r12d
sub r12d, dword [rbp - 0x48]
sub r12d, r9d
sub r12d, edi
add r12d, eax
add r12d, ebx
add r12d, edx
add r12d, r13d
add r12d, r15d
inc rsi
cmp byte [r14 + rsi], 0
jne 0x14004c5d4
sub r15b, byte [rbp - 0x58]
add r15b, 8
movzx eax, r15b
shl al, 2
add r15b, al
mov al, 7
imul byte [rbp - 0x54]
lea ecx, [rax - 1]
movzx eax, r8b
imul cl
xor ecx, ecx
add r15b, al
movzx eax, r9b
imul r13b
sub r15b, al
sub r15b, dl
mov edx, 0x23
sub r15b, byte [rsp + 0x68]
lea r8d, [rdx - 0xc]
sub r15b, byte [rbp - 0x20]
sub r15b, r10b
add sil, r15b
add sil, byte [rbp + 0x20]
add sil, byte [rbp - 0x5c]
add sil, r11b
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov r9, qword [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea r8, str.rainmaker
mov edx, r12d
xor ecx, ecx
mov byte [rsp + 0x20], sil
call fcn.140061240
cmp r12d, 8
je 0x14004c6b9
mov edx, 0x4f
xor ecx, ecx
lea r8d, [rdx - 0x43]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdx, qword [rbp - 0x70]
xor ecx, ecx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
lea rcx, [rbp + 0x110]
xor edx, edx
mov r8d, 0x140
mov rbx, rax
call fcn.1400e27d0
lea rdx, [rbp + 0x110]
lea rcx, str.c2a1
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rdx, rbx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.1400a0250
xor r8d, r8d
mov edx, 0x2a0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.1400dd340
lea r11, [rsp + 0x470]
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