Function at 0x140044bf8
Capabilities:
Encode data using xor
Link many functions at runtime

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
push r12
push r14
push r15
sub rsp, 0x1d0
mov rax, qword [0x14010c0c0]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
xor r15d, r15d
mov dword [r11 - 0x48], 0x273a220d
mov dword [r11 - 0x44], 0x7f7f272f
mov dword [r11 - 0x40], 0x3d3c2b60
xor eax, eax
mov byte [r11 - 0x3c], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x1a0], al
inc edx
cmp edx, 0xc
jb 0x140044c4a
mov byte [rsp + 0x1ac], r15b
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdi, rax
test rax, rax
jne 0x140044c96
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
je 0x1400457ec
mov dword [rsp + 0x160], 0x272d3709
mov dword [rsp + 0x164], 0x2e23391a
mov dword [rsp + 0x168], 0x233c2b
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0xb
jb 0x140044cba
mov byte [rsp + 0x16b], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
or rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x140044cfc
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
mov r12d, reloc.OLEAUT32.dll_SafeArrayDestroy
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140120490], rax
mov rdx, qword [rsp + 0x198]
mov r14d, 0x1000
cmp rdx, r12
jbe 0x140044d90
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140044d8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045807
call fcn.1400862a0
test rbx, rbx
je 0x14004580d
movdqa xmm0, xmmword [0x1400fbe50]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0x29393905
mov dword [rsp + 0x174], 0x29333329
xor eax, eax
mov byte [rsp + 0x178], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0x18
jb 0x140044dcc
mov byte [rsp + 0x178], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x140044e0a
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x1401204c8], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140044e92
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140044e8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045828
call fcn.1400862a0
test rbx, rbx
je 0x14004582e
movdqa xmm0, xmmword [0x1400fbda0]
movdqu xmmword [rsp + 0x160], xmm0
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, r12d
jb 0x140044eaf
mov byte [rsp + 0x16f], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x140044eed
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x1401204d0], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140044f75
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140044f70
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045849
call fcn.1400862a0
test rbx, rbx
je 0x14004584f
mov dword [rsp + 0x160], 0x2a273516
mov dword [rsp + 0x164], 0x7e3f382f
mov dword [rsp + 0x168], 0x2935017c
mov word [rsp + 0x16c], 0x426
xor eax, eax
mov byte [rsp + 0x16e], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0xe
jb 0x140044fb5
mov byte [rsp + 0x16e], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x140044ff3
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x1401204d8], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x14004507b
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140045076
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004586a
call fcn.1400862a0
test rbx, rbx
je 0x140045870
mov dword [rsp + 0x160], 0x3c2c280b
mov dword [rsp + 0x164], 0x7f7f2e26
mov dword [rsp + 0x168], 0x22222608
mov word [rsp + 0x16c], 0x426
xor eax, eax
mov byte [rsp + 0x16e], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0xe
jb 0x1400450bb
mov byte [rsp + 0x16e], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400450f9
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x1401204e0], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140045181
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x14004517c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045891
call fcn.1400862a0
test rbx, rbx
je 0x140045897
mov dword [rsp + 0x160], 0x3c2c280b
mov dword [rsp + 0x164], 0x7f7f2e26
mov dword [rsp + 0x168], 0x25282a00
mov word [rsp + 0x16c], 5
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0xd
jb 0x1400451b8
mov byte [rsp + 0x16d], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400451f6
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x1401204e8], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x14004527e
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140045279
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400458b8
call fcn.1400862a0
test rbx, rbx
je 0x1400458be
movdqa xmm0, xmmword [0x1400fbe10]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0x10212539
mov dword [rsp + 0x174], 0x333d34
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0x17
jb 0x1400452b1
mov byte [rsp + 0x177], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400452ef
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x1401204f0], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x140045377
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140045372
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400458df
call fcn.1400862a0
test rbx, rbx
je 0x1400458e5
movdqa xmm0, xmmword [0x1400fbdb0]
movdqu xmmword [rsp + 0x160], xmm0
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, r12d
jb 0x140045394
mov byte [rsp + 0x16f], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400453d2
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140120500], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x14004545a
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x140045455
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045906
call fcn.1400862a0
test rbx, rbx
je 0x14004590c
mov dword [rsp + 0x1b0], 0x283e2307
mov dword [rsp + 0x1b4], 0x7f7f223a
mov dword [rsp + 0x1b8], 0x3d3c2b60
xor eax, eax
mov byte [rsp + 0x1bc], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x1b0], al
inc edx
cmp edx, 0xc
jb 0x140045490
mov byte [rsp + 0x1bc], r15b
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
jne 0x1400454dc
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
je 0x14004592d
movdqa xmm0, xmmword [0x1400fbe30]
movdqu xmmword [rsp + 0x160], xmm0
xor eax, eax
mov byte [rsp + 0x170], al
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0x10
jb 0x1400454f9
mov byte [rsp + 0x170], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x140045537
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov qword [0x140120508], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x1400455bf
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x1400455ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004594e
call fcn.1400862a0
test rdi, rdi
je 0x140045954
movdqa xmm0, xmmword [0x1400fbe40]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0x3c3f323a
mov word [rsp + 0x174], 0x29
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0x15
jb 0x1400455f1
mov byte [rsp + 0x175], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
mov r8, rsi
inc r8
cmp byte [rax + r8], r15b
jne 0x14004562f
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov qword [0x140120518], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x1400456b7
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x1400456b2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045975
call fcn.1400862a0
test rdi, rdi
je 0x14004597b
movdqa xmm0, xmmword [str._n____]
movdqu xmmword [rsp + 0x160], xmm0
mov dword [rsp + 0x170], 0x3c2d3b37
mov word [rsp + 0x174], SafeArrayDestroy
mov edx, r15d
movsxd rcx, edx
lea eax, [rdx + 0x46]
xor byte [rsp + rcx + 0x160], al
inc edx
cmp edx, 0x15
jb 0x1400456e9
mov byte [rsp + 0x175], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x190], xmm1
lea rax, [rsp + 0x160]
inc rsi
cmp byte [rax + rsi], r15b
jne 0x140045724
mov r8, rsi
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x180]
call fcn.140012aa0
lea rdx, [rsp + 0x180]
cmp qword [rsp + 0x198], r12
cmova rdx, qword [rsp + 0x180]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [0x140120510], rax
mov rdx, qword [rsp + 0x198]
cmp rdx, r12
jbe 0x1400457af
inc rdx
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, r14
jb 0x1400457aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004599c
call fcn.1400862a0
test rbx, rbx
je 0x1400459a2
mov al, 1
jmp 0x1400457be
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.140086280
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
ret
lea rcx, [rsp + 0x28]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0x28]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0x40]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0x40]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0x58]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0x58]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0x70]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0x70]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0x88]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0x88]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0xa0]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0xa0]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0xb8]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0xb8]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0xd0]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0xd0]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0xe8]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0xe8]
call fcn.140088430
lea rcx, [rsp + 0x100]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0x100]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0x118]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0x118]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0x130]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0x130]
call fcn.140088430
call fcn.14008d390
int3
lea rcx, [rsp + 0x148]
call fcn.140044290
lea rdx, [0x14010a640]
lea rcx, [rsp + 0x148]
call fcn.140088430
int3