Function at 0x14007ec10
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], r8b
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov r14, r9
mov rsi, rdx
cmp r8b, 8
je 0x14007ec5a
xor ecx, ecx
mov edx, 0x25b
lea r8d, [rcx + 0x15]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
call qword [sym.imp.USER32.dll_GetActiveWindow]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov r15d, eax
mov dword [rsp + 0x6c], eax
call qword [sym.imp.USER32.dll_GetForegroundWindow]
or rdi, 0xffffffffffffffff
mov r9, rax
mov qword [rsp + 0x78], rax
mov rcx, rdi
nop dword [rax]
inc rcx
cmp byte [rsi + rcx], 0
jne 0x14007ec80
mov rdx, qword [rsp + 0x100]
inc cl
mov rbp, rdi
movzx eax, dl
imul cl
movzx ebx, al
sub bl, r15b
sub bl, 0x19
inc rbp
cmp byte [rsi + rbp], 0
jne 0x14007eca4
mov eax, edx
imul eax, edx
shl eax, 4
sub ebp, eax
mov rax, rdi
nop word [rax + rax]
inc rax
cmp byte [r14 + rax], 0
jne 0x14007ecc0
sub ebp, eax
movsx rax, bl
mov r10d, edx
sub r10d, ebp
mov qword [rsp + 0x90], rax
sub r10d, eax
add r10d, 2
mov dword [rsp + 0x60], r10d
cmp r10d, 0x10
je 0x14007ed08
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r10d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x100]
mov r9, qword [rsp + 0x78]
movsx ebx, bl
mov rcx, rdi
nop
inc rcx
cmp byte [r14 + rcx], 0
jne 0x14007ed10
mov r8, qword [rsp + 0x108]
mov eax, ebx
imul r13d, r15d, 0xfffffff7
imul eax, ebp
sub r13d, eax
mov rax, rdi
sub r13d, dword [r8 + 0x18]
sub r13d, r9d
add r13d, edx
sub r13d, ecx
nop
inc rax
cmp byte [rsi + rax], 0
jne 0x14007ed40
xor ecx, ecx
add r13d, eax
mov eax, r10d
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], 0x10
mov dword [rsp + 0x28], r15d
mov r15, qword [rsp + 0x110]
lea r9d, [rcx + 0x20]
lea rdx, [0x1400ed4fc]
mov ecx, r10d
mov r8, r15
mov dword [rsp + 0x20], 8
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov r12, rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov qword [rsp + 0x80], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x64], eax
cmp r13d, 0x20
jb 0x14007ee1e
xor r8d, r8d
mov edx, 0x8c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
movzx eax, byte [rsp + 0xf0]
lea r8, str.cytoplasm
mov edx, eax
mov ecx, eax
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x64]
mov qword [rsp + 0x40], rdx
mov r9d, r13d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov rdx, rsi
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_CreateWindowExA]
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov rax, qword [rsp + 0x100]
mov rcx, rdi
add eax, eax
mov dword [rsp + 0x70], eax
nop
inc rcx
cmp byte [r15 + rcx], 0
jne 0x14007ee30
imul edx, dword [rsp + 0x80], 0xfffffffb
mov ebx, dword [rsp + 0x60]
lea eax, [rax*4]
add ecx, eax
mov rax, rdi
shl ecx, 3
sub edx, ecx
sub edx, ebx
sub edx, dword [rsp + 0x90]
add edx, r12d
add edx, r13d
inc rax
cmp byte [rsi + rax], 0
jne 0x14007ee66
add eax, 0xfffffff0
add eax, edx
mov dword [rsp + 0x68], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov qword [rsp + 0x88], rax
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov r9d, dword [rsp + 0x68]
mov r8, rax
mov qword [rsp + 0x98], rax
cmp r9d, 0x20
je 0x14007eef2
call qword [sym.imp.USER32.dll_GetActiveWindow]
xor ecx, ecx
mov edx, 0x267
lea r8d, [rcx + 0x1c]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
lea rcx, [0x1400ed7c8]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov ebx, dword [rsp + 0x60]
mov r8, qword [rsp + 0x98]
mov r9d, dword [rsp + 0x68]
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x100]
mov rcx, rdi
lea r10d, [rax + rax]
movzx eax, byte [rsp + 0xf0]
imul ebx, edx
mov dword [rsp + 0x60], r10d
nop dword [rax]
inc rcx
cmp byte [r14 + rcx], 0
jne 0x14007ef20
imul ecx, eax
mov eax, dword [rsp + 0x78]
imul eax, r10d
sub ecx, eax
mov eax, dword [rsp + 0x88]
sub ecx, dword [rsp + 0x6c]
dec ecx
imul eax, r8d
imul eax, r9d
imul ecx, edx
sub ecx, eax
mov rax, qword [rsp + 0x108]
sub ecx, dword [rax + 0x18]
mov rax, rdi
sub ecx, ebx
sub ecx, r12d
sub ecx, dword [rsp + 0x64]
sub ecx, r13d
sub ecx, ebp
add ecx, dword [rsp + 0x70]
inc rax
cmp byte [rsi + rax], 0
jne 0x14007ef71
lea edx, [rcx - 0x44]
add edx, eax
mov rax, rdi
inc rax
cmp byte [r15 + rax], 0
jne 0x14007ef82
add edx, eax
mov rax, qword [rsp + 0xe0]
mov dword [rax], edx
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov rcx, qword [rsp + 0xe0]
mov qword [rcx + 8], rax
mov rax, rdi
nop dword [rax]
inc rax
cmp byte [r14 + rax], 0
jne 0x14007efb0
imul r12d, dword [rsp + 0x80]
mov r8, qword [rsp + 0x108]
imul ebx, ebp
imul eax, dword [r8 + 0x18]
sub r12d, eax
mov eax, dword [rsp + 0x6c]
shl eax, 5
add r12d, eax
mov rax, qword [rsp + 0x100]
sub r12d, dword [rsp + 0x78]
inc r12d
imul r12d, eax
mov eax, dword [rsp + 0x64]
lea eax, [rax*2 + 0x5c]
sub r12d, eax
movzx eax, byte [rsp + 0xf0]
add r12d, ebx
sub r12d, eax
mov rax, rdi
sub r12d, dword [rsp + 0x88]
sub r12d, dword [rsp + 0x68]
add r12d, dword [rsp + 0x60]
add r12d, r13d
nop dword [rax + rax]
inc rax
cmp byte [r15 + rax], 0
jne 0x14007f030
sub r12d, eax
nop dword [rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x14007f040
mov rbx, qword [rsp + 0xe8]
lea rax, str.c4a4
add r12d, edi
mov qword [rcx + 0x18], rax
mov rax, rcx
mov dword [rcx + 0x10], r12d
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret