Function at 0x140002898
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0xa8
mov rdi, rcx
movups xmmword [rsp + 0x20], xmm9
mov r14, rdx
mov dword [rsp + 0x70], r9d
mov r13, r8
mov rax, qword [rdi + 0x50]
mov edx, dword [rax + 0x60]
mov ecx, dword [rax + 0x108]
call qword [rdi + 0x18]
mov r15, rax
mov r12, qword [rsp + 0x118]
mov rcx, r15
mov r8d, 4
lea rdx, [r12 + 0x28]
call fcn.140001bdb
mov rcx, r15
call fcn.140001c47
mov bl, byte [r12 + 0xd4]
mov rcx, r15
mov eax, eax
mov byte [rax + r15], bl
mov bpl, byte [r12 + 0xd5]
mov byte [rax + r15 + 1], bpl
mov sil, byte [r12 + 0xd6]
mov byte [rax + r15 + 2], sil
mov r8b, byte [r12 + 0xd7]
mov byte [rax + r15 + 3], r8b
mov byte [r15 + 8], 0x25
call fcn.140001c47
movsxd rbp, eax
mov rcx, r15
lea rbx, [r15 + rbp + 1]
call fcn.140001c47
mov esi, eax
test eax, eax
je 0x140002586
cmp eax, 6
jbe 0x140002516
mov edx, eax
lea r9, [r15 + rbp]
lea r11, [r9 + rdx*2 + 1]
lea r8, [r15 + rdx]
sub r11, r8
lea r10, [rdx + rdx]
cmp r11, r10
jg 0x1400024b0
neg r11
cmp r11, rdx
jle 0x140002516
mov r8d, eax
xor esi, esi
mov r10d, 1
xor ebp, ebp
shr r8d, 1
je 0x1400024f0
inc esi
lea r10d, [rax + rbp]
movsx r11d, byte [r10 + r15]
mov word [r9 + r10*2 + 1], r11w
lea r10d, [rax + rbp - 1]
movsx r11d, byte [r10 + r15]
add ebp, 0xfffffffe
mov word [r9 + r10*2 + 1], r11w
cmp esi, r8d
jb 0x1400024c2
lea r10d, [rsi + rsi + 1]
lea ebp, [r10 - 1]
cmp ebp, eax
jae 0x14000250c
neg r10d
add r10d, eax
inc r10d
movsx ebp, byte [r10 + r15]
mov word [r9 + r10*2 + 1], bp
lea ebp, [rax + 1]
sub eax, ebp
lea esi, [rax + 1]
jmp 0x140002586
mov r8d, eax
xor r10d, r10d
mov r11d, 1
xor r9d, r9d
shr r8d, 1
je 0x140002566
lea rsi, [r15 + rbp]
inc r10d
lea r11d, [rax + r9]
movsx edx, byte [r11 + r15]
mov word [rsi + r11*2 + 1], dx
lea r11d, [rax + r9 - 1]
movsx ecx, byte [r11 + r15]
add r9d, 0xfffffffe
mov word [rsi + r11*2 + 1], cx
cmp r10d, r8d
jb 0x14000252e
lea esi, [r10 + r10]
neg esi
lea r11d, [r10 + r10 + 1]
add esi, eax
lea r8d, [r11 - 1]
cmp r8d, eax
jae 0x140002586
sub eax, r11d
add rbp, r15
mov esi, eax
lea r8d, [rax + 1]
movsx r9d, byte [r8 + r15]
mov word [rbp + r8*2 + 1], r9w
mov rcx, rbx
mov rdx, r13
mov r8d, 0x104
movsx eax, byte [rsi + r15]
mov word [rbx + rsi*2], ax
call qword [rdi + 0x90]
mov rax, qword [rdi + 0x50]
mov edx, dword [rax + 0x60]
mov ecx, dword [rax + 0x108]
call qword [rdi + 0x18]
mov rbp, rax
mov rax, qword [rdi + 0x50]
mov edx, dword [rax + 0x60]
mov ecx, dword [rax + 0x108]
call qword [rdi + 0x18]
mov rsi, rax
mov edx, 0x20
lea rcx, [rsp + 0x30]
mov ebx, dword [r12 + 0x114]
call fcn.140002a9b
mov dword [rsp + 0x78], 0x10
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x78]
call qword [r14 + 0x10]
mov dword [rsp + 0x78], 0x105
lea rcx, [rsp + 0x30]
call fcn.1400017db
mov r11d, eax
xor ecx, ecx
test r11d, r11d
jbe 0x140002668
mov r9d, r11d
xor r8d, r8d
mov r10d, dword [r12 + 8]
mov eax, 1
shr r9d, 1
je 0x14000264f
imul ecx, r10d
lea eax, [r8 + r8]
movsxd rax, eax
inc r8d
movzx edx, word [rsp + rax*2 + 0x30]
add ecx, edx
imul ecx, r10d
movzx eax, word [rsp + rax*2 + 0x32]
add ecx, eax
cmp r8d, r9d
jb 0x140002625
lea eax, [r8 + r8 + 1]
lea r8d, [rax - 1]
cmp r8d, r11d
jae 0x140002668
imul ecx, r10d
movsxd rax, eax
movzx r8d, word [rsp + rax*2 + 0x2e]
add ecx, r8d
xor ecx, ebx
call qword [r14]
lea rcx, [rsp + 0x30]
call fcn.1400017db
mov ebx, eax
call qword [r14 + reloc.OLEAUT32.dll_VariantClear]
and eax, 0x80000007
jge 0x14000268c
sub eax, 1
or eax, 0xfffffff8
inc eax
movdqu xmm9, xmmword [0x14000581b]
lea eax, [rbx + rax + 3]
mov dword [rsp + 0x78], eax
movdqu xmmword [rsp + 0x50], xmm9
mov byte [rsp + 0x60], 0x51
mov byte [rsp + 0x61], 0x52
mov byte [rsp + 0x62], 0x53
mov byte [rsp + 0x63], 0x54
mov byte [rsp + 0x64], 0x55
mov byte [rsp + 0x65], 0x56
mov byte [rsp + 0x66], 0x57
mov byte [rsp + 0x67], 0x58
mov byte [rsp + 0x68], 0x59
mov byte [rsp + 0x69], 0x5a
test eax, eax
mov eax, 0
jbe 0x140002722
movabs rbx, 0x4ec4ec4ec4ec4ec5
mov r12, rax
call qword [r14 + reloc.OLEAUT32.dll_VariantClear]
movsxd rax, eax
lea r9, [rsp + rax + 0x50]
mul rbx
shr rdx, 3
imul r8, rdx, 0xffffffffffffffe6
movsx r10d, byte [r8 + r9]
mov word [rsi + r12*2], r10w
inc r12
movsxd r11, dword [rsp + 0x78]
cmp r12, r11
jb 0x1400026ec
mov r12, qword [rsp + 0x118]
xor r10d, r10d
movzx eax, word [r13]
test eax, eax
je 0x14000274e
xor eax, eax
add eax, 2
lea r10d, [rax - 1]
movzx ebx, word [r13 + r10*2]
test ebx, ebx
je 0x14000274e
mov r10d, eax
movzx ebx, word [r13 + rax*2]
test ebx, ebx
jne 0x140002730
xor eax, eax
lea ebx, [r10 - 1]
movzx r8d, word [r13 + rbx*2]
cmp r8d, 0x5c
je 0x140002773
mov r10d, r10d
mov eax, 0x5c
mov word [r13 + r10*2], ax
mov eax, 1
test rsi, rsi
je 0x140002a7e
xor ebx, ebx
add r10d, eax
movzx eax, word [rsi]
test eax, eax
je 0x1400027c9
xor eax, eax
inc rax
movzx edx, word [rsi + rax*4 - 4]
lea r9d, [r10 + rax*2]
lea r11d, [r9 - 2]
mov word [r13 + r11*2], dx
lea r8d, [rax + rax]
movzx r11d, word [rsi + rax*4 - 2]
lea ebx, [rax + rax - 1]
test r11d, r11d
je 0x1400027c9
dec r9d
mov ebx, r8d
mov word [r13 + r9*2], r11w
movzx r8d, word [rsi + rax*4]
test r8d, r8d
jne 0x14000278a
add r10d, ebx
xor eax, eax
mov word [r13 + r10*2], ax
mov rcx, r13
xor edx, edx
call qword [rdi + 0x48]
mov ebx, dword [r12 + 0x114]
lea rcx, [rsp + 0x50]
mov edx, 0x20
xor ebx, dword [rcx + 0x20]
call fcn.140002a9b
mov dword [rsp + 0x7c], 0x10
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x7c]
call qword [r14 + 0x10]
mov dword [rsp + 0x7c], 0x105
lea rcx, [rsp + 0x50]
call fcn.1400017db
mov r11d, eax
xor r10d, r10d
test r11d, r11d
jbe 0x140002886
mov eax, r11d
xor r8d, r8d
mov r9d, dword [r12 + 8]
mov r12d, 1
shr eax, 1
je 0x14000286c
imul r10d, r9d
lea r12d, [r8 + r8]
movsxd r12, r12d
inc r8d
movzx edx, word [rsp + r12*2 + 0x50]
add r10d, edx
imul r10d, r9d
movzx r12d, word [rsp + r12*2 + 0x52]
add r10d, r12d
cmp r8d, eax
jb 0x14000283e
lea r12d, [r8 + r8 + 1]
lea eax, [r12 - 1]
cmp eax, r11d
jae 0x140002886
imul r10d, r9d
movsxd r12, r12d
movzx eax, word [rsp + r12*2 + 0x4e]
add r10d, eax
xor ebx, r10d
mov ecx, ebx
call qword [r14]
lea rcx, [rsp + 0x50]
call fcn.1400017db
mov r12d, eax
call qword [r14 + reloc.OLEAUT32.dll_VariantClear]
and eax, 0x80000007
jge 0x1400028ae
sub eax, 1
or eax, 0xfffffff8
inc eax
movdqu xmmword [rsp + 0x80], xmm9
lea eax, [r12 + rax + 3]
mov dword [rsp + 0x7c], eax
mov byte [rsp + 0x90], 0x51
mov byte [rsp + 0x91], 0x52
mov byte [rsp + 0x92], 0x53
mov byte [rsp + 0x93], 0x54
mov byte [rsp + 0x94], 0x55
mov byte [rsp + 0x95], 0x56
mov byte [rsp + 0x96], 0x57
mov byte [rsp + 0x97], 0x58
mov byte [rsp + 0x98], 0x59
mov byte [rsp + 0x99], 0x5a
test eax, eax
mov eax, 0
jbe 0x140002963
mov qword [rsp + 0x70], r13
movabs r12, 0x4ec4ec4ec4ec4ec5
mov r13, rax
call qword [r14 + reloc.OLEAUT32.dll_VariantClear]
movsxd rax, eax
lea r9, [rsp + rax + 0x80]
mul r12
shr rdx, 3
imul r8, rdx, 0xffffffffffffffe6
movsx r10d, byte [r8 + r9]
mov word [rbp + r13*2], r10w
inc r13
movsxd r11, dword [rsp + 0x7c]
cmp r13, r11
jb 0x14000292c
mov r13, qword [rsp + 0x70]
xor r11d, r11d
movzx eax, word [r13]
test eax, eax
je 0x140002991
xor eax, eax
add eax, 2
lea r11d, [rax - 1]
movzx r8d, word [r13 + r11*2]
test r8d, r8d
je 0x140002991
mov r11d, eax
movzx r8d, word [r13 + rax*2]
test r8d, r8d
jne 0x140002971
xor eax, eax
lea r8d, [r11 - 1]
movzx r9d, word [r13 + r8*2]
cmp r9d, 0x5c
je 0x1400029b6
mov r11d, r11d
mov eax, 0x5c
mov word [r13 + r11*2], ax
mov eax, 1
test rbp, rbp
je 0x140002a5c
xor r8d, r8d
add r11d, eax
movzx eax, word [rbp]
test eax, eax
je 0x140002a11
xor eax, eax
inc rax
movzx r14d, word [rbp + rax*4 - 4]
lea r10d, [r11 + rax*2]
lea r12d, [r10 - 2]
mov word [r13 + r12*2], r14w
lea r9d, [rax + rax]
movzx r12d, word [rbp + rax*4 - 2]
lea r8d, [rax + rax - 1]
test r12d, r12d
je 0x140002a11
dec r10d
mov r8d, r9d
mov word [r13 + r10*2], r12w
movzx r9d, word [rbp + rax*4]
test r9d, r9d
jne 0x1400029cf
mov rdx, qword [rsp + 0x110]
add r11d, r8d
xor eax, eax
mov word [r13 + r11*2], ax
mov dword [rdx], ebx
test r15, r15
je 0x140002a31
mov rcx, r15
call qword [rdi + 0x10]
mov rcx, rbp
call qword [rdi + 0x10]
test rsi, rsi
je 0x140002a42
mov rcx, rsi
call qword [rdi + 0x10]
movups xmm9, xmmword [rsp + 0x20]
add rsp, 0xa8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rdx, qword [rsp + 0x110]
inc r11d
xor eax, eax
mov word [r13 + r11*2], ax
mov dword [rdx], ebx
test r15, r15
je 0x140002a37
mov rcx, r15
call qword [rdi + 0x10]
jmp 0x140002a37
inc r10d
xor eax, eax
mov word [r13 + r10*2], ax
jmp 0x1400027d4