Function at 0x1400974d0
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x838
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x7a0], xmm9
movaps xmmword [rbp + 0x790], xmm8
movdqa xmmword [rbp + 0x780], xmm7
movdqa xmmword [rbp + 0x770], xmm6
and rsp, 0xffffffffffffff80
mov qword [rsp + 0x478], r8
mov r8, rdx
mov rdx, rcx
mov rax, qword [r8 + 0x10]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x108], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], 8
movdqu xmmword [rsp + 0x128], xmm0
mov qword [rsp + 0x138], 0
lea rcx, [rsp + 0x200]
mov qword [rsp + 0xb0], rdx
call fcn.14009b820
mov rdi, qword [rsp + 0x200]
mov rax, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x210]
imul r13, rcx, 0x98
add r13, rdi
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rdi
mov qword [rsp + 0x158], r13
test rcx, rcx
je 0x140097d75
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax + 0xdf]
mov byte [rsp + 0xc0], al
add rdi, 0x98
xor esi, esi
mov qword [rsp + 0x100], r13
jmp 0x140097657
mov rbx, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x138]
lea rcx, [rbx + rbx*4]
shl rcx, 5
add rcx, qword [rsp + 0x108]
mov r8d, 0xa0
lea rdx, [rsp + 0x200]
call sub.msvcrt.dll_memcpy
inc rbx
mov qword [rsp + 0x118], rbx
inc rsi
mov qword [rsp + 0x138], rsi
add rdi, 0x98
mov rax, qword [rsp + 0x98]
add rax, 0x98
cmp rax, r13
je 0x140097d6a
mov rax, qword [rdi - 0x98]
cmp rax, 3
je 0x140097d6d
lea rcx, [rdi - 0x98]
mov qword [rsp + 0x5e0], rax
mov qword [rsp + 0x98], rcx
lea rdx, [rcx + 8]
mov r8d, 0x90
lea rcx, [rsp + 0x5e8]
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0x650]
movaps xmmword [rsp + 0x1f0], xmm0
movups xmm0, xmmword [rsp + 0x640]
movaps xmmword [rsp + 0x1e0], xmm0
movups xmm0, xmmword [rsp + 0x630]
movaps xmmword [rsp + 0x1d0], xmm0
movups xmm0, xmmword [rsp + 0x620]
movaps xmmword [rsp + 0x1c0], xmm0
movdqu xmm0, xmmword [rsp + 0x5e0]
movdqu xmm1, xmmword [rsp + 0x5f0]
movdqu xmm2, xmmword [rsp + 0x600]
movdqu xmm3, xmmword [rsp + 0x610]
movdqa xmmword [rsp + 0x1b0], xmm3
movdqa xmmword [rsp + 0x1a0], xmm2
mov r14, qword [rsp + 0x660]
lea ecx, [r14*8]
movabs r15, 0x100000100
shr r15, cl
movdqa xmmword [rsp + 0x190], xmm1
movdqa xmmword [rsp + 0x180], xmm0
movzx eax, byte [rsp + 0x198]
test rax, rax
je 0x1400977a0
cmp eax, 1
jne 0x140097800
mov r12, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x1b0]
lea rcx, [rsp + 0x480]
mov rdx, r12
call fcn.140006a60
mov rax, qword [rsp + 0x490]
lea rcx, [rsp + 0x206]
mov qword [rcx + 0x10], rax
movdqu xmm0, xmmword [rsp + 0x480]
movdqu xmmword [rcx], xmm0
jmp 0x1400978b5
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x1a8]
mov qword [rsp + 0x488], rax
mov qword [rsp + 0x490], rcx
mov qword [rsp + 0x480], 0
lea rdx, [rsp + 0x206]
mov qword [rdx + 0x10], rcx
mov rax, qword [rsp + 0x480]
mov qword [rdx], rax
mov rax, qword [rsp + 0x488]
mov qword [rdx + 8], rax
jmp 0x1400978cd
mov r12, qword [rsp + 0x1a0]
test r12, r12
je 0x140097841
mov rbx, qword [rsp + 0x1b0]
or rbx, rbx
je 0x140097856
js 0x14009afaa
movzx eax, byte [0x1401262b8]
mov edx, 1
push rbx
nop
pop rcx
call fcn.140005be0
mov r13, rax
test rax, rax
jne 0x14009785c
jmp 0x14009af90
mov rbx, qword [rsp + 0x1a8]
mov rax, qword [rsp + 0x1b0]
xor r13d, r13d
jmp 0x14009786d
mov r13d, 1
mov rcx, r13
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
nop
push rbx
pop rax
mov qword [rsp + 0x488], rbx
mov qword [rsp + 0x490], rax
mov qword [rsp + 0x480], r13
lea rcx, [rsp + 0x206]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x480]
mov qword [rcx], rax
mov rax, qword [rsp + 0x488]
mov qword [rcx + 8], rax
test r12, r12
mov r13, qword [rsp + 0x100]
je 0x1400978cd
cmp qword [rsp + 0x1a8], 0
je 0x1400978cd
mov edx, 1
mov rcx, r12
call fcn.140005c70
mov byte [rsp + 0x198], 2
mov byte [rsp + 0x199], r15b
movups xmm0, xmmword [rsp + 0x200]
movups xmm1, xmmword [rsp + 0x20e]
lea rax, [rsp + 0x19a]
movups xmmword [rax + 0xe], xmm1
movups xmmword [rax], xmm0
cmp r14d, 1
je 0x1400979f0
cmp r14d, 4
jne 0x140097b00
mov rcx, qword [rsp + 0x668]
mov rax, qword [rsp + 0x670]
cmp byte [rsp + 0xc0], 0
je 0x140097bf4
movaps xmm0, xmmword [rsp + 0x1f0]
lea rdx, [rsp + 0x206]
movups xmmword [rdx + 0x72], xmm0
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rdx + 0x62], xmm0
movaps xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rdx + 0x52], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rdx + 0x42], xmm0
movdqa xmm0, xmmword [rsp + 0x180]
movdqa xmm1, xmmword [rsp + 0x190]
movdqa xmm2, xmmword [rsp + 0x1a0]
movdqa xmm3, xmmword [rsp + 0x1b0]
movdqu xmmword [rdx + 0x32], xmm3
movdqu xmmword [rdx + 0x22], xmm2
movdqu xmmword [rdx + 0x12], xmm1
movdqu xmmword [rdx + 2], xmm0
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x288], 4
mov qword [rsp + 0x290], rcx
mov qword [rsp + 0x298], rax
mov rbx, qword [rsp + 0x130]
cmp rbx, qword [rsp + 0x128]
jne 0x140097ac4
lea rcx, [rsp + 0x120]
push rbx
pop rdx
nop
call fcn.140076e80
jmp 0x140097ab4
mov rax, qword [rsp + 0x668]
cmp byte [rsp + 0xc0], 0
je 0x140097cb3
movaps xmm0, xmmword [rsp + 0x1f0]
lea rcx, [rsp + 0x206]
movups xmmword [rcx + 0x72], xmm0
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rcx + 0x62], xmm0
movaps xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rcx + 0x52], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rcx + 0x42], xmm0
movdqa xmm0, xmmword [rsp + 0x180]
movdqa xmm1, xmmword [rsp + 0x190]
movdqa xmm2, xmmword [rsp + 0x1a0]
movdqa xmm3, xmmword [rsp + 0x1b0]
movdqu xmmword [rcx + 0x32], xmm3
movdqu xmmword [rcx + 0x22], xmm2
movdqu xmmword [rcx + 0x12], xmm1
movdqu xmmword [rcx + 2], xmm0
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x288], 1
mov qword [rsp + 0x290], rax
mov rbx, qword [rsp + 0x130]
cmp rbx, qword [rsp + 0x128]
jne 0x140097ac4
lea rcx, [rsp + 0x120]
push rbx
pop rdx
nop
call fcn.140076e80
mov rbx, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x138]
lea rcx, [rbx + rbx*4]
shl rcx, 5
add rcx, qword [rsp + 0x120]
mov r8d, 0xa0
lea rdx, [rsp + 0x200]
call sub.msvcrt.dll_memcpy
inc rbx
mov qword [rsp + 0x130], rbx
jmp 0x14009762e
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x4f0], xmm0
movaps xmm0, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x4e0], xmm0
movaps xmm0, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x4d0], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x4c0], xmm0
movaps xmm0, xmmword [rsp + 0x180]
movdqa xmm1, xmmword [rsp + 0x190]
movdqa xmm2, xmmword [rsp + 0x1a0]
movdqa xmm3, xmmword [rsp + 0x1b0]
movdqa xmmword [rsp + 0x4b0], xmm3
movdqa xmmword [rsp + 0x4a0], xmm2
movdqa xmmword [rsp + 0x490], xmm1
movaps xmmword [rsp + 0x480], xmm0
lea rcx, [rsp + 0x660]
mov rax, qword [rcx + 0x10]
lea rdx, [rsp + 0x500]
mov qword [rdx + 0x10], rax
movdqu xmm0, xmmword [rcx]
movdqu xmmword [rdx], xmm0
mov qword [rsp + 0x200], rsi
mov r8d, 0x98
lea rcx, [rsp + 0x208]
lea rdx, [rsp + 0x480]
call sub.msvcrt.dll_memcpy
mov rbx, qword [rsp + 0x118]
cmp rbx, qword [rsp + 0x110]
jne 0x140097600
lea rcx, [rsp + 0x108]
mov rdx, rbx
call fcn.140076e80
jmp 0x1400975f0
movaps xmm0, xmmword [rsp + 0x1f0]
lea rdx, [rsp + 0x206]
movups xmmword [rdx + 0x72], xmm0
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rdx + 0x62], xmm0
movaps xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rdx + 0x52], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rdx + 0x42], xmm0
movdqa xmm0, xmmword [rsp + 0x180]
movdqa xmm1, xmmword [rsp + 0x190]
movdqa xmm2, xmmword [rsp + 0x1a0]
movdqa xmm3, xmmword [rsp + 0x1b0]
movdqu xmmword [rdx + 0x32], xmm3
movdqu xmmword [rdx + 0x22], xmm2
movdqu xmmword [rdx + 0x12], xmm1
movdqu xmmword [rdx + 2], xmm0
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x288], 5
mov qword [rsp + 0x290], rcx
mov qword [rsp + 0x298], rax
mov rbx, qword [rsp + 0x118]
cmp rbx, qword [rsp + 0x110]
jne 0x140097600
lea rcx, [rsp + 0x108]
nop
push rbx
pop rdx
call fcn.140076e80
jmp 0x1400975f0
movaps xmm0, xmmword [rsp + 0x1f0]
lea rcx, [rsp + 0x206]
movups xmmword [rcx + 0x72], xmm0
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rcx + 0x62], xmm0
movaps xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rcx + 0x52], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rcx + 0x42], xmm0
movdqa xmm0, xmmword [rsp + 0x180]
movdqa xmm1, xmmword [rsp + 0x190]
movdqa xmm2, xmmword [rsp + 0x1a0]
movdqa xmm3, xmmword [rsp + 0x1b0]
movdqu xmmword [rcx + 0x32], xmm3
movdqu xmmword [rcx + 0x22], xmm2
movdqu xmmword [rcx + 0x12], xmm1
movdqu xmmword [rcx + 2], xmm0
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x288], 2
mov qword [rsp + 0x290], rax
mov rbx, qword [rsp + 0x118]
cmp rbx, qword [rsp + 0x110]
jne 0x140097600
lea rcx, [rsp + 0x108]
push rbx
pop rdx
nop
call fcn.140076e80
jmp 0x1400975f0
mov rdi, r13
mov qword [rsp + 0x150], rdi
lea rcx, [rsp + 0x140]
call fcn.140077300
mov rdi, qword [rsp + 0x118]
mov r15, qword [rsp + 0x130]
add r15, rdi
mov rax, qword [rsp + 0xa8]
sub rax, r15
mov qword [rsp + 0x200], 7
mov qword [rsp + 0x208], rax
mov rax, qword [rsp + 0x478]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
lea rcx, [rsp + 0x200]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0x100], r9
call fcn.140082480
mov rbx, rax
mov rcx, qword [rsp + 0x200]
add rcx, 0xfffffffffffffffd
cmp rcx, 5
mov eax, 2
cmovb rax, rcx
cmp rax, 1
je 0x140097e9c
cmp rax, 3
je 0x140097e9c
cmp rax, 2
jne 0x140097ed9
movzx eax, byte [rsp + 0x218]
test rax, rax
je 0x140097e60
cmp eax, 1
je 0x140097e43
cmp qword [rsp + 0x220], 0
je 0x140097e60
cmp qword [rsp + 0x228], 0
je 0x140097e60
mov rcx, qword [rsp + 0x220]
mov edx, 1
call fcn.140005c70
cmp dword [rsp + 0x280], 2
jne 0x140097e87
cmp qword [rsp + 0x290], 0
je 0x140097e87
mov rcx, qword [rsp + 0x288]
mov edx, 1
call fcn.140005c70
cmp qword [rsp + 0x318], 0
je 0x140097ed9
lea rax, [rsp + 0x310]
jmp 0x140097ecc
movzx eax, byte [rsp + 0x220]
or rax, rax
je 0x140097ed9
cmp eax, 1
je 0x140097eb9
cmp qword [rsp + 0x228], 0
je 0x140097ed9
lea rax, [rsp + 0x228]
cmp qword [rsp + 0x230], 0
je 0x140097ed9
mov rcx, qword [rax]
mov edx, 1
call fcn.140005c70
or rbx, rbx
jne 0x1400980e1
mov r14b, 1
mov rax, qword [rsp + 0xb0]
cmp qword [rax], 0
je 0x140097f02
mov rsi, qword [rax + 8]
mov r8d, 1
jmp 0x140097fa2
cmp byte [rax + 0xe1], 0
je 0x140097f9c
mov qword [rsp + 0x200], 0
mov rax, qword [0x1400a4130]
lea rcx, [rsp + 0x200]
call rax
mov r9, qword [rsp + 0x200]
movabs r10, 0x19db1ded53e7fff
mov rax, r9
sub rax, r10
mov r8d, 1
mov edx, 1
sub rdx, rax
movabs rcx, 0xfe624e212ac18000
add rcx, r9
cmp r9, r10
cmovle rcx, rdx
movabs rdx, 0xd6bf94d5e57a42bd
push rcx
nop
pop rax
mul rdx
shr rdx, 0x17
imul eax, edx, 0x989680
sub ecx, eax
imul eax, ecx, 0x64
cmp r9, r10
jle 0x14009b052
imul rcx, rdx, 0x3b9aca00
mov esi, eax
add rsi, rcx
jmp 0x140097fa2
xor r14d, r14d
xor r8d, r8d
mov qword [rsp + 0x200], 3
mov qword [rsp + 0x208], r8
mov qword [rsp + 0x210], rsi
mov qword [rsp + 0x218], r15
lea rcx, [rsp + 0x200]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x100]
call fcn.140082480
nop
push rax
pop rbx
mov rcx, qword [rsp + 0x200]
add rcx, 0xfffffffffffffffd
cmp rcx, 5
mov eax, 2
cmovb rax, rcx
cmp rax, 1
je 0x14009809b
cmp rax, 3
je 0x14009809b
cmp rax, 2
jne 0x1400980d8
movzx eax, byte [rsp + 0x218]
test rax, rax
je 0x14009805f
cmp eax, 1
je 0x140098042
cmp qword [rsp + 0x220], 0
je 0x14009805f
cmp qword [rsp + 0x228], 0
je 0x14009805f
mov rcx, qword [rsp + 0x220]
mov edx, 1
call fcn.140005c70
cmp dword [rsp + 0x280], 2
jne 0x140098086
cmp qword [rsp + 0x290], 0
je 0x140098086
mov rcx, qword [rsp + 0x288]
mov edx, 1
call fcn.140005c70
cmp qword [rsp + 0x318], 0
je 0x1400980d8
lea rax, [rsp + 0x310]
jmp 0x1400980cb
movzx eax, byte [rsp + 0x220]
test rax, rax
je 0x1400980d8
cmp eax, 1
je 0x1400980b8
cmp qword [rsp + 0x228], 0
je 0x1400980d8
lea rax, [rsp + 0x228]
cmp qword [rsp + 0x230], 0
je 0x1400980d8
mov rcx, qword [rax]
mov edx, 1
call fcn.140005c70
test rbx, rbx
je 0x140098171
mov r14, qword [rsp + 0x108]
mov rcx, r14
mov rdx, rdi
call fcn.1400682b0
cmp qword [rsp + 0x110], 0
je 0x14009810c
mov edx, 8
mov rcx, r14
call fcn.140005c70
mov rdi, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x130]
nop
push rdi
pop rcx
call fcn.1400682b0
cmp qword [rsp + 0x128], 0
je 0x14009813c
mov edx, 8
push rdi
nop
pop rcx
call fcn.140005c70
push rbx
nop
pop rax
movaps xmm6, xmmword [rbp + 0x770]
movaps xmm7, xmmword [rbp + 0x780]
movaps xmm8, xmmword [rbp + 0x790]
movaps xmm9, xmmword [rbp + 0x7a0]
lea rsp, [rbp + 0x7b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdi, qword [rsp + 0xb0]
cmp qword [rdi + 0x10], 0
je 0x14009818e
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x408], rax
jmp 0x1400981a3
call fcn.1400814a0
mov qword [rsp + 0x408], rax
mov rdi, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x108]
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x420], rax
mov rbx, qword [rsp + 0x118]
test r14b, r14b
mov qword [rsp + 0x170], r15
je 0x140098809
test rbx, rbx
je 0x140098214
push rbx
nop
pop rdi
lea rbx, [rbx*8]
movzx eax, byte [0x1401262b8]
mov edx, 8
push rbx
nop
pop rcx
call fcn.140005be0
or rax, rax
je 0x14009b116
mov r13, rax
cmp rdi, 3
push rdi
pop rbx
nop
ja 0x14009821f
xor eax, eax
jmp 0x1400982ae
mov r13d, 8
jmp 0x1400982d4
push rbx
nop
pop rax
and rax, 0xfffffffffffffffc
movdqa xmm0, xmmword [0x1400a91d0]
sub ecx, ecx
movdqa xmm1, xmmword [0x1400a91e0]
movq xmm2, r15
pshufd xmm2, xmm2, 0x44
movdqa xmm3, xmmword [0x1400a91f0]
movdqa xmm4, xmmword [0x1400a9200]
movdqa xmm5, xmmword [0x1400a9210]
nop word [rax + rax]
movdqa xmm6, xmm0
pmuludq xmm6, xmm1
paddq xmm6, xmm2
movdqa xmm7, xmm0
psrlq xmm7, 0x20
pmuludq xmm7, xmm1
psllq xmm7, 0x20
paddq xmm7, xmm6
movdqa xmm6, xmm7
paddq xmm6, xmm3
paddq xmm7, xmm4
movdqu xmmword [r13 + rcx*8], xmm6
movdqu xmmword [r13 + rcx*8 + 0x10], xmm7
add rcx, 4
paddq xmm0, xmm5
cmp rax, rcx
jne 0x140098260
cmp rax, rbx
je 0x1400982d4
lea rcx, [rax + rax*4]
shl rcx, 5
add rcx, r15
add rcx, 0x20
nop dword [rax]
mov qword [r13 + rax*8], rcx
inc rax
add rcx, 0xa0
cmp rbx, rax
jne 0x1400982c0
movabs r14, 0x736f6d6570736575
mov qword [rsp + 0x200], r14
movabs rax, 0x6c7967656e657261
mov qword [rsp + 0x208], rax
movabs rax, 0x646f72616e646f6d
mov qword [rsp + 0x210], rax
movabs rax, 0x7465646279746573
mov qword [rsp + 0x218], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x220], xmm0
movdqu xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x240], 0
mov qword [rsp + 0x480], rbx
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0x480]
call fcn.140076710
push rbx
nop
pop rax
mov qword [rsp + 0xa0], rbx
test rbx, rbx
je 0x140098494
mov rax, qword [rsp + 0xa0]
lea rax, [rax*8]
mov qword [rsp + 0xa8], rax
xor r15d, r15d
lea rbx, [rsp + 0x200]
jmp 0x1400983e5
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
nop
push rbx
pop rcx
call fcn.140081ea0
mov byte [rsp + 0x480], 0xff
mov r8d, 1
push rbx
pop rcx
nop
lea rdx, [rsp + 0x480]
call fcn.140081ea0
mov r13, rdi
add r15, 8
cmp qword [rsp + 0xa8], r15
je 0x140098494
mov rdi, r13
mov r12, qword [r13 + r15]
movzx r13d, byte [r12]
mov qword [rsp + 0x480], r13
mov r8d, 8
mov rcx, rbx
lea rdx, [rsp + 0x480]
call fcn.140081ea0
or r13, r13
je 0x1400983a0
cmp r13d, 1
jne 0x140098430
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x18]
jmp 0x1400983aa
mov rdx, qword [r12 + 8]
test rdx, rdx
mov r13, rdi
jne 0x140098442
mov rdx, qword [r12 + 0x10]
mov r8, qword [r12 + 0x18]
push rbx
pop rcx
nop
call fcn.140081ea0
mov byte [rsp + 0x480], 0xff
mov r8d, 1
mov rcx, rbx
lea rdi, [rsp + 0x480]
nop
push rdi
pop rdx
call fcn.140081ea0
movzx eax, byte [r12 + 1]
mov qword [rsp + 0x480], rax
mov r8d, 8
push rbx
pop rcx
nop
push rdi
nop
pop rdx
call fcn.140081ea0
jmp 0x1400983d3
mov r12, qword [rsp + 0xa0]
test r12, r12
je 0x1400987f7
mov qword [rsp + 0xd0], r13
mov rax, qword [rsp + 0x210]
mov r9, qword [rsp + 0x230]
shl r9, 0x38
or r9, qword [rsp + 0x238]
mov rcx, qword [rsp + 0x218]
mov r8, qword [rsp + 0x200]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x208]
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rcx, r8
xor rax, rdx
rol rdx, 0x20
xor r8, r9
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
add rdx, rcx
rol rcx, 0x10
xor rax, r8
xor rcx, rdx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
mov r8, rdx
rol r8, 0x20
xor r8, rax
xor r8, rcx
xor r8, rdx
mov qword [rsp + 0xa8], r8
sub edi, edi
pxor xmm6, xmm6
lea rbx, [rsp + 0x200]
mov r15, qword [rsp + 0x170]
mov r13, r15
nop
lea r14, [rdi + rdi*4]
shl r14, 5
add r14, r15
inc rdi
movabs rax, 0x736f6d6570736575
mov qword [rsp + 0x200], rax
movabs rax, 0x6c7967656e657261
mov qword [rsp + 0x208], rax
movabs rax, 0x646f72616e646f6d
mov qword [rsp + 0x210], rax
movabs rax, 0x7465646279746573
mov qword [rsp + 0x218], rax
lea rax, [rsp + 0x220]
movdqu xmmword [rax + 0x10], xmm6
movdqu xmmword [rax], xmm6
mov qword [rax + 0x20], 0
mov qword [rsp + 0x480], rsi
push rbx
pop rcx
nop
lea rsi, [rsp + 0x480]
push rsi
pop rdx
nop
call fcn.140076710
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x480], rax
mov rcx, rbx
nop
push rsi
pop rdx
call fcn.140076710
mov rax, qword [rsp + 0x210]
mov r9, qword [rsp + 0x230]
shl r9, 0x38
or r9, qword [rsp + 0x238]
mov rcx, qword [rsp + 0x218]
mov r8, qword [rsp + 0x200]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x208]
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rcx, r8
xor rax, rdx
rol rdx, 0x20
xor r8, r9
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
add rdx, rcx
rol rcx, 0x10
xor rax, r8
xor rcx, rdx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
push rdx
nop
pop rsi
rol rsi, 0x20
xor rsi, rax
xor rsi, rcx
xor rsi, rdx
push rsi
pop rax
nop
sub edx, edx
div r12
lea r15, [rdx + rdx*4]
shl r15, 5
add r15, r14
mov r8d, 0xa0
nop
push rbx
pop rcx
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov r8d, 0xa0
mov rcx, r13
mov rdx, r15
call sub.msvcrt.dll_memmove
mov r8d, 0xa0
mov rcx, r15
mov r15, qword [rsp + 0x170]
push rbx
pop rdx
nop
call sub.msvcrt.dll_memcpy
add r13, 0xa0
dec r12
jne 0x1400985d0
mov edx, 8
mov rcx, qword [rsp + 0xd0]
call fcn.140005c70
mov rdi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa0]
jmp 0x140098809
sub ebx, ebx
mov rdi, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x170]
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xd8], r15
mov rax, qword [rsp + 0x420]
mov qword [rsp + 0xe0], rax
pxor xmm6, xmm6
movdqa xmmword [rsp + 0x480], xmm6
movdqa xmmword [rsp + 0x500], xmm6
movdqu xmmword [rsp + 0x318], xmm6
movdqa xmmword [rsp + 0x330], xmm6
lea rcx, [rsp + 0x200]
lea r12, [rsp + 0x480]
mov r8d, 0x100
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x300], 0
mov byte [rsp + 0x308], 0
mov qword [rsp + 0x310], 8
mov qword [rsp + 0x328], 8
mov byte [rsp + 0x340], 1
mov qword [rsp + 0x380], 1
mov qword [rsp + 0x388], 1
mov byte [rsp + 0x390], 0
movzx eax, byte [0x1401262b8]
mov ecx, 0x200
mov edx, pe_nt_image_headers64
call fcn.140005be0
or rax, rax
je 0x14009b03e
mov r15, rax
lea rdx, [rsp + 0x200]
mov r8d, 0x200
push rax
pop rcx
nop
call sub.msvcrt.dll_memcpy
cmp byte [rdi + 0xd9], 0
setne al
cmp byte [rdi + 0xdc], 0
sete cl
and cl, al
mov byte [rsp + 0x97], cl
movaps xmm0, xmmword [0x140115d90]
movaps xmmword [rsp + 0x440], xmm0
movdqa xmm0, xmmword [0x140115d80]
movdqa xmmword [rsp + 0x430], xmm0
movdqu xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0x140], 8
mov qword [rsp + 0x148], 0
cmp qword [rsp + 0x408], 1
mov qword [rsp + 0xc8], r15
jne 0x140098f50
or rbx, rbx
je 0x14009a6a3
movzx r12d, byte [rdi + 0xde]
movzx eax, byte [rdi + 0xe2]
mov byte [rsp + 0xa8], al
mov eax, 1
mov edi, 1
sub rdi, qword [rsp + 0x420]
cmovb rdi, rax
dec rbx
mov qword [rsp + 0xa0], rbx
mov rax, qword [rsp + 0x170]
mov r13, qword [rax]
mov rbx, qword [rax + 8]
lea rdx, [rax + 0x10]
lea rcx, [rsp + 0x200]
mov r8d, 0x90
call sub.msvcrt.dll_memcpy
cmp rbx, 3
je 0x14009b128
lea rsi, [rsp + 0x208]
lea r14, [rsp + 0x200]
nop dword [rax]
mov qword [rsp + 0x5e0], rbx
mov r8d, 0x90
lea rcx, [rsp + 0x5e8]
mov rdx, r14
call sub.msvcrt.dll_memcpy
movzx eax, byte [rsp + 0x5f8]
or rax, rax
je 0x140098a64
cmp eax, 1
jne 0x140098a7b
mov rdx, qword [rsp + 0x600]
mov r8, qword [rsp + 0x610]
mov rcx, r14
call fcn.140006a60
mov r15, qword [rsp + 0x200]
mov rbx, qword [rsp + 0x208]
mov rax, qword [rsp + 0x210]
mov cl, 1
jmp 0x140098a76
mov r15, qword [rsp + 0x600]
mov rbx, qword [rsp + 0x608]
xor ecx, ecx
jmp 0x140098b06
mov r14, rsi
mov esi, r12d
mov r12, qword [rsp + 0x600]
or r12, r12
je 0x140098ac2
mov rbx, qword [rsp + 0x610]
or rbx, rbx
je 0x140098ad7
js 0x14009b0bc
movzx eax, byte [0x1401262b8]
mov edx, 1
push rbx
nop
pop rcx
call fcn.140005be0
mov r15, rax
test rax, rax
jne 0x140098add
jmp 0x14009b092
mov rbx, qword [rsp + 0x608]
mov rax, qword [rsp + 0x610]
xor r15d, r15d
jmp 0x140098aee
mov r15d, 1
mov rcx, r15
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
nop
push rbx
pop rax
mov cl, 2
movzx edx, byte [rsp + 0x5f9]
mov r12d, esi
mov rsi, r14
lea r14, [rsp + 0x200]
movups xmm0, xmmword [rsp + 0x628]
movups xmm1, xmmword [rsp + 0x618]
mov r8, qword [rsp + 0x5f0]
mov qword [rsi + 0x10], r8
movdqu xmm2, xmmword [rsp + 0x5e0]
movdqu xmmword [rsi], xmm2
mov qword [rsp + 0x200], 4
mov byte [rsp + 0x220], cl
mov byte [rsp + 0x221], dl
mov qword [rsp + 0x228], r15
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0x238], rax
movups xmmword [rsp + 0x240], xmm1
movups xmmword [rsp + 0x250], xmm0
movdqu xmm0, xmmword [rsp + 0x638]
movdqu xmm1, xmmword [rsp + 0x648]
movdqu xmmword [rsp + 0x260], xmm0
movdqu xmmword [rsp + 0x270], xmm1
mov eax, dword [rsp + 0x658]
mov dword [rsp + 0x280], eax
mov rcx, r14
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x100]
call fcn.140082480
nop
push rax
pop rbx
mov rax, qword [rsp + 0x200]
add rax, 0xfffffffffffffffd
cmp rax, 5
mov ecx, 2
cmovae rax, rcx
cmp rax, 1
mov r15, qword [rsp + 0xc8]
je 0x140098c80
cmp rax, 3
je 0x140098c80
cmp rax, 2
jne 0x140098cbd
movzx eax, byte [rsp + 0x218]
test rax, rax
je 0x140098c3f
cmp eax, 1
je 0x140098c22
cmp qword [rsp + 0x220], 0
je 0x140098c3f
cmp qword [rsp + 0x228], 0
je 0x140098c3f
mov rcx, qword [rsp + 0x220]
mov edx, 1
call fcn.140005c70
cmp dword [rsp + 0x280], 2
jne 0x140098c66
cmp qword [rsp + 0x290], 0
je 0x140098c66
mov rcx, qword [rsp + 0x288]
mov edx, 1
call fcn.140005c70
cmp qword [rsp + 0x318], 0
lea rax, [rsp + 0x310]
jne 0x140098cb0
jmp 0x140098cbd
movzx eax, byte [rsp + 0x220]
or rax, rax
je 0x140098cbd
cmp eax, 1
je 0x140098c9d
cmp qword [rsp + 0x228], 0
je 0x140098cbd
cmp qword [rsp + 0x230], 0
lea rax, [rsp + 0x228]
je 0x140098cbd
mov rcx, qword [rax]
mov edx, 1
call fcn.140005c70
test rbx, rbx
jne 0x14009a620
lock inc qword [r15 + 0x180]
jle 0x14009b1e5
test r12b, r12b
sete r8b
mov qword [rsp + 0x38], r15
movzx eax, byte [rsp + 0x97]
mov byte [rsp + 0x28], al
lea rax, [rsp + 0x5e0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 1
lea rcx, [rsp + 0x180]
mov rdx, qword [rsp + 0xb0]
mov r9, r13
call fcn.14009c1f0
mov rcx, r14
mov rdx, r15
mov r9d, 0x3b9aca00
call fcn.1400884e0
lea r13, [rsp + 0x480]
mov rbx, qword [rsp + 0x200]
cmp rbx, 3
je 0x14009afbc
mov r8d, 0x128
lea rcx, [rsp + 0x488]
lea rdx, [rsp + 0x208]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x480], rbx
lea rcx, [rsp + 0x180]
mov rdx, r13
call fcn.14009e9a0
xor r15d, r15d
mov rax, qword [rsp + 0x500]
mov ecx, 0x19
bt rcx, rax
jb 0x140098d99
movzx eax, byte [rsp + 0xa8]
mov r15d, eax
mov r8d, 0x130
mov rcx, r14
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov rcx, r14
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x100]
call fcn.140082480
push rax
pop rbx
nop
mov rax, qword [rsp + 0x200]
add rax, 0xfffffffffffffffd
cmp rax, 5
mov ecx, 2
cmovae rax, rcx
cmp rax, 3
je 0x140098dfc
cmp rax, 2
je 0x140098ed3
cmp rax, 1
jne 0x140098e39
movzx eax, byte [rsp + 0x220]
test rax, rax
je 0x140098e39
cmp eax, 1
je 0x140098e19
cmp qword [rsp + 0x228], 0
je 0x140098e39
cmp qword [rsp + 0x230], 0
lea rax, [rsp + 0x228]
je 0x140098e39
mov rcx, qword [rax]
mov edx, 1
call fcn.140005c70
test r15b, r15b
jne 0x14009a65a
test rbx, rbx
jne 0x14009a65a
mov r14, qword [rsp + 0xa0]
sub r14, 1
jb 0x14009a67f
mov qword [rsp + 0xa0], r14
lea rax, [rdi + 1]
mov rcx, qword [rsp + 0x420]
cmp rax, rcx
push rcx
pop rax
nop
mov ecx, 0
cmovb rax, rcx
neg rax
lea r15, [rdi + rax]
inc r15
lea rax, [rdi + rdi*4]
shl rax, 5
mov rcx, qword [rsp + 0x170]
mov r13, qword [rcx + rax]
mov rbx, qword [rcx + rax + 8]
lea rdx, [rcx + rax]
add rdx, 0x10
mov r8d, 0x90
lea r14, [rsp + 0x200]
mov rcx, r14
call sub.msvcrt.dll_memcpy
mov rdi, r15
cmp rbx, 3
jne 0x140098a00
jmp 0x14009b12b
movzx eax, byte [rsp + 0x218]
or rax, rax
je 0x140098f0d
cmp eax, 1
je 0x140098ef0
cmp qword [rsp + 0x220], 0
je 0x140098f0d
cmp qword [rsp + 0x228], 0
je 0x140098f0d
mov rcx, qword [rsp + 0x220]
mov edx, 1
call fcn.140005c70
cmp dword [rsp + 0x280], 2
jne 0x140098f34
cmp qword [rsp + 0x290], 0
je 0x140098f34
mov rcx, qword [rsp + 0x288]
mov edx, 1
call fcn.140005c70
cmp qword [rsp + 0x318], 0
lea rax, [rsp + 0x310]
jne 0x140098e2c
jmp 0x140098e39
test rbx, rbx
je 0x14009a6a3
movzx eax, byte [rdi + 0xde]
mov byte [rsp + 0xbf], al
movzx eax, byte [rdi + 0xe2]
mov byte [rsp + 0xbd], al
pcmpeqd xmm7, xmm7
mov eax, 1
mov ecx, 8
mov qword [rsp + 0x160], rcx
xor ecx, ecx
mov qword [rsp + 0xf8], rcx
lea rcx, [0x140115e48]
mov qword [rsp + 0x470], rcx
xor ecx, ecx
mov qword [rsp + 0xa8], rcx
sub ecx, ecx
mov qword [rsp + 0xd0], rcx
xor r13d, r13d
sub esi, esi
cmp rsi, qword [rsp + 0x408]
jae 0x1400999a2
mov rcx, r13
or rax, rax
je 0x1400999a2
nop word [rax + rax]
sub rbx, 1
jb 0x14009b152
lea rax, [rcx + 1]
mov rdx, qword [rsp + 0x420]
cmp rax, rdx
mov eax, 0
cmovae rax, rdx
neg rax
add rax, rcx
inc rax
mov qword [rsp + 0x418], rax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rbx
lea rcx, [rcx + rcx*4]
shl rcx, 5
mov r8, qword [rsp + 0x170]
mov rax, qword [r8 + rcx + 8]
cmp rax, 3
je 0x14009b152
lea rdx, [r8 + rcx]
mov r13, qword [r8 + rcx]
add rdx, 0x10
mov qword [rsp + 0x480], rax
mov r8d, 0x90
lea rcx, [rsp + 0x488]
call sub.msvcrt.dll_memcpy
call fcn.140064600
nop
push rax
pop rdi
mov r14d, edx
movzx eax, byte [rsp + 0x498]
test rax, rax
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x410], rsi
mov qword [rsp + 0x428], rdi
mov dword [rsp + 0x16c], edx
je 0x1400990e1
cmp eax, 1
jne 0x1400990f5
mov rdx, qword [rsp + 0x4a0]
mov r8, qword [rsp + 0x4b0]
lea rcx, [rsp + 0x200]
call fcn.140006a60
mov rbx, qword [rsp + 0x200]
mov r15, qword [rsp + 0x208]
mov r12, qword [rsp + 0x210]
mov al, 1
jmp 0x14009916b
mov rbx, qword [rsp + 0x4a0]
mov r15, qword [rsp + 0x4a8]
sub eax, eax
jmp 0x14009916b
mov r12, qword [rsp + 0x4a0]
test r12, r12
je 0x140099136
mov r15, qword [rsp + 0x4b0]
or r15, r15
je 0x14009914a
js 0x14009b0f0
movzx eax, byte [0x1401262b8]
mov edx, 1
mov rcx, r15
call fcn.140005be0
push rax
pop rbx
nop
or rax, rax
jne 0x14009914f
jmp 0x14009b0de
mov r15, qword [rsp + 0x4a8]
mov r12, qword [rsp + 0x4b0]
sub ebx, ebx
jmp 0x140099160
mov ebx, 1
push rbx
pop rcx
nop
mov rdx, r12
mov r8, r15
call sub.msvcrt.dll_memcpy
mov r12, r15
mov al, 2
movzx r14d, byte [rsp + 0x499]
mov rdi, qword [rsp + 0x4c8]
mov rcx, qword [rsp + 0x4d0]
mov rdx, qword [rsp + 0x4b8]
mov r8, qword [rsp + 0x4c0]
mov byte [rsp + 0x5f8], al
mov byte [rsp + 0x5f9], r14b
mov qword [rsp + 0x600], rbx
mov qword [rsp + 0x608], r15
mov qword [rsp + 0x610], r12
mov qword [rsp + 0x628], rdi
mov qword [rsp + 0x468], rcx
mov qword [rsp + 0x630], rcx
mov qword [rsp + 0x178], rdx
mov qword [rsp + 0x618], rdx
mov qword [rsp + 0x460], r8
mov qword [rsp + 0x620], r8
movups xmm8, xmmword [rsp + 0x4d8]
movups xmmword [rsp + 0x638], xmm8
movups xmm9, xmmword [rsp + 0x4e8]
movups xmmword [rsp + 0x648], xmm9
movdqu xmm0, xmmword [rsp + 0x480]
movdqa xmmword [rsp + 0x5e0], xmm0
mov rcx, qword [rsp + 0x490]
mov qword [rsp + 0x5f0], rcx
mov rsi, qword [rsp + 0x4f8]
mov dword [rsp + 0x658], esi
test al, al
je 0x14009927a
movzx eax, al
cmp eax, 1
jne 0x14009927e
lea rcx, [rsp + 0x200]
push rbx
pop rdx
nop
mov r8, r12
call fcn.140006a60
mov rbx, qword [rsp + 0x200]
mov r15, qword [rsp + 0x208]
mov r12, qword [rsp + 0x210]
mov dl, 1
jmp 0x1400992e2
sub edx, edx
jmp 0x1400992e2
mov dl, 2
or rbx, rbx
je 0x1400992b9
test r12, r12
mov byte [rsp + 0xbe], r14b
je 0x1400992bd
js 0x14009b10c
movzx eax, byte [0x1401262b8]
mov edx, 1
mov rcx, r12
call fcn.140005be0
mov r14, rax
test rax, rax
jne 0x1400992c3
jmp 0x14009b0fa
xor ebx, ebx
jmp 0x1400992e2
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, r12
call sub.msvcrt.dll_memcpy
mov r15, r12
mov rbx, r14
movzx r14d, byte [rsp + 0xbe]
mov dl, 2
movq xmm0, rsi
mov rax, qword [rsp + 0x490]
lea rcx, [rsp + 0x208]
mov qword [rcx + 0x10], rax
movdqu xmm1, xmmword [rsp + 0x480]
movdqu xmmword [rcx], xmm1
mov qword [rsp + 0x200], 4
mov byte [rsp + 0x220], dl
mov byte [rsp + 0x221], r14b
mov qword [rsp + 0x228], rbx
mov qword [rsp + 0x230], r15
mov qword [rsp + 0x238], r12
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], rdi
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x258], rax
movups xmmword [rsp + 0x260], xmm8
movups xmmword [rsp + 0x270], xmm9
movd dword [rsp + 0x280], xmm0
lea rcx, [rsp + 0x200]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x100]
call fcn.140082480
nop
push rax
pop rbx
mov rax, qword [rsp + 0x200]
add rax, 0xfffffffffffffffd
cmp rax, 5
mov ecx, 2
cmovae rax, rcx
cmp rax, 3
mov rsi, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xf8]
mov r12, qword [rsp + 0xd0]
je 0x140099405
cmp rax, 2
je 0x140099896
cmp rax, 1
jne 0x140099442
movzx eax, byte [rsp + 0x220]
test rax, rax
je 0x140099442
cmp eax, 1
je 0x140099422
cmp qword [rsp + 0x228], 0
je 0x140099442
cmp qword [rsp + 0x230], 0
lea rax, [rsp + 0x228]
je 0x140099442
mov rcx, qword [rax]
mov edx, 1
call fcn.140005c70
or rbx, rbx
jne 0x14009abff
lock inc qword [r15 + 0x180]
jle 0x14009b1ee
cmp byte [rsp + 0xbf], 0
sete r8b
mov qword [rsp + 0x38], r15
movzx eax, byte [rsp + 0x97]
mov byte [rsp + 0x28], al
lea rax, [rsp + 0x480]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 1
lea rcx, [rsp + 0x718]
nop
push rsi
pop rdx
mov r9, r13
call fcn.14009c1f0
cmp qword [rsp + 0x440], 0
jne 0x1400994b7
lea rcx, [rsp + 0x430]
call fcn.140086720
mov rax, r13
movabs rcx, 0x7465646279746573
xor rax, rcx
movabs rcx, 0x6c7967656e657261
add rcx, rax
mov r9, rax
rol r9, 0x10
xor r9, rcx
movabs rcx, 0xded7d4e2d7dedfc6
add rcx, r9
rol r9, 0x15
movabs rdx, 0xa60c596fc19fead0
add rax, rdx
nop
push rax
pop rdx
movabs r8, 0xe414a674f0de7325
xor rdx, r8
rol rax, 0x20
mov r8, rcx
xor r8, r13
add r8, rdx
rol rdx, 0xd
movabs r10, 0x800000000000000
xor rcx, r10
xor rdx, r8
rol r8, 0x20
xor rcx, r9
add rax, rcx
rol rcx, 0x10
xor rcx, rax
add r8, rcx
rol rcx, 0x15
add rax, rdx
rol rdx, 0x11
xor rcx, r8
xor rdx, rax
rol rax, 0x20
xor r8, r10
add r8, rdx
rol rdx, 0xd
xor rdx, r8
rol r8, 0x20
xor rax, 0xff
add rax, rcx
rol rcx, 0x10
xor rcx, rax
add r8, rcx
rol rcx, 0x15
add rax, rdx
rol rdx, 0x11
xor rdx, rax
rol rax, 0x20
xor rcx, r8
add r8, rdx
rol rdx, 0xd
xor rdx, r8
rol r8, 0x20
add rax, rcx
rol rcx, 0x10
xor rcx, rax
add r8, rcx
rol rcx, 0x15
add rax, rdx
rol rdx, 0x11
xor rdx, rax
rol rax, 0x20
xor rcx, r8
add r8, rdx
rol rdx, 0xd
add rax, rcx
rol rcx, 0x10
add qword [rsp + 0x428], 0x3c
xor rcx, rax
rol rcx, 0x15
xor rdx, r8
add rax, rdx
rol rdx, 0x11
mov r9, rax
rol r9, 0x20
xor r9, rdx
xor r9, rcx
xor r9, rax
mov rax, qword [rsp + 0x430]
mov rdx, qword [rsp + 0x438]
mov rcx, r9
shr rcx, 0x39
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r10d, r10d
xor r11d, r11d
and r9, rdx
movdqu xmm1, xmmword [rax + r9]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb esi, xmm2
nop dword [rax + rax]
test si, si
je 0x140099670
tzcnt ebx, esi
add rbx, r9
and rbx, rdx
shl rbx, 5
nop
push rax
pop rdi
sub rdi, rbx
lea ebx, [rsi - 1]
and ebx, esi
mov esi, ebx
cmp qword [rdi - 0x20], r13
jne 0x140099640
jmp 0x1400996c0
cmp r11, 1
mov r11d, 1
je 0x140099696
pmovmskb r8d, xmm1
xor r11d, r11d
or r8d, r8d
setne r11b
tzcnt r8d, r8d
add r8, r9
and r8, rdx
pcmpeqb xmm1, xmm7
pmovmskb esi, xmm1
test esi, esi
mov rdi, qword [rsp + 0xb0]
jne 0x140099913
add r9, r10
add r9, 0x10
add r10, 0x10
jmp 0x140099626
mov rax, qword [rdi - 8]
lea rcx, [rsp + 0x208]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rdi - 0x18]
movups xmmword [rcx], xmm0
movdqu xmm0, xmmword [rsp + 0x718]
movdqu xmmword [rdi - 0x18], xmm0
mov rax, qword [rsp + 0x728]
mov qword [rdi - 8], rax
mov qword [rsp + 0x200], 1
call fcn.14009ec20
mov rdi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x410]
movaps xmm0, xmmword [rsp + 0x650]
movaps xmmword [rsp + 0x270], xmm0
movaps xmm0, xmmword [rsp + 0x640]
movaps xmmword [rsp + 0x260], xmm0
movaps xmm0, xmmword [rsp + 0x630]
movaps xmmword [rsp + 0x250], xmm0
movaps xmm0, xmmword [rsp + 0x620]
movaps xmmword [rsp + 0x240], xmm0
movdqa xmm0, xmmword [rsp + 0x5e0]
movdqa xmm1, xmmword [rsp + 0x5f0]
movdqa xmm2, xmmword [rsp + 0x600]
movdqa xmm3, xmmword [rsp + 0x610]
movdqa xmmword [rsp + 0x230], xmm3
movdqa xmmword [rsp + 0x220], xmm2
movdqa xmmword [rsp + 0x210], xmm1
movdqa xmmword [rsp + 0x200], xmm0
mov qword [rsp + 0x290], r13
mov rax, qword [rsp + 0x428]
mov qword [rsp + 0x280], rax
mov eax, dword [rsp + 0x16c]
mov dword [rsp + 0x288], eax
cmp r12, r14
mov r13, r12
lea r12, [rsp + 0x480]
jne 0x140099815
lea rcx, [rsp + 0x140]
call fcn.140089b30
mov r13, qword [rsp + 0x158]
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x160], rax
mov r14, qword [rsp + 0x148]
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
add rax, r13
cmp rax, r14
mov ecx, 0
mov qword [rsp + 0xf8], r14
cmovae rcx, r14
sub rax, rcx
imul rcx, rax, 0x98
add rcx, qword [rsp + 0x160]
mov r8d, 0x98
lea rdx, [rsp + 0x200]
call sub.msvcrt.dll_memmove
inc r13
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0x158], r13
inc rsi
cmp rsi, qword [rsp + 0x408]
jae 0x14009999a
mov r13, qword [rsp + 0x418]
mov rcx, r13
or rbx, rbx
jne 0x140098fe0
jmp 0x1400999a2
movzx eax, byte [rsp + 0x218]
test rax, rax
je 0x1400998d0
cmp eax, 1
je 0x1400998b3
cmp qword [rsp + 0x220], 0
je 0x1400998d0
cmp qword [rsp + 0x228], 0
je 0x1400998d0
mov rcx, qword [rsp + 0x220]
mov edx, 1
call fcn.140005c70
cmp dword [rsp + 0x280], 2
jne 0x1400998f7
cmp qword [rsp + 0x290], 0
je 0x1400998f7
mov rcx, qword [rsp + 0x288]
mov edx, 1
call fcn.140005c70
cmp qword [rsp + 0x318], 0
lea rax, [rsp + 0x310]
jne 0x140099435
jmp 0x140099442
movzx r9d, byte [rax + r8]
or r9b, r9b
js 0x140099930
movdqa xmm0, xmmword [rax]
pmovmskb r8d, xmm0
tzcnt r8d, r8d
movzx r9d, byte [rax + r8]
and r9b, 1
movzx r9d, r9b
sub qword [rsp + 0x440], r9
lea r9, [r8 - 0x10]
and r9, rdx
mov byte [rax + r8], cl
mov byte [r9 + rax + 0x10], cl
inc qword [rsp + 0x448]
shl r8, 5
push rax
nop
pop rcx
sub rcx, r8
mov qword [rcx - 0x20], r13
neg r8
movdqu xmm0, xmmword [rsp + 0x718]
movdqu xmmword [rax + r8 - 0x18], xmm0
mov rax, qword [rsp + 0x728]
mov qword [rcx - 8], rax
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x410]
jmp 0x14009971a
mov r13, qword [rsp + 0x418]
mov qword [rsp + 0x410], rsi
mov qword [rsp + 0xa0], rbx
mov r14b, 1
mov qword [rsp + 0x418], r13
cmp qword [rsp + 0xd0], 0
je 0x14009a418
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xa8]
cmp rdx, rcx
mov eax, 0
cmovae rax, rcx
mov rcx, rdx
sub rcx, rax
imul rax, rcx, 0x98
mov rcx, qword [rsp + 0x160]
mov rdi, qword [rcx + rax + 0x80]
mov ebx, dword [rcx + rax + 0x88]
call fcn.140064600
cmp rax, rdi
ja 0x140099a23
mov r9d, edx
cmp rax, rdi
jne 0x140099a29
cmp r9d, ebx
jbe 0x140099a29
sub edi, edi
xor ebx, ebx
jmp 0x140099a47
mov rcx, rdi
mov edx, ebx
mov r8, rax
call fcn.140047a00
mov ebx, edx
cmp edx, 0x3b9aca00
je 0x14009a410
mov rdi, rax
call fcn.140064600
add rax, rdi
jae 0x140099a7f
lea rcx, [rsp + 0x200]
mov rdx, r15
mov r9d, 0x3b9aca00
call fcn.1400884e0
mov rsi, qword [rsp + 0x200]
cmp rsi, 3
jne 0x140099ab3
mov byte [rsp + 0x488], 1
jmp 0x140099ace
mov r9d, edx
add r9d, ebx
cmp r9d, 0x3b9aca00
jb 0x140099aa3
inc rax
je 0x140099a51
add r9d, 0xc4653600
cmp r9d, 0x3b9aca00
je 0x140099a51
mov rcx, r12
mov rdx, r15
mov r8, rax
call fcn.1400884e0
jmp 0x140099ad6
mov r8d, 0x128
lea rcx, [rsp + 0x488]
lea rdx, [rsp + 0x208]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x480], rsi
mov r8d, 0x130
lea rcx, [rsp + 0x5e0]
mov rdx, r12
call sub.msvcrt.dll_memcpy
call fcn.140064600
mov qword [rsp + 0x468], rax
mov dword [rsp + 0x16c], edx
mov qword [rsp + 0x180], 8
lea rax, [rsp + 0x188]
movdqu xmmword [rax], xmm6
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x460], rax
mov rax, qword [rsp + 0x430]
mov r14, qword [rsp + 0x438]
mov qword [rsp + 0x428], rax
lea r15, [rax - 0x20]
mov eax, 8
mov qword [rsp + 0x178], rax
xor ebx, ebx
mov rsi, qword [rsp + 0x160]
mov rdi, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xd0]
jmp 0x140099c1a
mov rsi, qword [rsp + 0x160]
mov rdi, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x178]
mov rax, rbx
shl rax, 7
movups xmm0, xmmword [rsp + 0x270]
movups xmmword [rcx + rax + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x260]
movups xmmword [rcx + rax + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x250]
movups xmmword [rcx + rax + 0x50], xmm0
movups xmm0, xmmword [rsp + 0x240]
movups xmmword [rcx + rax + 0x40], xmm0
movdqu xmm0, xmmword [rsp + 0x200]
movdqu xmm1, xmmword [rsp + 0x210]
movdqu xmm2, xmmword [rsp + 0x220]
movdqu xmm3, xmmword [rsp + 0x230]
movdqu xmmword [rcx + rax + 0x30], xmm3
movdqu xmmword [rcx + rax + 0x20], xmm2
movdqu xmmword [rcx + rax + 0x10], xmm1
mov qword [rsp + 0x178], rcx
movdqu xmmword [rcx + rax], xmm0
inc rbx
mov qword [rsp + 0x190], rbx
or r13, r13
je 0x14009a0a0
mov rax, qword [rsp + 0xa8]
cmp rax, rdi
mov ecx, 0
cmovae rcx, rdi
push rax
nop
pop rdx
sub rdx, rcx
imul rcx, rdx, 0x98
mov rdx, qword [rsp + 0x468]
cmp rdx, qword [rsi + rcx + 0x80]
jb 0x14009a0ab
jne 0x140099c67
mov edx, dword [rsp + 0x16c]
cmp edx, dword [rsi + rcx + 0x88]
jb 0x14009a0ab
lea rcx, [rax + 1]
cmp rcx, rdi
mov ecx, 0
cmovae rcx, rdi
neg rcx
add rcx, rax
inc rcx
mov qword [rsp + 0xa8], rcx
dec r13
imul r9, rax, 0x98
mov r8, qword [rsi + r9]
movdqu xmm0, xmmword [rsi + r9 + 8]
movdqa xmmword [rsp + 0x200], xmm0
movzx edx, byte [rsi + r9 + 0x18]
mov eax, dword [rsi + r9 + 0x1c]
mov dword [rsp + 0x45b], eax
mov eax, dword [rsi + r9 + 0x19]
mov dword [rsp + 0x458], eax
cmp r8, 3
je 0x14009af5b
lea r10, [rsi + r9]
mov rcx, qword [rsi + r9 + 0x20]
mov rax, qword [rsi + r9 + 0x28]
mov qword [rsp + 0xd0], rax
mov r9, qword [rsi + r9 + 0x90]
movaps xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x730], xmm0
mov r11d, dword [rsp + 0x458]
mov esi, dword [rsp + 0x45b]
mov dword [rsp + 0x450], r11d
mov dword [rsp + 0x453], esi
movdqu xmm0, xmmword [r10 + 0x70]
movdqu xmm1, xmmword [r10 + 0x80]
movdqu xmm2, xmmword [r10 + 0x30]
movdqu xmm3, xmmword [r10 + 0x40]
movdqu xmm4, xmmword [r10 + 0x50]
movdqu xmm5, xmmword [r10 + 0x60]
movdqa xmmword [rsp + 0x480], xmm2
movdqa xmmword [rsp + 0x4d0], xmm1
movdqa xmmword [rsp + 0x4c0], xmm0
movdqa xmmword [rsp + 0x4b0], xmm5
movdqa xmmword [rsp + 0x4a0], xmm4
movdqa xmmword [rsp + 0x490], xmm3
cmp qword [rsp + 0x460], 0
je 0x14009a030
mov r10, r9
movabs r11, 0x7465646279746573
xor r10, r11
movabs r11, 0x6c7967656e657261
add r11, r10
mov r12, r10
rol r12, 0x10
xor r12, r11
movabs r11, 0xded7d4e2d7dedfc6
add r11, r12
rol r12, 0x15
movabs rsi, 0xa60c596fc19fead0
add r10, rsi
mov rsi, r10
movabs rdi, 0xe414a674f0de7325
xor rsi, rdi
rol r10, 0x20
mov rdi, r11
xor rdi, r9
add rdi, rsi
rol rsi, 0xd
movabs rax, 0x800000000000000
xor r11, rax
xor rsi, rdi
rol rdi, 0x20
xor r11, r12
add r10, r11
rol r11, 0x10
xor r11, r10
add rdi, r11
rol r11, 0x15
add r10, rsi
rol rsi, 0x11
xor r11, rdi
xor rsi, r10
rol r10, 0x20
xor rdi, rax
add rdi, rsi
rol rsi, 0xd
xor rsi, rdi
rol rdi, 0x20
xor r10, 0xff
add r10, r11
rol r11, 0x10
xor r11, r10
add rdi, r11
rol r11, 0x15
add r10, rsi
rol rsi, 0x11
xor rsi, r10
rol r10, 0x20
xor r11, rdi
add rdi, rsi
rol rsi, 0xd
xor rsi, rdi
rol rdi, 0x20
add r10, r11
rol r11, 0x10
xor r11, r10
add rdi, r11
rol r11, 0x15
add r10, rsi
rol rsi, 0x11
xor rsi, r10
rol r10, 0x20
xor r11, rdi
add rdi, rsi
rol rsi, 0xd
add r10, r11
rol r11, 0x10
xor rsi, rdi
xor r11, r10
rol r11, 0x15
add r10, rsi
rol rsi, 0x11
mov rdi, r10
rol rdi, 0x20
xor rdi, rsi
xor rdi, r11
xor rdi, r10
mov r10, rdi
shr r10, 0x39
movd xmm0, r10d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r10d, r10d
and rdi, r14
mov rax, qword [rsp + 0x428]
movdqu xmm1, xmmword [rax + rdi]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb r11d, xmm2
nop dword [rax + rax]
test r11w, r11w
je 0x140099f30
lea esi, [r11 - 1]
and esi, r11d
tzcnt r11d, r11d
add r11, rdi
and r11, r14
shl r11, 5
mov r12, r15
sub r12, r11
mov r11d, esi
cmp r9, qword [r12]
jne 0x140099f00
jmp 0x140099f50
pcmpeqb xmm1, xmm7
pmovmskb r11d, xmm1
test r11d, r11d
jne 0x14009a030
add rdi, r10
add rdi, 0x10
add r10, 0x10
jmp 0x140099edb
mov qword [rsp + 0x200], r8
movaps xmm0, xmmword [rsp + 0x730]
lea rax, [rsp + 0x208]
movups xmmword [rax], xmm0
mov byte [rsp + 0x218], dl
mov edx, dword [rsp + 0x450]
mov r8d, dword [rsp + 0x453]
lea rax, [rsp + 0x208]
mov dword [rax + 0x14], r8d
mov dword [rax + 0x11], edx
mov qword [rsp + 0x220], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x228], rcx
movaps xmm0, xmmword [rsp + 0x4c0]
movups xmmword [rax + 0x68], xmm0
movdqa xmm0, xmmword [rsp + 0x480]
movdqa xmm1, xmmword [rsp + 0x490]
movdqa xmm2, xmmword [rsp + 0x4a0]
movdqa xmm3, xmmword [rsp + 0x4b0]
movdqu xmmword [rax + 0x58], xmm3
movdqu xmmword [rax + 0x48], xmm2
movdqu xmmword [rax + 0x38], xmm1
movdqu xmmword [rax + 0x28], xmm0
cmp rbx, qword [rsp + 0x188]
jne 0x140099b70
lea rcx, [rsp + 0x180]
push rbx
pop rdx
nop
call fcn.140076d00
mov rsi, qword [rsp + 0x160]
mov rdi, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x190]
jmp 0x140099b88
movzx edx, dl
or edx, edx
je 0x14009a05c
cmp edx, 1
mov rsi, qword [rsp + 0x160]
jne 0x14009a071
cmp qword [rsp + 0xd0], 0
mov rdi, qword [rsp + 0xf8]
jne 0x14009a091
jmp 0x140099c11
mov rsi, qword [rsp + 0x160]
mov rdi, qword [rsp + 0xf8]
jmp 0x140099c11
test rcx, rcx
mov rdi, qword [rsp + 0xf8]
je 0x140099c11
cmp qword [rsp + 0xd0], 0
je 0x140099c11
mov edx, 1
call fcn.140005c70
jmp 0x140099c11
xor r13d, r13d
mov rax, qword [rsp + 0xa8]
mov rcx, rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x150], rax
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0x158], r13
mov r14, qword [rsp + 0x188]
mov rdi, rbx
shl rdi, 7
mov rsi, qword [rsp + 0x178]
lea r12, [rsi + rdi]
mov qword [rsp + 0x480], rsi
mov qword [rsp + 0x488], r14
mov qword [rsp + 0x490], rsi
mov qword [rsp + 0x498], r12
mov r15, rsi
test rbx, rbx
mov r13, qword [rsp + 0x418]
je 0x14009a363
add rdi, 0xffffffffffffff80
lea r15, [rsi + 0x80]
nop dword [rax + rax]
mov rax, qword [r15 - 0x80]
cmp rax, 3
je 0x14009a35b
mov rcx, qword [r15 - 8]
mov qword [rsp + 0x7c0], rcx
movups xmm0, xmmword [r15 - 0x18]
movaps xmmword [rsp + 0x7b0], xmm0
movups xmm0, xmmword [r15 - 0x28]
movaps xmmword [rsp + 0x7a0], xmm0
movups xmm0, xmmword [r15 - 0x38]
movaps xmmword [rsp + 0x790], xmm0
movups xmm0, xmmword [r15 - 0x78]
movups xmm1, xmmword [r15 - 0x68]
movups xmm2, xmmword [r15 - 0x58]
movups xmm3, xmmword [r15 - 0x48]
movaps xmmword [rsp + 0x780], xmm3
movaps xmmword [rsp + 0x770], xmm2
movaps xmmword [rsp + 0x760], xmm1
movaps xmmword [rsp + 0x750], xmm0
mov qword [rsp + 0x200], 6
mov qword [rsp + 0x208], rax
mov rax, qword [rsp + 0x7c0]
lea rcx, [rsp + 0x208]
mov qword [rcx + 0x78], rax
movaps xmm0, xmmword [rsp + 0x7b0]
movups xmmword [rcx + 0x68], xmm0
movaps xmm0, xmmword [rsp + 0x7a0]
movups xmmword [rcx + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0x790]
movups xmmword [rcx + 0x48], xmm0
movdqa xmm0, xmmword [rsp + 0x750]
movdqa xmm1, xmmword [rsp + 0x760]
movdqa xmm2, xmmword [rsp + 0x770]
movdqa xmm3, xmmword [rsp + 0x780]
movdqu xmmword [rcx + 0x38], xmm3
movdqu xmmword [rcx + 0x28], xmm2
movdqu xmmword [rcx + 0x18], xmm1
movdqu xmmword [rcx + 8], xmm0
lea rcx, [rsp + 0x200]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x100]
call fcn.140082480
push rax
pop rbx
nop
mov rax, qword [rsp + 0x200]
add rax, 0xfffffffffffffffd
cmp rax, 5
mov ecx, 2
cmovae rax, rcx
cmp rax, 1
je 0x14009a300
cmp rax, 3
je 0x14009a300
cmp rax, 2
jne 0x14009a33d
movzx eax, byte [rsp + 0x218]
or rax, rax
je 0x14009a2c2
cmp eax, 1
je 0x14009a2a5
cmp qword [rsp + 0x220], 0
je 0x14009a2c2
cmp qword [rsp + 0x228], 0
je 0x14009a2c2
mov rcx, qword [rsp + 0x220]
mov edx, 1
call fcn.140005c70
cmp dword [rsp + 0x280], 2
jne 0x14009a2e9
cmp qword [rsp + 0x290], 0
je 0x14009a2e9
mov rcx, qword [rsp + 0x288]
mov edx, 1
call fcn.140005c70
cmp qword [rsp + 0x318], 0
lea rax, [rsp + 0x310]
jne 0x14009a330
jmp 0x14009a33d
movzx eax, byte [rsp + 0x220]
or rax, rax
je 0x14009a33d
cmp eax, 1
je 0x14009a31d
cmp qword [rsp + 0x228], 0
je 0x14009a33d
cmp qword [rsp + 0x230], 0
lea rax, [rsp + 0x228]
je 0x14009a33d
mov rcx, qword [rax]
mov edx, 1
call fcn.140005c70
test rbx, rbx
jne 0x14009a597
add rdi, 0xffffffffffffff80
sub r15, 0xffffffffffffff80
cmp rdi, 0xffffffffffffff80
jne 0x14009a130
mov r15, r12
mov qword [rsp + 0x490], r15
sub r12, r15
mov rdi, qword [rsp + 0xb0]
je 0x14009a3c1
shr r12, 7
add r15, 0x28
jmp 0x14009a393
mov edx, 1
call fcn.140005c70
sub r15, 0xffffffffffffff80
dec r12
je 0x14009a3c1
movzx eax, byte [r15 - 0x10]
or rax, rax
je 0x14009a38a
cmp eax, 1
jne 0x14009a3b0
cmp qword [r15], 0
je 0x14009a38a
mov rcx, qword [r15 - 8]
jmp 0x14009a380
mov rcx, qword [r15 - 8]
or rcx, rcx
je 0x14009a38a
cmp qword [r15], 0
jne 0x14009a380
jmp 0x14009a38a
test r14, r14
je 0x14009a3d3
mov edx, 8
push rsi
nop
pop rcx
call fcn.140005c70
mov rsi, qword [rsp + 0x5e0]
movzx ebx, byte [rsp + 0x5e8]
cmp rsi, 3
mov r15, qword [rsp + 0xc8]
jne 0x14009a406
xor r14d, r14d
test bl, bl
lea r12, [rsp + 0x480]
je 0x1400999bd
jmp 0x14009a483
lea r12, [rsp + 0x480]
jmp 0x14009a483
mov rdi, qword [rsp + 0xb0]
lea rcx, [rsp + 0x200]
mov rdx, r15
mov r9d, 0x3b9aca00
call fcn.1400884e0
mov rsi, qword [rsp + 0x200]
cmp rsi, 3
jne 0x14009a440
mov bl, 1
jmp 0x14009a45e
movzx ebx, byte [rsp + 0x208]
mov r8d, 0x127
mov rcx, r12
lea rdx, [rsp + 0x209]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x5e0], rsi
mov byte [rsp + 0x5e8], bl
mov r8d, 0x127
lea rcx, [rsp + 0x5e9]
mov rdx, r12
call sub.msvcrt.dll_memcpy
cmp esi, 3
je 0x14009b1b0
mov qword [rsp + 0x480], rsi
mov byte [rsp + 0x488], bl
mov r8d, 0x127
lea rcx, [rsp + 0x489]
lea rdx, [rsp + 0x5e9]
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x5a8]
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0x430]
call fcn.140088020
cmp qword [rsp + 0x200], 0
je 0x14009b196
lea rcx, [rsp + 0x208]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x7e0], rax
movdqu xmm0, xmmword [rcx]
movdqa xmmword [rsp + 0x7d0], xmm0
lea rcx, [rsp + 0x7d0]
mov rdx, r12
call fcn.14009e9a0
sub esi, esi
mov rax, qword [rsp + 0x500]
mov ecx, 0x19
bt rcx, rax
jb 0x14009a532
movzx eax, byte [rsp + 0xbd]
mov esi, eax
mov r8d, 0x130
lea rbx, [rsp + 0x200]
push rbx
nop
pop rcx
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x478]
nop
push rbx
pop rdx
call fcn.14009ed60
push rax
pop rbx
nop
test rax, rax
jne 0x14009af4a
test sil, sil
jne 0x14009af52
mov rsi, qword [rsp + 0x410]
dec rsi
push rsi
pop rax
nop
mov rbx, qword [rsp + 0xa0]
or rax, rbx
nop
push rbx
pop rax
jne 0x140098fbd
jmp 0x14009a6a3
cmp r12, r15
je 0x14009a5e3
add r15, 0x28
shr rdi, 7
jmp 0x14009a5c3
cmp qword [r15], 0
je 0x14009a5ba
mov rcx, qword [r15 - 8]
mov edx, 1
call fcn.140005c70
sub r15, 0xffffffffffffff80
dec rdi
je 0x14009a5e3
movzx eax, byte [r15 - 0x10]
test rax, rax
je 0x14009a5ba
cmp eax, 1
je 0x14009a5a6
mov rcx, qword [r15 - 8]
or rcx, rcx
je 0x14009a5ba
cmp qword [r15], 0
jne 0x14009a5b0
jmp 0x14009a5ba
or r14, r14
je 0x14009a5f5
mov edx, 8
nop
push rsi
pop rcx
call fcn.140005c70
mov dil, 1
cmp dword [rsp + 0x5e0], 3
mov r15, qword [rsp + 0xc8]
je 0x14009a617
lea rcx, [rsp + 0x5e0]
call fcn.140096e50
mov al, 1
sub esi, esi
jmp 0x14009ac65
mov qword [rsp + 0xe8], rdi
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0x5f8]
call fcn.140097020
mov sil, 1
lea rcx, [rsp + 0x660]
call fcn.140082370
jmp 0x14009ac29
mov qword [rsp + 0xe8], rdi
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xf0], rax
mov r15, qword [rsp + 0xc8]
jmp 0x14009ac29
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0xf0], 0
mov rdi, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xc8]
movzx r13d, byte [rdi + 0xdf]
test r13b, r13b
je 0x14009abf8
mov rdi, qword [rsp + 0x120]
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x130]
lea r12, [rcx + rcx*4]
shl r12, 5
add r12, rdi
mov qword [rsp + 0x180], rdi
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x190], rdi
mov qword [rsp + 0x198], r12
test rcx, rcx
je 0x14009add3
mov byte [rsp + 0xa8], r13b
add rdi, 0xa0
lea rsi, [rsp + 0x200]
nop word [rax + rax]
mov rax, qword [rdi - 0x98]
cmp rax, 3
je 0x14009adc2
lea r14, [rdi - 0xa0]
mov r13, qword [rdi - 0xa0]
mov qword [rsp + 0x5e0], rax
lea rdx, [r14 + 0x10]
mov r8d, 0x90
lea rcx, [rsp + 0x5e8]
call sub.msvcrt.dll_memcpy
movzx eax, byte [rsp + 0x5f8]
or rax, rax
je 0x14009a7a4
cmp eax, 1
jne 0x14009a7bb
mov rdx, qword [rsp + 0x600]
mov r8, qword [rsp + 0x610]
push rsi
pop rcx
nop
call fcn.140006a60
mov r15, qword [rsp + 0x200]
mov rbx, qword [rsp + 0x208]
mov rax, qword [rsp + 0x210]
mov cl, 1
jmp 0x14009a7b6
mov r15, qword [rsp + 0x600]
mov rbx, qword [rsp + 0x608]
xor ecx, ecx
jmp 0x14009a840
mov rsi, r12
mov r12, qword [rsp + 0x600]
test r12, r12
je 0x14009a7ff
mov rbx, qword [rsp + 0x610]
or rbx, rbx
je 0x14009a814
js 0x14009b187
movzx eax, byte [0x1401262b8]
mov edx, 1
push rbx
nop
pop rcx
call fcn.140005be0
mov r15, rax
or rax, rax
jne 0x14009a81a
jmp 0x14009b170
mov rbx, qword [rsp + 0x608]
mov rax, qword [rsp + 0x610]
xor r15d, r15d
jmp 0x14009a82b
mov r15d, 1
mov rcx, r15
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
push rbx
nop
pop rax
mov cl, 2
movzx edx, byte [rsp + 0x5f9]
mov r12, rsi
lea rsi, [rsp + 0x200]
movups xmm0, xmmword [rsp + 0x628]
movups xmm1, xmmword [rsp + 0x618]
mov r8, qword [rsp + 0x5f0]
lea r9, [rsp + 0x208]
mov qword [r9 + 0x10], r8
movdqu xmm2, xmmword [rsp + 0x5e0]
movdqu xmmword [r9], xmm2
mov qword [rsp + 0x200], 4
mov byte [rsp + 0x220], cl
mov byte [rsp + 0x221], dl
mov qword [rsp + 0x228], r15
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0x238], rax
movups xmmword [rsp + 0x240], xmm1
movups xmmword [rsp + 0x250], xmm0
movdqu xmm0, xmmword [rsp + 0x638]
movdqu xmm1, xmmword [rsp + 0x648]
movdqu xmmword [rsp + 0x260], xmm0
movdqu xmmword [rsp + 0x270], xmm1
mov eax, dword [rsp + 0x658]
mov dword [rsp + 0x280], eax
push rsi
pop rcx
nop
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x100]
call fcn.140082480
push rax
nop
pop rbx
mov rax, qword [rsp + 0x200]
add rax, 0xfffffffffffffffd
cmp rax, 5
mov ecx, 2
cmovae rax, rcx
cmp rax, 1
mov r15, qword [rsp + 0xc8]
je 0x14009a9be
cmp rax, 3
je 0x14009a9be
cmp rax, 2
jne 0x14009a9fb
movzx eax, byte [rsp + 0x218]
test rax, rax
je 0x14009a982
cmp eax, 1
je 0x14009a965
cmp qword [rsp + 0x220], 0
je 0x14009a982
cmp qword [rsp + 0x228], 0
je 0x14009a982
mov rcx, qword [rsp + 0x220]
mov edx, 1
call fcn.140005c70
cmp dword [rsp + 0x280], 2
jne 0x14009a9a9
cmp qword [rsp + 0x290], 0
je 0x14009a9a9
mov rcx, qword [rsp + 0x288]
mov edx, 1
call fcn.140005c70
cmp qword [rsp + 0x318], 0
lea rax, [rsp + 0x310]
jne 0x14009a9ee
jmp 0x14009a9fb
movzx eax, byte [rsp + 0x220]
or rax, rax
je 0x14009a9fb
cmp eax, 1
je 0x14009a9db
cmp qword [rsp + 0x228], 0
je 0x14009a9fb
cmp qword [rsp + 0x230], 0
lea rax, [rsp + 0x228]
je 0x14009a9fb
mov rcx, qword [rax]
mov edx, 1
call fcn.140005c70
or rbx, rbx
jne 0x14009ac2f
lock inc qword [r15 + 0x180]
jle 0x14009b1f7
mov qword [rsp + 0x38], r15
movzx eax, byte [rsp + 0x97]
mov byte [rsp + 0x28], al
lea rax, [rsp + 0x5e0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 1
lea rcx, [rsp + 0x730]
mov rdx, qword [rsp + 0xb0]
xor r8d, r8d
mov r9, r13
call fcn.14009c1f0
lea rbx, [rsp + 0x480]
push rsi
nop
pop rcx
mov rdx, r15
mov r9d, 0x3b9aca00
call fcn.1400884e0
mov rsi, qword [rsp + 0x200]
cmp rsi, 3
je 0x14009b005
mov r8d, 0x128
lea rcx, [rsp + 0x488]
lea rdx, [rsp + 0x208]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x480], rsi
lea rcx, [rsp + 0x730]
push rbx
pop rdx
nop
call fcn.14009e9a0
mov r8d, 0x130
lea rsi, [rsp + 0x200]
nop
push rsi
pop rcx
mov rdx, rbx
call sub.msvcrt.dll_memcpy
push rsi
nop
pop rcx
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0x100]
call fcn.140082480
push rax
pop rbx
nop
mov rax, qword [rsp + 0x200]
add rax, 0xfffffffffffffffd
cmp rax, 5
mov ecx, 2
cmovae rax, rcx
cmp rax, 3
je 0x14009ab19
cmp rax, 2
je 0x14009ab7b
cmp rax, 1
jne 0x14009ab56
movzx eax, byte [rsp + 0x220]
test rax, rax
je 0x14009ab56
cmp eax, 1
je 0x14009ab36
cmp qword [rsp + 0x228], 0
je 0x14009ab56
cmp qword [rsp + 0x230], 0
lea rax, [rsp + 0x228]
je 0x14009ab56
mov rcx, qword [rax]
mov edx, 1
call fcn.140005c70
or rbx, rbx
jne 0x14009ac46
add rdi, 0xa0
add r14, 0xa0
cmp r14, r12
jne 0x14009a720
jmp 0x14009adbf
movzx eax, byte [rsp + 0x218]
test rax, rax
je 0x14009abb5
cmp eax, 1
je 0x14009ab98
cmp qword [rsp + 0x220], 0
je 0x14009abb5
cmp qword [rsp + 0x228], 0
je 0x14009abb5
mov rcx, qword [rsp + 0x220]
mov edx, 1
call fcn.140005c70
cmp dword [rsp + 0x280], 2
jne 0x14009abdc
cmp qword [rsp + 0x290], 0
je 0x14009abdc
mov rcx, qword [rsp + 0x288]
mov edx, 1
call fcn.140005c70
cmp qword [rsp + 0x318], 0
lea rax, [rsp + 0x310]
jne 0x14009ab49
jmp 0x14009ab56
mov al, 1
jmp 0x14009ade4
lea rcx, [rsp + 0x5f8]
call fcn.140097020
lea rcx, [rsp + 0x498]
call fcn.140097020
mov sil, 1
lea rcx, [rsp + 0x500]
call fcn.140082370
mov al, 1
sub esi, esi
jmp 0x14009ac62
mov qword [rsp + 0x190], rdi
lea rcx, [rsp + 0x5e0]
call fcn.14009ec70
jmp 0x14009ac4e
mov qword [rsp + 0x190], rdi
sub esi, esi
lea rcx, [rsp + 0x180]
call fcn.1400775a0
mov sil, 1
sub eax, eax
mov dil, 1
mov dword [rsp + 0x98], eax
lea rcx, [rsp + 0x140]
call fcn.140089d30
cmp qword [rsp + 0x148], 0
je 0x14009ac96
mov rcx, qword [rsp + 0x140]
mov edx, 8
call fcn.140005c70
mov r12, qword [rsp + 0x438]
test r12, r12
je 0x14009ad72
mov qword [rsp + 0xc0], rdi
mov dword [rsp + 0xb0], esi
mov r14, qword [rsp + 0x430]
mov r13, qword [rsp + 0x448]
test r13, r13
je 0x14009ad37
movdqa xmm0, xmmword [r14]
pmovmskb r15d, xmm0
not r15d
lea rdi, [r14 + 0x10]
mov rsi, r14
nop
test r15w, r15w
jne 0x14009ad10
nop word cs:[rax + rax]
movdqa xmm0, xmmword [rdi]
pmovmskb r15d, xmm0
add rsi, 0xfffffffffffffe00
add rdi, 0x10
cmp r15d, 0xffff
je 0x14009acf0
not r15d
tzcnt eax, r15d
shl rax, 5
push rsi
pop rcx
nop
sub rcx, rax
add rcx, 0xffffffffffffffe8
call fcn.140085910
lea eax, [r15 - 1]
and eax, r15d
mov r15d, eax
dec r13
jne 0x14009ace0
mov rax, r12
shl rax, 5
add r12, rax
cmp r12, 0xffffffffffffffcf
mov r15, qword [rsp + 0xc8]
mov esi, dword [rsp + 0xb0]
mov rdi, qword [rsp + 0xc0]
je 0x14009ad72
sub r14, rax
add r14, 0xffffffffffffffe0
mov edx, 0x10
mov rcx, r14
call fcn.140005c70
test dil, dil
je 0x14009ad7f
mov rcx, r15
call fcn.140089610
mov rcx, r15
call fcn.140089290
lea rcx, [rsp + 0xd8]
call fcn.140089bd0
cmp qword [rsp + 0xe0], 0
je 0x14009adb1
mov rcx, qword [rsp + 0xd8]
mov edx, 8
call fcn.140005c70
test sil, sil
je 0x14009810c
jmp 0x14009813c
mov rdi, r12
mov qword [rsp + 0x190], rdi
movzx r13d, byte [rsp + 0xa8]
sub esi, esi
lea rcx, [rsp + 0x180]
call fcn.1400775a0
sub eax, eax
mov dword [rsp + 0x98], eax
lea rcx, [rsp + 0x140]
call fcn.140089d30
cmp qword [rsp + 0x148], 0
je 0x14009ae15
mov rcx, qword [rsp + 0x140]
mov edx, 8
call fcn.140005c70
mov rbx, qword [rsp + 0x438]
test rbx, rbx
je 0x14009aed4
mov rsi, qword [rsp + 0x430]
mov r14, qword [rsp + 0x448]
or r14, r14
je 0x14009aea8
movdqa xmm0, xmmword [rsi]
pmovmskb r12d, xmm0
not r12d
lea rdi, [rsi + 0x10]
mov r15, rsi
nop
test r12w, r12w
jne 0x14009ae80
nop word cs:[rax + rax]
movdqa xmm0, xmmword [rdi]
pmovmskb r12d, xmm0
add r15, 0xfffffffffffffe00
add rdi, 0x10
cmp r12d, 0xffff
je 0x14009ae60
not r12d
tzcnt eax, r12d
shl rax, 5
mov rcx, r15
sub rcx, rax
add rcx, 0xffffffffffffffe8
call fcn.140085910
lea eax, [r12 - 1]
and eax, r12d
mov r12d, eax
dec r14
jne 0x14009ae50
push rbx
nop
pop rax
shl rax, 5
add rbx, rax
cmp rbx, 0xffffffffffffffcf
mov r15, qword [rsp + 0xc8]
je 0x14009aed4
sub rsi, rax
add rsi, 0xffffffffffffffe0
mov edx, 0x10
mov rcx, rsi
call fcn.140005c70
mov rcx, r15
call fcn.140089610
mov rcx, r15
call fcn.140089290
lea rcx, [rsp + 0xd8]
call fcn.140089bd0
cmp qword [rsp + 0xe0], 0
je 0x14009af0e
mov rcx, qword [rsp + 0xd8]
mov edx, 8
call fcn.140005c70
test r13b, r13b
jne 0x14009af43
mov rdi, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x130]
mov rcx, rdi
call fcn.1400682b0
cmp qword [rsp + 0x128], 0
je 0x14009af43
mov edx, 8
push rdi
pop rcx
nop
call fcn.140005c70
xor ebx, ebx
jmp 0x14009813c
mov dil, 1
jmp 0x14009a617
xor ebx, ebx
xor edi, edi
jmp 0x14009a617
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], r13
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x140115e80]
mov edx, 0x2b
call fcn.14000dc00
jmp 0x14009b1e3
mov qword [rsp + 0x150], rdi
mov ecx, 1
nop
push rbx
pop rdx
call fcn.140006d30
jmp 0x14009b1e3
mov qword [rsp + 0x150], rdi
call fcn.140006ae0
jmp 0x14009b1e3
mov qword [rsp + 0xe8], rdi
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xf0], rax
lea rax, [0x140115de8]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140115ba8]
lea r8, [rsp + 0x200]
mov edx, 0x2b
call fcn.14000d260
jmp 0x14009b1e3
mov qword [rsp + 0x190], rdi
lea rax, [0x140115e00]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140115ba8]
lea r8, [rsp + 0x200]
mov edx, 0x2b
call fcn.14000d260
jmp 0x14009b1e3
mov ecx, pe_nt_image_headers64
mov edx, 0x200
call fcn.140006d30
jmp 0x14009b1e3
mov qword [rsp + 0x200], rdx
mov dword [rsp + 0x208], eax
lea rax, str.library_test_srchelpers_shuffle.rsTERMINFOTERMINFO_DIRS_usr_share_terminfo.terminfo_etc_terminfo_lib_terminfo_boot_system_data_terminfo
mov qword [rsp + 0x20], rax
lea rcx, str.Failed_to_get_system_time
lea r9, [0x140116060]
lea r8, [rsp + 0x200]
mov edx, 0x19
call fcn.14000d260
jmp 0x14009b1e3
mov qword [rsp + 0xe8], rdi
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xf0], rax
mov ecx, 1
push rbx
pop rdx
nop
call fcn.140006d30
jmp 0x14009b1e3
mov qword [rsp + 0xe8], rdi
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xf0], rax
call fcn.140006ae0
jmp 0x14009b1e3
mov ecx, 1
mov rdx, r15
call fcn.140006d30
jmp 0x14009b1e3
call fcn.140006ae0
jmp 0x14009b1e3
mov ecx, 1
mov rdx, r12
call fcn.140006d30
jmp 0x14009b1e3
call fcn.140006ae0
jmp 0x14009b1e3
mov ecx, 8
mov rdx, rbx
call fcn.140006d30
jmp 0x14009b1e3
mov r15, rdi
mov qword [rsp + 0xe8], r15
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xf0], rax
lea rax, [0x140115dd0]
mov qword [rsp + 0x470], rax
mov sil, 1
lea rcx, str.called__Option::unwrap____on_a__None__value
mov edx, 0x2b
mov r8, qword [rsp + 0x470]
call fcn.14000dc00
jmp 0x14009b1e3
mov qword [rsp + 0x190], rdi
mov ecx, 1
push rbx
nop
pop rdx
call fcn.140006d30
jmp 0x14009b1e3
mov qword [rsp + 0x190], rdi
call fcn.140006ae0
jmp 0x14009b1e3
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x140115e30]
mov edx, 0x2b
call fcn.14000dc00
jmp 0x14009b1e3
mov byte [rsp + 0x200], bl
lea rax, [0x140115e18]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140115bc8]
lea r8, [rsp + 0x200]
mov edx, 0x2b
call fcn.14000d260
ud2
mov ecx, 7
int 0x29
ud2
mov ecx, 7
int 0x29
ud2
mov ecx, 7
int 0x29
ud2