Function at 0x1400163d0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x490
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x38], 0xfffffffffffffffe
mov qword [rbp + 0x4a0], rbx
mov rax, qword [0x140066550]
xor rax, rbp
mov qword [rbp + 0x450], rax
mov r15, r9
mov r14, r8
mov r13, rdx
xor edi, edi
mov rbx, rdi
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x28], rdi
mov rax, rdi
mov qword [rbp + 0x40], rax
cmp rdx, rdi
je 0x14001674f
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
movsxd r12, eax
add r12, r12
mov eax, 0x80000000
add rax, r12
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x14001674b
cmp r12d, 0x400
jg 0x140016498
movsxd rsi, r12d
mov rcx, rsi
call fcn.14000ea24
cmp al, dil
je 0x140016498
lea rax, [rsi + 0xf]
cmp rax, rsi
ja 0x140016485
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14004e7e0
sub rsp, rax
lea rcx, [rsp + 0x30]
jmp 0x1400164cd
movsxd rcx, r12d
or rax, 0xffffffffffffffff
sub rax, rcx
cmp rax, 0x10
jb 0x140016740
add rcx, 0x10
call fcn.140021f70
cmp rax, rdi
jne 0x1400164bf
mov rcx, rdi
jmp 0x1400164cd
mov qword [rax], rdi
mov rbx, rax
mov qword [rbp + 0x18], rax
lea rcx, [rax + 0x10]
mov r9d, 3
mov r8d, r12d
mov rdx, r13
call fcn.14000b0a8
cmp rax, rdi
je 0x14001674b
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov r12, rax
mov qword [rbp + 0x20], rax
cmp rax, rdi
jne 0x14001653f
lea rax, str.D:Program_FilesMicrosoft_Visual_Studio_9.0VCATLMFCINCLUDE_statreg.h
mov qword [rbp], rax
mov dword [rbp + 8], 0x188
mov qword [rsp + 0x20], r13
lea r9, str.Failed_to_LoadLibrary_on__s_n
xor r8d, r8d
mov rdx, qword [0x1400681d0]
lea rcx, [rbp]
call fcn.14000b184
call fcn.14000b2cc
mov esi, eax
jmp 0x140016713
mov r8, r15
mov rdx, r14
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov r13, rax
cmp rax, rdi
jne 0x1400165ad
lea rax, str.D:Program_FilesMicrosoft_Visual_Studio_9.0VCATLMFCINCLUDE_statreg.h
mov qword [rbp], rax
mov dword [rbp + 8], 0x191
mov rax, r14
shr rax, 0x10
lea rcx, str.Failed_to_FindResource_on_ID:_d_TYPE:_s_n
lea r9, str.Failed_to_FindResource_on_ID:_s_TYPE:_s_n
cmp ax, di
cmove r9, rcx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov rdx, qword [0x1400681d0]
lea rcx, [rbp]
call fcn.14000b184
call fcn.14000b2cc
mov esi, eax
jmp 0x140016709
mov rdx, rax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rsi, rax
mov qword [rbp], rax
cmp rax, rdi
jne 0x1400165fd
lea rax, str.D:Program_FilesMicrosoft_Visual_Studio_9.0VCATLMFCINCLUDE_statreg.h
mov qword [rbp], rax
mov dword [rbp + 8], 0x19c
lea r9, str.Failed_to_LoadResource_n
xor r8d, r8d
mov rdx, qword [0x1400681d0]
lea rcx, [rbp]
call fcn.14000b184
call fcn.14000b2cc
mov esi, eax
jmp 0x140016709
mov rdx, r13
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov r13d, eax
mov dword [rbp + 0x10], r13d
lea eax, [r13 + 1]
cmp eax, r13d
jae 0x14001664c
lea rax, [rbp + 0x48]
cmp qword [rbp + 0x40], rax
je 0x14001662d
lea rcx, [rbp + 0x40]
call fcn.14000e9f0
nop
cmp rbx, rdi
je 0x140016642
mov rcx, rbx
mov rbx, qword [rbx]
call fcn.140020fe0
cmp rbx, rdi
jne 0x140016632
mov eax, 0x8007000e
jmp 0x14001677c
mov ecx, eax
cmp rcx, rdi
jne 0x140016658
mov rcx, rdi
jmp 0x140016667
xor edx, edx
or rax, 0xffffffffffffffff
div rcx
cmp rax, 1
jb 0x140016676
mov rdx, rcx
lea rcx, [rbp + 0x40]
call fcn.1400118f8
nop
jmp 0x140016693
mov ecx, 0x80070057
call fcn.14000b1d4
nop
xor edi, edi
mov rbx, qword [rbp + 0x18]
mov r12, qword [rbp + 0x20]
mov rsi, qword [rbp]
mov r13d, dword [rbp + 0x10]
mov rcx, qword [rbp + 0x40]
cmp rcx, rdi
jne 0x1400166a3
mov esi, 0x8007000e
jmp 0x140016709
mov r9, r13
mov r8, rsi
mov rdx, r13
call fcn.14001f9a0
cmp eax, edi
je 0x1400166ea
cmp eax, 0xc
je 0x1400166df
cmp eax, 0x16
je 0x1400166d4
cmp eax, 0x22
je 0x1400166d4
cmp eax, 0x50
je 0x1400166ea
mov ecx, 0x80004005
call fcn.14000b1d4
int3
mov ecx, 0x80070057
call fcn.14000b1d4
int3
mov ecx, 0x8007000e
call fcn.14000b1d4
int3
mov rax, qword [rbp + 0x40]
mov byte [r13 + rax], dil
mov r8d, dword [rbp + 0x4c0]
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp + 0x28]
call fcn.140015e08
mov esi, eax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
lea rax, [rbp + 0x48]
cmp qword [rbp + 0x40], rax
je 0x140016727
lea rcx, [rbp + 0x40]
call fcn.14000e9f0
nop
cmp rbx, rdi
je 0x14001673c
mov rcx, rbx
mov rbx, qword [rbx]
call fcn.140020fe0
cmp rbx, rdi
jne 0x14001672c
mov eax, esi
jmp 0x14001677c
mov ecx, 0x80070057
call fcn.14000b1d4
int3
mov rax, qword [rbp + 0x40]
lea rcx, [rbp + 0x48]
cmp rax, rcx
je 0x140016762
lea rcx, [rbp + 0x40]
call fcn.14000e9f0
nop
cmp rbx, rdi
je 0x140016777
mov rcx, rbx
mov rbx, qword [rbx]
call fcn.140020fe0
cmp rbx, rdi
jne 0x140016767
mov eax, 0x8007000e
mov rcx, qword [rbp + 0x450]
xor rcx, rbp
call fcn.1400209e0
mov rbx, qword [rbp + 0x4a0]
lea rsp, [rbp + 0x460]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret