Function at 0x14005de50
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x1400d6040]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rsi, r8
mov rbx, rdx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x14005dece
lea rdx, str.Failed_to_get_module_handle
call fcn.14007db80
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.14007d450
movzx edx, al
mov rcx, rbx
call fcn.14007eef0
mov rcx, rbx
call fcn.14007cfb0
xor al, al
jmp 0x14005e169
cmp qword [rbx + 0x18], 0xf
jbe 0x14005ded8
mov rbx, qword [rbx]
mov r8, rbx
mov edx, 0x67
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rbx, rax
test rax, rax
jne 0x14005df2b
lea rdx, str.Failed_to_find_resource
call fcn.14007db80
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.14007d450
movzx edx, al
mov rcx, rbx
call fcn.14007eef0
mov rcx, rbx
call fcn.14007cfb0
xor al, al
jmp 0x14005e169
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
jne 0x14005df76
lea rdx, str.Failed_to_load_resource
call fcn.14007db80
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.14007d450
movzx edx, al
mov rcx, rbx
call fcn.14007eef0
mov rcx, rbx
call fcn.14007cfb0
xor al, al
jmp 0x14005e169
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r14, rax
test rax, rax
jne 0x14005dfc1
lea rdx, str.Failed_to_lock_resource
call fcn.14007db80
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.14007d450
movzx edx, al
mov rcx, rbx
call fcn.14007eef0
mov rcx, rbx
call fcn.14007cfb0
xor al, al
jmp 0x14005e169
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
test eax, eax
jne 0x14005e00d
lea rdx, str.Resource_size_is_zero
call fcn.14007db80
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.14007d450
movzx edx, al
mov rcx, rbx
call fcn.14007eef0
mov rcx, rbx
call fcn.14007cfb0
xor al, al
jmp 0x14005e169
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x70]
call fcn.1400af6f0
cmp qword [rsi + 0x18], 0xf
jbe 0x14005e029
mov rsi, qword [rsi]
mov r8d, 0x20
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.14007c9f0
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x70], rdi
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x6c], edx
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx - 0x80], 6
je 0x14005e0ab
lea rdx, str.Failed_to_open_output_file
call fcn.14007db80
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.14007d450
movzx edx, al
mov rcx, rbx
call fcn.14007eef0
mov rcx, rbx
call fcn.14007cfb0
xor bl, bl
jmp 0x14005e0ff
mov r8, rbx
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.14007bd40
lea rcx, [rsp + 0x78]
call fcn.14007c8f0
test rax, rax
jne 0x14005e0fd
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov eax, 6
mov edx, 2
cmp qword [rbp + rcx - 0x48], 0
cmovne eax, edx
or eax, dword [rbp + rcx - 0x80]
and eax, 0x17
mov dword [rbp + rcx - 0x80], eax
mov edx, dword [rbp + rcx - 0x7c]
and edx, eax
jne 0x14005e190
mov bl, 1
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x70], rdi
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x6c], edx
lea rcx, [rsp + 0x78]
call fcn.14007ba90
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x70], rax
mov rcx, qword [rsp + 0x70]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0x10]
mov dword [rsp + rdx + 0x6c], r8d
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x18]
call fcn.1400820c0
nop
movzx eax, bl
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.14007ff50
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
test dl, 4
je 0x14005e19e
lea rbx, str.ios_base::badbit_set
jmp 0x14005e1b3
test dl, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x30]
call fcn.14004afe0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14004ba60
lea rdx, [0x1400d3978]
lea rcx, [rsp + 0x40]
call fcn.140083ca0
int3