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

Disassembly:
mov rax, rsp
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b8]
sub rsp, 0x278
xor esi, esi
movaps xmmword [rax - 0x58], xmm6
mov r15d, esi
mov qword [rbp - 0x18], rsi
mov edi, edx
mov rbx, rcx
call fcn.140140f70
mov r8, qword [rax + 0x40]
sub r8, qword [rax + 0x38]
movabs rax, 0x6483ed274388a357
imul r8
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1401aff99
xorps xmm6, xmm6
call fcn.140140f70
imul r13, r15, 0x518
mov rax, qword [rax + 0x38]
mov qword [rbp + 0x1d8], r13
cmp dword [rax + r13 + 0x88], edi
jne 0x1401aff61
mov rcx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov qword [rbp + 0x150], rsi
cmp rcx, 0x10
jb 0x1401ae946
add r8, qword [rbx]
jmp 0x1401ae952
add r8, rbx
mov rdx, rbx
cmp rcx, 0x10
jb 0x1401ae955
mov rdx, qword [rbx]
lea rcx, [rbp + 0x48]
call fcn.1401cd140
lea r8, [rbp + 0x118]
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x68]
call fcn.1401c1a30
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x1401ae9af
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1401ae9af
mov rbx, qword [rbp + 0x50]
mov rcx, rbx
mov rax, qword [rbx]
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1401ae9af
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx]
call qword [rax + 8]
lea r12, [rbp - 0x68]
movabs r8, 0x8000000000000000
mov qword [rbp - 0x58], r12
xorps xmm0, xmm0
xorps xmm1, xmm1
mov r14, r8
movdqu xmmword [rbp - 0x50], xmm0
movdqu xmmword [rbp - 0x48], xmm1
mov qword [rbp - 0x40], r8
test r12, r12
jne 0x1401ae9f9
mov r8d, 0x24b3
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca80]
call fcn.1403df56c
mov r8, r14
movzx ecx, byte [r12]
mov edx, ecx
sub edx, 1
je 0x1401aea47
cmp edx, 1
je 0x1401aea35
test ecx, ecx
je 0x1401aea25
sub ecx, 1
je 0x1401aea47
cmp ecx, 1
je 0x1401aea35
mov rdi, qword [rbp - 0x50]
mov r14, rsi
mov qword [rbp - 0x40], rsi
jmp 0x1401aea56
mov rdi, qword [rbp - 0x50]
mov r14d, 1
mov qword [rbp - 0x40], r14
jmp 0x1401aea56
mov rsi, qword [r12 + 8]
mov rdi, qword [rbp - 0x50]
mov rsi, qword [rsi]
mov qword [rbp - 0x48], rsi
jmp 0x1401aea60
mov rax, qword [r12 + 8]
mov rdi, qword [rax]
mov rdi, qword [rdi]
mov qword [rbp - 0x50], rdi
mov rsi, qword [rbp - 0x48]
nop word [rax + rax]
lea r15, [rbp - 0x68]
xorps xmm0, xmm0
mov qword [rbp + 0x10], r15
xorps xmm1, xmm1
mov rbx, r8
movdqu xmmword [rbp + 0x18], xmm0
movdqu xmmword [rbp + 0x20], xmm1
mov qword [rbp + 0x28], rbx
test r15, r15
jne 0x1401aeaa7
mov r8d, 0x24b3
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca80]
call fcn.1403df56c
movabs r8, 0x8000000000000000
movzx ecx, byte [r15]
mov edx, ecx
sub edx, 1
je 0x1401aeae1
cmp edx, 1
je 0x1401aead3
mov rbx, r8
mov qword [rbp + 0x28], rbx
sub ecx, 1
je 0x1401aeae1
cmp ecx, 1
je 0x1401aead3
mov ebx, 1
mov qword [rbp + 0x28], rbx
jmp 0x1401aeaec
mov rax, qword [r15 + 8]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x20], rcx
jmp 0x1401aeaec
mov rax, qword [r15 + 8]
mov rcx, qword [rax]
mov qword [rbp + 0x18], rcx
cmp r12, r15
jne 0x1401afffa
movzx ecx, byte [r12]
mov edx, ecx
sub edx, 1
je 0x1401aeb11
cmp edx, 1
je 0x1401aeb0b
cmp r14, rbx
jmp 0x1401aeb15
cmp rsi, qword [rbp + 0x20]
jmp 0x1401aeb15
cmp rdi, qword [rbp + 0x18]
sete al
test al, al
jne 0x1401afed2
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401aeb69
cmp ecx, 1
je 0x1401aeb40
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401aeb90
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401aeb64
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401aeb90
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401aeb8c
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
xor eax, eax
mov dword [rsp + 0x20], 0x5c607473
xor r15d, r15d
mov dword [rsp + 0x24], 0x626b646a
mov edx, r15d
mov byte [rsp + 0x28], al
nop dword [rax]
movsxd rax, edx
xor byte [rsp + rax + 0x20], dl
inc edx
cmp edx, 8
jb 0x1401aebb0
lea rdx, [rsp + 0x20]
mov byte [rsp + 0x28], r15b
call fcn.1401c7720
mov rbx, r15
mov qword [rbp], r15
mov r15d, 0xf
mov qword [rbp - 0x10], rbx
mov qword [rbp + 8], r15
cmp byte [rax], 3
jne 0x1401b0018
mov rdx, qword [rax + 8]
lea rax, [rbp - 0x10]
cmp rax, rdx
je 0x1401aec09
lea rcx, [rbp - 0x10]
call fcn.1401c3be0
mov r15, qword [rbp + 8]
mov rbx, qword [rbp - 0x10]
call fcn.140140f70
mov r12, qword [rax + 0x38]
lea rax, [rbp - 0x10]
add r12, r13
cmp r12, rax
je 0x1401aec80
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x1401aec5a
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x1401aec55
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401b000c
mov rcx, r8
call fcn.1403cad84
movups xmm0, xmmword [rbp - 0x10]
mov byte [rbp - 0x10], 0
mov r15d, 0xf
movups xmm1, xmmword [rbp]
mov rbx, qword [rbp - 0x10]
movups xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm1
nop dword [rax + rax]
cmp r15, 0x10
jb 0x1401aecb7
lea rdx, [r15 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1401aecaf
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401b000c
mov rcx, rbx
call fcn.1403cad84
call fcn.140141104
lea r12, [rbp - 0x68]
test r12, r12
jne 0x1401aecde
mov r8d, 0x254d
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca80]
call fcn.1403df56c
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0012
sub ecx, 1
je 0x1401aed2c
cmp ecx, 1
je 0x1401aed03
test r14, r14
jne 0x1401b0012
mov rcx, r12
jmp 0x1401aed53
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401aed27
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401aed53
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401aed4f
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
movdqa xmm0, xmmword [0x1404cee80]
xor r15d, r15d
movdqu xmmword [rbp + 0x58], xmm0
mov edx, r15d
nop word [rax + rax]
movsxd rax, edx
xor byte [rbp + rax + 0x58], dl
inc edx
cmp edx, 0xf
jb 0x1401aed70
lea rdx, [rbp + 0x58]
mov byte [rbp + 0x67], r15b
call fcn.1401c7720
mov rcx, r15
mov qword [rbp - 0x28], r15
mov r9d, 0xf
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x20], r9
cmp byte [rax], 3
jne 0x1401b0012
mov rdx, qword [rax + 8]
lea rax, [rbp - 0x38]
cmp rax, rdx
je 0x1401aedc7
lea rcx, [rbp - 0x38]
call fcn.1401c3be0
mov r9, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x38]
cmp r9, 0x10
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x30]
cmovae r8, rcx
call fcn.1401a5510
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x1401aee17
mov rcx, qword [rbp - 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401aee12
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401b0006
call fcn.1403cad84
mov rax, qword [rbp + 0x38]
sub rax, qword [rbp + 0x30]
sar rax, 5
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], r15b
test rax, rax
je 0x1401aefa9
call fcn.140141104
mov r8, qword [rbp + 0x30]
lea rdx, [rbp + 0xb8]
call fcn.1401a5900
mov rbx, rax
call fcn.140140f70
mov r15, qword [rax + 0x38]
add r15, 0x20
add r15, r13
cmp r15, rbx
je 0x1401aee92
mov rcx, r15
call fcn.14013ed68
movups xmm0, xmmword [rbx]
xor eax, eax
movups xmmword [r15], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r15 + 0x10], xmm1
mov qword [rbx + 0x10], rax
mov word [rbx], ax
mov qword [rbx + 0x18], 7
lea rcx, [rbp + 0xb8]
call fcn.14013ed68
call fcn.140141104
mov r8, qword [rbp + 0x30]
lea rdx, [rbp + 0xd8]
add r8, 0x20
call fcn.1401a5900
mov rbx, rax
call fcn.140140f70
mov r15, qword [rax + 0x38]
add r15, 0x40
add r15, r13
cmp r15, rbx
je 0x1401aef00
mov rcx, r15
call fcn.14013ed68
movups xmm0, xmmword [rbx]
xor eax, eax
movups xmmword [r15], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r15 + 0x10], xmm1
mov qword [rbx + 0x10], rax
mov word [rbx], ax
mov qword [rbx + 0x18], 7
nop dword [rax + rax]
lea rcx, [rbp + 0xd8]
call fcn.14013ed68
call fcn.140141104
mov r8, qword [rbp + 0x30]
lea rdx, [rbp + 0xf8]
add r8, 0x40
call fcn.1401a5900
mov rbx, rax
call fcn.140140f70
mov r15, qword [rax + 0x38]
add r15, 0x60
add r15, r13
cmp r15, rbx
je 0x1401aef70
mov rcx, r15
call fcn.14013ed68
movups xmm0, xmmword [rbx]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r15 + 0x10], xmm1
xor r15d, r15d
mov qword [rbx + 0x18], 7
mov qword [rbx + 0x10], r15
mov word [rbx], r15w
jmp 0x1401aef73
xor r15d, r15d
lea rcx, [rbp + 0xf8]
call fcn.14013ed68
mov rcx, qword [rbp + 0x30]
add rcx, 0x60
cmp qword [rcx + 0x18], 0x10
jb 0x1401aef91
mov rcx, qword [rcx]
call fcn.1403d6dc0
mov ebx, eax
call fcn.140140f70
mov rcx, qword [rax + 0x38]
mov dword [rcx + r13 + 0x80], ebx
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401aeff7
cmp ecx, 1
je 0x1401aefce
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401af01e
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401aeff2
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401af01e
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401af01a
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
mov dword [rbp + 0x1d0], 0x5c607473
mov edx, r15d
mov dword [rbp + 0x1d4], 0x6b706a
nop word [rax + rax]
movsxd rax, edx
xor byte [rbp + rax + 0x1d0], dl
inc edx
cmp edx, 7
jb 0x1401af040
lea rdx, [rbp + 0x1d0]
mov byte [rbp + 0x1d7], 0
call fcn.1401c7720
mov r9, rax
movzx r8d, byte [rax]
mov edx, r8d
sub edx, 4
je 0x1401af0c1
sub edx, 1
je 0x1401af0a8
sub edx, 1
je 0x1401af098
cmp edx, 1
jne 0x1401b0018
add rax, 8
cmp r8b, 7
cmovne rax, r15
cvttsd2si ebx, qword [rax]
jmp 0x1401af0d0
add rax, 8
cmp r8b, 6
cmovne rax, r15
mov ebx, dword [rax]
jmp 0x1401af0d0
sub r8b, 5
lea rcx, [r9 + 8]
cmp r8b, 1
setbe al
test al, al
cmove rcx, r15
mov ebx, dword [rcx]
jmp 0x1401af0d0
add rax, 8
cmp r8b, 4
cmovne rax, r15
movzx ebx, byte [rax]
call fcn.140140f70
mov rax, qword [rax + 0x38]
mov dword [rax + r13 + 0x88], ebx
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401af12f
cmp ecx, 1
je 0x1401af106
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401af156
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401af12a
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401af156
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401af152
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
mov dword [rsp + 0x44], 0x67636e6c
mov edx, r15d
mov dword [rsp + 0x48], 0x777f715b
mov word [rsp + 0x4c], 0x6d
movsxd rax, edx
xor byte [rsp + rax + 0x44], dl
inc edx
cmp edx, 9
jb 0x1401af170
lea rdx, [rsp + 0x44]
mov byte [rsp + 0x4d], 0
call fcn.1401c7720
mov r9, rax
movzx r8d, byte [rax]
mov edx, r8d
sub edx, 4
je 0x1401af1ea
sub edx, 1
je 0x1401af1d1
sub edx, 1
je 0x1401af1c1
cmp edx, 1
jne 0x1401b0018
add rax, 8
cmp r8b, 7
cmovne rax, r15
cvttsd2si ebx, qword [rax]
jmp 0x1401af1f9
add rax, 8
cmp r8b, 6
cmovne rax, r15
mov ebx, dword [rax]
jmp 0x1401af1f9
sub r8b, 5
lea rcx, [r9 + 8]
cmp r8b, 1
setbe al
test al, al
cmove rcx, r15
mov ebx, dword [rcx]
jmp 0x1401af1f9
add rax, 8
cmp r8b, 4
cmovne rax, r15
movzx ebx, byte [rax]
call fcn.140140f70
mov rax, qword [rax + 0x38]
mov dword [rax + r13 + 0x8c], ebx
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401af258
cmp ecx, 1
je 0x1401af22f
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401af27f
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401af253
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401af27f
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401af27b
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
xor eax, eax
mov dword [rsp + 0x4e], 0x5c607473
mov byte [rsp + 0x58], al
mov edx, r15d
mov dword [rsp + 0x52], 0x73677177
mov word [rsp + 0x56], 0x7a7d
nop
movsxd rax, edx
xor byte [rsp + rax + 0x4e], dl
inc edx
cmp edx, 0xa
jb 0x1401af2a0
lea rdx, [rsp + 0x4e]
mov byte [rsp + 0x58], 0
call fcn.1401c7720
mov r9, rax
movzx r8d, byte [rax]
mov edx, r8d
sub edx, 4
je 0x1401af31a
sub edx, 1
je 0x1401af301
sub edx, 1
je 0x1401af2f1
cmp edx, 1
jne 0x1401b0018
add rax, 8
cmp r8b, 7
cmovne rax, r15
cvttsd2si ebx, qword [rax]
jmp 0x1401af329
add rax, 8
cmp r8b, 6
cmovne rax, r15
mov ebx, dword [rax]
jmp 0x1401af329
sub r8b, 5
lea rcx, [r9 + 8]
cmp r8b, 1
setbe al
test al, al
cmove rcx, r15
mov ebx, dword [rcx]
jmp 0x1401af329
add rax, 8
cmp r8b, 4
cmovne rax, r15
movzx ebx, byte [rax]
call fcn.140140f70
mov rax, qword [rax + 0x38]
mov dword [rax + r13 + 0x90], ebx
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401af388
cmp ecx, 1
je 0x1401af35f
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401af3af
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401af383
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401af3af
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401af3ab
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
xor eax, eax
mov dword [rsp + 0x59], 0x5c607473
mov byte [rsp + 0x63], al
mov edx, r15d
mov dword [rsp + 0x5d], 0x7d697762
mov word [rsp + 0x61], 0x676d
nop
movsxd rax, edx
xor byte [rsp + rax + 0x59], dl
inc edx
cmp edx, 0xa
jb 0x1401af3d0
lea rdx, [rsp + 0x59]
mov byte [rsp + 0x63], 0
call fcn.1401c7720
mov r9, rax
movzx r8d, byte [rax]
mov edx, r8d
sub edx, 4
je 0x1401af44a
sub edx, 1
je 0x1401af431
sub edx, 1
je 0x1401af421
cmp edx, 1
jne 0x1401b0018
add rax, 8
cmp r8b, 7
cmovne rax, r15
cvttsd2si ebx, qword [rax]
jmp 0x1401af459
add rax, 8
cmp r8b, 6
cmovne rax, r15
mov ebx, dword [rax]
jmp 0x1401af459
sub r8b, 5
lea rcx, [r9 + 8]
cmp r8b, 1
setbe al
test al, al
cmove rcx, r15
mov ebx, dword [rcx]
jmp 0x1401af459
add rax, 8
cmp r8b, 4
cmovne rax, r15
movzx ebx, byte [rax]
call fcn.140140f70
mov rax, qword [rax + 0x38]
mov dword [rax + r13 + 0x94], ebx
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401af4b8
cmp ecx, 1
je 0x1401af48f
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401af4df
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401af4b3
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401af4df
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401af4db
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
xor eax, eax
mov dword [rsp + 0x29], 0x5c607473
mov byte [rsp + 0x31], al
mov edx, r15d
mov dword [rsp + 0x2d], 0x626b6c70
nop dword [rax + rax]
movsxd rax, edx
xor byte [rsp + rax + 0x29], dl
inc edx
cmp edx, 8
jb 0x1401af500
lea rdx, [rsp + 0x29]
mov byte [rsp + 0x31], 0
call fcn.1401c7720
mov r13d, 0xf
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x90], r13
cmp byte [rax], 3
jne 0x1401b0018
mov rdx, qword [rax + 8]
lea rax, [rbp + 0x78]
cmp rax, rdx
je 0x1401af563
lea rcx, [rbp + 0x78]
call fcn.1401c3be0
mov r13, qword [rbp + 0x90]
mov r15, qword [rbp + 0x78]
cmp r13, 0x10
lea rbx, [rbp + 0x78]
setae r12b
cmovae rbx, r15
call fcn.140140f70
mov rcx, qword [rbp + 0x1d8]
add rcx, 0x98
mov rax, qword [rax + 0x38]
add rcx, rax
nop dword [rax]
movzx eax, byte [rbx]
lea rbx, [rbx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1401af590
test r12b, r12b
je 0x1401af5d7
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1401af5cf
mov r15, qword [r15 - 8]
add rdx, 0x27
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401b000c
mov rcx, r15
call fcn.1403cad84
lea rdx, [rbp - 0x68]
movzx ecx, byte [rdx]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401af626
cmp ecx, 1
je 0x1401af5fe
test r14, r14
jne 0x1401b0018
mov rcx, rdx
jmp 0x1401af64c
mov rax, qword [rdx + 8]
cmp rsi, qword [rax + 8]
jne 0x1401af621
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401af64c
mov rax, qword [rdx + 8]
cmp rdi, qword [rax]
jne 0x1401af648
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
xor eax, eax
mov dword [rsp + 0x32], 0x5c607473
xor ebx, ebx
mov dword [rsp + 0x36], 0x68606b6d
mov edx, ebx
mov byte [rsp + 0x3a], al
nop word [rax + rax]
movsxd rax, edx
xor byte [rsp + rax + 0x32], dl
inc edx
cmp edx, 8
jb 0x1401af670
lea rdx, [rsp + 0x32]
mov byte [rsp + 0x3a], bl
call fcn.1401c7720
mov r13d, 0xf
mov qword [rbp + 0x98], rbx
mov r15, rbx
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], r13
cmp byte [rax], 3
jne 0x1401b0018
mov rdx, qword [rax + 8]
lea rax, [rbp + 0x98]
cmp rax, rdx
je 0x1401af6dd
lea rcx, [rbp + 0x98]
call fcn.1401c3be0
mov r13, qword [rbp + 0xb0]
mov r15, qword [rbp + 0x98]
cmp r13, 0x10
lea rbx, [rbp + 0x98]
setae r12b
cmovae rbx, r15
call fcn.140140f70
mov rcx, qword [rbp + 0x1d8]
add rcx, 0xfc
mov rax, qword [rax + 0x38]
add rcx, rax
nop word [rax + rax]
movzx eax, byte [rbx]
lea rbx, [rbx + 1]
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1401af710
test r12b, r12b
je 0x1401af757
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1401af74f
mov r15, qword [r15 - 8]
add rdx, 0x27
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401b000c
mov rcx, r15
call fcn.1403cad84
lea r12, [rbp - 0x68]
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401af7a9
cmp ecx, 1
je 0x1401af780
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401af7d0
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401af7a4
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401af7d0
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401af7cc
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
xor r15d, r15d
mov dword [rbp - 0x77], 0x6c6d7173
mov edx, r15d
mov dword [rbp - 0x73], 0x58746062
mov dword [rbp - 0x6f], 0x626b7f69
mov word [rbp - 0x6b], 0x60
movsxd rax, edx
xor byte [rbp + rax - 0x77], dl
inc edx
cmp edx, 0xd
jb 0x1401af7f1
lea rdx, [rbp - 0x77]
mov byte [rbp - 0x6a], r15b
call fcn.1401c7720
mov r9, rax
movzx r8d, byte [rax]
mov edx, r8d
sub edx, 4
je 0x1401af869
sub edx, 1
je 0x1401af850
sub edx, 1
je 0x1401af840
cmp edx, 1
jne 0x1401b0018
add rax, 8
cmp r8b, 7
cmovne rax, r15
cvttsd2si ebx, qword [rax]
jmp 0x1401af878
add rax, 8
cmp r8b, 6
cmovne rax, r15
mov ebx, dword [rax]
jmp 0x1401af878
sub r8b, 5
lea rcx, [r9 + 8]
cmp r8b, 1
setbe al
test al, al
cmove rcx, r15
mov ebx, dword [rcx]
jmp 0x1401af878
add rax, 8
cmp r8b, 4
cmovne rax, r15
movzx ebx, byte [rax]
call fcn.140140f70
mov r13, qword [rbp + 0x1d8]
mov rax, qword [rax + 0x38]
mov dword [rax + r13 + 0x4fc], ebx
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401af8de
cmp ecx, 1
je 0x1401af8b5
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401af905
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401af8d9
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401af905
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401af901
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
xor eax, eax
mov dword [rsp + 0x6f], 0x656c6e63
mov byte [rsp + 0x7b], al
mov edx, r15d
mov dword [rsp + 0x73], 0x6659626d
mov dword [rsp + 0x77], 0x6763687e
nop word [rax + rax]
movsxd rax, edx
xor byte [rsp + rax + 0x6f], dl
inc edx
cmp edx, 0xc
jb 0x1401af930
lea rdx, [rsp + 0x6f]
mov byte [rsp + 0x7b], r15b
call fcn.1401c7720
mov r9, rax
movzx r8d, byte [rax]
mov edx, r8d
sub edx, 4
je 0x1401af9aa
sub edx, 1
je 0x1401af991
sub edx, 1
je 0x1401af981
cmp edx, 1
jne 0x1401b0018
add rax, 8
cmp r8b, 7
cmovne rax, r15
cvttsd2si ebx, qword [rax]
jmp 0x1401af9b9
add rax, 8
cmp r8b, 6
cmovne rax, r15
mov ebx, dword [rax]
jmp 0x1401af9b9
sub r8b, 5
lea rcx, [r9 + 8]
cmp r8b, 1
setbe al
test al, al
cmove rcx, r15
mov ebx, dword [rcx]
jmp 0x1401af9b9
add rax, 8
cmp r8b, 4
cmovne rax, r15
movzx ebx, byte [rax]
call fcn.140140f70
test ebx, ebx
setne cl
mov rax, qword [rax + 0x38]
mov byte [rax + r13 + 0x50c], cl
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401afa1d
cmp ecx, 1
je 0x1401af9f4
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401afa44
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401afa18
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401afa44
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401afa40
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
xor eax, eax
mov dword [rsp + 0x7c], 0x70716473
mov byte [rbp - 0x78], al
mov edx, r15d
mov dword [rbp - 0x80], 0x58686a6d
mov dword [rbp - 0x7c], 0x6e67607c
movsxd rax, edx
xor byte [rsp + rax + 0x7c], dl
inc edx
cmp edx, 0xc
jb 0x1401afa62
lea rdx, [rsp + 0x7c]
mov byte [rbp - 0x78], r15b
call fcn.1401c7720
mov rcx, rax
call fcn.1401c7890
mov rbx, rax
call fcn.140140f70
mov rcx, qword [rax + 0x38]
mov qword [rcx + r13 + 0x500], rbx
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401afae8
cmp ecx, 1
je 0x1401afabf
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401afb0f
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401afae3
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401afb0f
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401afb0b
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
xor eax, eax
mov dword [rsp + 0x3b], 0x5c607473
mov byte [rsp + 0x43], al
mov edx, r15d
mov dword [rsp + 0x3f], 0x62767c70
nop dword [rax + rax]
movsxd rax, edx
xor byte [rsp + rax + 0x3b], dl
inc edx
cmp edx, 8
jb 0x1401afb30
lea rdx, [rsp + 0x3b]
mov byte [rsp + 0x43], r15b
call fcn.1401c7720
mov r9, rax
movzx r8d, byte [rax]
mov edx, r8d
sub edx, 4
je 0x1401afbaa
sub edx, 1
je 0x1401afb91
sub edx, 1
je 0x1401afb81
cmp edx, 1
jne 0x1401b0018
add rax, 8
cmp r8b, 7
cmovne rax, r15
cvttsd2si ebx, qword [rax]
jmp 0x1401afbb9
add rax, 8
cmp r8b, 6
cmovne rax, r15
mov ebx, dword [rax]
jmp 0x1401afbb9
sub r8b, 5
lea rcx, [r9 + 8]
cmp r8b, 1
setbe al
test al, al
cmove rcx, r15
mov ebx, dword [rcx]
jmp 0x1401afbb9
add rax, 8
cmp r8b, 4
cmovne rax, r15
movzx ebx, byte [rax]
call fcn.140140f70
mov rax, qword [rax + 0x38]
mov dword [rax + r13 + 0x508], ebx
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401afc18
cmp ecx, 1
je 0x1401afbef
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401afc3f
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401afc13
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401afc3f
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401afc3b
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
xor eax, eax
mov dword [rsp + 0x64], 0x70726464
mov byte [rsp + 0x6e], al
mov edx, r15d
mov dword [rsp + 0x68], 0x7269665b
mov word [rsp + 0x6c], 0x7d66
nop
movsxd rax, edx
xor byte [rsp + rax + 0x64], dl
inc edx
cmp edx, 0xa
jb 0x1401afc60
lea rdx, [rsp + 0x64]
mov byte [rsp + 0x6e], r15b
call fcn.1401c7720
mov r9, rax
movzx r8d, byte [rax]
mov edx, r8d
sub edx, 4
je 0x1401afcda
sub edx, 1
je 0x1401afcc1
sub edx, 1
je 0x1401afcb1
cmp edx, 1
jne 0x1401b0018
add rax, 8
cmp r8b, 7
cmovne rax, r15
cvttsd2si ebx, qword [rax]
jmp 0x1401afce9
add rax, 8
cmp r8b, 6
cmovne rax, r15
mov ebx, dword [rax]
jmp 0x1401afce9
sub r8b, 5
lea rcx, [r9 + 8]
cmp r8b, 1
setbe al
test al, al
cmove rcx, r15
mov ebx, dword [rcx]
jmp 0x1401afce9
add rax, 8
cmp r8b, 4
cmovne rax, r15
movzx ebx, byte [rax]
call fcn.140140f70
mov rax, qword [rax + 0x38]
mov dword [rax + r13 + 0x510], ebx
movzx ecx, byte [r12]
test ecx, ecx
je 0x1401b0018
sub ecx, 1
je 0x1401afd48
cmp ecx, 1
je 0x1401afd1f
test r14, r14
jne 0x1401b0018
mov rcx, r12
jmp 0x1401afd6f
mov rax, qword [r12 + 8]
cmp rsi, qword [rax + 8]
jne 0x1401afd43
mov r8d, 0x2559
lea rdx, [0x1404cc580]
lea rcx, [0x1404ccab0]
call fcn.1403df56c
mov rcx, rsi
jmp 0x1401afd6f
mov rax, qword [r12 + 8]
cmp rdi, qword [rax]
jne 0x1401afd6b
mov r8d, 0x2553
lea rdx, [0x1404cc580]
lea rcx, [0x1404cca10]
call fcn.1403df56c
lea rcx, [rdi + 0x40]
movdqa xmm0, xmmword [0x1404ceea0]
mov edx, r15d
movdqu xmmword [rbp + 0x68], xmm0
nop
movsxd rax, edx
xor byte [rbp + rax + 0x68], dl
inc edx
cmp edx, 0xf
jb 0x1401afd80
lea rdx, [rbp + 0x68]
mov byte [rbp + 0x77], r15b
call fcn.1401c7720
mov r9, rax
movzx r8d, byte [rax]
mov edx, r8d
sub edx, 4
je 0x1401afdf8
sub edx, 1
je 0x1401afddf
sub edx, 1
je 0x1401afdcf
cmp edx, 1
jne 0x1401b0018
add rax, 8
cmp r8b, 7
cmovne rax, r15
cvttsd2si ebx, qword [rax]
jmp 0x1401afe07
add rax, 8
cmp r8b, 6
cmovne rax, r15
mov ebx, dword [rax]
jmp 0x1401afe07
sub r8b, 5
lea rcx, [r9 + 8]
cmp r8b, 1
setbe al
test al, al
cmove rcx, r15
mov ebx, dword [rcx]
jmp 0x1401afe07
add rax, 8
cmp r8b, 4
cmovne rax, r15
movzx ebx, byte [rax]
call fcn.140140f70
test ebx, ebx
setne cl
mov rax, qword [rax + 0x38]
mov byte [rax + r13 + 0x514], cl
lea rcx, [rbp + 0x30]
call fcn.14019466c
movzx ecx, byte [r12]
sub ecx, 1
je 0x1401afe58
movabs r8, 0x8000000000000000
cmp ecx, 1
je 0x1401afe4b
inc r14
mov qword [rbp - 0x40], r14
jmp 0x1401aea60
add rsi, 0x10
mov qword [rbp - 0x48], rsi
jmp 0x1401aea60
mov rcx, qword [rdi + 0x10]
mov rax, rdi
cmp byte [rcx + 0x19], r15b
je 0x1401afe96
mov rdi, qword [rdi + 8]
cmp byte [rdi + 0x19], r15b
jne 0x1401afebf
nop
cmp rax, qword [rdi + 0x10]
jne 0x1401afebf
mov rax, rdi
mov rdi, qword [rdi + 8]
cmp byte [rdi + 0x19], r15b
je 0x1401afe70
mov qword [rbp - 0x50], rdi
movabs r8, 0x8000000000000000
jmp 0x1401aea60
mov rdi, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r15b
jne 0x1401afebf
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rcx]
mov rdi, rcx
mov rcx, rax
cmp byte [rax + 0x19], r15b
je 0x1401afeb0
mov qword [rbp - 0x50], rdi
movabs r8, 0x8000000000000000
jmp 0x1401aea60
movzx eax, byte [rbp - 0x68]
dec eax
cmp eax, 6
ja case.default.0x1401afef1
lea r14, [0x140000000]
cdqe
mov ecx, dword [r14 + rax*4 + 0x1b0020]
add rcx, r14
jmp rcx
xor esi, esi
mov qword [rbp - 0x60], rsi
jmp 0x1401aff3a
movsd qword [rbp - 0x60], xmm6
jmp case.default.0x1401afef1
mov byte [rbp - 0x60], 0
jmp case.default.0x1401afef1
mov rax, qword [rbp - 0x60]
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1401aff19
mov rcx, qword [rax]
xor esi, esi
mov qword [rax + 0x10], rsi
mov byte [rcx], sil
jmp 0x1401aff3a
mov rcx, qword [rbp - 0x60]
call fcn.1401c2d70
jmp case.default.0x1401afef1
mov rcx, qword [rbp - 0x60]
call fcn.1401c3250
xor esi, esi
lea rcx, [rbp - 0x68]
call fcn.1401c3b10
movzx edx, byte [rbp - 0x68]
lea rcx, [rbp - 0x60]
call fcn.1401c2dd0
mov rbx, qword [rbp + 0x1c0]
mov r15, qword [rbp - 0x18]
mov edi, dword [rbp + 0x1c8]
inc r15
mov qword [rbp - 0x18], r15
call fcn.140140f70
mov rcx, qword [rax + 0x40]
sub rcx, qword [rax + 0x38]
movabs rax, 0x6483ed274388a357
imul rcx
sar rdx, 9
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r15, rdx
jb 0x1401ae907
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1401affcf
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x1401affca
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1401b0000
mov rcx, r8
call fcn.1403cad84
mov qword [rbx + 0x10], rsi
movaps xmm6, xmmword [rsp + 0x260]
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
add rsp, 0x278
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1403e0e10
int3
call fcn.1403d7020
int3
call fcn.1403d7020
int3
call fcn.1403d7020
int3
call fcn.1403e0e10
int3
call fcn.1403e0e10
int3