Function at 0x140070144
Capabilities:
Extract resource via kernel32 functions
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rbx, r8
mov rbp, rdx
mov rdi, rcx
lea r8, [0x140118628]
lea rdx, str.OLEAUT32.DLL
lea rcx, str.OleLoadPicture
xor r9d, r9d
call fcn.1400536e0
xor r12d, r12d
cmp rbx, r12
je 0x140070188
mov r13d, dword [rbx]
jmp 0x14007018b
mov r13d, r12d
cmp rbp, r12
mov eax, 0x64
mov dword [rdi + 0x50], r12d
cmove rbp, rax
mov dword [rdi + 0x54], r12d
mov dword [rdi + 0x58], r12d
cmp rbp, 0x10000
mov dword [rdi + 0x5c], r12d
mov qword [rsp + 0xa8], rbp
jge 0x14007020b
mov rbx, qword [0x140117df0]
lea r8, str.IMAGE
movzx edx, bp
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rsi, rax
cmp rax, r12
jne 0x1400701e2
or eax, 0xffffffff
jmp 0x1400704cd
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov r11d, eax
mov qword [rdi], r11
cmp r11, 8
jb 0x1400701da
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
jmp 0x1400702e9
cmp r13d, r12d
je 0x140070223
mov rax, qword [rbp]
mov qword [rdi + 8], rax
movsxd rax, r13d
mov qword [rdi], rax
jmp 0x1400702ed
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], 0x80
lea rcx, [rsp + 0xb0]
mov r9d, 1
mov r8d, 0x80000000
mov rdx, rbp
mov dword [rsp + 0x28], 3
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0x20], r12
call fcn.1400037e4
mov rbx, qword [rsp + 0xb0]
cmp rbx, r12
je 0x1400701da
lea r9, [rsp + 0xa0]
lea rdx, [rsp + 0x40]
mov r8d, 6
mov rcx, rbx
mov qword [rsp + 0x40], r12
mov dword [rsp + 0xa0], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
lea rcx, [rsp + 0x40]
call fcn.14005990c
cmp eax, r12d
jne 0x1400702c8
cmp rbx, 0xffffffffffffffff
je 0x1400702be
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xfffffffe
jmp 0x1400704cd
cmp rbx, 0xffffffffffffffff
je 0x1400702d7
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbp
call fcn.14006320c
mov qword [rdi + 0x48], rax
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
cmp rcx, r12
je 0x1400701da
call fcn.14005990c
cmp eax, r12d
je 0x1400702be
mov dword [rdi + 0x30], r12d
mov dword [rdi + 0x28], r12d
mov dword [rdi + 0x34], 0xffffff9c
mov dword [rdi + 0x2c], r12d
mov qword [rdi + 0x38], r12
mov word [rsp + 0xb0], r12w
mov esi, r12d
mov dword [rsp + 0xa0], r12d
cmp qword [rdi], r12
jbe 0x140070494
mov ebp, dword [rsp + 0xb0]
mov r9, qword [rdi + 8]
mov r14d, esi
mov al, byte [r14 + r9]
cmp al, 0x2c
jne 0x14007041d
lea eax, [rsi - 1]
cmp byte [rax + r9], r12b
jne 0x140070478
cmp dword [rdi + 0x28], r12d
jne 0x140070368
mov dword [rdi + 0x2c], esi
lea eax, [rsi + 1]
mov edx, 1
movzx r8d, byte [rax + r9 + 8]
mov ecx, r8d
shr r8d, 7
and ecx, 7
inc ecx
shl edx, cl
mov rcx, r9
imul edx, r8d
lea r8d, [rdx + rdx*2 + 0xb]
lea rdx, [rsp + 0xa0]
call fcn.1400598e4
mov ecx, 0x10
mov r15d, eax
call fcn.1400ddcb8
mov r12, rax
xor eax, eax
cmp r12, rax
je 0x1400703c4
mov qword [r12], rax
mov dword [r12 + 8], eax
mov dword [r12 + 0xc], eax
jmp 0x1400703c7
mov r12, rax
movsxd rcx, dword [rdi + 0x28]
lea rdx, [rdi + 0x10]
mov r9d, 8
lea r8, [rdx + 8]
call fcn.14005a5b0
mov rcx, r15
mov qword [rax], r12
call fcn.1400ddcb8
mov r8, r15
mov qword [r12], rax
mov rcx, qword [rdi + 8]
lea rdx, [r14 + rcx]
mov rcx, rax
call fcn.14001b7a8
movzx eax, bp
mov dword [r12 + 8], r15d
mov dword [r12 + 0xc], eax
xor r12d, r12d
inc dword [rdi + 0x28]
mov ebp, r12d
lea esi, [rsi + r15 - 1]
jmp 0x140070478
cmp al, 0x21
jne 0x140070478
lea eax, [rsi + 1]
mov al, byte [rax + r9]
cmp al, 0xf9
jne 0x140070444
mov cx, word [r14 + r9 + 4]
movzx eax, cx
shl ax, 2
add cx, ax
add esi, 7
lea ebp, [rcx + rcx]
jmp 0x140070478
cmp al, 0xff
jne 0x140070450
mov r8d, 0xe
jmp 0x140070466
cmp al, 0xfe
jne 0x14007045c
mov r8d, 2
jmp 0x140070466
cmp al, 1
jne 0x140070478
mov r8d, 0x10
lea rdx, [rsp + 0xa0]
mov rcx, r9
call fcn.1400598e4
add esi, eax
inc esi
mov eax, esi
mov dword [rsp + 0xa0], esi
cmp rax, qword [rdi]
jb 0x14007033f
mov rbp, qword [rsp + 0xa8]
cmp dword [rdi + 0x28], 1
jle 0x1400701da
cmp r13d, r12d
je 0x1400704af
mov rax, qword [rdi + 8]
mov qword [rdi + 0x48], rax
mov qword [rbp], r12
mov rdx, qword [rdi]
mov rcx, qword [rdi + 8]
lea r9, [rsp + 0xb8]
mov r8d, 4
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [rdi + 0x28]
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret