Function at 0x140015990
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x2d0], rbx
mov rax, qword [0x1400970b0]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov r12, rdx
mov r13, rcx
xor r15b, r15b
call fcn.140034030
mov rcx, rax
test rax, rax
jne 0x1400159ee
mov ecx, 0x80004005
call fcn.140033340
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov dword [rbp + 0x4d], 0x68702e65
mov dword [rbp + 0x40], 0x70747468
mov dword [rbp + 0x48], 0x69742f73
mov word [rbp + 0x51], 0x70
mov word [rbp + 0x45], 0x2f2f
mov byte [rbp + 0x4c], 0x6d
mov byte [rbp + 0x44], reloc.OLEAUT32.dll_VarI4FromI2
mov byte [rbp + 0x47], 0x25
lea rcx, [rsp + 0x58]
call fcn.140034110
nop
mov r8, qword [rax]
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.140033b50
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
or rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015a69
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rbp]
call fcn.140026bc0
nop
mov qword [rbp - 0x68], 0xf
xor edi, edi
mov qword [rbp - 0x70], rdi
mov byte [rbp - 0x80], dil
mov r14d, edi
mov rbx, qword [rsp + 0x38]
nop dword [rax]
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x60]
call fcn.140045030
mov edx, 0x104
lea rcx, [rbp + 0x60]
call fcn.140007420
mov qword [rbp - 0x28], 0xf
mov qword [rbp - 0x30], rdi
mov byte [rbp - 0x40], 0
cmp byte [rbp + 0x60], 0
jne 0x140015aca
mov r8, rdi
jmp 0x140015adb
lea rax, [rbp + 0x60]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140015ad1
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.14002c510
nop
mov qword [rbp - 0x48], 0xf
mov qword [rbp - 0x50], rdi
mov byte [rbp - 0x60], 0
cmp byte [rbx], 0
jne 0x140015b03
mov r8, rdi
jmp 0x140015b10
mov r8, rsi
inc r8
cmp byte [rbx + r8], 0
jne 0x140015b06
mov rdx, rbx
lea rcx, [rbp - 0x60]
call fcn.14002c510
nop
lea r9, [rbp - 0x80]
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x60]
lea rcx, [rbp]
call fcn.140026dc0
movzx edi, al
mov rax, qword [rbp - 0x48]
cmp rax, 0x10
jb 0x140015b7f
inc rax
mov rcx, qword [rbp - 0x60]
cmp rax, 0x1000
jb 0x140015b7a
test cl, 0x1f
jne 0x140015c02
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140015bfc
sub rcx, rax
cmp rcx, 8
jb 0x140015bf6
cmp rcx, 0x27
ja 0x140015bf0
mov rcx, rax
call fcn.14003fbe8
mov qword [rbp - 0x48], 0xf
mov qword [rbp - 0x50], 0
mov byte [rbp - 0x60], 0
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x140015bd1
inc rax
mov rcx, qword [rbp - 0x40]
cmp rax, 0x1000
jb 0x140015bcc
test cl, 0x1f
jne 0x140015c1a
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140015c14
sub rcx, rax
cmp rcx, 8
jb 0x140015c0e
cmp rcx, 0x27
ja 0x140015c08
mov rcx, rax
call fcn.14003fbe8
test dil, dil
jne 0x140015c20
mov ecx, 0x1f4
call fcn.140024240
inc r14d
cmp r14d, 3
jge 0x140015c20
xor edi, edi
jmp 0x140015a90
call fcn.140045e90
int3
call fcn.140045e90
int3
call fcn.140045e90
int3
call fcn.140045e90
nop
call fcn.140045e90
int3
call fcn.140045e90
int3
call fcn.140045e90
int3
call fcn.140045e90
int3
lea rdi, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rdi, qword [rbp - 0x80]
call fcn.140034030
mov rcx, rax
test rax, rax
jne 0x140015c46
mov ecx, 0x80004005
call fcn.140033340
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x28], rbx
test rdi, rdi
je 0x140015c9b
test rdi, 0xffffffffffff0000
jne 0x140015c86
movzx edi, di
xor edx, edx
mov ecx, edi
call fcn.140033290
test rax, rax
je 0x140015cb2
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.140034430
jmp 0x140015cad
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x140015c90
jmp 0x140015c9d
xor eax, eax
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0x28]
call fcn.140036c10
mov rbx, qword [rsp + 0x28]
call fcn.140034030
mov rcx, rax
test rax, rax
jne 0x140015cca
mov ecx, 0x80004005
call fcn.140033340
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x30], rdi
mov eax, dword [rbx - 0x10]
cmp eax, 8
jl 0x140015e0d
test eax, eax
jns 0x140015cf4
mov ecx, 0x80070057
call fcn.140033340
int3
cmp byte [rbx], 0x7c
jne 0x140015e0d
cmp eax, 4
jge 0x140015d0d
mov ecx, 0x80070057
call fcn.140033340
int3
cmp byte [rbx + 4], 0x7c
jne 0x140015e0d
cmp eax, 7
jge 0x140015d27
mov ecx, 0x80070057
call fcn.140033340
int3
cmp byte [rbx + 7], 0x7c
jne 0x140015e0d
mov r9d, 3
lea r8d, [r9 - 2]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x28]
call fcn.140035160
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140015da3
cmp dword [rdi + 0x10], 0
jl 0x140015d94
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140015d94
call fcn.140033580
mov rbx, rax
mov eax, esi
lock xadd dword [rdi + 0x10], eax
sub eax, 1
jg 0x140015d89
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x30], rax
jmp 0x140015da3
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x30]
call fcn.140036c10
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015dc1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, 2
lea r8d, [r9 + 3]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x28]
call fcn.140035160
nop
mov rdx, rax
mov rcx, r12
call fcn.140031eb0
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015e05
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r15b, 1
jmp 0x140015eca
lea rcx, [rbp - 0x20]
call fcn.140014a50
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140015e23
mov rdx, qword [rax]
test rdx, rdx
jne 0x140015e2c
xor eax, eax
jmp 0x140015e39
mov rax, rsi
nop
inc rax
cmp byte [rdx + rax], 0
jne 0x140015e30
mov r8d, eax
lea rcx, [rsp + 0x30]
call fcn.140036c10
nop
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x140015e9d
inc rax
mov rcx, qword [rbp - 0x20]
cmp rax, 0x1000
jb 0x140015e98
test cl, 0x1f
je 0x140015e6b
call fcn.140045e90
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140015e7a
call fcn.140045e90
int3
sub rcx, rax
cmp rcx, 8
jae 0x140015e89
call fcn.140045e90
int3
cmp rcx, 0x27
jbe 0x140015e95
call fcn.140045e90
int3
mov rcx, rax
call fcn.14003fbe8
mov word [rsp + 0x21], 0x53
mov byte [rsp + 0x20], 0x55
lea rcx, [rsp + 0x20]
mov rax, rsi
inc rax
cmp byte [rcx + rax], 0
jne 0x140015eb1
mov r8d, eax
lea rdx, [rsp + 0x20]
mov rcx, r12
call fcn.140036c10
lea rcx, [rsp + 0x50]
call fcn.1400076f0
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xffffffffffffffe8
call fcn.140033580
add rax, 0x18
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140015780
nop
mov dword [rbp + 0x38], 0x73257325
mov byte [rbp + 0x3c], 0
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
lea rdx, [rbp + 0x38]
mov rcx, r13
call fcn.140033b50
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015f3d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015f5c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015f7b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015f9a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rax, qword [rbp - 0x68]
cmp rax, 0x10
jb 0x140015ff0
inc rax
mov rcx, qword [rbp - 0x80]
cmp rax, 0x1000
jb 0x140015feb
test cl, 0x1f
je 0x140015fbe
call fcn.140045e90
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140015fcd
call fcn.140045e90
int3
sub rcx, rax
cmp rcx, 8
jae 0x140015fdc
call fcn.140045e90
int3
cmp rcx, 0x27
jbe 0x140015fe8
call fcn.140045e90
int3
mov rcx, rax
call fcn.14003fbe8
mov qword [rbp - 0x68], 0xf
mov qword [rbp - 0x70], 0
mov byte [rbp - 0x80], 0
lea rcx, [rbp]
call fcn.140026c90
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x14001602b
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
movzx eax, r15b
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.14003ff20
mov rbx, qword [rsp + 0x2d0]
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret