Function at 0x140072148
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, [0x14011b628]
lea rdx, str.OLEAUT32.DLL
lea rcx, str.OleLoadPicture
xor r9d, r9d
call fcn.1400556c0
xor r12d, r12d
cmp rbx, r12
je 0x14007218c
mov r13d, dword [rbx]
jmp 0x14007218f
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 0x14007220f
mov rbx, qword [0x14011adf0]
lea r8, str.IMAGE
movzx edx, bp
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rsi, rax
cmp rax, r12
jne 0x1400721e6
or eax, 0xffffffff
jmp 0x1400724d1
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov r11d, eax
mov qword [rdi], r11
cmp r11, 8
jb 0x1400721de
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
jmp 0x1400722ed
cmp r13d, r12d
je 0x140072227
mov rax, qword [rbp]
mov qword [rdi + 8], rax
movsxd rax, r13d
mov qword [rdi], rax
jmp 0x1400722f1
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.1400037a8
mov rbx, qword [rsp + 0xb0]
cmp rbx, r12
je 0x1400721de
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.14005b7cc
cmp eax, r12d
jne 0x1400722cc
cmp rbx, 0xffffffffffffffff
je 0x1400722c2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0xfffffffe
jmp 0x1400724d1
cmp rbx, 0xffffffffffffffff
je 0x1400722db
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbp
call fcn.140064fc0
mov qword [rdi + 0x48], rax
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
cmp rcx, r12
je 0x1400721de
call fcn.14005b7cc
cmp eax, r12d
je 0x1400722c2
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 0x140072498
mov ebp, dword [rsp + 0xb0]
mov r9, qword [rdi + 8]
mov r14d, esi
mov al, byte [r14 + r9]
cmp al, 0x2c
jne 0x140072421
lea eax, [rsi - 1]
cmp byte [rax + r9], r12b
jne 0x14007247c
cmp dword [rdi + 0x28], r12d
jne 0x14007236c
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.14005b7a4
mov ecx, 0x10
mov r15d, eax
call fcn.1400e01b8
mov r12, rax
xor eax, eax
cmp r12, rax
je 0x1400723c8
mov qword [r12], rax
mov dword [r12 + 8], eax
mov dword [r12 + 0xc], eax
jmp 0x1400723cb
mov r12, rax
movsxd rcx, dword [rdi + 0x28]
lea rdx, [rdi + 0x10]
mov r9d, 8
lea r8, [rdx + 8]
call fcn.14005c364
mov rcx, r15
mov qword [rax], r12
call fcn.1400e01b8
mov r8, r15
mov qword [r12], rax
mov rcx, qword [rdi + 8]
lea rdx, [r14 + rcx]
mov rcx, rax
call fcn.14001b870
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 0x14007247c
cmp al, 0x21
jne 0x14007247c
lea eax, [rsi + 1]
mov al, byte [rax + r9]
cmp al, 0xf9
jne 0x140072448
mov cx, word [r14 + r9 + 4]
movzx eax, cx
shl ax, 2
add cx, ax
add esi, 7
lea ebp, [rcx + rcx]
jmp 0x14007247c
cmp al, 0xff
jne 0x140072454
mov r8d, 0xe
jmp 0x14007246a
cmp al, 0xfe
jne 0x140072460
mov r8d, 2
jmp 0x14007246a
cmp al, 1
jne 0x14007247c
mov r8d, 0x10
lea rdx, [rsp + 0xa0]
mov rcx, r9
call fcn.14005b7a4
add esi, eax
inc esi
mov eax, esi
mov dword [rsp + 0xa0], esi
cmp rax, qword [rdi]
jb 0x140072343
mov rbp, qword [rsp + 0xa8]
cmp dword [rdi + 0x28], 1
jle 0x1400721de
cmp r13d, r12d
je 0x1400724b3
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