Function at 0x1401ad510
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x598]
sub rsp, 0x698
xor r14d, r14d
cmp qword [rcx + 0x18], 0x10
mov qword [rbp + 0x60], r14
jb 0x1401ad548
mov rdx, qword [rcx]
mov r8, rdx
add r8, qword [rcx + 0x10]
jmp 0x1401ad552
mov r8, qword [rcx + 0x10]
mov rdx, rcx
add r8, rcx
mov qword [rsp + 0x6e8], rbx
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x690], rdi
call fcn.1401cd140
lea r8, [rbp + 0x28]
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x20]
call fcn.1401c1a30
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1401ad5bb
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1401ad5bb
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
mov rax, qword [rbx]
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1401ad5bb
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 8]
xorps xmm0, xmm0
mov qword [rbp - 0x28], r14
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x20]
movdqu xmmword [rbp - 0x38], xmm0
call fcn.1401c1cf0
mov rax, qword [rbp - 0x60]
mov r13, qword [rbp - 0x78]
mov r12, qword [rbp - 0x68]
mov r15, qword [rbp - 0x70]
mov qword [rbp + 0x5e0], rax
movabs r8, 0x8000000000000000
nop word [rax + rax]
lea r14, [rbp - 0x20]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov rsi, r8
movdqu xmmword [rbp + 0x30], xmm0
movdqu xmmword [rbp + 0x38], xmm1
test r14, r14
jne 0x1401ad63f
mov r8d, 0x24b3
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca80]
call fcn.1403df56c
movabs r8, 0x8000000000000000
movzx ecx, byte [r14]
mov edx, ecx
sub edx, 1
je 0x1401ad675
cmp edx, 1
je 0x1401ad667
mov rsi, r8
sub ecx, 1
je 0x1401ad675
cmp ecx, 1
je 0x1401ad667
mov rbx, qword [rbp + 0x30]
mov esi, 1
jmp 0x1401ad67c
mov rdi, qword [r14 + 8]
mov rbx, qword [rbp + 0x30]
mov rdi, qword [rdi + 8]
jmp 0x1401ad680
mov rbx, qword [r14 + 8]
mov rbx, qword [rbx]
mov rdi, qword [rbp + 0x38]
cmp r13, r14
jne 0x1401ae85d
test r13, r13
jne 0x1401ad6a7
mov r8d, 0x25f0
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca80]
call fcn.1403df56c
movzx r14d, byte [r13]
mov ecx, r14d
sub ecx, 1
je 0x1401ad6ca
cmp ecx, 1
je 0x1401ad6c5
mov rdi, qword [rbp + 0x5e0]
cmp rdi, rsi
jmp 0x1401ad6d4
cmp r12, rdi
jmp 0x1401ad6cd
cmp r15, rbx
mov rdi, qword [rbp + 0x5e0]
sete al
test al, al
jne 0x1401ae654
xor esi, esi
mov qword [rbp + 0x88], 0xf
xor edx, edx
mov qword [rbp + 0x70], rsi
mov r8d, 0x498
mov qword [rbp + 0x80], rsi
lea rcx, [rbp + 0xf0]
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0xa0], rsi
mov qword [rbp + 0xb0], rsi
mov qword [rbp + 0xc0], rsi
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xe0], rsi
mov qword [rbp + 0xa8], 7
mov qword [rbp + 0xc8], 7
mov qword [rbp + 0xe8], 7
call fcn.1403ccc50
test r14d, r14d
je 0x1401ae875
sub r14d, 1
je 0x1401ad7a1
cmp r14d, 1
je 0x1401ad779
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401ad7c7
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401ad79c
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401ad7c7
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401ad7c3
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
xor eax, eax
mov dword [rsp + 0x20], 0x5c607473
mov byte [rsp + 0x28], al
mov edx, esi
mov dword [rsp + 0x24], 0x626b646a
nop
movsxd rax, edx
xor byte [rsp + rax + 0x20], dl
inc edx
cmp edx, 8
jb 0x1401ad7e0
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x28], sil
call fcn.1401c7720
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 0xf
cmp byte [rax], 3
jne 0x1401ae875
mov rdx, qword [rax + 8]
lea rax, [rbp - 0x78]
cmp rax, rdx
je 0x1401ad82c
lea rcx, [rbp - 0x78]
call fcn.1401c3be0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x1401ad86a
mov rcx, qword [rbp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401ad865
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401ae869
call fcn.1403cad84
movups xmm0, xmmword [rbp - 0x78]
movups xmm1, xmmword [rbp - 0x68]
movaps xmmword [rbp + 0x70], xmm0
movaps xmmword [rbp + 0x80], xmm1
call fcn.140141104
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae86f
sub ecx, 1
je 0x1401ad8cf
cmp ecx, 1
je 0x1401ad8a7
test rdi, rdi
jne 0x1401ae86f
mov rcx, r13
jmp 0x1401ad8f5
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401ad8ca
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401ad8f5
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401ad8f1
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
movdqa xmm0, xmmword [0x1404cee80]
mov edx, esi
movdqu xmmword [rbp - 0x10], xmm0
nop dword [rax]
nop dword [rax + rax]
movsxd rax, edx
xor byte [rbp + rax - 0x10], dl
inc edx
cmp edx, 0xf
jb 0x1401ad910
lea rdx, [rbp - 0x10]
mov byte [rbp - 1], sil
call fcn.1401c7720
mov rcx, rsi
mov qword [rbp - 0x68], rsi
mov r9d, 0xf
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x60], r9
cmp byte [rax], 3
jne 0x1401ae86f
mov rdx, qword [rax + 8]
lea rax, [rbp - 0x78]
cmp rax, rdx
je 0x1401ad967
lea rcx, [rbp - 0x78]
call fcn.1401c3be0
mov r9, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x78]
cmp r9, 0x10
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0x10]
cmovae r8, rcx
call fcn.1401a5510
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1401ad9b7
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401ad9b2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401ae863
call fcn.1403cad84
mov rax, qword [rbp + 0x18]
sub rax, qword [rbp + 0x10]
sar rax, 5
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], sil
test rax, rax
je 0x1401adb16
call fcn.140141104
mov r8, qword [rbp + 0x10]
lea rdx, [rbp - 0x10]
call fcn.1401a5900
mov rbx, rax
lea rax, [rbp + 0x90]
cmp rax, rbx
je 0x1401ada30
lea rcx, [rbp + 0x90]
call fcn.14013ed68
movups xmm0, xmmword [rbx]
movaps xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rbp + 0xa0], xmm1
mov qword [rbx + 0x10], rsi
mov word [rbx], si
mov qword [rbx + 0x18], 7
nop dword [rax]
lea rcx, [rbp - 0x10]
call fcn.14013ed68
call fcn.140141104
mov r8, qword [rbp + 0x10]
lea rdx, [rbp - 0x78]
add r8, 0x20
call fcn.1401a5900
mov rbx, rax
lea rax, [rbp + 0xb0]
cmp rax, rbx
je 0x1401ada90
lea rcx, [rbp + 0xb0]
call fcn.14013ed68
movups xmm0, xmmword [rbx]
movaps xmmword [rbp + 0xb0], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rbp + 0xc0], xmm1
mov qword [rbx + 0x10], rsi
mov word [rbx], si
mov qword [rbx + 0x18], 7
nop
lea rcx, [rbp - 0x78]
call fcn.14013ed68
call fcn.140141104
mov r8, qword [rbp + 0x10]
lea rdx, [rbp - 0x10]
add r8, 0x40
call fcn.1401a5900
mov rbx, rax
lea rax, [rbp + 0xd0]
cmp rax, rbx
je 0x1401adaf0
lea rcx, [rbp + 0xd0]
call fcn.14013ed68
movups xmm0, xmmword [rbx]
movaps xmmword [rbp + 0xd0], xmm0
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rbp + 0xe0], xmm1
mov qword [rbx + 0x10], rsi
mov word [rbx], si
mov qword [rbx + 0x18], 7
nop
lea rcx, [rbp - 0x10]
call fcn.14013ed68
mov rcx, qword [rbp + 0x10]
add rcx, 0x60
cmp qword [rcx + 0x18], 0x10
jb 0x1401adb0b
mov rcx, qword [rcx]
call fcn.1403d6dc0
mov dword [rbp + 0xf0], eax
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401adb63
cmp ecx, 1
je 0x1401adb3b
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401adb89
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401adb5e
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401adb89
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401adb85
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
mov dword [rbp + 0x5d8], 0x5c607473
mov edx, esi
mov dword [rbp + 0x5dc], 0x6b706a
nop
movsxd rax, edx
xor byte [rbp + rax + 0x5d8], dl
inc edx
cmp edx, 7
jb 0x1401adba0
lea rdx, [rbp + 0x5d8]
mov byte [rbp + 0x5df], sil
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7800
mov dword [rbp + 0xf8], eax
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401adc1f
cmp ecx, 1
je 0x1401adbf7
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401adc45
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401adc1a
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401adc45
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401adc41
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
mov dword [rsp + 0x58], 0x67636e6c
mov edx, esi
mov dword [rsp + 0x5c], 0x777f715b
mov word [rsp + 0x60], 0x6d
nop
movsxd rax, edx
xor byte [rsp + rax + 0x58], dl
inc edx
cmp edx, 9
jb 0x1401adc60
lea rdx, [rsp + 0x58]
mov byte [rsp + 0x61], sil
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7800
mov dword [rbp + 0xfc], eax
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401adcd8
cmp ecx, 1
je 0x1401adcb0
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401adcfe
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401adcd3
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401adcfe
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401adcfa
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
xor eax, eax
mov dword [rsp + 0x62], 0x5c607473
mov byte [rsp + 0x6c], al
mov edx, esi
mov dword [rsp + 0x66], 0x73677177
mov word [rsp + 0x6a], 0x7a7d
nop dword [rax]
movsxd rax, edx
xor byte [rsp + rax + 0x62], dl
inc edx
cmp edx, 0xa
jb 0x1401add20
lea rdx, [rsp + 0x62]
mov byte [rsp + 0x6c], sil
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7800
mov dword [rbp + 0x100], eax
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401add98
cmp ecx, 1
je 0x1401add70
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401addbe
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401add93
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401addbe
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401addba
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
xor eax, eax
mov dword [rsp + 0x6d], 0x5c607473
mov byte [rsp + 0x77], al
mov edx, esi
mov dword [rsp + 0x71], 0x7d697762
mov word [rsp + 0x75], 0x676d
nop dword [rax]
movsxd rax, edx
xor byte [rsp + rax + 0x6d], dl
inc edx
cmp edx, 0xa
jb 0x1401adde0
lea rdx, [rsp + 0x6d]
mov byte [rsp + 0x77], sil
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7800
mov dword [rbp + 0x104], eax
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401ade58
cmp ecx, 1
je 0x1401ade30
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401ade7e
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401ade53
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401ade7e
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401ade7a
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
xor eax, eax
mov dword [rsp + 0x29], 0x5c607473
mov byte [rsp + 0x31], al
mov edx, esi
mov dword [rsp + 0x2d], 0x626b6c70
nop word [rax + rax]
movsxd rax, edx
xor byte [rsp + rax + 0x29], dl
inc edx
cmp edx, 8
jb 0x1401adea0
lea rdx, [rsp + 0x29]
mov byte [rsp + 0x31], sil
call fcn.1401c7720
mov r9d, 0xf
mov qword [rbp - 0x78], rsi
mov r8, rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], r9
cmp byte [rax], 3
jne 0x1401ae875
mov rdx, qword [rax + 8]
lea rax, [rbp - 0x78]
cmp rax, rdx
je 0x1401adef9
lea rcx, [rbp - 0x78]
call fcn.1401c3be0
mov r9, qword [rbp - 0x60]
mov r8, qword [rbp - 0x78]
cmp r9, 0x10
lea rcx, [rbp - 0x78]
lea rdx, [rbp + 0x108]
cmovae rcx, r8
setae r10b
sub rdx, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1401adf20
test r10b, r10b
je 0x1401adf64
lea rdx, [r9 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x1401adf5c
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401ae869
mov rcx, r8
call fcn.1403cad84
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401adfb1
cmp ecx, 1
je 0x1401adf89
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401adfd7
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401adfac
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401adfd7
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401adfd3
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
xor eax, eax
mov dword [rsp + 0x32], 0x5c607473
mov byte [rsp + 0x3a], al
mov edx, esi
mov dword [rsp + 0x36], 0x68606b6d
nop
movsxd rax, edx
xor byte [rsp + rax + 0x32], dl
inc edx
cmp edx, 8
jb 0x1401adff0
lea rdx, [rsp + 0x32]
mov byte [rsp + 0x3a], sil
call fcn.1401c7720
mov r9d, 0xf
mov qword [rbp - 0x78], rsi
mov r8, rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], r9
cmp byte [rax], 3
jne 0x1401ae875
mov rdx, qword [rax + 8]
lea rax, [rbp - 0x78]
cmp rax, rdx
je 0x1401ae049
lea rcx, [rbp - 0x78]
call fcn.1401c3be0
mov r9, qword [rbp - 0x60]
mov r8, qword [rbp - 0x78]
cmp r9, 0x10
lea rcx, [rbp - 0x78]
lea rdx, [rbp + 0x16c]
cmovae rcx, r8
setae r10b
sub rdx, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1401ae070
test r10b, r10b
je 0x1401ae0b4
lea rdx, [r9 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x1401ae0ac
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401ae869
mov rcx, r8
call fcn.1403cad84
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401ae101
cmp ecx, 1
je 0x1401ae0d9
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401ae127
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401ae0fc
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401ae127
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401ae123
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
mov dword [rsp + 0x48], 0x6c6d7173
mov edx, esi
mov dword [rsp + 0x4c], 0x58746062
mov dword [rsp + 0x50], 0x626b7f69
mov word [rsp + 0x54], 0x60
nop dword [rax + rax]
movsxd rax, edx
xor byte [rsp + rax + 0x48], dl
inc edx
cmp edx, 0xd
jb 0x1401ae150
lea rdx, [rsp + 0x48]
mov byte [rsp + 0x55], sil
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7800
mov dword [rbp + 0x56c], eax
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401ae1c8
cmp ecx, 1
je 0x1401ae1a0
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401ae1ee
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401ae1c3
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401ae1ee
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401ae1ea
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
xor eax, eax
mov dword [rbp - 0x58], 0x656c6e63
mov byte [rbp - 0x4c], al
mov edx, esi
mov dword [rbp - 0x54], 0x6659626d
mov dword [rbp - 0x50], 0x6763687e
nop word [rax + rax]
movsxd rax, edx
xor byte [rbp + rax - 0x58], dl
inc edx
cmp edx, 0xc
jb 0x1401ae210
lea rdx, [rbp - 0x58]
mov byte [rbp - 0x4c], sil
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7800
test eax, eax
setne byte [rbp + 0x57c]
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401ae289
cmp ecx, 1
je 0x1401ae261
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401ae2af
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401ae284
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401ae2af
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401ae2ab
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
xor eax, eax
mov dword [rbp - 0x4b], 0x70716473
mov byte [rbp - 0x3f], al
mov edx, esi
mov dword [rbp - 0x47], 0x58686a6d
mov dword [rbp - 0x43], 0x6e67607c
nop dword [rax + rax]
movsxd rax, edx
xor byte [rbp + rax - 0x4b], dl
inc edx
cmp edx, 0xc
jb 0x1401ae2d0
lea rdx, [rbp - 0x4b]
mov byte [rbp - 0x3f], sil
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7890
mov qword [rbp + 0x570], rax
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401ae347
cmp ecx, 1
je 0x1401ae31f
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401ae36d
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401ae342
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401ae36d
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401ae369
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
xor eax, eax
mov dword [rsp + 0x3b], 0x5c607473
mov byte [rsp + 0x43], al
mov edx, esi
mov dword [rsp + 0x3f], 0x62767c70
nop word [rax + rax]
movsxd rax, edx
xor byte [rsp + rax + 0x3b], dl
inc edx
cmp edx, 8
jb 0x1401ae390
lea rdx, [rsp + 0x3b]
mov byte [rsp + 0x43], sil
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7800
mov dword [rbp + 0x578], eax
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401ae408
cmp ecx, 1
je 0x1401ae3e0
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401ae42e
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401ae403
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401ae42e
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401ae42a
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
xor eax, eax
mov dword [rsp + 0x78], 0x70726464
mov byte [rbp - 0x7e], al
mov edx, esi
mov dword [rsp + 0x7c], 0x7269665b
mov word [rbp - 0x80], 0x7d66
nop dword [rax + rax]
movsxd rax, edx
xor byte [rsp + rax + 0x78], dl
inc edx
cmp edx, 0xa
jb 0x1401ae450
lea rdx, [rsp + 0x78]
mov byte [rbp - 0x7e], sil
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7800
mov dword [rbp + 0x580], eax
movzx ecx, byte [r13]
test ecx, ecx
je 0x1401ae875
sub ecx, 1
je 0x1401ae4c7
cmp ecx, 1
je 0x1401ae49f
test rdi, rdi
jne 0x1401ae875
mov rcx, r13
jmp 0x1401ae4ed
mov rax, qword [r13 + 8]
cmp r12, qword [rax + 8]
jne 0x1401ae4c2
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, r12
jmp 0x1401ae4ed
mov rax, qword [r13 + 8]
cmp r15, qword [rax]
jne 0x1401ae4e9
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [r15 + 0x40]
movdqa xmm0, xmmword [0x1404ceea0]
mov edx, esi
movdqu xmmword [rbp - 0x10], xmm0
nop dword [rax]
movsxd rax, edx
xor byte [rbp + rax - 0x10], dl
inc edx
cmp edx, 0xf
jb 0x1401ae500
lea rdx, [rbp - 0x10]
mov byte [rbp - 1], sil
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7800
test eax, eax
mov rax, qword [rbp - 0x30]
setne byte [rbp + 0x584]
cmp rax, qword [rbp - 0x28]
je 0x1401ae54c
lea rdx, [rbp + 0x70]
mov rcx, rax
call fcn.1401965d8
add qword [rbp - 0x30], 0x518
jmp 0x1401ae55c
lea r8, [rbp + 0x70]
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.1401c8340
lea rcx, [rbp + 0x10]
call fcn.14019466c
lea rcx, [rbp + 0xd0]
call fcn.14013ed68
lea rcx, [rbp + 0xb0]
call fcn.14013ed68
lea rcx, [rbp + 0x90]
call fcn.14013ed68
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x1401ae5c7
mov rcx, qword [rbp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401ae5c2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401ae869
call fcn.1403cad84
movzx ecx, byte [r13]
sub ecx, 1
je 0x1401ae5f8
movabs r8, 0x8000000000000000
cmp ecx, 1
je 0x1401ae5ef
inc rdi
mov qword [rbp + 0x5e0], rdi
jmp 0x1401ad600
add r12, 0x10
jmp 0x1401ad600
mov rcx, qword [r15 + 0x10]
mov rax, r15
cmp byte [rcx + 0x19], sil
je 0x1401ae62f
mov r15, qword [r15 + 8]
cmp byte [r15 + 0x19], sil
jne 0x1401ad5eb
cmp rax, qword [r15 + 0x10]
jne 0x1401ad5eb
mov rax, r15
mov r15, qword [r15 + 8]
cmp byte [r15 + 0x19], sil
je 0x1401ae613
jmp 0x1401ad5eb
mov r15, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], sil
jne 0x1401ad5eb
nop
mov rax, qword [rcx]
mov r15, rcx
mov rcx, rax
cmp byte [rax + 0x19], sil
je 0x1401ae640
jmp 0x1401ad5eb
call fcn.140140f70
add rax, 0x38
lea rcx, [rbp - 0x38]
cmp rax, rcx
je 0x1401ae676
mov r8, qword [rbp - 0x30]
mov rcx, rax
mov rdx, qword [rbp - 0x38]
call fcn.1401ce670
call fcn.140140f70
movabs rsi, 0x6483ed274388a357
mov rcx, qword [rax + 0x40]
sub rcx, qword [rax + 0x38]
mov rax, rsi
imul rcx
mov rbx, rdx
sar rbx, 9
mov rax, rbx
shr rax, 0x3f
add rbx, rax
call fcn.140140f70
mov dword [rax + 0x14], ebx
mov rdi, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x38]
cmp rbx, rdi
je 0x1401ae6d8
nop dword [rax]
mov rcx, rbx
call fcn.1401842b8
add rbx, 0x518
cmp rbx, rdi
jne 0x1401ae6c0
mov rbx, qword [rbp - 0x38]
movzx eax, byte [rbp - 0x20]
dec eax
mov qword [rbp - 0x30], rbx
cmp eax, 6
ja case.default.0x1401ae6fa
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x1ae87c]
add rcx, rdx
jmp rcx
xor r14d, r14d
mov qword [rbp - 0x18], r14
jmp 0x1401ae751
xorps xmm0, xmm0
movsd qword [rbp - 0x18], xmm0
jmp case.default.0x1401ae6fa
mov byte [rbp - 0x18], 0
jmp case.default.0x1401ae6fa
mov rax, qword [rbp - 0x18]
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1401ae726
mov rcx, qword [rax]
xor r14d, r14d
mov qword [rax + 0x10], r14
mov byte [rcx], r14b
mov rbx, qword [rbp - 0x38]
jmp 0x1401ae751
mov rcx, qword [rbp - 0x18]
call fcn.1401c2d70
jmp 0x1401ae74a
mov rcx, qword [rbp - 0x18]
call fcn.1401c3250
mov rbx, qword [rbp - 0x38]
xor r14d, r14d
test rbx, rbx
je 0x1401ae7d3
mov rdi, qword [rbp - 0x30]
cmp rbx, rdi
je 0x1401ae778
nop
mov rcx, rbx
call fcn.1401842b8
add rbx, 0x518
cmp rbx, rdi
jne 0x1401ae760
mov rbx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
mov rax, rsi
sub rcx, rbx
imul rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, rbx
imul rdx, rdx, 0x518
cmp rdx, 0x1000
jb 0x1401ae7bf
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401ae857
mov rcx, rbx
call fcn.1403cad84
xorps xmm0, xmm0
mov qword [rbp - 0x28], r14
movdqu xmmword [rbp - 0x38], xmm0
lea rcx, [rbp - 0x20]
call fcn.1401c3b10
movzx edx, byte [rbp - 0x20]
lea rcx, [rbp - 0x18]
call fcn.1401c2dd0
mov rbx, qword [rbp + 0x5d0]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1401ae826
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1401ae821
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401ae857
mov rcx, r8
call fcn.1403cad84
mov qword [rbx + 0x10], r14
mov rdi, qword [rsp + 0x690]
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rbx, qword [rsp + 0x6e8]
add rsp, 0x698
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
call fcn.1403d7020
int3
call fcn.1403e0e10
int3
call fcn.1403d7020
int3
call fcn.1403d7020
int3
call fcn.1403e0e10
int3
call fcn.1403e0e10
int3