Function at 0x140016b20
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov qword [rax - 0x60], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1400444c0]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov rsi, rcx
mov qword [rsp + 0x80], rcx
movzx ebx, dx
mov r8d, 0xf0
mov edx, ebx
mov rcx, qword [0x1400472d0]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
xor ebp, ebp
mov r15d, ebp
mov qword [rsp + 0x68], rbp
mov edi, ebp
test rax, rax
je 0x140016bad
mov rdx, rax
mov rcx, qword [0x1400472d0]
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x140016bad
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r15, rax
mov qword [rsp + 0x68], rax
mov r8d, 5
mov rdx, rbx
mov rcx, qword [0x1400472d0]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
je 0x140016f7f
mov rdx, rax
mov rcx, qword [0x1400472d0]
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x140016f78
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
test rax, rax
je 0x140016f78
mov edx, 0xffff
cmp word [rax + 2], dx
sete bpl
cmp word [rax + 2], dx
lea rcx, [rax + 0x10]
je 0x140016c12
lea rcx, [rax + 8]
movzx ecx, word [rcx]
mov word [rsp + 0x60], cx
mov rcx, rax
call fcn.1400182e0
mov r14, rax
mov edx, 5
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_GetWindow]
mov r12, rax
xor esi, esi
movzx r13d, si
cmp si, word [rsp + 0x60]
jae 0x140016f7f
mov r11d, 0x378
test ebp, ebp
je 0x140016c5c
mov r8d, dword [r14 + 0x14]
lea rax, [r14 + 0x18]
jmp 0x140016c65
movzx r8d, word [r14 + 0x10]
lea rax, [r14 + 0x12]
cmp word [rax], 0x7b
jne 0x140016f16
mov rax, r15
test r15, r15
je 0x140016cad
nop word [rax + rax]
movzx ecx, word [rax]
lea r10, [rax + 2]
movzx r9d, word [rax + 2]
mov edx, dword [rax + 4]
add rax, 8
cmp ecx, r8d
je 0x140016c9f
add rax, rdx
jne 0x140016c80
jmp 0x140016cad
cmp r9w, r11w
je 0x140016cad
mov rsi, r10
add edx, 6
jmp 0x140016caf
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x90], rcx
test edx, edx
je 0x140016d1f
mov edi, edx
mov ecx, 0x42
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rbx, rax
test rax, rax
je 0x140016f52
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
je 0x140016f49
mov r9d, edi
mov r8, rsi
mov edx, edi
mov rcx, rax
call fcn.140014300
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea r8, [rsp + 0x90]
mov edx, 1
mov rcx, rbx
call qword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
mov rcx, qword [rsp + 0x90]
xor esi, esi
mov qword [rsp + 0x70], rsi
lea rdx, [rsp + 0x70]
call fcn.14001a5f0
mov edi, eax
mov rbx, qword [rsp + 0x70]
test eax, eax
js 0x140016ef7
call fcn.14001d950
test ebp, ebp
je 0x140016d53
lea r15, [r14 + 0x18]
movzx eax, word [r14 + 0xc]
jmp 0x140016d5c
lea r15, [r14 + 0x12]
movzx eax, word [r14 + 8]
movsx ecx, ax
mov dword [rsp + 0x98], ecx
test ebp, ebp
je 0x140016d71
movzx eax, word [r14 + 0xe]
jmp 0x140016d76
movzx eax, word [r14 + 0xa]
movsx edx, ax
mov dword [rsp + 0x9c], edx
test ebp, ebp
je 0x140016d8b
movzx eax, word [r14 + 0x10]
jmp 0x140016d90
movzx eax, word [r14 + 0xc]
cwde
add eax, ecx
mov dword [rsp + 0xa0], eax
test ebp, ebp
je 0x140016da5
movzx eax, word [r14 + 0x12]
jmp 0x140016daa
movzx eax, word [r14 + 0xe]
cwde
add eax, edx
mov dword [rsp + 0xa4], eax
lea rdx, [rsp + 0x98]
mov rdi, qword [rsp + 0x80]
mov rcx, qword [rdi + 8]
call qword [sym.imp.USER32.dll_MapDialogRect]
test ebp, ebp
je 0x140016de0
mov eax, dword [r14 + 0x14]
mov ecx, dword [r14 + 4]
mov r9d, dword [r14 + 8]
jmp 0x140016dea
movzx eax, word [r14 + 0x10]
mov ecx, esi
mov r9d, dword [r14]
mov r11, qword [rdi + 8]
mov edi, dword [rsp + 0xa4]
mov esi, dword [rsp + 0x9c]
sub edi, esi
mov r8d, dword [rsp + 0xa0]
mov r10d, dword [rsp + 0x98]
sub r8d, r10d
bts r9d, 0x10
mov qword [rsp + 0x58], 0
mov rdx, qword [0x1400472c8]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r11
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r10d
xor r8d, r8d
lea rdx, str.AtlAxWinLic120
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140016ee9
test ebp, ebp
je 0x140016e79
mov edx, dword [r14]
test edx, edx
je 0x140016e79
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowContextHelpId]
mov qword [rsp + 0x38], rbx
xor esi, esi
mov qword [rsp + 0x30], rsi
lea rax, [0x140039c50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor r9d, r9d
mov r8, qword [rsp + 0x90]
mov rdx, r15
lea rcx, [rsp + 0x78]
call fcn.1400170e0
mov edi, eax
test eax, eax
js 0x140016f59
test r13w, r13w
cmove r12, rsi
mov dword [rsp + 0x30], 0x13
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov r12, qword [rsp + 0x78]
mov rcx, r12
call qword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x140016ef2
call fcn.140011220
mov edi, eax
xor esi, esi
mov r15, qword [rsp + 0x68]
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x140016f2d
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140016f2d
test r13w, r13w
je 0x140016f2d
mov edx, 2
mov rcx, r12
call qword [sym.imp.USER32.dll_GetWindow]
mov r12, rax
mov edx, ebp
mov rcx, r14
call fcn.140018380
mov r14, rax
inc r13w
cmp r13w, word [rsp + 0x60]
jmp 0x140016c42
call fcn.140011220
mov edi, eax
jmp 0x140016f63
mov edi, 0x8007000e
jmp 0x140016f63
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x140016f7f
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140016f7f
call fcn.140011220
mov edi, eax
mov eax, edi
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140021700
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret