Function at 0x140052644
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov rsi, rcx
xor r13d, r13d
mov qword [rcx + 0x1c0], r13
mov rdi, qword [0x14010f7a8]
mov r15d, 0x80004002
cmp rdi, r13
jne 0x140052689
lea edi, [r15 + 3]
jmp 0x140052a66
xor r8d, r8d
lea r14d, [r8 + 1]
mov edx, r14d
mov rcx, rdi
call fcn.140062c94
cmp eax, r13d
jne 0x1400526aa
mov edi, 0x80004005
jmp 0x140052a66
lea rcx, [rsi + 0x10]
mov r8d, r14d
lea rdx, [0x14000b7d0]
call fcn.14005d34c
cmp eax, r13d
je 0x1400526cc
mov edi, 0x80004005
jmp 0x140052a66
lea rcx, [rsi + 0x80]
mov r8d, r14d
lea rdx, [0x14000b7e8]
call fcn.14005d34c
cmp eax, r13d
je 0x1400526f1
mov edi, 0x80004005
jmp 0x140052a66
lea rcx, [rsi + 0xb8]
mov r8d, r14d
lea rdx, [0x14000b810]
call fcn.14005d34c
cmp eax, r13d
je 0x140052716
mov edi, 0x80004005
jmp 0x140052a66
lea rcx, [rsi + 0x48]
mov r8d, r14d
lea rdx, [0x14000b860]
call fcn.14005d34c
cmp eax, r13d
je 0x140052738
mov edi, 0x80004005
jmp 0x140052a66
lea rcx, [rsi + 0xf0]
mov r8d, r14d
lea rdx, [0x14000b8e0]
call fcn.14005d34c
cmp eax, r13d
je 0x14005275d
mov edi, 0x80004005
jmp 0x140052a66
lea r8, [0x14000b910]
mov edx, 0xc352
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
cmp rax, r13
je 0x140052a61
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
cmp rax, r13
je 0x140052a61
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
cmp rax, r13
je 0x140052a61
mov rdx, rax
lea rcx, [rsp + 0x100]
call fcn.14005cd98
nop
mov r8b, r14b
mov edx, 0xbb8
lea rcx, [rsi + 0x128]
call fcn.140046abc
lea r11, [rsp + 0x50]
mov qword [rsp + 0xf0], r11
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x50]
call fcn.1400609dc
nop
lea r8, [rsi + 0x128]
mov rdx, rax
mov rcx, rsi
call fcn.140053e80
nop
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r13d
jg 0x14005281e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r8, [0x14000b910]
mov edx, 0xc351
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbx, rax
cmp rax, r13
je 0x140052a5a
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LoadResource]
cmp rax, r13
je 0x140052a5a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r12, rax
cmp rax, r13
je 0x140052a5a
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
lea r9, [0x140104100]
mov rdx, r12
lea rcx, [rsp + 0x108]
call fcn.14006084c
nop
mov r8b, r14b
mov edx, 0x64
lea rcx, [rsi + 0x170]
call fcn.140046abc
lea r11, [rsp + 0x58]
mov qword [rsp + 0x68], r11
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x58]
call fcn.1400609dc
nop
lea r8, [rsi + 0x170]
mov rdx, rax
mov rcx, rsi
call fcn.140053e80
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r13d
jg 0x1400528fd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rbx, [rsi + 0x1b8]
mov qword [rsp + 0x20], rbx
lea r9, [0x14000b000]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x14000eb00]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
cmp eax, r13d
jl 0x140052a66
mov rcx, qword [rbx]
mov qword [rsp + 0xf0], r13
cmp rcx, r13
je 0x140052954
mov r9, qword [rcx]
lea r8, [rsp + 0xf0]
lea rdx, [0x14000aff0]
call qword [r9]
nop
lea rcx, [0x14000af58]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov qword [rsp + 0x70], rax
cmp rax, r13
jne 0x140052979
mov ecx, 0x8007000e
call fcn.140015f3c
nop
mov word [rsp + 0x38], r13w
lea rcx, [rsp + 0x38]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov r11d, 8
mov word [rsp + 0x38], r11w
lea rcx, [0x14000af80]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0x40], rax
cmp rax, r13
jne 0x1400529c6
mov eax, 0xa
mov word [rsp + 0x38], ax
mov ecx, 0x8007000e
mov dword [rsp + 0x40], ecx
call fcn.140015f3c
nop
mov rcx, qword [rsp + 0xf0]
cmp rcx, r13
je 0x140052a0c
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x38]
mov rax, qword [rdx]
mov qword [r8], rax
mov rax, qword [rdx + 8]
mov qword [r8 + 8], rax
mov rax, qword [rdx + 0x10]
mov qword [r8 + 0x10], rax
mov rax, qword [rcx]
lea r8, [rsp + 0x80]
mov rdx, rbx
call qword [rax + 0x280]
mov edi, eax
lea rcx, [rsp + 0x38]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0xf0]
cmp rcx, r13
je 0x140052a35
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp edi, r13d
jl 0x140052a66
lea rcx, [rsi + 0x1c0]
call fcn.14005fd28
mov edi, eax
cmp eax, r13d
jl 0x140052a66
cmp qword [rsi + 0x1c0], r13
cmove edi, r15d
jmp 0x140052a66
mov edi, 0x80004005
jmp 0x140052a66
mov edi, 0x80004005
mov qword [rsp + 0xf8], r13
cmp edi, r13d
jl 0x140052afe
mov rcx, qword [rsi + 0x1c0]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsi + 0x1c0]
mov rax, qword [rcx]
lea r8, [rsp + 0xf8]
lea rdx, [0x140007900]
call qword [rax]
mov edi, eax
cmp eax, r13d
jl 0x140052afe
mov rdx, qword [rsp + 0xf8]
cmp rdx, r13
cmove edi, r15d
cmp edi, r13d
jl 0x140052afe
lea rbx, [rsi + 0x1c8]
cmp rdx, r13
je 0x140052af9
cmp rbx, r13
je 0x140052af9
mov qword [rsp + 0x30], r13
xor r9d, r9d
lea r8, [rsp + 0x30]
xor ecx, ecx
call fcn.140064770
mov edi, eax
cmp eax, r13d
jl 0x140052afe
mov rax, qword [rsp + 0x30]
add rax, 0xd8
mov qword [rbx], rax
mov edi, r13d
jmp 0x140052afe
mov edi, 0x80070057
mov dword [rsi + 0x1d0], r13d
mov rcx, qword [rsp + 0xf8]
cmp rcx, r13
je 0x140052b18
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, edi
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret