Function at 0x14007f330
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x298
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rdi, qword [rsp + 0x300]
mov rbp, qword [rsp + 0x308]
mov r14d, r9d
mov dword [rsp + 0x64], r9d
mov esi, r8d
mov dword [rsp + 0x60], r8d
mov rbx, rdx
mov qword [rsp + 0x80], rdx
mov r12d, ecx
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov r13d, r12d
mov rdx, rbx
sub r13d, ebx
xor ecx, ecx
mov qword [rsp + 0x78], rax
add r13d, esi
mov dword [rsp + 0x70], r13d
call qword [sym.imp.KERNEL32.dll_SizeofResource]
or rsi, 0xffffffffffffffff
movsxd r15, eax
cmp dword [rsp + 0x60], r15d
jle 0x14007f4d1
mov rcx, rsi
nop dword [rax]
inc rcx
cmp byte [rdi + rcx], 0
jne 0x14007f3c0
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rax + rbp], 0
jne 0x14007f3d0
imul cl
lea rcx, [rsp + 0x140]
mov edx, 0x104
lea ebx, [rax - 2]
add bl, r14b
add bl, r12b
add bl, byte [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
movsxd r8, dword [rsp + 0x60]
lea rdx, str.sherry
mov r9, r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnumResourceNamesA]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
xor ecx, ecx
mov edx, 0x175
lea r8d, [rcx + 0x15]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rcx, [rsp + 0x140]
xor edx, edx
mov r8d, 0x140
call fcn.1400e27d0
lea rdx, [rsp + 0x140]
lea rcx, str.sherry
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
movsx ecx, bl
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
lea rcx, str.sherry
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
xor ecx, ecx
mov edx, 0x1d1
lea r8d, [rcx + 7]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rcx, [rsp + 0x140]
xor edx, edx
mov r8d, 0x140
call fcn.1400e27d0
lea rdx, [rsp + 0x140]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor ecx, ecx
mov edx, 0x15a
lea r8d, [rcx + 0x1b]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LockResource]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rbx, rsi
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14007f4d4
mov rax, rsi
inc rax
cmp byte [rax + rbp], 0
jne 0x14007f4e0
imul ebx, eax
imul ebx, r12d
imul ebx, r14d
imul ebx, dword [rsp + 0x78]
sub ebx, r15d
cmp r15d, ebx
jne 0x14007f510
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xor ecx, ecx
lea r8, [0x1400ed3b8]
lea rdx, [0x1400ed3b8]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r15d
mov r9d, r15d
mov ecx, r12d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r12d
call qword [sym.imp.USER32.dll_CreateWindowExA]
lea rcx, [rsp + 0x140]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_FindFirstVolumeA]
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea rcx, [rsp + 0x140]
xor edx, edx
mov r8d, 0x140
call fcn.1400e27d0
lea rdx, [rsp + 0x140]
lea rcx, [0x1400ed3b8]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r14, rsi
mov qword [rsp + 0xd0], rax
inc r14
cmp byte [rdi + r14], 0
jne 0x14007f5a2
xor ecx, ecx
mov edx, 0x3d3
add r14d, r12d
lea r8d, [rcx + 0x14]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov qword [rsp + 0xe0], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0x8c], eax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov rdx, rsi
mov qword [rsp + 0x68], rax
inc rdx
cmp byte [rdx + rbp], 0
jne 0x14007f5e3
mov ecx, esi
mov eax, r14d
sub ecx, edx
mov edx, 0x1fe
imul eax, ebx
imul ecx, dword [rsp + 0x78]
sub ecx, eax
lea eax, [r12 - 6]
sub ecx, r15d
add eax, ecx
xor ecx, ecx
lea r8d, [rcx + 0xe]
mov dword [rsp + 0x90], eax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
xor ecx, ecx
lea r8d, [rcx + 4]
mov edx, 0xf8
mov qword [rsp + 0x110], rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov r9d, r12d
mov r8, rsi
imul r9d, dword [rsp + 0x80]
mov dword [rsp + 0x88], r9d
inc r8
cmp byte [rdi + r8], 0
jne 0x14007f655
mov eax, dword [rsp + 0x68]
imul r8d, dword [rsp + 0x64]
imul eax, r14d
mov r14, qword [rsp + 0x78]
lea ecx, [rax + rax*4]
mov edx, r14d
lea eax, [rbx + rbx*2]
add eax, eax
imul edx, r13d
sub edx, ecx
lea r13d, [r9 - 2]
sub edx, r8d
sub edx, eax
sub edx, r15d
add r13d, edx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [rsp + 0x64]
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rsi
mov r11, rax
mov qword [rsp + 0xa0], rax
inc rcx
cmp byte [rcx + rbp], 0
jne 0x14007f6b0
imul ecx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x64]
lea edx, [rax + rax]
sub r13d, r14d
mov eax, r11d
imul ecx, r10d
imul ecx, r15d
sub edx, ecx
mov rcx, rsi
dec edx
add edx, r12d
add edx, ebx
mov dword [rsp + 0x94], edx
imul eax, edx
lea r8d, [rax + rax*2]
add r8d, r8d
sub r13d, r8d
mov dword [rsp + 0x98], r8d
add r13d, 0xb
nop dword [rax + rax]
inc rcx
cmp byte [rdi + rcx], 0
jne 0x14007f710
mov r9d, dword [rsp + 0x70]
movzx eax, r14b
movzx r14d, r10b
imul cl
sub r14b, al
sub r14b, r13b
add r14b, 0xa
add r14b, r12b
add r14b, r9b
add r14b, r11b
add r14b, byte [rsp + 0xd0]
cmp r10d, edx
jg 0x14007f7af
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor r8d, r8d
movzx edx, r14b
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x38], 8
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x60]
lea r8, str.farmer
lea rdx, str.farmer
movzx ecx, r14b
mov r9d, eax
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov r8d, dword [rsp + 0x98]
mov r9d, dword [rsp + 0x70]
mov r10d, dword [rsp + 0x64]
movzx r11d, r14b
mov rcx, rsi
inc rcx
cmp byte [rcx + rbp], 0
jne 0x14007f7b6
mov r14, qword [rsp + 0x78]
mov eax, dword [rsp + 0x60]
imul ecx, r9d
sub ecx, dword [rsp + 0x110]
imul eax, r10d
dec ecx
imul ecx, r14d
add ecx, eax
mov eax, dword [rsp + 0xd0]
lea edx, [rcx + rax*4]
mov rcx, rsi
sub edx, dword [rsp + 0x80]
sub edx, r13d
inc rcx
cmp byte [rdi + rcx], 0
jne 0x14007f7f6
lea eax, [r11 + rdx]
mov rdx, rsi
add ecx, eax
lea eax, [r15 + 0x1e]
add ecx, r12d
mov r12, qword [rsp + 0x68]
add ecx, r12d
add ecx, r8d
add eax, ecx
mov dword [rsp + 0x68], eax
inc rdx
cmp byte [rdi + rdx], 0
jne 0x14007f820
imul r13d, dword [rsp + 0x94]
mov eax, 2
sub eax, r13d
lea ecx, [rax + rax*2]
mov eax, dword [rsp + 0x90]
add ecx, ecx
inc eax
imul eax, r14d
sub ecx, eax
mov eax, dword [rsp + 0x8c]
lea eax, [rcx + rax*8]
sub eax, dword [rsp + 0x60]
sub eax, dword [rsp + 0xe0]
sub eax, dword [rsp + 0xa0]
sub eax, ebx
sub eax, r15d
add eax, r11d
add eax, dword [rsp + 0x88]
add eax, r10d
add eax, r12d
add eax, r9d
sub eax, edx
inc rsi
cmp byte [rsi + rbp], 0
jne 0x14007f884
sub eax, esi
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.1400dd340
add rsp, 0x298
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret