Function at 0x140006e20
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
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
mov edx, 0xfd
lea r8d, [rdx + 3]
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.14000bea0
mov rdx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140006ece
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [0x1400892b0]
call fcn.140011400
mov rcx, rax
call fcn.14000fd80
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 0x140006f25
movabs rax, 0x7fffffffffffffff
cmp r12, rax
ja 0x1400073a3
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.14000ca70
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 0x140006f8e
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 0x140006f68
mov byte [rdi], cl
inc rdi
mov qword [rsp + 0x58], rdi
jmp 0x140006f86
lea r8, [rbp + 0x140]
mov rdx, rdi
lea rcx, [rsp + 0x50]
call fcn.140011af0
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
inc rbx
cmp rbx, r12
jb 0x140006f40
mov rdx, r14
lea rcx, [rbp + 0xa0]
call fcn.14000c120
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140006cb0
nop
lea rcx, [rsp + 0x30]
mov rax, qword [rbp + 0x150]
cmp rax, rcx
je 0x140006fda
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
mov rcx, rax
call fcn.14000bea0
mov r8d, 0x20
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.140009270
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx - 0x60], 6
je 0x14000718d
lea rdx, str.Failed_to_open_output_file
lea rcx, [0x140089440]
call fcn.14000fad0
mov rcx, rax
call fcn.14000fd80
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.14000a730
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.14001a330
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400070c2
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400070bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007403
call fcn.14003c958
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 0x140007111
sub rsi, rcx
mov rax, rcx
cmp rsi, 0x1000
jb 0x140007108
add rsi, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007409
mov rdx, rsi
call fcn.14003c958
nop
cmp r13, 0x10
jb 0x140007149
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140007140
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007397
mov rcx, r15
call fcn.14003c958
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x140007183
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x14000717e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000739d
mov rcx, r8
call fcn.14003c958
mov eax, 1
jmp 0x140007373
mov r13, qword [rsp + 0x50]
mov r12, r13
sub rdi, r13
je 0x1400071d3
mov rax, rdi
mov r14, rdi
mov ebx, 0x400
cmp rdi, rbx
cmovb rbx, rax
mov r8, rbx
mov rdx, r12
lea rcx, [rbp - 0x70]
call fcn.14000abb0
add r12, rbx
mov rdi, r14
sub rdi, rbx
mov rax, rdi
mov r14, rdi
jne 0x1400071a0
mov r14, qword [rbp + 0x148]
lea rcx, [rbp - 0x68]
call fcn.14000d160
test rax, rax
jne 0x140007213
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 0x1400073a9
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.14000a730
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.14001a330
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400072b7
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400072b2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007403
call fcn.14003c958
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
test r13, r13
je 0x140007304
sub rsi, r13
mov rax, r13
cmp rsi, 0x1000
jb 0x1400072f8
add rsi, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007409
mov rdx, rsi
mov rcx, r13
call fcn.14003c958
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x14000733b
inc rdx
mov rax, r15
cmp rdx, 0x1000
jb 0x140007332
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007397
mov rcx, r15
call fcn.14003c958
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x140007371
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x14000736c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000739d
mov rcx, r8
call fcn.14003c958
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.140048870
nop
call fcn.140048870
nop
call fcn.14000ca50
nop
test dl, 4
je 0x1400073b7
lea rbx, str.ios_base::badbit_set
jmp 0x1400073cc
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.140001690
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0xc0]
call fcn.140002430
lea rdx, [0x140085c58]
lea rcx, [rbp + 0xc0]
call fcn.14003e4d4
nop
call fcn.140048870
nop
call fcn.140048870
int3