Function at 0x140022f70
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0x100
mov rax, qword [0x14007c040]
xor rax, rsp
mov qword [rbp + 0x3f], rax
xor eax, eax
mov dword [rbp - 0x49], 0x679c6d58
mov dword [rbp - 0x2f], eax
xorps xmm0, xmm0
xor r12d, r12d
mov dword [rbp - 0x45], 0x6398a366
mov word [rbp - 0x41], 0xf162
movabs r9, 0xb95d970d05a9c0df
movups xmmword [rbp - 0x3f], xmm0
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
add rcx, r9
movzx edx, byte [rbp + rax - 0x49]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x30]
add r8, rcx
add r8, rdx
sub r8b, 0x19
mov byte [rbp + rax - 0x49], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1e
jb 0x140022fe0
lea rcx, [rbp - 0x49]
mov qword [rsp + 0x120], r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r15, rax
call fcn.140003760
movsx edi, al
call fcn.140003750
movsx esi, al
mov r9d, esi
imul r9d, edi
call fcn.140003790
movsx r10d, al
xor edx, edx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
mov ebx, 7
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
lea r11d, [r10 + r9*8]
add r11d, r9d
add eax, r11d
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x1400232fe
movsx eax, byte [0x14007c0da]
lea r14d, [r10 + r9*2]
test r15, r15
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov rax, r12
sete al
add r14d, r9d
cvtdq2pd xmm0, xmm0
xor edx, edx
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r14d
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14002312e
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
je 0x14002312e
mov r11d, ebx
jmp 0x14002318c
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [r9 + r10]
lea ecx, [rcx + r9*4]
xor edx, edx
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x140023188
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r11d
div ecx
movsx ecx, byte [0x14007c0db]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r11d, xmm0
jmp 0x14002318c
mov r11d, dword [rbp + 0x37]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea edx, [r9 + r9*4]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r10d
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
imul eax, r11d
test eax, eax
je 0x1400232fe
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r9d
add eax, r10d
xorps xmm2, xmm2
div ecx
movsx ecx, byte [0x14007c0db]
xor edx, edx
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r14d
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14002326e
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x1400239f4
call fcn.140003790
movsx eax, al
mov edx, edi
imul edx, esi
lea ecx, [rdx + rdx*4]
xor edx, edx
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x1400232f2
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
xorps xmm0, xmm0
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x1400232f5
mov eax, dword [rbp + 0x37]
cmp r12d, eax
jl 0x1400239f4
xor eax, eax
mov dword [rbp - 0x79], 0x461b411e
mov byte [rbp - 0x4f], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x5f], xmm0
mov dword [rbp - 0x75], 0x1e4f4775
movabs r9, 0x3f563eb964b3222
mov dword [rbp - 0x71], 0x4d717f76
mov dword [rbp - 0x6d], 0x66526075
mov dword [rbp - 0x69], 0x550a6f6f
mov dword [rbp - 0x65], 0x586b666b
mov word [rbp - 0x61], 0xd55b
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
nop
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
add rcx, r9
movzx edx, byte [rbp + rax - 0x79]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x30]
add r8, rcx
add r8, rdx
add r8b, 0x12
mov byte [rbp + rax - 0x79], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x2b
jb 0x140023350
lea rdx, [rbp - 0x79]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
call fcn.140003760
movsx r9d, al
call fcn.140003750
movsx ecx, al
imul r9d, ecx
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x1400236d1
movsx eax, byte [0x14007c0da]
test rdi, rdi
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov rax, r12
cvtdq2pd xmm0, xmm0
sete al
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r10d, [rdx + rdx*2]
call fcn.140003790
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add r10d, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r10d
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x1400234a6
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x14002353d
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14002353a
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
xorps xmm0, xmm0
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si ebx, xmm0
jmp 0x14002353d
mov ebx, dword [rbp + 0x37]
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
call fcn.140003790
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
imul eax, ebx
test eax, eax
je 0x1400236d1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r10d
div ecx
movsx ecx, byte [0x14007c0db]
xorps xmm2, xmm2
sub eax, ecx
xor edx, edx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r10d
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x140023631
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x1400239f4
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x1400236c5
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
xorps xmm0, xmm0
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x1400236c8
mov eax, dword [rbp + 0x37]
cmp r12d, eax
jl 0x1400239f4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xorps xmm0, xmm0
mov dword [rbp - 9], 0x3b383936
mov r10, rax
movabs r9, 0xa1272eff767345a7
xor eax, eax
mov dword [rbp + 0xb], eax
mov word [rbp + 0xf], ax
movups xmmword [rbp - 5], xmm0
mov qword [rsp + 0x30], r12
mov rcx, qword [rsp + 0x30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
add rcx, r9
movzx edx, byte [rbp + rax - 9]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x30]
add r8, rcx
add r8, rdx
add r8b, 0x6f
mov byte [rbp + rax - 9], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1a
jb 0x140023710
mov eax, dword [rbp - 9]
xorps xmm0, xmm0
mov dword [rbp + 0x37], eax
movabs r9, 0x1f3dac8baef913d6
xor eax, eax
mov dword [rbp - 0x29], 0x3020d0c
mov dword [rbp - 0x15], eax
mov word [rbp - 0x11], ax
mov byte [rbp - 0xf], al
movups xmmword [rbp - 0x25], xmm0
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
nop dword [rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
add rcx, r9
movzx edx, byte [rbp + rax - 0x29]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x30]
add r8, rcx
add r8, rdx
add r8b, 0x26
mov byte [rbp + rax - 0x29], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1b
jb 0x140023790
mov eax, dword [rbp - 0x29]
lea r8, [rbp + 0x3b]
mov r9d, 4
mov dword [rbp + 0x3b], eax
lea rax, [rbp + 0x37]
mov rcx, r10
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x1a]
call rdi
mov r10d, eax
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r11d, [rdx + rdx*4]
call fcn.140003790
movsx ecx, al
xor edx, edx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add r11d, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r11d
div ecx
movsx ecx, byte [0x14007c0db]
xorps xmm2, xmm2
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x1400238ea
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x140023969
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r11d
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14002395d
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
xorps xmm0, xmm0
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x140023960
mov eax, dword [rbp + 0x37]
cmp r12d, eax
jge 0x1400239f6
test r10d, r10d
js 0x1400239f4
xor eax, eax
mov dword [rbp + 0x17], 0xf3f20d0c
mov qword [rbp + 0x1b], rax
movabs r9, 0xc72eb74fab09c77e
mov dword [rbp + 0x23], eax
mov byte [rbp + 0x27], al
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
nop dword [rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
add rcx, r9
movzx edx, byte [rbp + rax + 0x17]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x30]
add r8, rcx
add r8, rdx
sub r8b, 0x72
mov byte [rbp + rax + 0x17], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x11
jb 0x1400239a0
mov eax, dword [rbp + 0x17]
cmp dword [rbp + 0x3b], eax
je 0x1400239f4
mov al, 1
jmp 0x1400239f6
xor al, al
mov r14, qword [rsp + 0x120]
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.14006f780
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r12
pop rbp
ret