Function at 0x14005c9e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rax, qword [0x1400b34a8]
xor rax, rsp
mov qword [rbp], rax
mov rax, qword [rbp + 0x80]
mov r12, r9
mov qword [rbp - 0x58], rax
mov r14, r8
mov qword [rbp - 0x60], r9
mov rsi, rdx
mov qword [rbp - 0x68], rcx
mov r13, rcx
mov dword [rbp - 0x38], 0x7050302
mov dword [rbp - 0x34], 0x13110d0b
mov dword [rbp - 0x30], 0x251f1d17
mov dword [rbp - 0x2c], 0x352f2b29
mov dword [rbp - 0x28], 0x47433d3b
mov dword [rbp - 0x24], 0x59534f49
mov dword [rbp - 0x20], 0x6b676561
mov dword [rbp - 0x1c], 0x837f716d
mov dword [rbp - 0x18], 0x97958b89
mov dword [rbp - 0x14], 0xada7a39d
mov dword [rbp - 0x10], 0xc1bfb5b3
mov dword [rbp - 0xc], 0xdfd3c7c5
mov dword [rbp - 8], 0xefe9e5e3
mov word [rbp - 4], 0xfbf1
test r9, r9
je 0x14005d63d
test rax, rax
je 0x14005d63d
cmp qword [r9 + 0x10], 0
jne 0x14005d63d
cmp qword [rax + 0x10], 0
jne 0x14005d63d
xor edx, edx
call fcn.1400315d0
test eax, eax
jle 0x14005d63d
mov r15d, 1
mov rcx, r14
mov edx, r15d
call fcn.1400315d0
test eax, eax
jle 0x14005d63d
mov rdx, r13
mov rcx, r14
call fcn.140031500
test eax, eax
jns 0x14005d63d
mov edx, r15d
mov rcx, rsi
call fcn.1400315d0
test eax, eax
jle 0x14005d63d
mov rdx, r13
mov rcx, rsi
call fcn.140031500
test eax, eax
jns 0x14005d63d
xor eax, eax
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x118], rdi
lea rcx, [rsp + 0x70]
mov r8, rsi
mov qword [rsp + 0x38], rax
mov rdx, r14
mov qword [rsp + 0x40], rax
mov ebx, eax
mov qword [rsp + 0x78], rax
mov edi, eax
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x70], r15d
call fcn.140032070
mov esi, eax
test eax, eax
jne 0x14005d5a4
mov r8d, r15d
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.140031ac0
mov esi, eax
test eax, eax
jne 0x14005d5a4
xor r15d, r15d
xor r8d, r8d
mov qword [rsp + 0x58], r15
cmp qword [rsp + 0x78], rbx
jbe 0x14005cbc5
nop dword [rax]
mov rax, qword [rbp - 0x80]
xor ecx, ecx
mov rdx, qword [rax + r8*8]
nop word [rax + rax]
mov rax, rdx
shr rax, cl
test al, 1
jne 0x14005cbcd
inc r15
inc rcx
mov qword [rsp + 0x58], r15
cmp rcx, 0x40
jb 0x14005cba0
inc r8
cmp r8, qword [rsp + 0x78]
jb 0x14005cb90
xor r15d, r15d
mov qword [rsp + 0x58], r15
test r15w, r15w
je 0x14005d59f
movzx edx, r15w
lea rcx, [rsp + 0x70]
call fcn.140031350
mov esi, eax
test eax, eax
jne 0x14005d5a4
mov rax, qword [r13 + 0x10]
movzx ecx, byte [rax]
xor eax, eax
and cl, 7
cmp cl, 1
sete al
mov dword [rsp + 0x68], eax
nop word [rax + rax]
movzx eax, ax
movzx r14d, byte [rbp + rax - 0x38]
cmp rbx, 1
jae 0x14005cc84
mov edx, 8
lea ecx, [rdx - 7]
call fcn.1400727c8
mov rsi, rax
test rax, rax
je 0x14005cca6
test rdi, rdi
je 0x14005cc72
lea rbx, [rbx*8]
mov rdx, rdi
mov r8, rbx
mov rcx, rax
call fcn.14006bf10
test rbx, rbx
je 0x14005cc6a
mov rax, qword [fcn.14006c5b0]
mov r8, rbx
xor edx, edx
mov rcx, rdi
call rax
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.14006dc24
mov ebx, 1
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rbx
mov rdi, rsi
lea r8, [rbx*8]
xor edx, edx
mov rcx, rdi
call fcn.14006c5b0
mov qword [rdi], r14
mov r14d, 1
mov dword [rsp + 0x30], r14d
jmp 0x14005ccac
mov r14d, 1
mov r8, r13
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.140035110
mov esi, eax
test eax, eax
jne 0x14005d5a4
mov rdx, r14
mov rcx, r12
call fcn.1400315d0
test eax, eax
jne 0x14005d58a
mov rax, qword [rbp - 0x58]
lea r8, [rsp + 0x70]
mov r9, r13
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.140034510
mov esi, eax
test eax, eax
jne 0x14005d277
mov word [rsp + 0x48], r14w
cmp r14w, r15w
ja 0x14005d4e9
mov qword [rbp - 0x78], r14
nop word [rax + rax]
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rax, rbx
test rbx, rbx
je 0x14005cd50
lea rcx, [rdi - 8]
lea rcx, [rcx + rbx*8]
nop word [rax + rax]
cmp qword [rcx], 0
jne 0x14005cd50
sub rcx, 8
sub rax, 1
jne 0x14005cd40
mov rcx, r14
lea rdx, [rbp - 0x78]
cmp qword [rdx], 0
jne 0x14005cd67
sub rdx, 8
sub rcx, 1
jne 0x14005cd57
mov r15d, dword [rsp + 0x30]
mov dword [rsp + 0x4c], r15d
test rax, rax
jne 0x14005cdbf
test rcx, rcx
je 0x14005d4f8
cmp rcx, rax
ja 0x14005cdcf
test r15d, r15d
js 0x14005cdcf
test rax, rax
je 0x14005d4f8
lea rdx, [rbp - 0x78]
mov r9, rdi
sub r9, rdx
lea rcx, [rbp + rax*8 - 0x80]
mov rdx, qword [r9 + rcx]
cmp rdx, qword [rcx]
ja 0x14005cdc4
jb 0x14005ce5e
sub rcx, 8
sub rax, 1
jne 0x14005cda1
jmp 0x14005d4f8
cmp rcx, rax
jae 0x14005cd82
mov eax, r15d
test eax, eax
je 0x14005d4f8
mov qword [rsp + 0x50], r14
lea rax, [rsp + 0x50]
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x50], r14d
mov qword [rbp - 0x48], r14
test r15d, r15d
jns 0x14005cff4
mov rax, rbx
test rbx, rbx
je 0x14005ce10
lea rcx, [rdi - 8]
lea rcx, [rcx + rbx*8]
nop
cmp qword [rcx], 0
jne 0x14005ce10
sub rcx, 8
sub rax, 1
jne 0x14005ce00
mov rcx, r14
lea rdx, [rsp + 0x50]
cmp qword [rdx], 0
jne 0x14005ce28
sub rdx, 8
sub rcx, 1
jne 0x14005ce18
test rax, rax
jne 0x14005ce68
test rcx, rcx
jne 0x14005ce6d
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.140031820
mov rdi, qword [rsp + 0x40]
mov esi, eax
mov rbx, qword [rsp + 0x38]
test eax, eax
jne 0x14005d5a4
jmp 0x14005d1b4
mov eax, r15d
neg eax
jmp 0x14005cdc7
cmp rax, rcx
ja 0x14005ce32
cmp rcx, rax
ja 0x14005ce9e
test rax, rax
je 0x14005ce32
lea rcx, [rdi - 8]
lea r9, [rsp + 0x50]
lea rcx, [rcx + rax*8]
sub r9, rdi
mov rdx, qword [r9 + rcx]
cmp qword [rcx], rdx
ja 0x14005ce32
jb 0x14005ce9e
sub rcx, 8
sub rax, 1
jne 0x14005ce87
jmp 0x14005ce32
mov rsi, rbx
test rbx, rbx
je 0x14005cec0
lea rax, [rdi - 8]
lea rax, [rax + rbx*8]
nop
cmp qword [rax], 0
jne 0x14005cec0
sub rax, 8
sub rsi, 1
jne 0x14005ceb0
cmp rsi, 1
ja 0x14005d614
cmp rbx, 1
jae 0x14005cf3e
mov edx, 8
mov rcx, r14
call fcn.1400727c8
mov r14, rax
test rax, rax
je 0x14005d633
test rdi, rdi
je 0x14005cf27
lea rbx, [rbx*8]
mov rdx, rdi
mov r8, rbx
mov rcx, rax
call fcn.14006bf10
test rbx, rbx
je 0x14005cf1f
mov rax, qword [fcn.14006c5b0]
mov r8, rbx
xor edx, edx
mov rcx, rdi
call rax
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.14006dc24
mov eax, 1
mov qword [rsp + 0x40], r14
mov rdi, r14
mov qword [rsp + 0x38], rax
mov ebx, eax
mov r14d, eax
cmp rsi, 1
jae 0x14005cf60
mov r8, r14
lea rdx, [rsp + 0x50]
sub r8, rsi
lea rdx, [rdx + rsi*8]
shl r8, 3
lea rcx, [rdi + rsi*8]
call fcn.14006bf10
cmp rbx, 1
jbe 0x14005cf79
lea r8, [rbx*8 - 8]
xor edx, edx
lea rcx, [rdi + 8]
call fcn.14006c5b0
xor r10d, r10d
test rsi, rsi
je 0x14005cfec
lea r11, [rsp + 0x50]
mov r9, rdi
sub r11, rdi
mov r14, rsi
nop
mov r8, qword [r11 + r9]
lea r9, [r9 + 8]
sub r8, r10
xor eax, eax
cmp qword [r11 + r9 - 8], r10
setb al
cmp r8, qword [r9 - 8]
mov r10, rax
adc r10, 0
sub r8, qword [r9 - 8]
mov qword [r9 - 8], r8
sub r14, 1
jne 0x14005cf90
test r10, r10
je 0x14005cfec
cmp rsi, rbx
jae 0x14005cfe2
cmp qword [rdi + rsi*8], 0
jne 0x14005cfdf
mov qword [rdi + rsi*8], 0xffffffffffffffff
inc rsi
cmp rsi, rbx
jb 0x14005cfc8
cmp rsi, rbx
je 0x14005d614
dec qword [rdi + rsi*8]
neg r15d
jmp 0x14005d1ae
mov dword [rsp + 0x30], r14d
lea rax, [rsp + 0x50]
mov rsi, r14
cmp qword [rax], 0
jne 0x14005d011
sub rax, 8
sub rsi, 1
jne 0x14005d001
cmp rsi, 0x2710
ja 0x14005d633
cmp rbx, rsi
jae 0x14005d08a
mov edx, 8
mov rcx, rsi
call fcn.1400727c8
mov r14, rax
test rax, rax
je 0x14005d633
test rdi, rdi
je 0x14005d07a
lea rbx, [rbx*8]
mov rdx, rdi
mov r8, rbx
mov rcx, rax
call fcn.14006bf10
test rbx, rbx
je 0x14005d072
mov rax, qword [fcn.14006c5b0]
mov r8, rbx
xor edx, edx
mov rcx, rdi
call rax
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.14006dc24
mov rbx, rsi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rbx
mov rdi, r14
xor r14d, r14d
mov r9, rdi
test rsi, rsi
je 0x14005d1ae
lea r10, [rsp + 0x50]
mov r11, rsi
sub r10, rdi
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r10 + r9]
mov rax, r14
mov r8, qword [r9]
add r8, r14
xor r14d, r14d
lea rcx, [r8 + rdx]
cmp rcx, rdx
mov qword [r9], rcx
setb r14b
cmp r8, rax
adc r14, 0
add r9, 8
sub r11, 1
jne 0x14005d0b0
test r14, r14
je 0x14005d1ae
lea r12, [rsi*8]
inc rsi
lea rax, [rsi - 1]
mov r13, r14
cmp rax, rbx
jb 0x14005d17c
cmp rsi, 0x2710
ja 0x14005d633
cmp rbx, rsi
jae 0x14005d178
mov edx, 8
mov rcx, rsi
call fcn.1400727c8
mov r15, rax
test rax, rax
je 0x14005d633
test rdi, rdi
je 0x14005d168
lea rbx, [rbx*8]
mov rdx, rdi
mov r8, rbx
mov rcx, rax
call fcn.14006bf10
test rbx, rbx
je 0x14005d160
mov rax, qword [fcn.14006c5b0]
mov r8, rbx
xor edx, edx
mov rcx, rdi
call rax
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.14006dc24
mov rbx, rsi
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rbx
mov rdi, r15
lea r9, [rdi + r12]
add qword [r9], r14
xor eax, eax
mov rcx, qword [r9]
cmp rcx, r14
setb al
inc rsi
add r12, 8
add r9, 8
mov r14, rax
cmp rcx, r13
jb 0x14005d0f3
mov r15d, dword [rsp + 0x4c]
mov r13, qword [rbp - 0x68]
mov r12, qword [rbp - 0x60]
mov r14d, 1
mov r8, r13
mov dword [rsp + 0x4c], r15d
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x30], r15d
mov rcx, r12
call fcn.140035110
mov esi, eax
test eax, eax
jne 0x14005d5a4
mov rdx, r14
mov rcx, r12
call fcn.1400315d0
cmp eax, 1
jne 0x14005d1fc
mov rdx, r13
mov rcx, r12
call fcn.140031500
cmp eax, 0xffffffff
je 0x14005d61b
mov qword [rsp + 0x60], r14
lea rax, [rsp + 0x60]
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x50], r14d
mov qword [rbp - 0x48], r14
test r15d, r15d
jle 0x14005d2da
test rbx, rbx
je 0x14005d238
lea rax, [rbx - 1]
lea rax, [rdi + rax*8]
cmp qword [rax], 0
jne 0x14005d238
sub rax, 8
sub rbx, 1
jne 0x14005d228
mov rax, r14
lea rcx, [rsp + 0x60]
cmp qword [rcx], 0
jne 0x14005d250
sub rcx, 8
sub rax, 1
jne 0x14005d240
test rbx, rbx
jne 0x14005d286
test rax, rax
jne 0x14005d28b
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.140031820
mov esi, eax
test eax, eax
je 0x14005d492
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
jmp 0x14005d5a4
cmp rbx, rax
ja 0x14005d25a
cmp rax, rbx
ja 0x14005d2b9
test rbx, rbx
je 0x14005d25a
lea rcx, [rsp + 0x60]
sub rdi, rcx
lea rax, [rsp + rbx*8 + 0x58]
mov rcx, qword [rdi + rax]
cmp rcx, qword [rax]
ja 0x14005d25a
jb 0x14005d2b9
sub rax, 8
sub rbx, 1
jne 0x14005d2a2
jmp 0x14005d25a
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x30]
call fcn.140031820
mov esi, eax
test eax, eax
jne 0x14005d277
neg r15d
jmp 0x14005d492
mov dword [rsp + 0x30], r14d
lea rax, [rsp + 0x60]
mov rsi, r14
cmp qword [rax], 0
jne 0x14005d2f7
sub rax, 8
sub rsi, 1
jne 0x14005d2e7
cmp rsi, 0x2710
ja 0x14005d633
cmp rbx, rsi
jae 0x14005d370
mov edx, 8
mov rcx, rsi
call fcn.1400727c8
mov r14, rax
test rax, rax
je 0x14005d633
test rdi, rdi
je 0x14005d360
lea rbx, [rbx*8]
mov rdx, rdi
mov r8, rbx
mov rcx, rax
call fcn.14006bf10
test rbx, rbx
je 0x14005d358
mov rax, qword [fcn.14006c5b0]
mov r8, rbx
xor edx, edx
mov rcx, rdi
call rax
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.14006dc24
mov rbx, rsi
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], rbx
mov rdi, r14
xor r14d, r14d
mov r9, rdi
test rsi, rsi
je 0x14005d48c
lea r10, [rsp + 0x60]
mov r11, rsi
sub r10, rdi
nop word [rax + rax]
mov r8, qword [r10 + r9]
xor eax, eax
mov rcx, qword [r9]
add rcx, r14
cmp rcx, r14
setb al
lea rdx, [r8 + rcx]
mov r14, rax
cmp rdx, r8
mov qword [r9], rdx
adc r14, 0
add r9, 8
sub r11, 1
jne 0x14005d390
test r14, r14
je 0x14005d48c
lea r12, [rsi*8]
inc rsi
lea rax, [rsi - 1]
mov r13, r14
cmp rax, rbx
jb 0x14005d45a
cmp rsi, 0x2710
ja 0x14005d633
cmp rbx, rsi
jae 0x14005d456
mov edx, 8
mov rcx, rsi
call fcn.1400727c8
mov r15, rax
test rax, rax
je 0x14005d633
test rdi, rdi
je 0x14005d446
lea rbx, [rbx*8]
mov rdx, rdi
mov r8, rbx
mov rcx, rax
call fcn.14006bf10
test rbx, rbx
je 0x14005d43e
mov rax, qword [fcn.14006c5b0]
mov r8, rbx
xor edx, edx
mov rcx, rdi
call rax
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.14006dc24
mov rbx, rsi
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rbx
mov rdi, r15
lea r9, [r12 + rdi]
add qword [r9], r14
xor eax, eax
mov rcx, qword [r9]
cmp rcx, r14
setb al
inc rsi
add r12, 8
add r9, 8
mov r14, rax
cmp rcx, r13
jb 0x14005d3d1
mov r15d, dword [rsp + 0x4c]
mov r13, qword [rbp - 0x68]
mov r12, qword [rbp - 0x60]
mov r14d, 1
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], r15d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.140032070
mov esi, eax
test eax, eax
jne 0x14005d277
mov r8, r13
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.140034220
mov esi, eax
test eax, eax
jne 0x14005d277
movzx ecx, word [rsp + 0x48]
inc cx
mov word [rsp + 0x48], cx
cmp cx, word [rsp + 0x58]
jbe 0x14005cd20
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov r15d, dword [rsp + 0x30]
mov qword [rbp - 0x70], r14
mov rax, rbx
test rbx, rbx
je 0x14005d520
lea rcx, [rbx - 1]
lea rcx, [rdi + rcx*8]
nop dword [rax]
cmp qword [rcx], 0
jne 0x14005d520
sub rcx, 8
sub rax, 1
jne 0x14005d510
mov rcx, r14
lea rdx, [rbp - 0x70]
cmp qword [rdx], 0
jne 0x14005d537
sub rdx, 8
sub rcx, 1
jne 0x14005d527
test rax, rax
jne 0x14005d543
test rcx, rcx
jne 0x14005d548
jmp 0x14005d585
cmp rax, rcx
ja 0x14005d580
cmp rcx, rax
ja 0x14005d59f
test r15d, r15d
js 0x14005d59f
test rax, rax
je 0x14005d585
lea rdx, [rbp - 0x70]
mov r9, rdi
sub r9, rdx
lea rcx, [rbp + rax*8 - 0x78]
mov rdx, qword [r9 + rcx]
cmp rdx, qword [rcx]
ja 0x14005d580
jb 0x14005d57d
sub rcx, 8
sub rax, 1
jne 0x14005d566
jmp 0x14005d585
neg r15d
test r15d, r15d
jne 0x14005d59f
mov r15, qword [rsp + 0x58]
mov eax, dword [rsp + 0x68]
inc ax
mov dword [rsp + 0x68], eax
cmp ax, 0x36
jb 0x14005cc10
mov esi, 0xfffffffc
test rdi, rdi
je 0x14005d5d1
lea r8, [rbx*8]
test r8, r8
je 0x14005d5c9
mov rax, qword [fcn.14006c5b0]
xor edx, edx
mov rcx, rdi
call rax
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.14006dc24
mov rcx, qword [rbp - 0x80]
mov rdi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
test rcx, rcx
je 0x14005d610
mov rax, qword [rsp + 0x78]
lea r8, [rax*8]
test r8, r8
je 0x14005d607
mov rax, qword [fcn.14006c5b0]
xor edx, edx
call rax
mov rcx, qword [rbp - 0x80]
call fcn.14006dc24
mov eax, esi
jmp 0x14005d642
mov esi, 0xfffffff6
jmp 0x14005d5a4
mov rcx, qword [rbp - 0x58]
mov r9, r12
mov r8, r13
xor edx, edx
call fcn.140032710
mov esi, eax
jmp 0x14005d5a4
mov esi, 0xfffffff0
jmp 0x14005d5a4
mov eax, 0xfffffffc
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.140068c30
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret