Function at 0x140046d80
Capabilities:
Load windows common language runtime

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x250]
sub rsp, 0x350
mov rax, qword [0x1400cc0b8]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x28], rcx
xor r13d, r13d
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], r13
lea r8d, [r13 + 3]
lea rdx, [0x1400b9c18]
lea rcx, [rsp + 0x40]
call fcn.140009374
nop
mov qword [rsp + 0x78], r13
lea rcx, str.mscoree.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rcx, rax
lea rdx, str.CLRCreateInstance
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140046f16
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
mov dword [rsp + 0x60], r13d
lea rcx, str.mscoree.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.GetRequestedRuntimeVersion
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea r9, [rsp + 0x60]
lea r8d, [r13 + 0x40]
lea rdx, [rbp - 0x50]
mov rcx, rbx
call rax
lea rcx, str.mscoree.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
lea rcx, [rbp - 0x50]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140046ea0
mov r8, rax
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.140009374
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140046ecb
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140047519
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046f0c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047552
call fcn.14006c550
jmp 0x140047519
lea r8, [rsp + 0x78]
lea rdx, [0x1400b9978]
lea rcx, [0x1400b9988]
call rax
test eax, eax
jns 0x140046f59
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rdi + 0x10], xmm1
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r13w
jmp 0x140047508
mov qword [rbp - 0x78], r13
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea rdx, [rbp - 0x78]
call qword [rax + 0x28]
test eax, eax
jns 0x140046faa
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rdi + 0x10], xmm1
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r13w
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140046fa5
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x140047508
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x68], r13
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rsp + 0x70]
lea edx, [r9 + 1]
call qword [rax + 0x18]
test eax, eax
jne 0x1400474b1
movabs rbx, 0x7ffffffffffffffe
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x40]
mov rdi, 0xffffffffffffffff
mov qword [rbp - 0x80], r13
mov dword [rsp + 0x60], 0x208
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea r8, [rbp - 0x80]
lea rdx, [0x1400b9c20]
call qword [rax]
test eax, eax
js 0x140047468
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
cmp qword [rsp + 0x68], 0
jne 0x1400471bf
lea r8, [rsp + 0x68]
lea rdx, [0x1400b9c20]
call qword [rax]
test eax, eax
js 0x140047468
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x30]
call qword [rax + 0x18]
lea rax, [rbp + 0x30]
mov rsi, rdi
nop
inc rsi
cmp word [rax + rsi*2], 0
jne 0x140047060
cmp rsi, r14
ja 0x1400470ad
lea rdi, [rsp + 0x40]
cmp r14, 8
cmovae rdi, r15
mov qword [rsp + 0x50], rsi
lea rbx, [rsi + rsi]
mov r8, rbx
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.14006e930
mov word [rdi + rbx], r13w
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x40]
jmp 0x14004745e
cmp rsi, rbx
ja 0x14004755e
mov r12, r14
mov r14, rsi
or r14, 7
cmp r14, rbx
ja 0x1400470d6
mov rcx, r12
shr rcx, 1
mov rax, rbx
sub rax, rcx
cmp r12, rax
jbe 0x1400470e9
mov r14, rbx
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x140047117
lea rax, [r12 + rcx]
cmp r14, rax
cmovb r14, rax
lea rcx, [r14 + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140047558
add rcx, rcx
cmp rcx, 0x1000
jb 0x140047143
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140047558
mov rcx, rax
call fcn.14006c558
test rax, rax
je 0x14004754c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140047155
test rcx, rcx
je 0x140047152
call fcn.14006c558
mov rdi, rax
jmp 0x140047155
mov rdi, r13
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r14
lea rbx, [rsi + rsi]
mov r8, rbx
lea rdx, [rbp + 0x30]
mov rcx, rdi
call fcn.14006e930
mov word [rdi + rbx], r13w
cmp r12, 8
jb 0x1400471b2
lea rdx, [r12*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400471aa
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004754c
mov rcx, r15
call fcn.14006c550
mov r15, rdi
mov qword [rsp + 0x40], rdi
jmp 0x14004745e
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x30]
call qword [rax + 0x18]
test eax, eax
js 0x140047468
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x58], r13
lea rax, [rbp + 0x30]
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400471f0
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.140009374
nop
lea rax, [rsp + 0x40]
cmp r14, 8
setae r11b
cmovae rax, r15
lea r9, [rbp - 0x70]
mov r13, qword [rbp - 0x58]
cmp r13, 8
setae r12b
mov byte [rsp + 0x20], r12b
mov r10, qword [rbp - 0x70]
mov qword [rsp + 0x28], r10
cmovae r9, r10
mov rbx, qword [rbp - 0x60]
mov rcx, rbx
cmp rsi, rbx
cmovb rcx, rsi
test rcx, rcx
je 0x140047266
sub r9, rax
movzx edx, word [r9 + rax]
cmp dx, word [rax]
jne 0x1400472bb
add rax, 2
sub rcx, 1
jne 0x140047252
cmp rbx, rsi
jbe 0x140047421
lea r13, [rbp - 0x70]
test r12b, r12b
cmovne r13, r10
cmp rbx, r14
ja 0x1400472cd
lea rdi, [rsp + 0x40]
test r11b, r11b
cmovne rdi, r15
mov qword [rsp + 0x50], rbx
add rbx, rbx
mov r8, rbx
mov rdx, r13
mov rcx, rdi
call fcn.14006e930
xor eax, eax
mov word [rdi + rbx], ax
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x40]
jmp 0x1400473ed
mov eax, 1
cmovb eax, edi
test eax, eax
jle 0x140047421
jmp 0x14004726f
movabs rdx, 0x7ffffffffffffffe
cmp rbx, rdx
ja 0x140047546
mov r12, r14
mov r14, rbx
or r14, 7
cmp r14, rdx
ja 0x140047300
mov rcx, r12
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r12, rax
jbe 0x140047313
mov r14, rdx
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x140047341
lea rax, [rcx + r12]
cmp r14, rax
cmovb r14, rax
lea rcx, [r14 + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14004756a
add rcx, rcx
cmp rcx, 0x1000
jb 0x14004736d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004756a
mov rcx, rax
call fcn.14006c558
test rax, rax
je 0x140047564
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14004737e
test rcx, rcx
je 0x14004737c
call fcn.14006c558
mov rdi, rax
jmp 0x14004737e
xor edi, edi
mov rsi, rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r14
add rbx, rbx
mov r8, rbx
mov rdx, r13
mov rcx, rdi
call fcn.14006e930
xor eax, eax
mov word [rdi + rbx], ax
cmp r12, 8
jb 0x1400473df
lea rdx, [r12*2 + 2]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400473d5
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140047564
mov rcx, r15
call fcn.14006c550
xor eax, eax
movzx r12d, byte [rsp + 0x20]
mov qword [rsp + 0x40], rdi
mov r15, rdi
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140047403
mov qword [rsp + 0x68], rax
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
lea rdx, [0x1400b9c20]
call qword [rax]
mov r10, qword [rsp + 0x28]
mov r13, qword [rbp - 0x58]
test r12b, r12b
je 0x14004745b
lea rdx, [r13*2 + 2]
mov rax, r10
cmp rdx, 0x1000
jb 0x140047453
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004754c
mov rcx, r10
call fcn.14006c550
xor r13d, r13d
movabs rbx, 0x7ffffffffffffffe
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14004747e
mov qword [rsp + 0x70], r13
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14004748e
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rsp + 0x70]
lea edx, [r9 + 1]
call qword [rax + 0x18]
test eax, eax
je 0x140046feb
mov rdi, qword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rdi + 0x10], xmm1
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r13w
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400474e7
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400474f8
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140047508
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140047519
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rax, rdi
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.14006c530
mov rbx, qword [rsp + 0x3a0]
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400012b0
nop
call fcn.14007d788
nop
call fcn.14007d788
nop
call fcn.140001150
int3
call fcn.1400012b0
nop
call fcn.14007d788
int3
call fcn.140001150
int3