Function at 0x140016240
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x360
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140176280]
xor rax, rsp
mov qword [rbp + 0x250], rax
movzx r13d, cl
mov dword [rbp - 0x48], 0x74666f53
mov dword [rbp - 0x41], 0x55455c65
mov word [rbp - 0x3d], 0x4b44
mov word [rbp - 0x44], 0x6177
mov byte [rbp - 0x3b], 0
mov byte [rbp - 0x42], 0x72
call fcn.140023360
mov rdx, rax
xor r12d, r12d
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400162c8
mov ecx, 0x80004005
call fcn.140022950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
lea rcx, [rbp - 0x48]
lea rax, [rbp - 0x48]
or r14, 0xffffffffffffffff
test rax, 0xffffffffffff0000
jne 0x14001631d
movzx edi, cx
xor edx, edx
mov ecx, edi
call fcn.1400227e0
test rax, rax
je 0x1400163fc
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140024130
mov rbx, qword [rsp + 0x38]
jmp 0x1400163fc
lea rax, [rbp - 0x48]
mov rdi, r14
inc rdi
cmp byte [rax + rdi], 0
jne 0x140016324
test edi, edi
jne 0x140016389
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x1400163fc
cmp dword [rdx + 0x10], 0
jge 0x140016365
cmp dword [rbx - 0xc], 0
jge 0x140016359
mov ecx, 0x80070057
call fcn.140022950
int3
mov dword [rbx - 0x10], r12d
mov byte [rbx], 0
jmp 0x1400163fc
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016375
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
jmp 0x1400163fc
mov r15d, dword [rbx - 0x10]
lea rsi, [rbp - 0x48]
sub rsi, rbx
test edi, edi
jns 0x1400163a3
mov ecx, 0x80070057
call fcn.140022950
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x1400163c5
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.1400244d0
mov rbx, qword [rsp + 0x38]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
cmp rsi, r15
movsxd r15, edi
mov r9, r15
ja 0x1400163e2
lea r8, [rsi + rbx]
call fcn.14005b520
jmp 0x1400163eb
lea r8, [rbp - 0x48]
call fcn.140059154
cmp edi, dword [rbx - 0xc]
jg 0x1400169b8
mov dword [rbx - 0x10], edi
mov byte [r15 + rbx], 0
mov byte [rbp + 0x30], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rbp + 0x31]
call fcn.140059fd0
mov edx, 0x104
lea rcx, [rbp + 0x30]
call fcn.140127520
call fcn.140023360
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x14001643f
mov ecx, 0x80004005
call fcn.140022950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x40], rdi
lea rcx, [rbp + 0x30]
lea rax, [rbp + 0x30]
test rax, 0xffffffffffff0000
jne 0x14001648b
movzx edi, cx
xor edx, edx
mov ecx, edi
call fcn.1400227e0
test rax, rax
je 0x140016572
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140024130
jmp 0x140016572
lea rax, [rbp + 0x30]
mov rsi, r14
inc rsi
cmp byte [rax + rsi], 0
jne 0x140016492
test esi, esi
jne 0x1400164fc
lea rdx, [rdi - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140016572
cmp dword [rdx + 0x10], 0
jge 0x1400164d3
cmp dword [rdi - 0xc], 0
jge 0x1400164c7
mov ecx, 0x80070057
call fcn.140022950
int3
mov dword [rdi - 0x10], r12d
mov byte [rdi], 0
jmp 0x140016572
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400164e3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rbx, qword [rsp + 0x38]
jmp 0x140016572
mov r12d, dword [rdi - 0x10]
lea r15, [rbp + 0x30]
sub r15, rdi
test esi, esi
jns 0x140016516
mov ecx, 0x80070057
call fcn.140022950
int3
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x140016538
mov edx, esi
lea rcx, [rsp + 0x40]
call fcn.1400244d0
mov rdi, qword [rsp + 0x40]
movsxd rdx, dword [rdi - 0xc]
mov rcx, rdi
cmp r15, r12
movsxd r12, esi
mov r9, r12
ja 0x140016555
lea r8, [r15 + rdi]
call fcn.14005b520
jmp 0x14001655e
lea r8, [rbp + 0x30]
call fcn.140059154
cmp esi, dword [rdi - 0xc]
jg 0x1400169ad
mov dword [rdi - 0x10], esi
mov byte [r12 + rdi], 0
xor r12d, r12d
lea r8, [0x1401457e0]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x78]
call fcn.140021f80
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.140021e00
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1400165ef
cmp dword [rbx + 0x10], 0
jl 0x1400165e0
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400165e0
call fcn.1400229f0
mov rdi, rax
lock add dword [rbx + 0x10], 0xffffffff
jg 0x1400165d5
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x1400165ef
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.140024be0
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016608
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016622
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14001663b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x50], 4
mov dword [rsp + 0x4c], 4
mov dword [rbp - 0x2d], 0x54746e6f
mov word [rbp - 0x35], 0x6574
mov word [rbp - 0x38], 0x7953
mov dword [rbp - 0x28], 0x666570
mov dword [rbp - 0x31], 0x464b4455
mov byte [rbp - 0x36], 0x73
mov byte [rbp - 0x29], 0x79
mov word [rbp - 0x33], 0x456d
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x4c]
lea r8, [rbp - 0x38]
mov rbx, qword [rsp + 0x38]
mov rdx, rbx
mov rcx, 0xffffffff80000003
call fcn.14000ff20
cmp dword [rsp + 0x48], 1
jne 0x140016997
lea rcx, [rsp + 0x30]
call fcn.140128070
nop
call fcn.140023360
mov rdx, rax
mov ecx, r12d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400166e6
mov ecx, 0x80004005
call fcn.140022950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
test r13b, r13b
je 0x1400167b6
mov dword [rbp + 0x23], 0x73253d6d
mov dword [rbp + 8], 0x70747468
mov word [rbp + 0x14], 0x6f6c
mov dword [rbp + 0x28], 0x313d73
mov dword [rbp + 0x1c], 0x3d646975
mov dword [rbp + 0x17], 0x7068702e
mov word [rbp + 0x11], 0x2f73
mov word [rbp + 0x21], 0x2673
mov byte [rbp + 0x16], 0x67
mov dword [rbp + 0xc], 0x2f2f3a73
mov byte [rbp + 0x27], 0x26
mov byte [rbp + 0x10], 0x25
mov byte [rbp + 0x20], 0x25
mov byte [rbp + 0x13], 0x66
mov byte [rbp + 0x1b], 0x3f
lea rcx, [rsp + 0x60]
call fcn.14013d0f0
mov rbx, rax
movzx edx, r13b
lea rcx, [rsp + 0x70]
call fcn.140023440
nop
lea rcx, str.64577292100b43a6938b0a6f96df0bc2
mov qword [rsp + 0x20], rcx
mov r9, qword [rbx]
mov r8, qword [rax]
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x58]
call fcn.140022e80
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400167ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
jmp 0x14001686d
mov dword [rbp - 0x1d], 0x2f3a7370
mov word [rbp - 0x13], 0x676f
mov word [rbp - 1], 0x313d
mov dword [rbp - 6], 0x2673253d
mov dword [rbp - 0x10], 0x3f706870
mov byte [rbp - 2], 0x73
mov word [rbp - 0x20], 0x7468
mov word [rbp - 8], 0x7026
mov word [rbp - 0x16], 0x662f
mov word [rbp - 0x19], 0x252f
mov byte [rbp - 0x1e], 0x74
mov byte [rbp - 0x11], 0x2e
mov byte [rbp - 0x14], 0x6c
mov word [rbp - 0xb], 0x253d
mov byte [rbp - 0x17], 0x73
mov byte [rbp - 0xc], 0x69
mov byte [rbp + 1], 0
mov byte [rbp - 9], 0x73
lea rcx, [rbp - 0x80]
call fcn.14013d0f0
mov rbx, rax
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.140023440
nop
lea rcx, str.64577292100b43a6938b0a6f96df0bc2
mov qword [rsp + 0x20], rcx
mov r9, qword [rbx]
mov r8, qword [rax]
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x58]
call fcn.140022e80
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016869
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016881
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov esi, r12d
mov rbx, qword [rsp + 0x58]
nop dword [rax]
mov byte [rbp + 0x140], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rbp + 0x141]
call fcn.140059fd0
mov edx, 0x104
lea rcx, [rbp + 0x140]
call fcn.140127520
mov qword [rbp - 0x50], 0xf
mov qword [rbp - 0x58], r12
mov byte [rbp - 0x68], 0
lea r8, [rbp - 0x68]
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.1400185e0
test al, al
je 0x14001693d
lea rcx, [rbp - 0x68]
mov r12, qword [rbp - 0x68]
mov r15, qword [rbp - 0x50]
cmp r15, 0x10
cmovae rcx, r12
mov r8d, 1
mov rdi, qword [rbp - 0x58]
cmp rdi, r8
cmovb r8, rdi
test r8, r8
jne 0x14001690f
xor eax, eax
jmp 0x14001691b
lea rdx, [0x140145824]
call fcn.140059ef0
cdqe
test rax, rax
jne 0x140016936
cmp rdi, 1
jae 0x14001692d
mov eax, r14d
jmp 0x140016936
xor eax, eax
cmp rdi, 1
setne al
test eax, eax
je 0x140016964
xor r12d, r12d
mov ecx, 0x3e8
call fcn.14000f010
nop
cmp qword [rbp - 0x50], 0x10
jb 0x140016958
mov rcx, qword [rbp - 0x68]
call fcn.140057378
inc esi
cmp esi, 6
jge 0x140016973
jmp 0x140016890
cmp r15, 0x10
jb 0x140016973
mov rcx, r12
call fcn.140057378
nop
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140016988
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x30]
call fcn.140128060
mov rbx, qword [rsp + 0x38]
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x1400169c3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1400169c3
mov ecx, 0x80070057
call fcn.140022950
nop
mov ecx, 0x80070057
call fcn.140022950
nop
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.140057700
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret