Function at 0x140015234
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1f8]
sub rsp, 0x2d0
mov rax, qword [0x14006f998]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
xorps xmm0, xmm0
lea rdx, [0x14006f2d0]
xor esi, esi
lea rcx, [rbp - 0x60]
mov ebx, esi
mov dword [rsp + 0x60], ebx
movdqu xmmword [rbp - 0x50], xmm0
call fcn.14000c9e8
lea rcx, [rbp - 0x60]
call fcn.14001e048
lea r12d, [rsi + 1]
lea r14d, [rsi + 3]
lea r13, [0x1400711c0]
test al, al
je 0x1400152c8
mov edx, r14d
lea rcx, [rbp - 0x80]
mov ebx, r12d
call fcn.1400219f0
mov rcx, rax
mov rdx, r13
call fcn.1400033bc
mov dil, r12b
test al, al
jne 0x1400152cb
mov dil, sil
test r12b, bl
je 0x1400152e6
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400152e6
mov rcx, qword [rbp - 0x80]
inc rdx
call fcn.1400038b4
test dil, dil
je 0x1400152f7
mov byte [0x140070a11], r12b
jmp 0x1400167df
xorps xmm0, xmm0
lea rcx, [rbp - 0x60]
mov rdx, r13
movdqu xmmword [rbp - 0x50], xmm0
call fcn.14000c9e8
lea rdx, [rbp - 0x60]
mov ecx, r14d
call fcn.140023f6c
lea rcx, [rbp + 0x1a0]
call fcn.140018db8
lea rdx, [0x140070f48]
lea rcx, [rbp + 0x1a0]
call fcn.1400033bc
lea rcx, [rbp - 0x60]
xorps xmm0, xmm0
mov r15d, 0x1000
movdqu xmmword [rbp - 0x50], xmm0
test al, al
je 0x140015398
mov rdx, r13
call fcn.14000c9e8
mov ebx, 4
lea rdx, [rbp - 0x60]
mov ecx, ebx
call fcn.140023f6c
movdqa xmm0, xmmword [0x1400591f0]
lea rdx, [0x1400589df]
lea rcx, [rbp - 0x80]
mov byte [rbp - 0x80], sil
movdqu xmmword [rbp - 0x70], xmm0
call fcn.14000e208
lea r8, [rbp - 0x80]
mov edx, ebx
lea ecx, [rbx + 0x60]
call fcn.14001f228
jmp 0x1400167a6
lea rdx, [0x140070b58]
call fcn.14000c9e8
xorps xmm0, xmm0
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp - 0x80]
movdqu xmmword [rbp - 0x70], xmm0
call fcn.14000c9e8
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x68]
call fcn.140025bf0
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
sub rax, rbx
and rax, 0xffffffffffffffe0
cmp rax, 0x120
jne 0x14001677b
movdqa xmm0, xmmword [0x1400591f0]
lea r13, [0x1400589df]
mov rdx, r13
mov byte [rbp - 0x80], sil
lea rcx, [rbp - 0x80]
movdqu xmmword [rbp - 0x70], xmm0
call fcn.14000e208
mov edx, 5
lea r8, [rbp - 0x80]
lea ecx, [rdx + 0x5f]
call fcn.14001f228
mov rdx, rbx
mov qword [rbp + 0xf0], rsi
lea rcx, [rbp + 0xe0]
mov qword [rbp + 0xf8], rsi
call fcn.14000c9e8
lea rdx, [rbx + 0x100]
mov qword [rbp + 0xd0], rsi
lea rcx, [rbp + 0xc0]
mov qword [rbp + 0xd8], rsi
call fcn.14000c9e8
lea rdx, [rbx + 0x20]
mov qword [rbp + 0xb0], rsi
lea rcx, [rbp + 0xa0]
mov qword [rbp + 0xb8], rsi
call fcn.14000c9e8
lea rdx, [rbx + 0xe0]
mov qword [rbp + 0x190], rsi
lea rcx, [rbp + 0x180]
mov qword [rbp + 0x198], rsi
call fcn.14000c9e8
lea rdx, [rbx + 0x40]
lea rcx, [0x14006f3f0]
call fcn.1400060b4
lea rdx, [rbx + 0x60]
mov qword [rbp + 0x150], rsi
lea rcx, [rbp + 0x140]
mov qword [rbp + 0x158], rsi
call fcn.14000c9e8
lea rdx, [rbx + 0x80]
mov qword [rbp + 0x130], rsi
lea rcx, [rbp + 0x120]
mov qword [rbp + 0x138], rsi
call fcn.14000c9e8
lea rdx, [rbx + 0xa0]
mov qword [rbp + 0x110], rsi
lea rcx, [rbp + 0x100]
mov qword [rbp + 0x118], rsi
call fcn.14000c9e8
lea rdx, [rbx + 0xc0]
mov qword [rbp + 0x90], rsi
lea rcx, [rbp + 0x80]
mov qword [rbp + 0x98], rsi
call fcn.14000c9e8
mov rdx, r13
lea rcx, [0x14006f3f0]
call fcn.140003404
xor ebx, ebx
test al, al
jne 0x140015569
mov qword [rsp + 0x28], rbx
lea r8, [0x14002667c]
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [0x140070f48]
lea rcx, [rbp + 0x80]
call fcn.1400033bc
test al, al
jne 0x1400156d8
xorps xmm0, xmm0
lea rdx, [0x14006f1f0]
lea rcx, [rbp - 0x60]
movdqu xmmword [rbp - 0x50], xmm0
call fcn.14000c9e8
xorps xmm0, xmm0
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x80]
movdqu xmmword [rbp - 0x70], xmm0
call fcn.14000c9e8
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.140025bf0
mov rax, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
sub rax, rdi
and rax, 0xffffffffffffffe0
cmp rax, 0x40
jne 0x1400156ad
mov rdx, rdi
lea rcx, [0x14006f430]
call fcn.1400060b4
lea rdx, [rdi + 0x20]
mov qword [rbp - 0x10], rbx
lea rcx, [rbp - 0x20]
mov qword [rbp - 8], rbx
call fcn.14000c9e8
lea rcx, [rbp - 0x20]
call fcn.14001e3f4
test al, al
je 0x14001565c
call fcn.140036630
cmp qword [rbp - 8], 0x10
lea rbx, [rbp - 0x20]
mov r8d, 0xa
lea rdx, [rsp + 0x60]
cmovae rbx, qword [rbp - 0x20]
mov rsi, rax
and dword [rax], 0
mov rcx, rbx
call fcn.140037a24
cmp rbx, qword [rsp + 0x60]
je 0x140016821
cmp dword [rsi], 0x22
je 0x14001682e
mov dword [0x14006f00c], eax
xor ebx, ebx
jmp 0x140015662
mov eax, dword [0x14006f00c]
mov ecx, r12d
cmp eax, r12d
jne 0x140015671
call fcn.140014b30
jmp 0x140015676
call fcn.14001dc44
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x1400156ad
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x1400156a8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001683b
call fcn.14002fcfc
test rdi, rdi
je 0x1400156d8
mov rdx, qword [rsp + 0x38]
lea r8, [rsp + 0x30]
mov rcx, rdi
call fcn.1400038e8
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
sub rdx, rdi
and rdx, 0xffffffffffffffe0
call fcn.1400038b4
mov rdx, r13
lea rcx, [rbp + 0xe0]
call fcn.140003404
test al, al
jne 0x140015c89
movdqa xmm0, xmmword [0x1400591f0]
lea rdx, [0x140058cb0]
lea rcx, [rbp - 0x80]
mov byte [rbp - 0x80], bl
movdqu xmmword [rbp - 0x70], xmm0
call fcn.14000e208
xorps xmm0, xmm0
lea rdx, [rbp + 0xe0]
lea rcx, [rbp - 0x60]
movdqu xmmword [rbp - 0x50], xmm0
call fcn.14000c9e8
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call fcn.140025bf0
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov r14, r15
cmp r15, r12
je 0x140015c5a
mov rdx, r14
mov qword [rbp + 0x30], rbx
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x38], rbx
call fcn.14000c9e8
lea rdx, [0x140058aac]
mov qword [rbp - 0x70], rbx
lea rcx, [rbp - 0x80]
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], bl
call fcn.14000e208
lea rdx, [rbp + 0x20]
mov qword [rbp + 0x10], rbx
lea rcx, [rbp]
mov qword [rbp + 0x18], rbx
call fcn.14000c9e8
lea r8, [rbp - 0x80]
lea rdx, [rbp]
lea rcx, [rsp + 0x30]
call fcn.140025bf0
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov rax, rsi
sub rax, rdi
and rax, 0xffffffffffffffe0
cmp rax, 0x60
je 0x14001582f
test rdi, rdi
je 0x1400157ec
lea r8, [rsp + 0x30]
mov rdx, rsi
mov rcx, rdi
call fcn.1400038e8
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
sub rdx, rdi
and rdx, 0xffffffffffffffe0
call fcn.1400038b4
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x140015c4e
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015c49
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016815
jmp 0x140015c49
mov rdx, rdi
mov qword [rbp - 0x10], rbx
lea rcx, [rbp - 0x20]
mov qword [rbp - 8], rbx
call fcn.14000c9e8
lea rdx, [rdi + 0x20]
mov qword [rbp + 0x70], rbx
lea rcx, [rbp + 0x60]
mov qword [rbp + 0x78], rbx
call fcn.14000c9e8
lea rdx, [rdi + 0x40]
mov qword [rbp + 0x50], rbx
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x58], rbx
call fcn.14000c9e8
mov rdx, r13
mov qword [rbp - 0x30], rbx
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], bl
call fcn.14000e208
lea r8, [0x140058aac]
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.1400035f0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400158a9
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.14000e108
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x1400158cc
mov rcx, qword [rbp - 0x60]
inc rdx
call fcn.1400038b4
lea r8, [0x140058aac]
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.1400035f0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400158ed
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.14000e108
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140015910
mov rcx, qword [rbp - 0x60]
inc rdx
call fcn.1400038b4
mov edx, 6
lea rcx, [rbp - 0x80]
call fcn.140003f68
lea r8, [0x140058aac]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1400034b8
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14001593f
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.14000e108
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x140015962
mov rcx, qword [rbp]
inc rdx
call fcn.1400038b4
mov rdx, qword [rbp - 0x68]
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], 0xf
mov byte [rbp], bl
cmp rdx, 0x10
jb 0x140015987
mov rcx, qword [rbp - 0x80]
inc rdx
call fcn.1400038b4
mov edx, 1
lea rcx, [rbp - 0x80]
call fcn.140003f68
lea r8, [0x140058aac]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1400034b8
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400159b6
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.14000e108
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x1400159d9
mov rcx, qword [rbp]
inc rdx
call fcn.1400038b4
mov rdx, qword [rbp - 0x68]
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], 0xf
mov byte [rbp], bl
cmp rdx, 0x10
jb 0x1400159fe
mov rcx, qword [rbp - 0x80]
inc rdx
call fcn.1400038b4
lea rcx, [0x140058aac]
call fcn.140036c70
mov r8, rax
lea rdx, [0x140058aac]
lea rcx, [rbp - 0x40]
call fcn.14000e108
lea r8, [0x140058aac]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x60]
call fcn.1400035f0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140015a3e
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.14000e108
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140015a61
mov rcx, qword [rbp - 0x60]
inc rdx
call fcn.1400038b4
cmp qword [rbp + 0x58], 0x10
lea rdx, [rbp + 0x40]
mov r8, qword [rbp + 0x50]
lea rcx, [rbp - 0x40]
cmovae rdx, qword [rbp + 0x40]
call fcn.14000e108
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x70], rbx
lea rcx, [rbp - 0x80]
mov qword [rbp - 0x68], rbx
call fcn.14000c9e8
lea rcx, [rbp - 0x80]
call fcn.1400111b8
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x140015ad5
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015ad0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016815
call fcn.14002fcfc
mov rdx, qword [rbp + 0x58]
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], bl
cmp rdx, 0x10
jb 0x140015b1f
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015b1a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016815
call fcn.14002fcfc
mov rdx, qword [rbp + 0x78]
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], bl
cmp rdx, 0x10
jb 0x140015b69
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015b64
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016815
call fcn.14002fcfc
mov rdx, qword [rbp - 8]
mov qword [rbp + 0x70], rbx
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], bl
cmp rdx, 0x10
jb 0x140015bb3
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015bae
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016815
call fcn.14002fcfc
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], bl
test rdi, rdi
je 0x140015c13
mov rbx, rdi
cmp rdi, rsi
je 0x140015bfd
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140015be4
mov rcx, qword [rbx]
inc rdx
call fcn.1400038b4
and qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
add rbx, 0x20
cmp rbx, rsi
jne 0x140015bcf
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
sub rdx, rdi
and rdx, 0xffffffffffffffe0
call fcn.1400038b4
xor ebx, ebx
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x140015c4e
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015c49
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016841
call fcn.14002fcfc
add r14, 0x20
cmp r14, r12
jmp 0x140015749
test r15, r15
je 0x140015c83
lea r8, [rsp + 0x48]
mov rdx, r12
mov rcx, r15
call fcn.1400038e8
mov rdx, qword [rsp + 0x58]
mov rcx, r15
sub rdx, r15
and rdx, 0xffffffffffffffe0
call fcn.1400038b4
mov r15d, 0x1000
mov rdx, r13
lea rcx, [rbp + 0xc0]
call fcn.140003404
test al, al
jne 0x140015dec
movdqa xmm0, xmmword [0x1400591f0]
lea rdx, [0x140058cb0]
lea rcx, [rbp - 0x80]
mov byte [rbp - 0x80], bl
movdqu xmmword [rbp - 0x70], xmm0
call fcn.14000e208
xorps xmm0, xmm0
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x60]
movdqu xmmword [rbp - 0x50], xmm0
call fcn.14000c9e8
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call fcn.140025bf0
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rbx, rdi
cmp rdi, rsi
je 0x140015dc1
xor r14d, r14d
mov rdx, rbx
mov qword [rbp + 0x30], r14
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x38], r14
call fcn.14000c9e8
lea rdx, [rbp + 0x20]
mov qword [rbp - 0x70], r14
lea rcx, [rbp - 0x80]
mov qword [rbp - 0x68], r14
call fcn.14000c9e8
lea rcx, [rbp - 0x80]
call fcn.1400141e8
lea rdx, [rbp + 0x20]
test eax, eax
jne 0x140015d59
lea rcx, [rbp]
mov qword [rbp + 0x10], r14
mov qword [rbp + 0x18], r14
call fcn.14000c9e8
lea r8, [rbp]
mov edx, 0x2904
jmp 0x140015d73
lea rcx, [rbp - 0x80]
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r14
call fcn.14000c9e8
lea r8, [rbp - 0x80]
mov edx, 0x2905
mov ecx, 0x64
call fcn.14001f228
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x140015db4
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x140015daf
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016847
call fcn.14002fcfc
add rbx, 0x20
cmp rbx, rsi
jne 0x140015d03
xor ebx, ebx
test rdi, rdi
je 0x140015dec
lea r8, [rsp + 0x48]
mov rdx, rsi
mov rcx, rdi
call fcn.1400038e8
mov rdx, qword [rsp + 0x58]
mov rcx, rdi
sub rdx, rdi
and rdx, 0xffffffffffffffe0
call fcn.1400038b4
mov rdx, r13
lea rcx, [rbp + 0xa0]
call fcn.140003404
test al, al
jne 0x14001646f
movdqa xmm0, xmmword [0x1400591f0]
lea rdx, [0x140058cb0]
lea rcx, [rbp - 0x80]
mov byte [rbp - 0x80], bl
movdqu xmmword [rbp - 0x70], xmm0
call fcn.14000e208
xorps xmm0, xmm0
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x60]
movdqu xmmword [rbp - 0x50], xmm0
call fcn.14000c9e8
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call fcn.140025bf0
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov r15, r14
cmp r14, r12
je 0x140016446
mov rdx, r15
mov qword [rbp + 0x170], rbx
lea rcx, [rbp + 0x160]
mov qword [rbp + 0x178], rbx
call fcn.14000c9e8
lea rdx, [0x140058aac]
mov qword [rbp - 0x70], rbx
lea rcx, [rbp - 0x80]
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], bl
call fcn.14000e208
lea rdx, [rbp + 0x160]
mov qword [rbp - 0x50], rbx
lea rcx, [rbp - 0x60]
mov qword [rbp - 0x48], rbx
call fcn.14000c9e8
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140025bf0
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
mov rax, rsi
sub rax, rdi
and rax, 0xffffffffffffffe0
cmp rax, 0x80
je 0x140015f57
test rdi, rdi
je 0x140015f0e
lea r8, [rsp + 0x30]
mov rdx, rsi
mov rcx, rdi
call fcn.1400038e8
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
sub rdx, rdi
and rdx, 0xffffffffffffffe0
call fcn.1400038b4
mov rdx, qword [rbp + 0x178]
cmp rdx, 0x10
jb 0x14001643a
mov rcx, qword [rbp + 0x160]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016435
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001681b
jmp 0x140016435
mov rdx, rdi
mov qword [rbp - 0x10], rbx
lea rcx, [rbp - 0x20]
mov qword [rbp - 8], rbx
call fcn.14000c9e8
lea rdx, [rdi + 0x20]
mov qword [rbp + 0x30], rbx
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x38], rbx
call fcn.14000c9e8
lea rdx, [rdi + 0x40]
mov qword [rbp + 0x70], rbx
lea rcx, [rbp + 0x60]
mov qword [rbp + 0x78], rbx
call fcn.14000c9e8
lea rdx, [rdi + 0x60]
mov qword [rbp + 0x50], rbx
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x58], rbx
call fcn.14000c9e8
mov rdx, r13
mov qword [rbp - 0x30], rbx
lea rcx, [rbp - 0x40]
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], bl
call fcn.14000e208
lea r8, [0x140058aac]
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.1400035f0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140015fe6
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.14000e108
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x140016009
mov rcx, qword [rbp - 0x60]
inc rdx
call fcn.1400038b4
lea r8, [0x140058aac]
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.1400035f0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14001602a
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.14000e108
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x14001604d
mov rcx, qword [rbp - 0x60]
inc rdx
call fcn.1400038b4
mov edx, 6
lea rcx, [rbp - 0x60]
call fcn.140003f68
lea r8, [0x140058aac]
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.1400034b8
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14001607c
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.14000e108
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x14001609f
mov rcx, qword [rbp - 0x80]
inc rdx
call fcn.1400038b4
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], bl
cmp rdx, 0x10
jb 0x1400160c4
mov rcx, qword [rbp - 0x60]
inc rdx
call fcn.1400038b4
mov edx, 1
lea rcx, [rbp - 0x60]
call fcn.140003f68
lea r8, [0x140058aac]
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.1400034b8
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400160f3
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.14000e108
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x140016116
mov rcx, qword [rbp - 0x80]
inc rdx
call fcn.1400038b4
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], bl
cmp rdx, 0x10
jb 0x14001613b
mov rcx, qword [rbp - 0x60]
inc rdx
call fcn.1400038b4
lea rcx, [0x140058aac]
call fcn.140036c70
mov r8, rax
lea rdx, [0x140058aac]
lea rcx, [rbp - 0x40]
call fcn.14000e108
lea r8, [0x140058aac]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x60]
call fcn.1400035f0
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x14001617b
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp - 0x40]
call fcn.14000e108
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x14001619e
mov rcx, qword [rbp - 0x60]
inc rdx
call fcn.1400038b4
cmp qword [rbp + 0x58], 0x10
lea rdx, [rbp + 0x40]
mov r8, qword [rbp + 0x50]
lea rcx, [rbp - 0x40]
cmovae rdx, qword [rbp + 0x40]
call fcn.14000e108
lea r8, [0x140070e10]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x60]
call fcn.14000358c
mov rdx, rax
lea r8, [rbp + 0x20]
lea rcx, [rbp]
call fcn.140003450
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x1400161f3
mov rcx, qword [rbp - 0x60]
inc rdx
call fcn.1400038b4
lea rdx, [rbp]
mov qword [rbp - 0x50], rbx
lea rcx, [rbp - 0x60]
mov qword [rbp - 0x48], rbx
call fcn.14000c9e8
lea rcx, [rbp - 0x60]
call fcn.140011318
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x140016227
mov rcx, qword [rbp]
inc rdx
call fcn.1400038b4
mov rdx, qword [rbp - 0x28]
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], 0xf
mov byte [rbp], bl
cmp rdx, 0x10
jb 0x140016271
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001626c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001681b
call fcn.14002fcfc
mov rdx, qword [rbp + 0x58]
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], bl
cmp rdx, 0x10
jb 0x1400162bb
mov rcx, qword [rbp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400162b6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001681b
call fcn.14002fcfc
mov rdx, qword [rbp + 0x78]
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], bl
cmp rdx, 0x10
jb 0x140016305
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016300
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001681b
call fcn.14002fcfc
mov rdx, qword [rbp + 0x38]
mov qword [rbp + 0x70], rbx
mov qword [rbp + 0x78], 0xf
mov byte [rbp + 0x60], bl
cmp rdx, 0x10
jb 0x14001634f
mov rcx, qword [rbp + 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001634a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001681b
call fcn.14002fcfc
mov rdx, qword [rbp - 8]
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], bl
cmp rdx, 0x10
jb 0x140016399
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016394
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001681b
call fcn.14002fcfc
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], bl
test rdi, rdi
je 0x1400163f9
mov rbx, rdi
cmp rdi, rsi
je 0x1400163e3
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400163ca
mov rcx, qword [rbx]
inc rdx
call fcn.1400038b4
and qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
add rbx, 0x20
cmp rbx, rsi
jne 0x1400163b5
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
sub rdx, rdi
and rdx, 0xffffffffffffffe0
call fcn.1400038b4
xor ebx, ebx
mov rdx, qword [rbp + 0x178]
cmp rdx, 0x10
jb 0x14001643a
mov rcx, qword [rbp + 0x160]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016435
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001684d
call fcn.14002fcfc
add r15, 0x20
cmp r15, r12
jmp 0x140015e5d
test r14, r14
je 0x14001646f
lea r8, [rsp + 0x48]
mov rdx, r12
mov rcx, r14
call fcn.1400038e8
mov rdx, qword [rsp + 0x58]
mov rcx, r14
sub rdx, r14
and rdx, 0xffffffffffffffe0
call fcn.1400038b4
mov rdx, r13
lea rcx, [rbp + 0x140]
call fcn.140003404
test al, al
jne 0x140016487
call fcn.140020abc
lea rdx, [0x1400711c0]
lea rcx, [rbp + 0x120]
call fcn.1400033bc
test al, al
je 0x1400164a3
call fcn.1400221d0
lea rdx, [0x1400711c0]
lea rcx, [rbp + 0x100]
call fcn.1400033bc
movdqa xmm0, xmmword [0x1400591f0]
lea rcx, [rbp - 0x60]
mov rdx, r13
mov byte [rbp - 0x60], bl
movdqu xmmword [rbp - 0x50], xmm0
call fcn.14000e208
mov edx, 6
lea r8, [rbp - 0x60]
lea ecx, [rdx + 0x5e]
call fcn.14001f228
mov rdx, qword [rbp + 0x98]
mov r15d, 0x1000
cmp rdx, 0x10
jb 0x140016526
mov rcx, qword [rbp + 0x80]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x140016521
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001680f
call fcn.14002fcfc
mov rdx, qword [rbp + 0x118]
mov edi, 0xf
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], rdi
mov byte [rbp + 0x80], bl
cmp rdx, 0x10
jb 0x14001657c
mov rcx, qword [rbp + 0x100]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x140016577
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001680f
call fcn.14002fcfc
mov rdx, qword [rbp + 0x138]
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], rdi
mov byte [rbp + 0x100], bl
cmp rdx, 0x10
jb 0x1400165cd
mov rcx, qword [rbp + 0x120]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x1400165c8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001680f
call fcn.14002fcfc
mov rdx, qword [rbp + 0x158]
mov qword [rbp + 0x130], rbx
mov qword [rbp + 0x138], rdi
mov byte [rbp + 0x120], bl
cmp rdx, 0x10
jb 0x14001661e
mov rcx, qword [rbp + 0x140]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x140016619
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001680f
call fcn.14002fcfc
mov rdx, qword [rbp + 0x198]
mov qword [rbp + 0x150], rbx
mov qword [rbp + 0x158], rdi
mov byte [rbp + 0x140], bl
cmp rdx, 0x10
jb 0x14001666f
mov rcx, qword [rbp + 0x180]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x14001666a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001680f
call fcn.14002fcfc
mov rdx, qword [rbp + 0xb8]
mov qword [rbp + 0x190], rbx
mov qword [rbp + 0x198], rdi
mov byte [rbp + 0x180], bl
cmp rdx, 0x10
jb 0x1400166c0
mov rcx, qword [rbp + 0xa0]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x1400166bb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001680f
call fcn.14002fcfc
mov rdx, qword [rbp + 0xd8]
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], rdi
mov byte [rbp + 0xa0], bl
cmp rdx, 0x10
jb 0x140016711
mov rcx, qword [rbp + 0xc0]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x14001670c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001680f
call fcn.14002fcfc
mov rdx, qword [rbp + 0xf8]
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xd8], rdi
mov byte [rbp + 0xc0], bl
cmp rdx, 0x10
jb 0x140016762
mov rcx, qword [rbp + 0xe0]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x14001675d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001680f
call fcn.14002fcfc
mov qword [rbp + 0xf0], rbx
mov byte [rbp + 0xe0], bl
mov rbx, qword [rsp + 0x68]
mov qword [rbp + 0xf8], rdi
test rbx, rbx
je 0x1400167a6
mov rdx, qword [rsp + 0x70]
lea r8, [rsp + 0x68]
mov rcx, rbx
call fcn.1400038e8
mov rdx, qword [rsp + 0x78]
mov rcx, rbx
sub rdx, rbx
and rdx, 0xffffffffffffffe0
call fcn.1400038b4
mov rdx, qword [rbp + 0x1b8]
cmp rdx, 0x10
jb 0x1400167df
mov rcx, qword [rbp + 0x1a0]
inc rdx
mov rax, rcx
cmp rdx, r15
jb 0x1400167da
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001680f
call fcn.14002fcfc
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.140030560
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400360bc
int3
call fcn.1400360bc
int3
call fcn.1400360bc
int3
lea rcx, str.invalid_stoi_argument
call fcn.14002e88c
int3
lea rcx, str.stoi_argument_out_of_range
call fcn.14002e8d4
int3
call fcn.1400360bc
int3
call fcn.1400360bc
int3
call fcn.1400360bc
int3
call fcn.1400360bc
int3