Function at 0x18002d910
Capabilities:
Extract resource via kernel32 functions

Disassembly:
test rcx, rcx
je 0x18002dbd9
push rdi
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rsi
mov rsi, rdx
mov r15, rcx
test rdx, rdx
je 0x18002dbc1
lea r8, [0x1800e2670]
mov edx, 0x6e
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
test rax, rax
je 0x18002da65
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
test eax, eax
jne 0x18002d983
xor ebx, ebx
jmp 0x18002da65
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
jne 0x18002d99b
xor ebx, ebx
jmp 0x18002da65
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x18002da65
mov rdx, rdi
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbp, rax
test rax, rax
jne 0x18002d9cd
xor ebx, ebx
jmp 0x18002da65
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
jne 0x18002d9e8
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalFree]
xor ebx, ebx
jmp 0x18002da65
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor ebx, ebx
mov qword [rsp + 0x60], rbx
lea r8, [rsp + 0x60]
xor edx, edx
mov rcx, rbp
call qword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
test eax, eax
jne 0x18002da5c
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x18002da5c
call fcn.180028a40
mov rdi, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rdi, rdi
je 0x18002da68
mov eax, dword [rdi + 0x10]
mov dword [rdi + 0x10], ebx
test eax, eax
je 0x18002da68
mov rax, qword [rdi]
lea edx, [rbx + 1]
mov rcx, rdi
call qword [rax]
jmp 0x18002da65
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rdi, rbx
mov qword [rsp + 0x28], rdi
test rdi, rdi
je 0x18002dbaf
lea r8, [0x1800e2670]
mov edx, 0x6f
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbp, rax
test rax, rax
je 0x18002db83
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov r14d, eax
test eax, eax
je 0x18002db83
mov rdx, rbp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x18002db83
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
test rax, rax
je 0x18002db83
mov edx, r14d
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbp, rax
test rax, rax
je 0x18002db83
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x18002db7a
mov r8d, r14d
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov qword [rsp + 0x60], rbx
lea r8, [rsp + 0x60]
xor edx, edx
mov rcx, rbp
call qword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
test eax, eax
jne 0x18002db7a
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x18002db7a
call fcn.180028a40
mov rsi, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
test rsi, rsi
je 0x18002db75
mov ecx, dword [rsi + 0x10]
mov dword [rsi + 0x10], ebx
test ecx, ecx
je 0x18002db75
mov rax, qword [rsi]
mov edx, 1
mov rcx, rsi
call qword [rax]
mov rsi, rbx
mov rbx, rsi
jmp 0x18002db83
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov qword [rsp + 0x30], rbx
test rbx, rbx
je 0x18002db9c
mov r8, rbx
mov rdx, rdi
mov rcx, r15
call fcn.18002d6f0
nop
test rbx, rbx
je 0x18002dbaf
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
nop
test rdi, rdi
je 0x18002dbc1
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret