Function at 0x180015fe0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x40
mov rax, r8
mov rbx, rdx
mov rdx, rax
mov rcx, rbx
mov r8, r9
mov ebp, 0x8007000e
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rdi, rax
test rax, rax
je 0x180016274
mov rdx, rax
mov qword [rsp + 0x60], rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
test eax, eax
je 0x18001626f
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
test rax, rax
je 0x18001626f
mov edx, esi
mov qword [rsp + 0x70], r14
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r14, rax
test rax, rax
je 0x18001626a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x180016261
mov r8d, esi
mov qword [rsp + 0x68], r12
mov rdx, rdi
mov rcx, rax
call fcn.18003b940
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor r12d, r12d
lea r8, [rsp + 0x30]
xor edx, edx
mov qword [rsp + 0x30], r12
mov rcx, r14
call qword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
test eax, eax
jne 0x18001625c
mov rcx, qword [rsp + 0x30]
xor edx, edx
call fcn.1800155d0
mov rsi, rax
test rax, rax
je 0x180016251
mov eax, dword [rax + 0x10]
mov dword [rsi + 0x10], r12d
test eax, eax
jne 0x180016243
lea ecx, [rax + 0x18]
mov qword [rsp + 0x78], r15
call sub.gdiplus.dll_GdipAlloc
cmp byte [rsp + 0x90], r12b
je 0x18001619e
mov edi, dword [rsp + 0x88]
mov rbx, rax
mov r15d, dword [rsp + 0x80]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x180016132
mov rcx, rsi
call fcn.180015890
mov r9d, eax
mov r8d, edi
mov edx, r15d
mov rcx, rbx
call fcn.180014bf0
mov rcx, rax
jmp 0x180016135
mov rcx, r12
mov rax, qword [rsp + 0x98]
mov qword [rax], rcx
test rcx, rcx
je 0x18001623e
mov rcx, qword [rcx + 8]
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x38], r12
call sub.gdiplus.dll_GdipGetImageGraphicsContext
mov rbx, qword [rsp + 0x38]
mov edx, 4
mov rcx, rbx
call sub.gdiplus.dll_GdipSetSmoothingMode
mov edx, 7
mov rcx, rbx
call sub.gdiplus.dll_GdipSetInterpolationMode
mov rdx, qword [rsi + 8]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], edi
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call sub.gdiplus.dll_GdipDrawImageRectI
mov rcx, rbx
jmp 0x180016236
mov qword [rsp + 0x38], rax
mov r15, rax
test rax, rax
je 0x1800161dc
mov rcx, rsi
call fcn.180015890
mov rcx, rsi
mov edi, eax
call fcn.180015860
mov rcx, rsi
mov ebx, eax
call fcn.1800158c0
mov edx, eax
mov r9d, edi
mov r8d, ebx
mov rcx, r15
call fcn.180014bf0
mov rcx, rax
jmp 0x1800161df
mov rcx, r12
mov rax, qword [rsp + 0x98]
mov qword [rax], rcx
test rcx, rcx
je 0x18001623e
mov rcx, qword [rcx + 8]
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x38], r12
call sub.gdiplus.dll_GdipGetImageGraphicsContext
mov rdi, qword [rsp + 0x38]
mov rcx, rsi
call fcn.180015860
mov rcx, rsi
mov ebx, eax
call fcn.1800158c0
mov rdx, qword [rsi + 8]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], ebx
mov rcx, rdi
mov dword [rsp + 0x20], eax
call sub.gdiplus.dll_GdipDrawImageRectI
mov rcx, rdi
mov ebp, r12d
call sub.gdiplus.dll_GdipDeleteGraphics
mov r15, qword [rsp + 0x78]
mov r8, qword [rsi]
mov edx, 1
mov rcx, rsi
call qword [r8]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
mov r12, qword [rsp + 0x68]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov r14, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov eax, ebp
add rsp, 0x40
pop rdi
pop rbp
pop rbx
ret