Function at 0x1400025a0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf8]
sub rsp, 0x1f8
mov r14, rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], 0
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
movzx edx, cx
mov r8d, 0x100
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
mov rdx, rax
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rdi, rax
mov rdx, rbx
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.140006a20
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x14000264a
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [0x140081060]
call fcn.14000c8c0
mov rcx, rax
call fcn.14000a7d0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xor esi, esi
mov qword [rsp + 0x60], rsi
mov r12, qword [rsp + 0x78]
test r12, r12
je 0x1400026a1
movabs rax, 0x7fffffffffffffff
cmp r12, rax
ja 0x140002b23
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.140008b70
mov rsi, qword [rsp + 0x60]
xor ebx, ebx
mov r15, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x58]
mov r13, qword [rbp - 0x80]
test r12, r12
je 0x14000270e
nop word [rax + rax]
lea rax, [rsp + 0x68]
cmp r13, 0x10
cmovae rax, r15
movzx ecx, byte [rax + rbx]
mov byte [rbp + 0x140], cl
cmp rdi, rsi
je 0x1400026e8
mov byte [rdi], cl
inc rdi
mov qword [rsp + 0x58], rdi
jmp 0x140002706
lea r8, [rbp + 0x140]
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.14000ce20
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
inc rbx
cmp rbx, r12
jb 0x1400026c0
mov rdx, r14
lea rcx, [rbp + 0xa0]
call fcn.140006e10
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140002430
nop
lea rcx, [rsp + 0x30]
mov rax, qword [rbp + 0x150]
cmp rax, rcx
je 0x14000275a
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
mov rcx, rax
call fcn.140006a20
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.140006500
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx - 0x60], 6
je 0x140002907
lea rdx, str.Failed_to_open_output_file
lea rcx, [0x1400811f0]
call fcn.14000a870
mov rcx, rax
call fcn.14000a7d0
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x74], edx
lea rcx, [rbp - 0x68]
call fcn.140006250
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x74], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x38], rax
lea rcx, [rbp + 0x38]
call fcn.1400152d0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14000283c
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002837
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002b83
call fcn.140036ad0
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x14000288b
sub rsi, rcx
mov rax, rcx
cmp rsi, 0x1000
jb 0x140002882
add rsi, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002b89
mov rdx, rsi
call fcn.140036ad0
nop
cmp r13, 0x10
jb 0x1400028c3
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400028ba
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002b17
mov rcx, r15
call fcn.140036ad0
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x1400028fd
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x1400028f8
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140002b1d
mov rcx, r8
call fcn.140036ad0
mov eax, 1
jmp 0x140002af3
mov r13, qword [rsp + 0x50]
mov r12, r13
sub rdi, r13
je 0x140002953
mov rax, rdi
mov r14, rdi
nop word [rax + rax]
mov ebx, 0x400
cmp rdi, rbx
cmovb rbx, rax
mov r8, rbx
mov rdx, r12
lea rcx, [rbp - 0x70]
call fcn.140006700
add r12, rbx
mov rdi, r14
sub rdi, rbx
mov rax, rdi
mov r14, rdi
jne 0x140002920
mov r14, qword [rbp + 0x148]
lea rcx, [rbp - 0x68]
call fcn.140008a00
test rax, rax
jne 0x140002993
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
mov eax, 6
mov edx, 2
cmp qword [rbp + rcx - 0x28], 0
cmovne eax, edx
or eax, dword [rbp + rcx - 0x60]
and eax, 0x17
mov dword [rbp + rcx - 0x60], eax
mov edx, dword [rbp + rcx - 0x5c]
and edx, eax
jne 0x140002b29
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x74], edx
lea rcx, [rbp - 0x68]
call fcn.140006250
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x74], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x38], rax
lea rcx, [rbp + 0x38]
call fcn.1400152d0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140002a37
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002a32
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002b83
call fcn.140036ad0
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
test r13, r13
je 0x140002a84
sub rsi, r13
mov rax, r13
cmp rsi, 0x1000
jb 0x140002a78
add rsi, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002b89
mov rdx, rsi
mov rcx, r13
call fcn.140036ad0
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x140002abb
inc rdx
mov rax, r15
cmp rdx, 0x1000
jb 0x140002ab2
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002b17
mov rcx, r15
call fcn.140036ad0
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x140002af1
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x140002aec
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140002b1d
mov rcx, r8
call fcn.140036ad0
xor eax, eax
mov byte [r14], 0
mov qword [r14 + 0x18], 0xf
mov qword [r14 + 0x10], rbx
add rsp, 0x1f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140042a44
nop
call fcn.140042a44
nop
call fcn.140008b50
nop
test dl, 4
je 0x140002b37
lea rbx, str.ios_base::badbit_set
jmp 0x140002b4c
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, [rbp + 0xa0]
call fcn.140001670
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0xc0]
call fcn.1400022d0
lea rdx, [0x14007d6d0]
lea rcx, [rbp + 0xc0]
call fcn.140038704
nop
call fcn.140042a44
nop
call fcn.140042a44
int3