Function at 0x1400027c0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x150
mov rax, qword [0x14007f060]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rsi, rdx
movzx edx, cx
xor ecx, ecx
lea r8d, [rcx + 0xa]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
jne 0x140002838
lea rdx, str.Failed_to_find_resource.
call fcn.140005290
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140005110
movzx edx, al
mov rcx, rbx
call fcn.140005bf0
mov rcx, rbx
call fcn.140005000
xor al, al
jmp 0x140002a42
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
jne 0x140002882
lea rdx, str.Failed_to_load_resource.
call fcn.140005290
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140005110
movzx edx, al
mov rcx, rbx
call fcn.140005bf0
mov rcx, rbx
call fcn.140005000
xor al, al
jmp 0x140002a42
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
test rax, rax
jne 0x1400028cd
lea rdx, str.Failed_to_lock_resource.
call fcn.140005290
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140005110
movzx edx, al
mov rcx, rbx
call fcn.140005bf0
mov rcx, rbx
call fcn.140005000
xor al, al
jmp 0x140002a42
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
test eax, eax
jne 0x140002918
lea rdx, str.Resource_size_is_0.
call fcn.140005290
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140005110
movzx edx, al
mov rcx, rbx
call fcn.140005bf0
mov rcx, rbx
call fcn.140005000
xor al, al
jmp 0x140002a42
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x30]
call fcn.14000c270
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140003d20
nop
cmp qword [rsp + 0xb8], 0
jne 0x14000297a
lea rdx, str.Failed_to_open_output_file.
call fcn.140005290
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140005110
movzx edx, al
mov rcx, rbx
call fcn.140005bf0
mov rcx, rbx
call fcn.140005000
xor bl, bl
jmp 0x1400029c9
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140003fe0
lea rcx, [rsp + 0x38]
call fcn.140004920
test rax, rax
jne 0x1400029c7
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea r9, [rsp + 0x30]
add rcx, r9
mov edx, 6
mov eax, 2
cmp qword [rcx + 0x48], 0
cmovne edx, eax
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140002690
mov bl, 1
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x30], rax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x2c], edx
lea rcx, [rsp + 0x38]
call fcn.140003a20
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x30], rax
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0x10]
mov dword [rsp + rdx + 0x2c], r8d
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0xd8]
call fcn.140006e90
nop
movzx eax, bl
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140008260
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret