Function at 0x1400936d0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
lea r8, [0x140249248]
movaps xmmword [rsp + 0x50], xmm7
xor edi, edi
movzx edx, cx
movaps xmm6, xmm1
movaps xmmword [rsp + 0x40], xmm8
xor ecx, ecx
movaps xmm8, xmm2
mov qword [rbp + 0x58], rdi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
je 0x1400937a6
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rdx, rbx
xor ecx, ecx
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x1400937a6
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
test rax, rax
je 0x1400937a6
mov edx, r14d
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbx, rax
test rax, rax
je 0x1400937a6
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x14009379d
mov r8d, r14d
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea r8, [rbp + 0x58]
mov edx, 1
mov rcx, rbx
call qword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
test eax, eax
jns 0x1400937a6
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rsi, qword [rbp + 0x58]
lea r12, vtable.Gdiplus::Bitmap.0
test rsi, rsi
je 0x1400937ea
mov ecx, Ordinal_27
call qword [sym.imp.gdiplus.dll_GdipAlloc]
mov rbx, rax
test rax, rax
je 0x1400937ea
lea rdx, [rbp - 0x40]
mov qword [rax], r12
mov rcx, rsi
mov qword [rbp - 0x40], rdi
call qword [sym.imp.gdiplus.dll_GdipCreateBitmapFromStream]
mov dword [rbx + 0x10], eax
mov rax, qword [rbp - 0x40]
mov qword [rbx + 8], rax
jmp 0x1400937ed
mov rbx, rdi
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0x40]
mov dword [rbp + 0x40], edi
call qword [sym.imp.gdiplus.dll_GdipGetImageWidth]
test eax, eax
je 0x140093805
mov dword [rbx + 0x10], eax
mov eax, dword [rbp + 0x40]
lea rdx, [rbp + 0x40]
mov rcx, qword [rbx + 8]
xorps xmm7, xmm7
mov dword [rbp + 0x40], edi
cvtsi2ss xmm7, rax
mulss xmm7, xmm6
call qword [sym.imp.gdiplus.dll_GdipGetImageHeight]
test eax, eax
je 0x14009382c
mov dword [rbx + 0x10], eax
mov eax, dword [rbp + 0x40]
lea rdx, [rbp + 0x48]
mov rcx, qword [rbx + 8]
xorps xmm6, xmm6
mov dword [rbp + 0x48], edi
cvtsi2ss xmm6, rax
mulss xmm6, xmm8
call qword [sym.imp.gdiplus.dll_GdipGetImageHeight]
test eax, eax
je 0x140093854
mov dword [rbx + 0x10], eax
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0x40]
mov dword [rbp + 0x40], edi
call qword [sym.imp.gdiplus.dll_GdipGetImageWidth]
test eax, eax
je 0x14009386c
mov dword [rbx + 0x10], eax
mov edx, dword [rbp + 0x40]
xorps xmm1, xmm1
mov ecx, dword [rbp + 0x48]
xorps xmm0, xmm0
cvttss2si r14d, xmm7
cvtsi2sd xmm1, rdx
cvtsi2sd xmm0, rcx
cvttss2si r15d, xmm6
divsd xmm1, xmm0
cmp edx, ecx
jbe 0x1400938a8
movd xmm0, r14d
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm1
cvttsd2si r15d, xmm0
jmp 0x1400938ba
movd xmm0, r15d
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si r14d, xmm0
mov ecx, Ordinal_27
call qword [sym.imp.gdiplus.dll_GdipAlloc]
mov rsi, rax
test rax, rax
je 0x14009392c
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0x40]
call qword [sym.imp.gdiplus.dll_GdipGetImagePixelFormat]
test eax, eax
je 0x1400938e2
mov dword [rbx + 0x10], eax
mov r9d, dword [rbp + 0x40]
lea rax, [rbp + 0x58]
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov edx, r15d
mov qword [rsp + 0x20], rdi
mov ecx, r14d
mov qword [rsi], r12
mov qword [rbp + 0x58], rdi
call qword [sym.imp.gdiplus.dll_GdipCreateBitmapFromScan0]
mov dword [rsi + 0x10], eax
lea rdx, [rbp + 0x58]
mov rax, qword [rbp + 0x58]
mov rcx, rax
mov qword [rsi + 8], rax
mov qword [rbp + 0x58], rdi
call qword [sym.imp.gdiplus.dll_GdipGetImageGraphicsContext]
mov rdi, qword [rbp + 0x58]
jmp 0x140093933
mov rsi, rdi
mov qword [rbp + 0x58], rdi
mov rdx, qword [rbx + 8]
xor r9d, r9d
mov dword [rsp + 0x28], r15d
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], r14d
call qword [sym.imp.gdiplus.dll_GdipDrawImageRectI]
mov rcx, rdi
call qword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
movaps xmm6, xmmword [rsp + 0x60]
mov rax, rsi
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x40]
add rsp, 0x70
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret