Function at 0x14006b7d0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2d8
movapd xmmword [rsp + 0x2c0], xmm15
movapd xmmword [rsp + 0x2b0], xmm14
movapd xmmword [rsp + 0x2a0], xmm13
movapd xmmword [rsp + 0x290], xmm12
movapd xmmword [rsp + 0x280], xmm11
movdqa xmmword [rsp + 0x270], xmm10
movapd xmmword [rsp + 0x260], xmm9
movapd xmmword [rsp + 0x250], xmm8
movapd xmmword [rsp + 0x240], xmm7
movdqa xmmword [rsp + 0x230], xmm6
movdqu xmm0, xmmword [rcx + 0x6f0]
pcmpeqd xmm1, xmm1
psubq xmm0, xmm1
movdqu xmmword [rcx + 0x6f0], xmm0
movzx r10d, byte [rcx + 0x116]
mov eax, dword [rcx + 0x108]
test eax, eax
je 0x14006b90b
dec eax
mov dword [rcx + 0x108], eax
xor eax, eax
test r10b, r10b
sete al
mov dword [rcx + 0x10c], eax
xor eax, eax
cmp byte [rcx + 0x117], 0
sete al
mov dword [rcx + 0x110], eax
mov word [rcx + 0x116], 0
xor r8d, r8d
movzx r14d, byte [rcx + 0x114]
mov r9, qword [rcx + 0x100]
movabs rax, 0xa0761d6478bd642f
lea rdx, [r9 + rax]
mov rax, rdx
movabs r11, 0xe7037ed1a0b428db
xor rax, r11
mul rdx
xor edx, eax
mov eax, r14d
mov dword [rsp + 0x28], eax
test dl, 0xf
mov qword [rsp + 0x30], rcx
jne 0x14006b9fa
test r8b, r8b
je 0x14006b955
mov al, 1
mov cl, 0x64
mov dword [rsp + 0x28], ecx
cmp r14b, 0x64
mov rcx, qword [rsp + 0x30]
jne 0x14006b965
jmp 0x14006b9fa
mov eax, dword [rcx + 0x110]
test eax, eax
je 0x14006b977
dec eax
mov dword [rcx + 0x110], eax
je 0x14006b9d8
mov eax, dword [rcx + 0x10c]
test eax, eax
je 0x14006ba9c
mov r8d, r10d
dec eax
mov dword [rcx + 0x10c], eax
jne 0x14006b8a7
mov r8d, r10d
xor r8b, 1
mov byte [rcx + 0x116], r8b
jmp 0x14006b8a7
mov al, 0xff
test r14b, r14b
mov rcx, qword [rsp + 0x30]
je 0x14006b9f2
add al, r14b
mov byte [rcx + 0x114], al
mov dword [rsp + 0x28], eax
jmp 0x14006b9fa
mov r8, qword [rcx + 0x100]
movabs rax, 0xa0761d6478bd642f
add r8, rax
mov rax, r8
movabs rdx, 0xe7037ed1a0b428db
xor rax, rdx
mul r8
xor edx, eax
cmp byte [rcx + 0x117], 0
mov qword [rcx + 0x100], r8
je 0x14006ba7a
movzx eax, dl
imul eax, eax, 0x3d
add eax, 0xe10
mov dword [rcx + 0x110], eax
mov eax, dword [rcx + 0x10c]
test eax, eax
jne 0x14006b931
jmp 0x14006ba9c
xor byte [rcx + 0x117], 1
mov eax, dword [rcx + 0x10c]
test eax, eax
jne 0x14006b931
jmp 0x14006ba9c
mov dword [rsp + 0x28], 0
mov rsi, qword [rcx + 0x248]
mov rdi, qword [rcx + 0x258]
movzx ebx, byte [rcx + 0x115]
movabs rax, 0x40ec3ac8f17ac85e
add r9, rax
mov qword [rcx + 0x100], r9
mov rax, r9
movabs rcx, 0xe7037ed1a0b428db
xor rax, rcx
mul r9
xor edx, eax
mov ecx, ebx
test dl, 0xf
jne 0x14006baf0
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x117], 0
je 0x14006ba5f
mov al, 1
mov cl, 0x64
cmp bl, 0x64
jne 0x14006ba69
jmp 0x14006baf0
mov al, 0xff
test bl, bl
je 0x14006baee
add al, bl
mov rcx, qword [rsp + 0x30]
mov byte [rcx + 0x115], al
mov ecx, eax
jmp 0x14006baf0
and edx, 0x7ff
imul eax, edx, 0x52
add eax, 0x2ee0
mov dword [rcx + 0x110], eax
mov eax, dword [rcx + 0x10c]
test eax, eax
jne 0x14006b931
mov r8, qword [rcx + 0x100]
movabs rax, 0xa0761d6478bd642f
add r8, rax
mov rax, r8
movabs rdx, 0xe7037ed1a0b428db
xor rax, rdx
mul r8
xor edx, eax
mov qword [rcx + 0x100], r8
test r10b, r10b
je 0x140070806
movzx eax, dl
imul eax, eax, 0x2f
add eax, 0x2ee0
mov dword [rcx + 0x10c], eax
mov r8b, 1
jmp 0x14006b8a7
xor ecx, ecx
mov dword [rsp + 0x50], ecx
test r10b, r10b
setne al
test r8b, r8b
setne cl
cmp al, cl
je 0x14006bbb8
test rdi, rdi
je 0x14006bc85
mov r12b, 2
sub r12b, r8b
lea rax, [rdi*8]
lea r13, [rax + rax*2]
xor ebp, ebp
jmp 0x14006bb3d
inc qword [r15 + 0x10]
add rbp, 0x18
cmp r13, rbp
je 0x14006bbb8
mov r15, qword [rsi + rbp + 8]
cmp byte [r15 + 0x40], 0
jne 0x14006bb34
cmp qword [r15 + 0x10], 0
jne 0x140071af4
mov qword [r15 + 0x10], 0xffffffffffffffff
mov rax, qword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
sub rax, rdx
cmp rax, 6
jbe 0x14006bba3
mov rax, qword [r15 + 0x18]
mov word [rax + rdx], 0x2006
mov byte [rax + rdx + 2], r12b
mov dword [rax + rdx + 3], 0
add qword [r15 + 0x28], 7
mov rax, qword [r15 + 0x30]
mov rcx, qword [r15 + 0x38]
mov qword [r15 + 0x30], 0
test rax, rax
je 0x14006bb30
call qword [rax + 8]
jmp 0x14006bb30
lea rcx, [r15 + 0x18]
mov r8d, 7
call fcn.1401639e0
mov rdx, qword [r15 + 0x28]
jmp 0x14006bb6d
cmp r14b, byte [rsp + 0x28]
je 0x14006bc85
test rdi, rdi
je 0x14006bc85
movzx eax, byte [rsp + 0x28]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm0, dword [0x140169440]
movd r14d, xmm0
bswap r14d
lea rax, [rdi*8]
lea r15, [rax + rax*2]
xor r12d, r12d
jmp 0x14006bc0d
inc qword [r13 + 0x10]
add r12, 0x18
cmp r15, r12
je 0x14006bc85
mov r13, qword [rsi + r12 + 8]
cmp byte [r13 + 0x40], 0
jne 0x14006bc04
cmp qword [r13 + 0x10], 0
jne 0x140071af4
mov qword [r13 + 0x10], 0xffffffffffffffff
mov rax, qword [r13 + 0x20]
mov rdx, qword [r13 + 0x28]
sub rax, rdx
cmp rax, 6
jbe 0x14006bc70
mov rax, qword [r13 + 0x18]
mov word [rax + rdx], 0x2006
mov byte [rax + rdx + 2], 7
mov dword [rax + rdx + 3], r14d
add qword [r13 + 0x28], 7
mov rax, qword [r13 + 0x30]
mov rcx, qword [r13 + 0x38]
mov qword [r13 + 0x30], 0
test rax, rax
je 0x14006bc00
call qword [rax + 8]
jmp 0x14006bc00
lea rcx, [r13 + 0x18]
mov r8d, 7
call fcn.1401639e0
mov rdx, qword [r13 + 0x28]
jmp 0x14006bc3d
mov eax, dword [rsp + 0x50]
cmp bl, al
je 0x14006bd44
test rdi, rdi
je 0x14006bd44
movzx eax, al
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm0, dword [0x140169440]
movd ebx, xmm0
bswap ebx
shl rdi, 3
lea rdi, [rdi + rdi*2]
xor r14d, r14d
jmp 0x14006bccd
inc qword [r15 + 0x10]
add r14, 0x18
cmp rdi, r14
je 0x14006bd44
mov r15, qword [rsi + r14 + 8]
cmp byte [r15 + 0x40], 0
jne 0x14006bcc4
cmp qword [r15 + 0x10], 0
jne 0x140071af4
mov qword [r15 + 0x10], 0xffffffffffffffff
mov rax, qword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
sub rax, rdx
cmp rax, 6
jbe 0x14006bd2f
mov rax, qword [r15 + 0x18]
mov word [rax + rdx], 0x2006
mov byte [rax + rdx + 2], 8
mov dword [rax + rdx + 3], ebx
add qword [r15 + 0x28], 7
mov rax, qword [r15 + 0x30]
mov rcx, qword [r15 + 0x38]
mov qword [r15 + 0x30], 0
test rax, rax
je 0x14006bcc0
call qword [rax + 8]
jmp 0x14006bcc0
lea rcx, [r15 + 0x18]
mov r8d, 7
call fcn.1401639e0
mov rdx, qword [r15 + 0x28]
jmp 0x14006bcfd
mov r14, qword [rsp + 0x30]
lea rax, [r14 + 0x160]
mov qword [rsp + 0xc8], rax
mov rax, qword [r14 + 0x6e0]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14006ca33
mov rdx, qword [r14 + 0x178]
test rdx, rdx
je 0x14006ca33
mov r8d, dword [r14 + 0x180]
mov rax, qword [rsp + 0xc8]
mov r9, qword [rax]
lea rcx, [r9 + 0x10]
movdqa xmm0, xmmword [r9]
pmovmskb eax, xmm0
mov qword [rsp + 0xa8], r8
test r8d, r8d
jle 0x14006ca17
not eax
mov r8, qword [r14 + 0x6e8]
pcmpeqd xmm6, xmm6
mov r15d, 1
jmp 0x14006bdfe
mov rcx, qword [rsp + 0xd0]
lea eax, [rcx - 1]
and eax, ecx
mov rdx, qword [rsp + 0xb0]
dec rdx
mov rcx, qword [rsp + 0x98]
mov r9, qword [rsp + 0x180]
je 0x14006ca33
test ax, ax
mov qword [rsp + 0xb0], rdx
je 0x14006be20
mov qword [rsp + 0x98], rcx
jmp 0x14006be44
movdqa xmm0, xmmword [rcx]
pmovmskb eax, xmm0
add r9, 0xfffffffffffff900
add rcx, 0x10
cmp eax, 0xffff
je 0x14006be20
mov qword [rsp + 0x98], rcx
not eax
mov qword [rsp + 0xd0], rax
tzcnt eax, eax
neg rax
imul rbp, rax, 0x70
mov qword [rsp + 0x180], r9
add rbp, r9
xor edx, edx
mov qword [rsp + 0x28], rbp
jmp 0x14006be86
mov rdx, qword [rsp + 0x68]
inc rdx
cmp rdx, qword [rsp + 0xa8]
je 0x14006bdd0
mov rax, qword [rbp - 0x68]
lea rcx, [rdx + rdx*4]
shl rcx, 4
cmp word [rax + rcx + 0x48], 0
mov qword [rsp + 0x68], rdx
je 0x14006be70
mov rax, rdx
shl rax, 0x24
sar rax, 0x24
mov qword [rsp + 0x58], rax
shl rax, 4
lea rax, [rax + rax*4]
mov qword [rsp + 0x88], rax
mov eax, edx
shl eax, 4
mov dword [rsp + 0x48], eax
xor r10d, r10d
jmp 0x14006bf1d
mov r10, qword [r9]
shr ecx, 1
movzx r10d, byte [r10 + rcx]
lea ecx, [r12*4]
and cl, 4
shr r10, cl
and r10d, 0xf
lea r9, [r9 + r10*2]
add r9, 8
cmp word [r9], 0
je 0x14006c2e1
nop dword [rax]
mov r10, qword [rsp + 0x38]
inc r10
cmp r10, qword [rsp + 0x70]
mov r14, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
je 0x14006be70
movabs rax, 0xa0761d6478bd642f
add r8, rax
mov qword [r14 + 0x6e8], r8
mov rax, r8
movabs rcx, 0xe7037ed1a0b428db
xor rax, rcx
mov qword [rsp + 0x50], r8
mul r8
mov rdi, rdx
xor edi, eax
mov r12d, edi
and r12d, 0xf
mov edx, edi
shr edx, 8
and edx, 0xf
shr edi, 4
and edi, 0xf
mov r13, qword [rbp - 0x68]
mov r11, qword [rbp - 0x60]
mov rax, qword [rsp + 0x58]
cmp r11, rax
setbe cl
lea rbp, [rax + rax*4]
shl rbp, 4
mov rax, r13
add rax, rbp
test r13, r13
sete r9b
or r9b, cl
mov qword [rsp + 0x38], r10
je 0x14006bfa0
xor r8d, r8d
jmp 0x14006bff7
mov r8d, edi
shl r8d, 4
mov ecx, edx
shl ecx, 8
or ecx, r8d
or ecx, r12d
mov r8, qword [rax + 0x28]
test r8, r8
je 0x14006bfc7
cmp r8, 1
jne 0x14006bfcf
lea rcx, [rax + 8]
jmp 0x14006bff3
add rcx, rcx
add rcx, qword [rax]
jmp 0x14006bff3
mov r8, qword [rax]
shr ecx, 1
movzx r8d, byte [r8 + rcx]
lea ecx, [r12*4]
and cl, 4
shr r8, cl
and r8d, 0xf
lea rcx, [rax + r8*2]
add rcx, 8
movzx r8d, word [rcx]
mov r14d, edx
or r14d, dword [rsp + 0x48]
movzx ecx, r8w
lea r10, [0x140177470]
movzx ecx, word [r10 + rcx*2]
cmp ecx, 0x2d6
je 0x14006c0c0
cmp ecx, 0x2d7
mov rbp, qword [rsp + 0x28]
jne 0x14006bf00
lea eax, [r8 + 0x6f]
movzx eax, al
lea rcx, [0x140183218]
movzx eax, byte [rax + rcx]
test al, 1
jne 0x14006bf00
mov ebx, dword [rbp - 0x70]
mov esi, dword [rbp - 0x6c]
lea edx, [r14 + 1]
mov ecx, edx
sar ecx, 4
movsxd rcx, ecx
cmp r11, rcx
jbe 0x14006c2e1
test r13, r13
je 0x14006c2e1
lea r9, [rcx + rcx*4]
shl r9, 4
add r9, r13
mov r10d, edi
shl r10d, 4
mov ecx, edx
and ecx, 0xf
shl ecx, 8
or ecx, r10d
or ecx, r12d
mov r10, qword [r9 + 0x28]
test r10, r10
je 0x14006c2cd
cmp r10, 1
jne 0x14006becd
add r9, 8
cmp word [r9], 0
jne 0x14006bf00
jmp 0x14006c2e1
shl edi, 4
test r9b, r9b
jne 0x14006c120
shl edx, 8
or edx, edi
or edx, r12d
mov r8, qword [rax + 0x28]
test r8, r8
je 0x14006c103
cmp r8, 1
jne 0x14006c238
movzx esi, word [rax + 8]
cmp esi, 0x3291
je 0x14006c120
mov rcx, rax
mov r8w, 0x3291
call fcn.1401627c0
test si, si
jne 0x14006c120
jmp 0x14006c115
mov rax, qword [rax]
movzx esi, word [rax + rdx*2]
mov word [rax + rdx*2], 0x3291
test si, si
jne 0x14006c120
inc word [r13 + rbp + 0x48]
nop dword [rax + rax]
shl r14d, 8
or r14d, edi
or r14d, r12d
mov rax, r14
movabs rcx, 0xb09218e8ff80214e
xor rax, rcx
movabs rcx, 0x5851f42d4c957f2d
mul rcx
mov rcx, rax
xor rcx, rdx
mov rax, rcx
movabs rdx, 0x1e2c617950884790
mul rdx
mov rdi, rdx
xor rdi, rax
rol rdi, cl
mov rbp, qword [rsp + 0x28]
cmp qword [rbp - 0x48], 0
je 0x14006c37e
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
mov rcx, rdi
shr rcx, 0x39
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r9d, r9d
xor r10d, r10d
and rdi, rdx
movdqu xmm1, xmmword [rax + rdi]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb r11d, xmm2
nop word cs:[rax + rax]
test r11w, r11w
je 0x14006c1f0
lea esi, [r11 - 1]
and esi, r11d
tzcnt r11d, r11d
add r11, rdi
and r11, rdx
shl r11, 2
mov rbx, rax
sub rbx, r11
mov r11d, esi
cmp dword [rbx - 4], r14d
jne 0x14006c1c0
jmp 0x14006bf00
cmp r10, 1
mov r10d, 1
je 0x14006c216
pmovmskb r8d, xmm1
xor r10d, r10d
test r8d, r8d
setne r10b
tzcnt r8d, r8d
add r8, rdi
and r8, rdx
pcmpeqb xmm1, xmm6
pmovmskb r11d, xmm1
test r11d, r11d
jne 0x14006c9a8
add rdi, r9
add rdi, 0x10
add r9, 0x10
jmp 0x14006c19d
mov rcx, qword [rsp + 0x88]
add rcx, r13
add rcx, 8
lea r10, [r8 + r8]
xor r11d, r11d
xor ebx, ebx
movzx esi, word [rcx + r11*2]
cmp esi, 0x3291
movzx r9d, r9b
cmove r9d, r11d
cmove rbx, r15
inc r11
add r10, 0xfffffffffffffffe
jne 0x14006c250
mov r10, qword [rax]
mov r11d, edx
shr r11d, 1
movzx r15d, byte [r10 + r11]
lea ecx, [r12*4]
and cl, 4
mov esi, r15d
shr sil, cl
and sil, 0xf
movzx esi, sil
movzx esi, word [rax + rsi*2 + 8]
cmp rbx, 1
jne 0x14006c33a
mov al, 0xf
shl al, cl
shl r9b, cl
not al
and r15b, al
or r9b, r15b
mov byte [r10 + r11], r9b
mov r15d, 1
test si, si
jne 0x14006c120
jmp 0x14006c115
add rcx, rcx
add rcx, qword [r9]
mov r9, rcx
cmp word [r9], 0
jne 0x14006bf00
lea ebp, [r14 - 1]
mov ecx, ebp
sar ecx, 4
movsxd rcx, ecx
xor r9d, r9d
cmp r11, rcx
jbe 0x14006c3bf
test r13, r13
je 0x14006c3bf
lea r9, [rcx + rcx*4]
shl r9, 4
add r9, r13
mov r10d, edi
shl r10d, 4
mov ecx, ebp
and ecx, 0xf
shl ecx, 8
or ecx, r10d
or ecx, r12d
mov r10, qword [r9 + 0x28]
test r10, r10
je 0x14006c38c
cmp r10, 1
jne 0x14006c397
add r9, 8
jmp 0x14006c3bb
cmp r8, 0x10
je 0x14006c9f6
mov word [rax + r8*2 + 8], 0x3291
mov rdx, qword [rax + 0x28]
lea r8, [rdx + 1]
mov qword [rax + 0x28], r8
mov al, 0xf
shl al, cl
not al
shl dl, cl
and al, byte [r10 + r11]
or dl, al
mov byte [r10 + r11], dl
mov r15d, 1
test si, si
jne 0x14006c120
jmp 0x14006c115
lea rcx, [rbp - 0x58]
call fcn.1401622e0
jmp 0x14006c176
add rcx, rcx
add rcx, qword [r9]
mov r9, rcx
jmp 0x14006c3bb
mov r10, qword [r9]
shr ecx, 1
movzx r10d, byte [r10 + rcx]
lea ecx, [r12*4]
and cl, 4
shr r10, cl
and r10d, 0xf
lea r9, [r9 + r10*2]
add r9, 8
movzx r9d, word [r9]
mov dword [rsp + 0x40], esi
lea r10d, [r14 - 2]
mov ecx, r10d
sar ecx, 4
movsxd rsi, ecx
xor ecx, ecx
cmp r11, rsi
jbe 0x14006c445
test r13, r13
je 0x14006c445
lea rcx, [rsi + rsi*4]
shl rcx, 4
add r13, rcx
mov r11d, edi
shl r11d, 4
mov ecx, r10d
and ecx, 0xf
shl ecx, 8
or ecx, r11d
or ecx, r12d
mov r11, qword [r13 + 0x28]
test r11, r11
je 0x14006c412
cmp r11, 1
jne 0x14006c41e
add r13, 8
jmp 0x14006c440
add rcx, rcx
add rcx, qword [r13]
mov r13, rcx
jmp 0x14006c440
mov r11, qword [r13]
shr ecx, 1
movzx r11d, byte [r11 + rcx]
lea ecx, [r12*4]
and cl, 4
shr r11, cl
and r11d, 0xf
lea r13, [r13 + r11*2 + 8]
movzx ecx, word [r13]
mov dword [rsp + 0x78], ebp
mov dword [rsp + 0x60], edx
mov edx, ebx
movzx r11d, cx
lea rsi, [0x140177470]
movzx ebp, word [rsi + r11*2]
cmp ebp, 0x2d7
sete bl
mov r11d, 0
mov esi, 6
cmove r11d, esi
shl bl, 3
test al, 8
cmovne r11d, esi
movzx ebx, bl
mov esi, 8
cmovne ebx, esi
mov esi, ecx
cmp ebp, 0x2d7
jne 0x14006c4b8
lea esi, [rcx + 0x6f]
movzx esi, sil
lea r15, [0x140183218]
movzx esi, byte [rsi + r15]
and esi, 7
movzx r15d, r11b
add esi, r15d
add esi, 0x3291
movzx r15d, r9w
lea r13, [0x140177470]
movzx ebp, word [r13 + r15*2]
cmp ebp, 0x2d7
jne 0x14006c53e
lea ebp, [r9 + 0x6f]
movzx r15d, bpl
lea r13, [0x140183218]
movzx r15d, byte [r15 + r13]
mov ebp, r15d
and bpl, 7
or bpl, bl
mov ebx, r15d
shr bl, 1
test bl, 3
je 0x14006c545
movzx ebx, si
lea r13, [0x140177470]
movzx r13d, word [r13 + rbx*2]
mov bl, 4
cmp r13d, 0x2d7
jne 0x14006c547
and bpl, 9
or bpl, 2
mov esi, r15d
and sil, 1
shl r15b, 4
sar r15b, 7
and r15b, 6
or r15b, sil
movzx esi, r15b
add esi, 0x3291
jmp 0x14006c547
xor ebx, ebx
mov ebp, r9d
jmp 0x14006c567
mov bl, 2
mov r15d, ebp
and r15b, 7
shl bpl, 4
sar bpl, 7
and bpl, 6
add bpl, r15b
movzx ebp, bpl
add ebp, 0x3291
shl edx, 4
or r12d, edx
mov r15d, dword [rsp + 0x40]
shl r15d, 4
or edi, r15d
and al, 7
add al, r11b
add bl, r11b
movzx r11d, bl
or r11d, 0x3291
mov word [rsp + 0xe0], r11w
mov word [rsp + 0xe2], 0
mov dword [rsp + 0xe4], r12d
mov edx, dword [rsp + 0x60]
mov dword [rsp + 0xe8], edx
mov dword [rsp + 0xec], edi
mov word [rsp + 0xf0], bp
mov word [rsp + 0xf2], r9w
mov dword [rsp + 0xf4], r12d
mov edx, dword [rsp + 0x78]
mov dword [rsp + 0xf8], edx
mov dword [rsp + 0xfc], edi
mov word [rsp + 0x100], si
mov word [rsp + 0x102], cx
mov dword [rsp + 0x104], r12d
mov dword [rsp + 0x108], r10d
movzx eax, al
add eax, 0x3291
mov dword [rsp + 0x10c], edi
mov word [rsp + 0x110], ax
mov word [rsp + 0x112], r8w
mov dword [rsp + 0x114], r12d
mov dword [rsp + 0x118], r14d
mov dword [rsp + 0x11c], edi
mov qword [rsp + 0x128], 4
xor r14d, r14d
mov r15d, 1
mov rbp, qword [rsp + 0x28]
jmp 0x14006c69a
and r9b, 1
movzx r9d, r9b
sub qword [rbp - 0x48], r9
lea r9, [r8 - 0x10]
and r9, rdx
mov byte [rax + r8], cl
mov byte [r9 + rax + 0x10], cl
inc qword [rbp - 0x40]
shl r8, 2
neg r8
mov dword [rax + r8 - 4], r12d
nop word cs:[rax + rax]
cmp r14, 4
je 0x14006bf00
mov rax, r14
inc r14
mov qword [rsp + 0x120], r14
shl rax, 4
movzx edi, word [rsp + rax + 0xe0]
cmp di, word [rsp + rax + 0xe2]
je 0x14006c690
mov r13d, dword [rsp + rax + 0xe4]
mov r12d, dword [rsp + rax + 0xe8]
mov ecx, dword [rsp + rax + 0xec]
mov eax, r12d
sar eax, 4
cdqe
cmp qword [rbp - 0x60], rax
jbe 0x14006c750
mov rbx, qword [rbp - 0x68]
test rbx, rbx
je 0x14006c750
lea rsi, [rax + rax*4]
shl rsi, 4
lea rax, [rbx + rsi]
and r13d, 0xf
shl ecx, 4
movzx ebp, cl
shl r12d, 8
mov edx, r12d
and edx, 0xf00
or rdx, r13
or rdx, rbp
mov r8, qword [rbx + rsi + 0x28]
test r8, r8
je 0x14006c763
cmp r8, 1
jne 0x14006c774
movzx ecx, word [rax + 8]
mov r15d, edi
cmp cx, di
je 0x14006c830
mov r15d, ecx
mov rcx, rax
mov r8d, edi
call fcn.1401627c0
jmp 0x14006c830
and r13d, 0xf
shl ecx, 4
movzx ebp, cl
shl r12d, 8
jmp 0x14006c85a
mov rax, qword [rax]
movzx r15d, word [rax + rdx*2]
mov word [rax + rdx*2], di
jmp 0x14006c830
lea rcx, [r8 + r8]
xor r11d, r11d
xor r10d, r10d
nop
cmp word [rax + r11*2 + 8], di
movzx r9d, r9b
cmove r9d, r11d
cmove r10, r15
inc r11
add rcx, 0xfffffffffffffffe
jne 0x14006c780
mov rcx, qword [rax]
mov r11d, edx
shr r11d, 1
mov qword [rsp + 0x40], rcx
movzx r15d, byte [rcx + r11]
lea ecx, [r13*4]
and cl, 4
mov byte [rsp + 0x60], r15b
shr r15b, cl
and r15b, 0xf
movzx r15d, r15b
movzx r15d, word [rax + r15*2 + 8]
cmp r10, 1
jne 0x14006c7f3
mov al, 0xf
shl al, cl
shl r9b, cl
not al
movzx ecx, byte [rsp + 0x60]
and cl, al
or r9b, cl
mov rax, qword [rsp + 0x40]
mov byte [rax + r11], r9b
jmp 0x14006c830
mov r9, qword [rsp + 0x40]
cmp r8, 0x10
je 0x14006c998
mov word [rax + r8*2 + 8], di
mov rdx, qword [rax + 0x28]
lea r8, [rdx + 1]
mov qword [rax + 0x28], r8
mov al, 0xf
shl al, cl
not al
shl dl, cl
and al, byte [r9 + r11]
or dl, al
mov byte [r9 + r11], dl
nop word cs:[rax + rax]
test r15w, r15w
sete al
test di, di
sete cl
cmp cl, al
je 0x14006c854
neg r15w
mov eax, 0
sbb eax, eax
or eax, 1
add word [rbx + rsi + 0x48], ax
mov r15d, 1
or r12d, r13d
or r12d, ebp
mov rax, r12
movabs rcx, 0xb09218e8ff80214e
xor rax, rcx
movabs rcx, 0x5851f42d4c957f2d
mul rcx
mov rcx, rax
xor rcx, rdx
mov rax, rcx
movabs rdx, 0x1e2c617950884790
mul rdx
mov rdi, rdx
xor rdi, rax
rol rdi, cl
mov rbp, qword [rsp + 0x28]
cmp qword [rbp - 0x48], 0
je 0x14006c964
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
mov rcx, rdi
shr rcx, 0x39
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r9d, r9d
xor r10d, r10d
and rdi, rdx
movdqu xmm1, xmmword [rax + rdi]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb r11d, xmm2
nop dword [rax + rax]
test r11w, r11w
je 0x14006c920
lea esi, [r11 - 1]
and esi, r11d
tzcnt r11d, r11d
add r11, rdi
and r11, rdx
shl r11, 2
mov rbx, rax
sub rbx, r11
mov r11d, esi
cmp dword [rbx - 4], r12d
jne 0x14006c8f0
jmp 0x14006c690
cmp r10, 1
mov r10d, 1
je 0x14006c946
pmovmskb r8d, xmm1
xor r10d, r10d
test r8d, r8d
setne r10b
tzcnt r8d, r8d
add r8, rdi
and r8, rdx
pcmpeqb xmm1, xmm6
pmovmskb r11d, xmm1
test r11d, r11d
jne 0x14006c972
add rdi, r9
add rdi, 0x10
add r9, 0x10
jmp 0x14006c8d3
lea rcx, [rbp - 0x58]
call fcn.1401622e0
jmp 0x14006c8ac
movzx r9d, byte [rax + r8]
test r9b, r9b
js 0x14006c657
movdqa xmm0, xmmword [rax]
pmovmskb r8d, xmm0
tzcnt r8d, r8d
movzx r9d, byte [rax + r8]
jmp 0x14006c657
mov rcx, rax
mov r8d, edi
call fcn.140162820
jmp 0x14006c830
movzx r9d, byte [rax + r8]
test r9b, r9b
js 0x14006c9c5
movdqa xmm0, xmmword [rax]
pmovmskb r8d, xmm0
tzcnt r8d, r8d
movzx r9d, byte [rax + r8]
and r9b, 1
movzx r9d, r9b
sub qword [rbp - 0x48], r9
lea r9, [r8 - 0x10]
and r9, rdx
mov byte [rax + r8], cl
mov byte [r9 + rax + 0x10], cl
inc qword [rbp - 0x40]
shl r8, 2
neg r8
mov dword [rax + r8 - 4], r14d
jmp 0x14006bf00
mov rcx, rax
mov r8w, 0x3291
call fcn.140162820
mov r15d, 1
test si, si
jne 0x14006c120
jmp 0x14006c115
cmp ax, 0xffff
jne 0x14006ca33
nop dword [rax]
movdqa xmm0, xmmword [rcx]
add rcx, 0x10
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x14006ca20
cmp qword [r14 + 0x288], 0
je 0x14006cce8
xor esi, esi
lea r15, [rsp + 0x1b0]
jmp 0x14006ca65
inc rsi
mov r14, qword [rsp + 0x30]
cmp rsi, qword [r14 + 0x288]
je 0x14006cce8
mov rax, qword [r14 + 0x278]
cmp dword [rax + rsi*8], 0
je 0x14006cce8
mov r12, qword [r14 + 0x290]
mov rdx, r14
mov r14d, dword [rax + rsi*8 + 4]
mov rax, qword [rdx + 0x2a8]
mov eax, dword [rax + r14*8 + 4]
lea rbp, [rax + rax*4]
mov rbx, qword [rdx + 0x6f0]
mov r10, qword [rdx + 0x6f8]
mov rax, qword [rdx + 0x248]
mov rcx, qword [rdx + 0x260]
mov r8, qword [rdx + 0x488]
mov r9, qword [rdx + 0x4a0]
movzx edx, byte [r12 + rbp*8 + 0x20]
inc dl
mov byte [r12 + rbp*8 + 0x20], dl
cmp dl, 0x20
jne 0x14006ca50
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x28], r8
lea rdx, [r12 + rbp*8]
add rdx, 0x20
mov byte [rdx], 0
mov ecx, dword [rcx + r14*8 + 4]
lea rcx, [rcx + rcx*2]
lea rdx, [rax + rcx*8]
add rdx, 8
mov qword [rsp + 0x38], rdx
mov r13, qword [rax + rcx*8 + 8]
cmp byte [r13 + 0x40], 0
jne 0x14006cbf0
cmp qword [r13 + 0x10], 0
jne 0x140071af4
mov rdi, r15
mov r15, qword [r12 + rbp*8 + 0x10]
mov qword [r13 + 0x10], 0xffffffffffffffff
mov rax, qword [r13 + 0x20]
mov rdx, qword [r13 + 0x28]
sub rax, rdx
cmp rax, 9
jbe 0x14006cca8
mov rax, qword [r13 + 0x18]
mov word [rax + rdx], 0x2409
bswap r15
mov qword [rax + rdx + 2], r15
add qword [r13 + 0x28], 0xa
mov rax, qword [r13 + 0x30]
mov rcx, qword [r13 + 0x38]
mov qword [r13 + 0x30], 0
test rax, rax
je 0x14006cb75
mov r15, r10
call qword [rax + 8]
mov r10, r15
inc qword [r13 + 0x10]
mov rax, qword [rsp + 0x38]
mov r13, qword [rax]
cmp byte [r13 + 0x40], 0
mov r15, rdi
jne 0x14006cbf0
cmp qword [r13 + 0x10], 0
jne 0x140071af4
mov qword [r13 + 0x10], 0xffffffffffffffff
mov rax, qword [r13 + 0x20]
mov rdx, qword [r13 + 0x28]
sub rax, rdx
cmp rax, 0x11
jbe 0x14006ccca
mov rax, qword [r13 + 0x18]
bswap rbx
mov word [rax + rdx], 0x6011
mov qword [rax + rdx + 2], rbx
bswap r10
mov qword [rax + rdx + 0xa], r10
add qword [r13 + 0x28], 0x12
mov rax, qword [r13 + 0x30]
mov rcx, qword [r13 + 0x38]
mov qword [r13 + 0x30], 0
test rax, rax
je 0x14006cbea
call qword [rax + 8]
inc qword [r13 + 0x10]
nop
mov qword [rsp + 0x1b0], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x140071b24
lea rdi, [r12 + rbp*8]
mov rcx, qword [rsp + 0x1b0]
call fcn.1400fd140
mov qword [rdi], rax
mov dword [rdi + 8], edx
mov eax, dword [r12 + rbp*8 + 0x18]
mov ecx, dword [r12 + rbp*8 + 0x1c]
mov edx, eax
sub edx, ecx
neg edx
mov r8d, eax
sub r8d, ecx
cmovb r8d, edx
cmp r8d, 2
mov r9, qword [rsp + 0x28]
mov r8, qword [rsp + 0x50]
jb 0x14006ca50
lea rdx, [r12 + rbp*8]
add rdx, 0x1c
mov r8d, dword [r8 + r14*8 + 4]
shl r8, 6
movdqu xmm0, xmmword [r9 + r8 + 0x30]
movdqa xmmword [rsp + 0xe0], xmm0
lea ecx, [rcx + rcx*2]
add ecx, eax
shr ecx, 2
mov dword [rdx], ecx
mov dword [rsp + 0xf0], ecx
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
add rcx, 0x10
mov r8d, 1
lea rdx, [rsp + 0xe0]
call fcn.1400379b0
jmp 0x14006ca50
lea rcx, [r13 + 0x18]
mov r8d, 0xa
mov qword [rsp + 0x58], r10
call fcn.1401639e0
mov r10, qword [rsp + 0x58]
mov rdx, qword [r13 + 0x28]
jmp 0x14006cb40
lea rcx, [r13 + 0x18]
mov r8d, 0x12
mov rdi, r10
call fcn.1401639e0
mov r10, rdi
mov rdx, qword [r13 + 0x28]
jmp 0x14006cbb3
mov rcx, qword [r14 + 0x248]
mov rdx, qword [r14 + 0x258]
mov eax, dword [r14 + 0x158]
inc eax
mov dword [r14 + 0x158], eax
cmp eax, 0x258
jne 0x14006cd37
lea r8, [r14 + 0x278]
mov dword [r14 + 0x158], 0
mov r9, qword [r14 + 0x488]
mov rax, qword [r14 + 0x4a0]
mov qword [rsp + 0x20], rax
call fcn.14006b100
cmp qword [r14 + 0x510], 0
je 0x14006cdd8
xor esi, esi
nop word [rax + rax]
mov rax, qword [r14 + 0x500]
cmp dword [rax + rsi*8], 0
je 0x14006cdd8
mov rcx, qword [r14 + 0x530]
mov eax, dword [rax + rsi*8 + 4]
mov ecx, dword [rcx + rax*8 + 4]
lea rcx, [rcx + rcx*4]
shl rcx, 3
add rcx, qword [r14 + 0x518]
inc rsi
mov r8, qword [r14 + 0x368]
mov rdx, qword [r14 + 0x380]
mov edx, dword [rdx + rax*8 + 4]
lea r9, [rdx + rdx*2]
mov edx, dword [r8 + r9*4]
mov r8d, dword [r8 + r9*4 + 8]
mov r9, qword [r14 + 0x248]
mov r10, qword [r14 + 0x260]
mov eax, dword [r10 + rax*8 + 4]
lea rax, [rax + rax*2]
mov r9, qword [r9 + rax*8 + 8]
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x20], rax
call fcn.14005b940
cmp rsi, qword [r14 + 0x510]
jne 0x14006cd50
mov rax, qword [r14 + 0x6c0]
test rax, rax
je 0x14006d538
lea rcx, [r14 + 0x1e8]
mov qword [rsp + 0x38], rcx
lea rcx, [r14 + 0x668]
mov qword [rsp + 0x68], rcx
lea rcx, [r14 + 0x680]
mov qword [rsp + 0x88], rcx
lea rcx, [r14 + 0x2c0]
mov qword [rsp + 0x58], rcx
lea rcx, [r14 + 0x308]
mov qword [rsp + 0x48], rcx
lea rcx, [r14 + 0x350]
mov qword [rsp + 0x70], rcx
lea rcx, [r14 + 0x398]
mov qword [rsp + 0x40], rcx
lea rcx, [r14 + 0x428]
mov qword [rsp + 0x60], rcx
lea rcx, [r14 + 0xe8]
mov qword [rsp + 0xa8], rcx
lea rcx, [r14 + 0x620]
mov qword [rsp + 0x78], rcx
movsd xmm8, qword [0x1401693b0]
movsd xmm9, qword [0x1401693b8]
pcmpeqd xmm10, xmm10
movabs rdi, 0x1e2c617950884790
jmp 0x14006cec5
mov rax, qword [r14 + 0xe8]
mov qword [rax + rdx*8], r15
inc rdx
mov qword [r14 + 0xf8], rdx
mov rcx, qword [rsp + 0x78]
mov rdx, r15
mov r8b, 0x36
call fcn.140034740
mov rax, qword [r14 + 0x6c0]
test rax, rax
je 0x14006d538
dec rax
mov qword [r14 + 0x6c0], rax
mov rcx, qword [r14 + 0x6b0]
shl rax, 5
movzx edx, word [rcx + rax + 0x18]
cmp edx, 0x4e7
je 0x14006d538
mov dword [rsp + 0x28], edx
lea rdx, [rcx + rax]
movzx eax, byte [rcx + rax + 0x1a]
mov byte [rsp + 0x50], al
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x210], rax
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x200], xmm0
mov rax, qword [r14 + 0x128]
test rax, rax
je 0x14006cf3b
lea rcx, [rax - 1]
mov qword [r14 + 0x128], rcx
mov rcx, qword [r14 + 0x118]
mov r15, qword [rcx + rax*8 - 8]
test r15d, r15d
jne 0x14006cf55
mov r15d, dword [r14 + 0x130]
lea eax, [r15 + 1]
mov dword [r14 + 0x130], eax
shl r15, 0x20
or r15, 1
movsd xmm0, qword [rsp + 0x210]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
ucomisd xmm0, xmm0
maxsd xmm0, xmm8
minsd xmm0, xmm9
cvttsd2si ebp, xmm0
mov esi, 0
cmovp ebp, esi
movapd xmm6, xmmword [rsp + 0x200]
movapd xmm0, xmm6
unpckhpd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movapd xmm7, xmm0
movapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
ucomisd xmm0, xmm0
maxsd xmm0, xmm8
minsd xmm0, xmm9
cvttsd2si eax, xmm0
cmovp eax, esi
movd xmm0, eax
ucomisd xmm7, xmm7
maxsd xmm7, xmm8
minsd xmm7, xmm9
cvttsd2si eax, xmm7
cmovp eax, esi
movd xmm1, eax
punpckldq xmm0, xmm1
movq qword [rsp + 0x1d0], xmm0
mov dword [rsp + 0x1d8], ebp
mov r8, qword [r14 + 0x1c8]
mov r9, qword [r14 + 0x1d0]
lea r11, [r8 - 0x18]
mov r10, qword [r14 + 0x6e8]
nop
movabs rax, 0xa0761d6478bd642f
lea rcx, [r10 + rax]
mov rax, rcx
movabs rsi, 0xe7037ed1a0b428db
xor rax, rsi
mul rcx
mov r12, rdx
xor r12, rax
movabs rax, 0x40ec3ac8f17ac85e
add r10, rax
mov rax, r10
xor rax, rsi
mul r10
mov r13, rdx
xor r13, rax
mov rcx, r12
movabs rax, 0x1c7e1ef5c4d0bbf5
xor rcx, rax
mov rax, r13
movabs rdx, 0x77b75a2fd2f1a56f
xor rax, rdx
mul rcx
mov rcx, rax
movabs rax, 0x313b01ba4d47d7e1
xor rdx, rax
xor rcx, rdx
rol rcx, 0x17
mov rax, rcx
mul rdi
mov rbp, rdx
xor rbp, rax
rol rbp, cl
mov r14, rbp
shr r14, 0x39
movd xmm0, r14d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor eax, eax
mov rcx, rbp
and rcx, r9
movdqu xmm1, xmmword [r8 + rcx]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb edx, xmm2
test dx, dx
je 0x14006d100
lea esi, [rdx - 1]
and esi, edx
tzcnt edx, edx
add rdx, rcx
and rdx, r9
neg rdx
lea rdx, [rdx + rdx*2]
mov rbx, qword [r11 + rdx*8 + 8]
xor rbx, r13
mov rdx, qword [r11 + rdx*8]
xor rdx, r12
or rdx, rbx
mov edx, esi
jne 0x14006d0c0
jmp 0x14006d000
pcmpeqb xmm1, xmm10
pmovmskb edx, xmm1
test edx, edx
jne 0x14006d120
add rcx, rax
add rcx, 0x10
add rax, 0x10
jmp 0x14006d0ab
movq xmm0, r13
movq xmm1, r12
punpcklqdq xmm1, xmm0
movdqa xmmword [rsp + 0x1b0], xmm1
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x6e8], r10
mov rcx, rbp
and rcx, r9
movdqu xmm0, xmmword [r8 + rcx]
pmovmskb eax, xmm0
test eax, eax
lea rbx, [rsp + 0xe0]
jne 0x14006d188
mov edx, 0x10
nop word cs:[rax + rax]
add rcx, rdx
and rcx, r9
movdqu xmm0, xmmword [r8 + rcx]
pmovmskb eax, xmm0
add rdx, 0x10
test eax, eax
je 0x14006d170
tzcnt eax, eax
add rax, rcx
and rax, r9
cmp byte [r8 + rax], 0
js 0x14006d1a6
movdqa xmm0, xmmword [r8]
pmovmskb eax, xmm0
tzcnt eax, eax
mov rcx, qword [rsp + 0x30]
cmp qword [rcx + 0x1d8], 0
jne 0x14006d1c0
test byte [r8 + rax], 1
jne 0x14006d493
movzx ecx, byte [r8 + rax]
and ecx, 1
mov rsi, qword [rsp + 0x30]
sub qword [rsi + 0x1d8], rcx
mov rcx, r13
lea rdx, [rax - 0x10]
and rdx, r9
mov byte [r8 + rax], r14b
mov byte [rdx + r8 + 0x10], r14b
inc qword [rsi + 0x1e0]
shr rcx, 8
neg rax
lea rax, [rax + rax*2]
mov qword [r8 + rax*8 - 0x18], r12
mov byte [r8 + rax*8 - 0x10], r13b
mov rdx, r13
shr rdx, 0x38
mov byte [r8 + rax*8 - 9], dl
shr r13, 0x28
mov word [r8 + rax*8 - 0xb], r13w
mov dword [r8 + rax*8 - 0xf], ecx
mov qword [r8 + rax*8 - 8], r15
mov rcx, rbx
mov rdx, qword [rsp + 0x38]
mov r8, r15
lea r9, [rsp + 0x1b0]
call fcn.140034a80
mov r14, r15
shr r14, 0x20
mov rdx, qword [rsi + 0x678]
mov r12, qword [rsi + 0x6a8]
cmp r14, r12
jb 0x14006d30b
lea rax, [r14 - 1]
bsr rcx, rax
not ecx
mov r13, 0xffffffffffffffff
shr r13, cl
add r13, 2
movabs rax, 0x200000000
cmp r15, rax
mov eax, 2
cmovb r13, rax
sub r13, rdx
lea rax, [r12 + r13]
cmp r12, rax
jae 0x14006d2ff
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x6a0]
sub rax, r12
cmp rax, r13
jb 0x14006d50f
mov rax, qword [rsp + 0x30]
mov rbp, qword [rax + 0x698]
lea rcx, [r12*8]
add rcx, rbp
cmp r13, 2
jb 0x14006d2f2
lea r8, [r13*8 - 8]
mov rsi, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rdx, rsi
lea rax, [r12 + r13]
lea rcx, [rax*8 - 8]
add rcx, rbp
add r12, r13
dec r12
mov qword [rcx], 0
inc r12
mov rax, r12
mov rsi, qword [rsp + 0x30]
mov qword [rsi + 0x6a8], rax
movzx eax, byte [rsp + 0x50]
shl rax, 0x10
movzx r12d, word [rsp + 0x28]
or r12, rax
movabs rax, 0x1400000000
or r12, rax
mov rax, qword [rsi + 0x698]
cmp dword [rax + r14*8], 0
je 0x14006d380
mov dword [rax + r14*8], r15d
mov eax, dword [rax + r14*8 + 4]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx]
mov dword [rcx + rax*8], r15d
mov dword [rcx + rax*8 + 4], r14d
mov rcx, qword [rsp + 0x88]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov rdx, r12
shr rdx, 0x20
mov word [rcx + rax*2 + 4], dx
mov dword [rcx + rax*2], r12d
mov r14, rsi
jmp 0x14006d409
mov dword [rax + r14*8], r15d
mov dword [rax + r14*8 + 4], edx
mov rdx, qword [rsi + 0x678]
cmp rdx, qword [rsi + 0x670]
mov r14, rsi
jne 0x14006d3ad
mov rcx, qword [rsp + 0x68]
call fcn.140096f20
mov rdx, qword [r14 + 0x678]
mov rax, qword [r14 + 0x668]
mov qword [rax + rdx*8], r15
inc rdx
mov qword [r14 + 0x678], rdx
mov rdx, qword [r14 + 0x690]
cmp rdx, qword [r14 + 0x688]
jne 0x14006d3e6
mov rcx, qword [rsp + 0x88]
call fcn.14001a6d0
mov rdx, qword [r14 + 0x690]
mov rax, qword [r14 + 0x680]
lea rcx, [rdx + rdx*2]
mov dword [rax + rcx*2], r12d
shr r12, 0x20
mov word [rax + rcx*2 + 4], r12w
inc rdx
mov qword [r14 + 0x690], rdx
mov rcx, qword [rsp + 0x58]
mov rdx, r15
call fcn.140034090
mov rcx, rbx
mov rdx, qword [rsp + 0x48]
mov r8, r15
lea r9, [rsp + 0x200]
call fcn.1400348c0
mov rcx, rbx
mov rdx, qword [rsp + 0x70]
mov r8, r15
lea r9, [rsp + 0x1d0]
call fcn.140034210
mov rcx, rbx
mov rdx, qword [rsp + 0x40]
mov r8, r15
call fcn.1400345a0
mov rcx, rbx
mov rdx, qword [rsp + 0x60]
mov r8, r15
call fcn.1400343e0
mov rdx, qword [r14 + 0xf8]
cmp rdx, qword [r14 + 0xf0]
jne 0x14006ce90
mov rcx, qword [rsp + 0xa8]
call fcn.140096f20
mov rdx, qword [r14 + 0xf8]
jmp 0x14006ce90
mov rsi, qword [rsp + 0x30]
lea rcx, [rsi + 0x1c8]
call fcn.140161640
mov r8, qword [rsi + 0x1c8]
mov r9, qword [rsi + 0x1d0]
and rbp, r9
movdqu xmm0, xmmword [r8 + rbp]
pmovmskb eax, xmm0
test eax, eax
jne 0x14006d4e8
mov ecx, 0x10
nop dword [rax + rax]
add rbp, rcx
and rbp, r9
movdqu xmm0, xmmword [r8 + rbp]
pmovmskb eax, xmm0
add rcx, 0x10
test eax, eax
je 0x14006d4d0
tzcnt eax, eax
add rax, rbp
and rax, r9
cmp byte [r8 + rax], 0
js 0x14006d1c0
movdqa xmm0, xmmword [r8]
pmovmskb eax, xmm0
tzcnt eax, eax
jmp 0x14006d1c0
mov rsi, qword [rsp + 0x30]
lea rcx, [rsi + 0x698]
mov rbp, rdx
mov rdx, r12
mov r8, r13
call fcn.140160250
mov rdx, rbp
mov r12, qword [rsi + 0x6a8]
jmp 0x14006d2ab
cmp qword [r14 + 0x678], 0
je 0x14006ddd9
lea rax, [r14 + 0x6c8]
mov qword [rsp + 0xa8], rax
xor r13d, r13d
pxor xmm6, xmm6
xor esi, esi
jmp 0x14006d575
dec al
mov byte [r9], al
inc rsi
cmp rsi, qword [r14 + 0x678]
je 0x14006ddd9
mov rax, qword [r14 + 0x668]
mov ecx, dword [rax + rsi*8]
test rcx, rcx
je 0x14006ddd9
mov rdx, qword [r14 + 0x680]
mov r10d, dword [rax + rsi*8 + 4]
mov rax, qword [r14 + 0x698]
mov eax, dword [rax + r10*8 + 4]
lea r8, [rax + rax*2]
lea r9, [rdx + r8*2]
add r9, 4
movzx eax, byte [rdx + r8*2 + 4]
test al, al
jne 0x14006d560
mov rdi, qword [r14 + 0x248]
mov rax, qword [r14 + 0x260]
mov byte [r9], 9
mov r9, qword [r14 + 0x4c8]
test r9, r9
je 0x14006d565
shl r10, 0x20
or r10, rcx
lea r11, [rdx + r8*2]
mov rdx, qword [r14 + 0x4b8]
lea r8, [rdx + r9*8]
xor r9d, r9d
jmp 0x14006d5f9
add rdx, 8
cmp rdx, r8
je 0x14006d610
test r9d, r9d
jne 0x14006d5f0
mov r9d, dword [rdx]
mov ecx, dword [rdx + 4]
jmp 0x14006d5f0
test r9d, r9d
je 0x14006d565
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x70], rsi
movzx esi, word [r11]
lea rdx, str.__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
movzx r12d, byte [rsi + rdx]
mov qword [rsp + 0xe0], 2
mov ecx, ecx
lea rdx, [rsp + 0xe8]
movdqu xmmword [rdx], xmm6
mov r8, qword [r14 + 0x4d0]
mov rdx, qword [r14 + 0x4e8]
mov r9d, dword [rdx + rcx*8 + 4]
shl r9, 4
lea rdx, [r8 + r9]
mov qword [rsp + 0x50], rdx
mov eax, dword [rax + rcx*8 + 4]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x38], r9
mov rdi, qword [r8 + r9]
mov qword [rsp + 0x58], r11
movzx ebx, byte [r11 + 2]
mov r15d, 0x24
mov eax, 2
xor r9d, r9d
lea r14, [rsp + 0xe0]
jmp 0x14006d6c9
mov word [rax + r9*2], r15w
inc r9
mov qword [rsp + 0xf0], r9
inc r15
cmp r15, 0x2d
je 0x14006d72f
test bl, bl
je 0x14006d72f
cmp word [rdi + r15*4], si
jne 0x14006d6c0
movzx ecx, byte [rdi + r15*4 + 2]
cmp cl, r12b
je 0x14006d6c0
lea edx, [rcx + rbx]
sub bl, r12b
add bl, cl
cmp dl, r12b
movzx ebx, bl
cmovbe ebx, r13d
movzx ecx, dl
movzx edx, r12b
cmovb edx, ecx
mov rcx, qword [rsp + 0x58]
mov byte [rcx + 2], bl
mov byte [rdi + r15*4 + 2], dl
cmp r9, qword [rsp + 0xe8]
jne 0x14006d6b0
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov rax, qword [rsp + 0xe0]
mov r9, qword [rsp + 0xf0]
jmp 0x14006d6b0
mov rax, qword [rsp + 0x50]
mov rsi, qword [rax]
mov rbx, qword [rsp + 0x58]
movzx r15d, word [rbx]
movzx r10d, byte [rbx + 2]
mov edi, 9
jmp 0x14006d771
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], di
inc r9
mov qword [rsp + 0xf0], r9
inc rdi
cmp rdi, 0x24
je 0x14006d7da
test r10b, r10b
je 0x14006dad0
cmp word [rsi + rdi*4], r15w
jne 0x14006d768
movzx eax, byte [rsi + rdi*4 + 2]
cmp al, r12b
je 0x14006d768
lea ecx, [rax + r10]
sub r10b, r12b
add r10b, al
cmp cl, r12b
movzx r10d, r10b
cmovbe r10d, r13d
movzx eax, cl
movzx ecx, r12b
cmovb ecx, eax
mov byte [rbx + 2], r10b
mov byte [rsi + rdi*4 + 2], cl
cmp r9, qword [rsp + 0xe8]
jne 0x14006d750
mov rcx, r14
mov rdx, r9
mov rbp, r10
call fcn.1400972c0
mov r10, rbp
mov r9, qword [rsp + 0xf0]
jmp 0x14006d750
test r10b, r10b
je 0x14006dad0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
cmp word [rax + 0x90], 0
je 0x14006d8ad
cmp word [rax + 0x94], 0
je 0x14006d8f1
cmp word [rax + 0x98], 0
je 0x14006d935
cmp word [rax + 0x9c], 0
je 0x14006d979
cmp word [rax + 0xa0], 0
je 0x14006d9bd
cmp word [rax + 0xa4], 0
je 0x14006da01
cmp word [rax + 0xa8], 0
je 0x14006da45
cmp word [rax + 0xac], 0
je 0x14006da86
cmp word [rax + 0xb0], 0
jne 0x14006dad3
mov word [rax + 0xb0], r15w
mov byte [rax + 0xb2], r10b
mov byte [rbx + 2], 0
cmp r9, qword [rsp + 0xe8]
jne 0x14006d899
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov r9, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], 0x2c
jmp 0x14006dac5
mov word [rax + 0x90], r15w
mov byte [rax + 0x92], r10b
mov byte [rbx + 2], 0
cmp r9, qword [rsp + 0xe8]
jne 0x14006d8dd
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov r9, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], 0x24
jmp 0x14006dac5
mov word [rax + 0x94], r15w
mov byte [rax + 0x96], r10b
mov byte [rbx + 2], 0
cmp r9, qword [rsp + 0xe8]
jne 0x14006d921
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov r9, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], 0x25
jmp 0x14006dac5
mov word [rax + 0x98], r15w
mov byte [rax + 0x9a], r10b
mov byte [rbx + 2], 0
cmp r9, qword [rsp + 0xe8]
jne 0x14006d965
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov r9, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], 0x26
jmp 0x14006dac5
mov word [rax + 0x9c], r15w
mov byte [rax + 0x9e], r10b
mov byte [rbx + 2], 0
cmp r9, qword [rsp + 0xe8]
jne 0x14006d9a9
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov r9, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], 0x27
jmp 0x14006dac5
mov word [rax + 0xa0], r15w
mov byte [rax + 0xa2], r10b
mov byte [rbx + 2], 0
cmp r9, qword [rsp + 0xe8]
jne 0x14006d9ed
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov r9, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], 0x28
jmp 0x14006dac5
mov word [rax + 0xa4], r15w
mov byte [rax + 0xa6], r10b
mov byte [rbx + 2], 0
cmp r9, qword [rsp + 0xe8]
jne 0x14006da31
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov r9, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], 0x29
jmp 0x14006dac5
mov word [rax + 0xa8], r15w
mov byte [rax + 0xaa], r10b
mov byte [rbx + 2], 0
cmp r9, qword [rsp + 0xe8]
jne 0x14006da75
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov r9, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], 0x2a
jmp 0x14006dac5
mov word [rax + 0xac], r15w
mov byte [rax + 0xae], r10b
mov byte [rbx + 2], 0
cmp r9, qword [rsp + 0xe8]
jne 0x14006dab6
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov r9, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], 0x2b
inc r9
mov qword [rsp + 0xf0], r9
xor r10d, r10d
mov rax, qword [rsp + 0x50]
mov rsi, qword [rax]
mov edi, 9
jmp 0x14006db14
mov rax, qword [rsp + 0xe0]
mov word [rax + r9*2], di
inc r9
mov qword [rsp + 0xf0], r9
xor r10d, r10d
inc rdi
cmp rdi, 0x24
je 0x14006db50
test r10b, r10b
je 0x14006db4d
cmp word [rsi + rdi*4], 0
jne 0x14006db0b
mov word [rsi + rdi*4], r15w
mov byte [rsi + rdi*4 + 2], r10b
mov byte [rbx + 2], 0
cmp r9, qword [rsp + 0xe8]
jne 0x14006daf0
mov rcx, r14
mov rdx, r9
call fcn.1400972c0
mov r9, qword [rsp + 0xf0]
jmp 0x14006daf0
xor r10d, r10d
mov r11, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x60], rax
test r9, r9
mov qword [rsp + 0x48], r10
je 0x14006dd5e
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
lea rdi, [rax + rcx]
add rdi, 0xe
mov rax, qword [rsp + 0x78]
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0x68]
lea rax, [rcx + rax*8]
add rax, 8
add r9, r9
xor ebx, ebx
mov qword [rsp + 0x38], rax
jmp 0x14006dbc6
inc qword [rsi + 0x10]
mov rax, qword [rsp + 0x38]
add rbx, 2
cmp r9, rbx
je 0x14006dd5e
movzx r14d, word [r11 + rbx]
movzx r8d, byte [rdi]
movzx r13d, byte [rdi - 2]
inc r13b
mov byte [rdi - 2], r13b
mov rsi, qword [rax]
cmp byte [rsi + 0x40], 0
jne 0x14006dbb9
cmp qword [rsi + 0x10], 0
jne 0x140071af4
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
movzx ecx, word [rax + r14*4]
xor edx, edx
test r13b, r13b
setns dl
movzx r15d, cx
cmp r15d, 0x80
mov r12d, 5
sbb r12, 0
movzx eax, byte [rax + r14*4 + 2]
mov byte [rsp + 0x28], al
test al, al
mov eax, 1
cmove r12, rax
mov qword [rsi + 0x10], 0xffffffffffffffff
sub r12, rdx
lea rbp, [r12 + 6]
add r12, 7
mov rax, qword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
sub rax, rdx
cmp rax, rbp
jbe 0x14006dd1f
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + rdx]
mov byte [rcx + rdx], bpl
mov byte [rcx + rdx + 1], 0x15
mov byte [rcx + rdx + 2], r8b
mov r8d, 3
test r13b, r13b
jns 0x14006dc85
or r13b, 0x80
mov byte [rax + 4], 1
mov r8d, 4
movzx ebp, byte [rsp + 0x28]
add rcx, rdx
inc rcx
rol r14w, 8
mov byte [rax + 3], r13b
mov word [rax + r8 + 1], r14w
lea rax, [rcx + r8]
add rax, 2
test bpl, bpl
je 0x14006dce6
add rcx, r8
mov byte [rax], 1
mov edx, 2
cmp r15d, 0x80
jb 0x14006dcd7
mov r8d, r15d
or r8b, 0x80
shr r15d, 7
mov byte [rcx + 4], r15b
mov edx, 3
mov r15d, r8d
mov byte [rcx + 3], r15b
mov byte [rcx + rdx + 2], bpl
add rax, rdx
inc rax
mov byte [rax], 0
add qword [rsi + 0x28], r12
mov rax, qword [rsi + 0x30]
mov rcx, qword [rsi + 0x38]
mov qword [rsi + 0x30], 0
test rax, rax
je 0x14006dbb0
mov r14, r9
mov r15, r11
call qword [rax + 8]
mov r11, r15
mov r10, qword [rsp + 0x48]
mov r9, r14
jmp 0x14006dbb0
lea rcx, [rsi + 0x18]
mov byte [rsp + 0x88], r8b
mov r8, r12
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x68], r11
call fcn.1401639e0
movzx r8d, byte [rsp + 0x88]
mov r11, qword [rsp + 0x68]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x78]
mov rdx, qword [rsi + 0x28]
jmp 0x14006dc56
cmp qword [rsp + 0x60], 0
je 0x14006dd73
mov rcx, r11
call fcn.140142490
mov r10, qword [rsp + 0x48]
test r10b, r10b
mov r14, qword [rsp + 0x30]
mov r13d, 0
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
jne 0x14006d565
mov word [rax], 0
mov rdx, qword [r14 + 0x6d8]
cmp rdx, qword [r14 + 0x6d0]
jne 0x14006ddbf
mov rcx, qword [rsp + 0xa8]
call fcn.140096f20
mov rdx, qword [r14 + 0x6d8]
mov rax, qword [r14 + 0x6c8]
mov qword [rax + rdx*8], rdi
inc rdx
mov qword [r14 + 0x6d8], rdx
jmp 0x14006d565
mov rax, qword [r14 + 0x6d8]
test rax, rax
je 0x14006e3a6
lea rdi, [r14 + 0x1c8]
lea rbx, [r14 + 0x118]
lea rbp, [rsp + 0xe0]
jmp 0x14006de53
mov rax, r15
movabs rcx, 0xffffffff00000000
and rax, rcx
lea ecx, [r15 + 1]
cmp ecx, 1
adc r15d, 1
or r15, rax
mov rax, qword [r14 + 0x118]
mov qword [rax + rdx*8], r15
inc rdx
mov qword [r14 + 0x128], rdx
mov rax, qword [r14 + 0x6d8]
test rax, rax
je 0x14006e3a6
lea rcx, [rax - 1]
mov qword [r14 + 0x6d8], rcx
mov rcx, qword [r14 + 0x6c8]
mov r15, qword [rcx + rax*8 - 8]
test r15d, r15d
je 0x14006e3a6
mov r12, r15
shr r12, 0x20
cmp r12, qword [r14 + 0x6a8]
jae 0x14006df40
mov rax, qword [r14 + 0x698]
mov ecx, dword [rax + r12*8]
test ecx, ecx
je 0x14006df40
cmp ecx, r15d
jne 0x14006df40
mov ecx, dword [rax + r12*8 + 4]
mov dword [rax + r12*8], 0
mov rdx, qword [r14 + 0x678]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x668]
lea r10, [rdx - 1]
mov r8d, dword [r11 + rdx*8 - 8]
mov r9d, dword [r11 + rdx*8 - 4]
mov rdx, qword [r11 + rdx*8 - 8]
mov qword [r11 + rcx*8], rdx
mov qword [r14 + 0x678], r10
mov rdx, qword [r14 + 0x690]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x680]
lea r13, [rcx + rcx*2]
dec rdx
lea rbp, [rdx + rdx*2]
mov esi, dword [r11 + rbp*2]
movzx ebp, word [r11 + rbp*2 + 4]
mov word [r11 + r13*2 + 4], bp
mov dword [r11 + r13*2], esi
mov qword [r14 + 0x690], rdx
cmp r10, rcx
lea rbp, [rsp + 0xe0]
jbe 0x14006df40
mov dword [rax + r9*8], r8d
mov dword [rax + r9*8 + 4], ecx
nop dword [rax + rax]
cmp r12, qword [r14 + 0x300]
jae 0x14006dfe0
mov rax, qword [r14 + 0x2f0]
mov ecx, dword [rax + r12*8]
test ecx, ecx
je 0x14006dfe0
cmp ecx, r15d
jne 0x14006dfe0
mov ecx, dword [rax + r12*8 + 4]
mov dword [rax + r12*8], 0
mov rdx, qword [r14 + 0x2d0]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x2c0]
lea r10, [rdx - 1]
mov r8d, dword [r11 + rdx*8 - 8]
mov r9d, dword [r11 + rdx*8 - 4]
mov rdx, qword [r11 + rdx*8 - 8]
mov qword [r11 + rcx*8], rdx
mov qword [r14 + 0x2d0], r10
mov rdx, qword [r14 + 0x2e8]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x2d8]
movzx esi, byte [r11 + rdx - 1]
dec rdx
mov byte [r11 + rcx], sil
mov qword [r14 + 0x2e8], rdx
cmp r10, rcx
jbe 0x14006dfe0
mov dword [rax + r9*8], r8d
mov dword [rax + r9*8 + 4], ecx
cmp r12, qword [r14 + 0x348]
jae 0x14006e0a0
mov rax, qword [r14 + 0x338]
mov ecx, dword [rax + r12*8]
test ecx, ecx
je 0x14006e0a0
cmp ecx, r15d
jne 0x14006e0a0
mov ecx, dword [rax + r12*8 + 4]
mov dword [rax + r12*8], 0
mov rdx, qword [r14 + 0x318]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x308]
lea r10, [rdx - 1]
mov r8d, dword [r11 + rdx*8 - 8]
mov r9d, dword [r11 + rdx*8 - 4]
mov rdx, qword [r11 + rdx*8 - 8]
mov qword [r11 + rcx*8], rdx
mov qword [r14 + 0x318], r10
mov rdx, qword [r14 + 0x330]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x320]
lea rsi, [rcx + rcx*2]
dec rdx
lea r13, [rdx + rdx*2]
movdqu xmm0, xmmword [r11 + r13*8]
mov r13, qword [r11 + r13*8 + 0x10]
mov qword [r11 + rsi*8 + 0x10], r13
movdqu xmmword [r11 + rsi*8], xmm0
mov qword [r14 + 0x330], rdx
cmp r10, rcx
jbe 0x14006e0a0
mov dword [rax + r9*8], r8d
mov dword [rax + r9*8 + 4], ecx
nop dword [rax + rax]
cmp r12, qword [r14 + 0x390]
jae 0x14006e160
mov rax, qword [r14 + 0x380]
mov ecx, dword [rax + r12*8]
test ecx, ecx
je 0x14006e160
cmp ecx, r15d
jne 0x14006e160
mov ecx, dword [rax + r12*8 + 4]
mov dword [rax + r12*8], 0
mov rdx, qword [r14 + 0x360]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x350]
lea r10, [rdx - 1]
mov r8d, dword [r11 + rdx*8 - 8]
mov r9d, dword [r11 + rdx*8 - 4]
mov rdx, qword [r11 + rdx*8 - 8]
mov qword [r11 + rcx*8], rdx
mov qword [r14 + 0x360], r10
mov rdx, qword [r14 + 0x378]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x368]
lea rsi, [rcx + rcx*2]
dec rdx
lea r13, [rdx + rdx*2]
mov rbp, qword [r11 + r13*4]
mov r13d, dword [r11 + r13*4 + 8]
mov dword [r11 + rsi*4 + 8], r13d
mov qword [r11 + rsi*4], rbp
mov qword [r14 + 0x378], rdx
cmp r10, rcx
lea rbp, [rsp + 0xe0]
jbe 0x14006e160
mov dword [rax + r9*8], r8d
mov dword [rax + r9*8 + 4], ecx
nop dword [rax]
cmp r12, qword [r14 + 0x3d8]
jae 0x14006e200
mov rax, qword [r14 + 0x3c8]
mov ecx, dword [rax + r12*8]
test ecx, ecx
je 0x14006e200
cmp ecx, r15d
jne 0x14006e200
mov ecx, dword [rax + r12*8 + 4]
mov dword [rax + r12*8], 0
mov rdx, qword [r14 + 0x3a8]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x398]
lea r10, [rdx - 1]
mov r8d, dword [r11 + rdx*8 - 8]
mov r9d, dword [r11 + rdx*8 - 4]
mov rdx, qword [r11 + rdx*8 - 8]
mov qword [r11 + rcx*8], rdx
mov qword [r14 + 0x3a8], r10
mov rdx, qword [r14 + 0x3c0]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x3b0]
mov rsi, qword [r11 + rdx*8 - 8]
dec rdx
mov qword [r11 + rcx*8], rsi
mov qword [r14 + 0x3c0], rdx
cmp r10, rcx
jbe 0x14006e200
mov dword [rax + r9*8], r8d
mov dword [rax + r9*8 + 4], ecx
nop
cmp r12, qword [r14 + 0x468]
jae 0x14006e2c0
mov rax, qword [r14 + 0x458]
mov ecx, dword [rax + r12*8]
test ecx, ecx
je 0x14006e2c0
cmp ecx, r15d
jne 0x14006e2c0
mov ecx, dword [rax + r12*8 + 4]
mov dword [rax + r12*8], 0
mov rdx, qword [r14 + 0x438]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x428]
lea r10, [rdx - 1]
mov r8d, dword [r11 + rdx*8 - 8]
mov r9d, dword [r11 + rdx*8 - 4]
mov rdx, qword [r11 + rdx*8 - 8]
mov qword [r11 + rcx*8], rdx
mov qword [r14 + 0x438], r10
mov rdx, qword [r14 + 0x450]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x440]
lea rsi, [rcx + rcx*2]
dec rdx
lea r13, [rdx + rdx*2]
movdqu xmm0, xmmword [r11 + r13*8]
mov r13, qword [r11 + r13*8 + 0x10]
mov qword [r11 + rsi*8 + 0x10], r13
movdqu xmmword [r11 + rsi*8], xmm0
mov qword [r14 + 0x450], rdx
cmp r10, rcx
jbe 0x14006e2c0
mov dword [rax + r9*8], r8d
mov dword [rax + r9*8 + 4], ecx
nop dword [rax + rax]
mov rcx, r14
mov rdx, r15
call fcn.14006aba0
cmp r12, qword [r14 + 0x660]
jae 0x14006e370
mov rax, qword [r14 + 0x650]
mov ecx, dword [rax + r12*8]
test ecx, ecx
je 0x14006e370
cmp ecx, r15d
jne 0x14006e370
mov ecx, dword [rax + r12*8 + 4]
mov dword [rax + r12*8], 0
mov rdx, qword [r14 + 0x630]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x620]
lea r10, [rdx - 1]
mov r8d, dword [r11 + rdx*8 - 8]
mov r9d, dword [r11 + rdx*8 - 4]
mov rdx, qword [r11 + rdx*8 - 8]
mov qword [r11 + rcx*8], rdx
mov qword [r14 + 0x630], r10
mov rdx, qword [r14 + 0x648]
cmp rdx, rcx
jbe 0x140071b1d
mov r11, qword [r14 + 0x638]
movzx esi, byte [r11 + rdx - 1]
dec rdx
mov byte [r11 + rcx], sil
mov qword [r14 + 0x648], rdx
cmp r10, rcx
jbe 0x14006e370
mov dword [rax + r9*8], r8d
mov dword [rax + r9*8 + 4], ecx
nop
mov rcx, rbp
mov rdx, rdi
mov r8, r15
call fcn.14006b370
mov rdx, qword [r14 + 0x128]
cmp rdx, qword [r14 + 0x120]
jne 0x14006de10
mov rcx, rbx
call fcn.140096f20
mov rdx, qword [r14 + 0x128]
jmp 0x14006de10
mov qword [r14 + 0x6d8], 0
mov rax, qword [r14 + 0x248]
mov qword [rsp + 0x78], rax
mov rax, qword [r14 + 0x260]
mov qword [rsp + 0x68], rax
mov r10d, dword [r14 + 0x180]
mov eax, dword [r14 + 0x184]
mov dword [rsp + 0x1ac], eax
mov r9d, 8
test r10, r10
je 0x14006e505
lea rax, [r10*8]
lea rbx, [rax + rax*2]
movzx eax, byte [0x1401ea9b8]
mov edx, 8
mov rcx, rbx
mov rsi, r10
call fcn.140143230
test rax, rax
je 0x140071b68
mov r9, rax
mov rcx, rax
cmp esi, 2
mov r10, rsi
jb 0x14006e4f5
lea rdx, [r10 - 1]
lea r8, [r10 - 2]
mov eax, edx
and eax, 7
mov rcx, r9
cmp r8, 7
jb 0x14006e4d7
and rdx, 0xfffffffffffffff8
pxor xmm0, xmm0
mov rcx, r9
mov qword [rcx], 4
movdqu xmmword [rcx + 8], xmm0
mov qword [rcx + 0x18], 4
movdqu xmmword [rcx + 0x20], xmm0
mov qword [rcx + 0x30], 4
movdqu xmmword [rcx + 0x38], xmm0
mov qword [rcx + 0x48], 4
movdqu xmmword [rcx + 0x50], xmm0
mov qword [rcx + 0x60], 4
movdqu xmmword [rcx + 0x68], xmm0
mov qword [rcx + 0x78], 4
movdqu xmmword [rcx + 0x80], xmm0
mov qword [rcx + 0x90], 4
movdqu xmmword [rcx + 0x98], xmm0
mov qword [rcx + 0xa8], 4
movdqu xmmword [rcx + 0xb0], xmm0
add rcx, 0xc0
add rdx, 0xfffffffffffffff8
jne 0x14006e450
test rax, rax
je 0x14006e4f5
pxor xmm0, xmm0
mov qword [rcx], 4
movdqu xmmword [rcx + 8], xmm0
add rcx, 0x18
dec rax
jne 0x14006e4e0
mov qword [rcx], 4
pxor xmm0, xmm0
movdqu xmmword [rcx + 8], xmm0
mov rax, qword [r14 + 0x160]
mov rcx, qword [r14 + 0x178]
mov qword [rsp + 0x1f8], rcx
movdqa xmm0, xmmword [rax]
pmovmskb ecx, xmm0
not ecx
mov dword [rsp + 0x18c], ecx
mov qword [rsp + 0x190], rax
add rax, 0x10
mov qword [rsp + 0x1f0], rax
lea rax, [r10 + r10*2]
mov qword [rsp + 0xa0], r9
lea rax, [r9 + rax*8]
mov qword [rsp + 0xb0], rax
mov rax, qword [r14 + 0x510]
mov qword [rsp + 0x58], rax
mov r9, qword [r14 + 0x500]
mov rax, qword [r14 + 0x530]
mov qword [rsp + 0x70], rax
mov rax, qword [r14 + 0x518]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0xd0], r10
mov qword [rsp + 0x48], r9
mov rdx, qword [rsp + 0x1f8]
test rdx, rdx
je 0x14006ee72
mov r8d, dword [rsp + 0x18c]
test r8w, r8w
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x1f0]
jne 0x14006e5e0
nop
movdqa xmm0, xmmword [rax]
pmovmskb r8d, xmm0
add rcx, 0xfffffffffffff900
add rax, 0x10
cmp r8d, 0xffff
je 0x14006e5c0
not r8d
mov qword [rsp + 0x1f0], rax
mov eax, r8d
lea r8d, [rax - 1]
and r8d, eax
mov dword [rsp + 0x18c], r8d
dec rdx
mov qword [rsp + 0x1f8], rdx
tzcnt eax, eax
neg rax
imul r11, rax, 0x70
mov qword [rsp + 0x190], rcx
mov r14, qword [rcx + r11 - 0x40]
test r14, r14
je 0x14006e590
add r11, qword [rsp + 0x190]
mov eax, dword [r11 - 0x70]
mov qword [rsp + 0x28], rax
mov eax, dword [r11 - 0x6c]
mov qword [rsp + 0x38], rax
mov r12, qword [r11 - 0x58]
lea r13, [r12 + 0x10]
movdqa xmm0, xmmword [r12]
pmovmskb ebp, xmm0
not ebp
mov qword [rsp + 0x40], r11
jmp 0x14006e693
mov eax, esi
and eax, 0xf0
shl ebx, 0xc
and esi, 0xf
shl esi, 8
or esi, ebx
or esi, eax
or edi, esi
mov rax, qword [r15]
mov dword [rax + rdx*4], edi
inc rdx
mov qword [r15 + 0x10], rdx
lea eax, [rbp - 1]
and eax, ebp
mov ebp, eax
dec r14
je 0x14006e790
test bp, bp
jne 0x14006e6bc
nop dword [rax + rax]
movdqa xmm0, xmmword [r13]
pmovmskb ebp, xmm0
add r12, 0xffffffffffffffc0
add r13, 0x10
cmp ebp, 0xffff
je 0x14006e6a0
not ebp
tzcnt eax, ebp
shl rax, 2
mov rcx, r12
sub rcx, rax
mov esi, dword [rcx - 4]
mov eax, esi
shr eax, 0xc
cmp rax, r10
jae 0x14006e683
mov edi, esi
shr edi, 8
mov rcx, qword [r11 - 0x68]
lea r8, [rax + rax*4]
shl r8, 4
lea rdx, [rcx + r8]
and edi, 0xf
mov r8, qword [rcx + r8 + 0x28]
cmp r8, 1
je 0x14006e715
movzx r9d, sil
mov rcx, rdi
shl rcx, 8
or rcx, r9
test r8, r8
jne 0x14006e71e
add rcx, rcx
add rcx, qword [rdx]
jmp 0x14006e741
add rdx, 8
mov rcx, rdx
jmp 0x14006e741
mov r8, qword [rdx]
shr ecx, 1
movzx r8d, byte [r8 + rcx]
lea ecx, [rsi*4]
and cl, 4
shr r8, cl
and r8d, 0xf
lea rcx, [rdx + r8*2]
add rcx, 8
movzx ebx, word [rcx]
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0xa0]
lea r15, [rcx + rax*8]
mov rdx, qword [rcx + rax*8 + 0x10]
cmp rdx, qword [rcx + rax*8 + 8]
jne 0x14006e660
mov rcx, r15
call fcn.140096e50
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0xd0]
mov rdx, qword [r15 + 0x10]
jmp 0x14006e660
cmp qword [r11 - 0x40], 0
je 0x14006e7e2
mov rsi, qword [r11 - 0x50]
test rsi, rsi
je 0x14006e7bc
mov rcx, qword [r11 - 0x58]
lea r8, [rsi + 0x11]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0xd0]
mov qword [r11 - 0x40], 0
lea rax, [rsi + 1]
mov rcx, rax
shr rcx, 3
and rax, 0xfffffffffffffff8
sub rax, rcx
cmp rsi, 8
cmovb rax, rsi
mov qword [r11 - 0x48], rax
mov rax, qword [rsp + 0x28]
shl rax, 0x2a
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x38]
and eax, 0x3fffff
shl rax, 0x14
mov qword [rsp + 0x198], rax
xor edx, edx
mov rcx, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x48]
jmp 0x14006e844
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x10], 0
mov r10, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x88]
mov edx, dword [rsp + 0xa8]
cmp rcx, qword [rsp + 0xb0]
je 0x14006e590
mov eax, edx
mov r8, rcx
add rcx, 0x18
lea edx, [rax + 1]
mov r11, qword [r8 + 0x10]
test r11, r11
je 0x14006e844
mov qword [rsp + 0x60], r8
mov dword [rsp + 0xa8], edx
mov qword [rsp + 0x88], rcx
cmp r11d, 0x4000
mov edx, 0xc
sbb rdx, 0
mov qword [rsp + 0x40], r11
cmp r11d, 0x80
mov ecx, 0xa
cmovb rdx, rcx
mov qword [rsp + 0x98], rdx
cmp qword [rsp + 0x58], 0
je 0x14006e820
sub eax, dword [rsp + 0x1ac]
and eax, 0xfffff
mov rdx, qword [rsp + 0x1a0]
or rdx, qword [rsp + 0x198]
or rdx, rax
mov rcx, qword [rsp + 0x40]
mov eax, ecx
or al, 0x80
mov byte [rsp + 0x84], al
mov eax, ecx
shr eax, 7
mov dword [rsp + 0x94], eax
or al, 0x80
mov byte [rsp + 0xbc], al
mov eax, ecx
shr eax, 0xe
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0x60]
mov r13, qword [rax]
bswap rdx
mov qword [rsp + 0x180], rdx
mov rax, rcx
and rax, 0xfffffffffffffffe
mov qword [rsp + 0xc8], rax
lea r14, [rcx*4]
xor r12d, r12d
jmp 0x14006e983
mov rcx, qword [rsp + 0x68]
mov eax, dword [rcx + rax*8 + 4]
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0x78]
mov rsi, qword [rcx + rax*8 + 8]
cmp byte [rsi + 0x40], 0
je 0x14006eab5
nop word cs:[rax + rax]
inc r12
cmp r12, qword [rsp + 0x58]
mov r9, qword [rsp + 0x48]
je 0x14006e820
cmp dword [r9 + r12*8], 0
je 0x14006e820
mov eax, dword [r9 + r12*8 + 4]
mov rcx, qword [rsp + 0x70]
mov ecx, dword [rcx + rax*8 + 4]
lea r9, [rcx + rcx*4]
mov rcx, qword [rsp + 0x50]
mov r10d, dword [rcx + r9*8 + 0x24]
cmp r10d, dword [rcx + r9*8 + 0x20]
jne 0x14006e970
mov rdx, qword [rsp + 0x50]
mov ecx, dword [rdx + r9*8 + 0x18]
mov edx, dword [rdx + r9*8 + 0x1c]
mov esi, edx
mov r11, qword [rsp + 0x38]
sub esi, r11d
neg esi
mov r8d, edx
sub r8d, r11d
cmovg esi, r8d
mov edi, ecx
mov rbx, qword [rsp + 0x28]
sub edi, ebx
neg edi
mov r11d, ecx
sub r11d, ebx
cmovg edi, r11d
inc r10d
cmp edi, r10d
ja 0x14006e970
cmp esi, r10d
ja 0x14006e970
mov r10, qword [rsp + 0x50]
lea r9, [r10 + r9*8]
mov r10, qword [r9 + 0x10]
test r10, r10
je 0x14006e940
imul r11d, r11d
imul r8d, r8d
add r8d, r11d
mov r9, qword [r9]
xor r11d, r11d
mov rsi, r10
jmp 0x14006ea42
inc r10
mov r11, r10
mov r10, rsi
sub r10, r11
jbe 0x14006e940
shr r10, 1
add r10, r11
mov ebp, dword [r9 + r10*8]
mov edi, dword [r9 + r10*8 + 4]
mov ebx, ebp
sub ebx, ecx
mov r15d, edi
sub r15d, edx
imul ebx, ebx
imul r15d, r15d
add r15d, ebx
xor ebx, ebx
cmp r15d, r8d
setne bl
mov r15d, 0xff
cmovl ebx, r15d
test bl, bl
je 0x14006ea90
movzx edi, bl
cmp edi, 1
je 0x14006ea30
jmp 0x14006eab0
cmp ebp, dword [rsp + 0x28]
jl 0x14006ea30
cmp ebp, dword [rsp + 0x28]
jne 0x14006eab0
cmp edi, dword [rsp + 0x38]
jl 0x14006ea30
mov rsi, r10
cmp edi, dword [rsp + 0x38]
jne 0x14006ea36
jmp 0x14006e970
mov rsi, r10
jmp 0x14006ea36
cmp qword [rsi + 0x10], 0
jne 0x140071af4
mov qword [rsi + 0x10], 0xffffffffffffffff
mov rdx, qword [rsp + 0x40]
cmp rdx, 1
jne 0x14006eadc
xor eax, eax
xor ebp, ebp
jmp 0x14006eb9d
xor ebp, ebp
xor eax, eax
mov r9, qword [rsp + 0xc8]
jmp 0x14006eb03
add rbp, rdx
add rbp, rcx
add rax, 2
cmp r9, rax
je 0x14006eb93
mov r8d, dword [r13 + rax*4]
mov ecx, 1
mov edx, 1
cmp r8d, 0x80
jb 0x14006eb50
mov edx, 2
cmp r8d, 0x4000
jb 0x14006eb50
mov edx, 3
cmp r8d, 0x200000
jb 0x14006eb50
cmp r8d, 0x10000000
mov edx, 5
sbb rdx, 0
nop word [rax + rax]
mov r8d, dword [r13 + rax*4 + 4]
cmp r8d, 0x80
jb 0x14006eaf0
mov ecx, 2
cmp r8d, 0x4000
jb 0x14006eaf0
mov ecx, 3
cmp r8d, 0x200000
jb 0x14006eaf0
cmp r8d, 0x10000000
mov ecx, 5
sbb rcx, 0
jmp 0x14006eaf0
mov rdx, qword [rsp + 0x40]
test dl, 1
je 0x14006ebdb
mov ecx, dword [r13 + rax*4]
mov eax, 1
cmp ecx, 0x80
jb 0x14006ebd8
mov eax, 2
cmp ecx, 0x4000
jb 0x14006ebd8
mov eax, 3
cmp ecx, 0x200000
jb 0x14006ebd8
cmp ecx, 0x10000000
mov eax, 5
sbb rax, 0
add rbp, rax
add rbp, qword [rsp + 0x98]
cmp ebp, 0x4000
mov edi, 3
sbb rdi, 0
cmp ebp, 0x80
mov eax, 1
cmovb rdi, rax
add rdi, rbp
mov rax, qword [rsi + 0x20]
mov r15, qword [rsi + 0x28]
mov rcx, rax
sub rcx, r15
cmp rcx, rdi
jae 0x14006ecc5
add r15, rdi
jb 0x140071b07
lea rcx, [rax + rax]
cmp rcx, r15
cmova r15, rcx
cmp r15, 9
mov ecx, 8
cmovb r15, rcx
test rax, rax
je 0x14006ec5c
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xf0], rax
mov eax, 1
jmp 0x14006ec5e
xor eax, eax
mov rdx, r15
not rdx
shr rdx, 0x3f
mov qword [rsp + 0xe8], rax
lea rcx, [rsp + 0x1b0]
mov r8, r15
lea r9, [rsp + 0xe0]
call case.0x14002210d.988
cmp qword [rsp + 0x1b0], 0
mov rcx, qword [rsp + 0x1b8]
je 0x14006ecb4
movabs rax, 0x8000000000000001
cmp rcx, rax
mov rdx, qword [rsp + 0x40]
je 0x14006ecc1
jmp 0x140071b02
mov qword [rsi + 0x18], rcx
mov qword [rsi + 0x20], r15
mov rdx, qword [rsp + 0x40]
mov r15, qword [rsi + 0x28]
add r15, qword [rsi + 0x18]
cmp ebp, 0x7f
ja 0x14006ecd8
mov byte [r15], bpl
mov ecx, 1
jmp 0x14006ed0d
mov eax, ebp
or al, 0x80
mov ecx, ebp
shr ecx, 7
cmp ebp, 0x3fff
ja 0x14006ecf7
mov byte [r15], al
mov byte [r15 + 1], cl
mov ecx, 2
jmp 0x14006ed0d
or cl, 0x80
shr ebp, 0xe
mov byte [r15], al
mov byte [r15 + 1], cl
mov byte [r15 + 2], bpl
mov ecx, 3
lea rax, [r15 + rcx]
mov byte [r15 + rcx], 0x45
mov r8, qword [rsp + 0x180]
mov qword [r15 + rcx + 1], r8
cmp edx, 0x80
jae 0x14006ed35
mov byte [rax + 9], dl
mov ecx, 0xa
jmp 0x14006ed7f
cmp edx, 0x4000
jae 0x14006ed51
mov ecx, 0xb
mov edx, 0xa
mov r8d, dword [rsp + 0x94]
jmp 0x14006ed6e
movzx ecx, byte [rsp + 0xbc]
mov byte [rax + 0xa], cl
mov ecx, 0xc
mov edx, 0xb
mov r8d, dword [rsp + 0xdc]
movzx r9d, byte [rsp + 0x84]
mov byte [rax + 9], r9b
mov byte [rax + rdx], r8b
add rax, rcx
xor ecx, ecx
jmp 0x14006eda7
mov byte [rax], dl
mov edx, 1
add rax, rdx
add rcx, 4
cmp r14, rcx
je 0x14006ee4d
mov edx, dword [r13 + rcx]
cmp edx, 0x7f
jbe 0x14006ed90
mov r8d, edx
or r8b, 0x80
cmp edx, 0x3fff
ja 0x14006edd0
shr edx, 7
mov byte [rax], r8b
mov byte [rax + 1], dl
mov edx, 2
jmp 0x14006ed97
mov r9d, edx
shr r9d, 7
or r9b, 0x80
cmp edx, 0x1fffff
ja 0x14006edf7
shr edx, 0xe
mov byte [rax], r8b
mov byte [rax + 1], r9b
mov byte [rax + 2], dl
mov edx, 3
jmp 0x14006ed97
mov r10d, edx
shr r10d, 0xe
or r10b, 0x80
mov r11d, edx
shr r11d, 0x15
cmp edx, 0xfffffff
ja 0x14006ee2a
mov byte [rax], r8b
mov byte [rax + 1], r9b
mov byte [rax + 2], r10b
mov byte [rax + 3], r11b
mov edx, 4
jmp 0x14006ed97
or r11b, 0x80
shr edx, 0x1c
mov byte [rax], r8b
mov byte [rax + 1], r9b
mov byte [rax + 2], r10b
mov byte [rax + 3], r11b
mov byte [rax + 4], dl
mov edx, 5
jmp 0x14006ed97
add qword [rsi + 0x28], rdi
mov rax, qword [rsi + 0x30]
mov rcx, qword [rsi + 0x38]
mov qword [rsi + 0x30], 0
test rax, rax
je 0x14006ee69
call qword [rax + 8]
inc qword [rsi + 0x10]
jmp 0x14006e970
test r10, r10
mov r14, qword [rsp + 0x30]
je 0x14006eeb9
shl r10, 3
lea rsi, [r10 + r10*2]
xor edi, edi
mov rcx, qword [rsp + 0xa0]
jmp 0x14006ee99
add rdi, 0x18
cmp rsi, rdi
je 0x14006eeb4
cmp qword [rcx + rdi + 8], 0
je 0x14006ee90
mov rcx, qword [rcx + rdi]
call fcn.140142490
mov rcx, qword [rsp + 0xa0]
jmp 0x14006ee90
call fcn.140142490
mov rax, qword [r14 + 0xf8]
test rax, rax
je 0x14006f735
mov rsi, qword [r14 + 0xe8]
lea r15, [rsi + rax*8]
lea rdi, [rsp + 0x160]
lea rax, [r14 + 0xb8]
mov qword [rsp + 0x58], rax
lea rax, [r14 + 0xa0]
mov qword [rsp + 0x48], rax
movabs r9, 0x7fffffff7fffffff
pxor xmm6, xmm6
lea rcx, [rsp + 0x1b0]
pcmpeqd xmm7, xmm7
mov rax, qword [r14 + 0x338]
mov r8, qword [r14 + 0x348]
jmp 0x14006ef29
cmp rsi, r15
je 0x14006f735
mov rbx, qword [rsi]
add rsi, 8
mov rbp, rbx
shr rbp, 0x20
cmp rbp, r8
jae 0x14006ef20
mov edx, dword [rax + rbp*8]
test edx, edx
je 0x14006ef20
cmp edx, ebx
jne 0x14006ef20
cmp rbp, qword [r14 + 0x270]
jae 0x14006ef6d
mov rdx, qword [r14 + 0x260]
mov r8d, dword [rdx + rbp*8]
test r8d, r8d
setne dl
cmp r8d, ebx
sete r10b
and r10b, dl
jmp 0x14006ef70
xor r10d, r10d
mov eax, dword [rax + rbp*8 + 4]
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [r14 + 0x320]
mov rdx, qword [rax + 0x10]
lea r8, [rsp + 0x118]
mov qword [r8 + 0x10], rdx
movups xmm0, xmmword [rax]
movups xmmword [r8], xmm0
movups xmm0, xmmword [0x1401a7910]
movaps xmmword [rsp + 0xf0], xmm0
movups xmm0, xmmword [0x1401a7900]
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rdi], r9
mov dword [rdi + 8], 0x7fffffff
mov qword [rsp + 0x130], 8
movdqu xmmword [rdi - 0x28], xmm6
mov qword [rsp + 0x148], 4
movdqu xmmword [rdi - 0x10], xmm6
mov rdx, qword [rax + 0x10]
mov qword [rdi - 0x50], rdx
movdqu xmm0, xmmword [rax]
movdqu xmmword [rdi - 0x60], xmm0
mov dword [rsp + 0x16c], 0
mov byte [rsp + 0x170], r10b
mov rdx, r14
call fcn.140038d00
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x60], rax
mov rdi, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x28], rax
cmp rdi, rax
je 0x14006f490
mov rax, rbx
movabs rcx, 0xb09218e8ff80214e
xor rax, rcx
movabs rcx, 0x5851f42d4c957f2d
mul rcx
mov rcx, rax
xor rcx, rdx
mov rax, rcx
movabs rdx, 0x1e2c617950884790
mul rdx
xor rdx, rax
rol rdx, cl
mov qword [rsp + 0x70], rdx
shr rdx, 0x39
mov qword [rsp + 0x88], rdx
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm8, xmm0, 0
jmp 0x14006f0cf
mov rax, qword [r13]
mov qword [rax + rdx*8], rbx
inc rdx
mov qword [r13 + 0x10], rdx
nop word cs:[rax + rax]
add rdi, 0x10
cmp rdi, qword [rsp + 0x28]
je 0x14006f490
mov rax, qword [rdi]
mov r14, qword [rax]
mov r12, r14
shr r12, 0x20
mov rax, qword [rsp + 0x30]
cmp r12, qword [rax + 0xe0]
jae 0x14006f0c0
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0xd0]
mov ecx, dword [rax + r12*8]
test ecx, ecx
je 0x14006f0c0
cmp ecx, r14d
jne 0x14006f0c0
mov eax, dword [rax + r12*8 + 4]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
mov qword [rsp + 0x50], rcx
imul rax, rax, 0x98
mov qword [rsp + 0x38], rax
cmp byte [rsp + 0x170], 0
je 0x14006f2b1
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
add rax, rcx
cmp qword [rax + 0x10], 0
mov qword [rsp + 0x40], rax
je 0x14006f204
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
xor r8d, r8d
mov r9, qword [rsp + 0x70]
xor r10d, r10d
and r9, rcx
movdqu xmm0, xmmword [rdx + r9]
movdqa xmm1, xmm0
pcmpeqb xmm1, xmm8
pmovmskb r11d, xmm1
nop word cs:[rax + rax]
test r11w, r11w
je 0x14006f1c0
mov eax, r11d
lea r11d, [rax - 1]
and r11d, eax
tzcnt r13d, eax
add r13, r9
and r13, rcx
shl r13, 3
mov rax, rdx
sub rax, r13
cmp dword [rax - 8], ebx
jne 0x14006f180
cmp dword [rax - 4], ebp
jne 0x14006f180
jmp 0x14006f2b1
cmp r10, 1
mov r10d, 1
je 0x14006f1e8
pmovmskb eax, xmm0
xor r10d, r10d
test eax, eax
setne r10b
tzcnt eax, eax
add rax, r9
and rax, rcx
mov qword [rsp + 0x68], rax
pcmpeqb xmm0, xmm7
pmovmskb eax, xmm0
test eax, eax
jne 0x14006f218
add r9, r8
add r9, 0x10
add r8, 0x10
jmp 0x14006f15e
mov rcx, qword [rsp + 0x40]
call fcn.140160490
mov rax, qword [rsp + 0x40]
jmp 0x14006f14c
mov rax, qword [rsp + 0x68]
movzx r8d, byte [rdx + rax]
test r8b, r8b
js 0x14006f238
movdqa xmm0, xmmword [rdx]
pmovmskb eax, xmm0
tzcnt eax, eax
movzx r8d, byte [rdx + rax]
and r8b, 1
mov r9, rax
movzx eax, r8b
mov r8, qword [rsp + 0x40]
sub qword [r8 + 0x10], rax
lea rax, [r9 - 0x10]
and rax, rcx
mov rcx, qword [rsp + 0x88]
mov byte [rdx + r9], cl
mov byte [rax + rdx + 0x10], cl
inc qword [r8 + 0x18]
shl r9, 3
neg r9
mov qword [rdx + r9 - 8], rbx
mov rdx, qword [rsp + 0x140]
cmp rdx, qword [rsp + 0x138]
jne 0x14006f29a
lea rcx, [rsp + 0x130]
call fcn.140096f20
mov rdx, qword [rsp + 0x140]
mov rax, qword [rsp + 0x130]
mov qword [rax + rdx*8], r14
inc rdx
mov qword [rsp + 0x140], rdx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
cmp byte [rax + rcx + 0x90], 0
je 0x14006f0c0
mov rax, r14
movabs rcx, 0xb09218e8ff80214e
xor rax, rcx
movabs rcx, 0x5851f42d4c957f2d
mul rcx
mov rcx, rax
xor rcx, rdx
mov rax, rcx
movabs rdx, 0x1e2c617950884790
mul rdx
mov r13, rdx
xor r13, rax
rol r13, cl
cmp qword [rsp + 0xf0], 0
je 0x14006f3e4
mov r8, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
mov rax, r13
shr rax, 0x39
mov qword [rsp + 0x40], rax
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor r9d, r9d
xor r10d, r10d
and r13, rdx
movdqu xmm1, xmmword [r8 + r13]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb r11d, xmm2
nop
test r11w, r11w
je 0x14006f3a0
mov eax, r11d
lea r11d, [rax - 1]
and r11d, eax
tzcnt ecx, eax
add rcx, r13
and rcx, rdx
shl rcx, 3
mov rax, r8
sub rax, rcx
cmp dword [rax - 8], r14d
jne 0x14006f360
cmp dword [rax - 4], r12d
jne 0x14006f360
jmp 0x14006f0c0
cmp r10, 1
mov r10d, 1
je 0x14006f3c8
pmovmskb eax, xmm1
xor r10d, r10d
test eax, eax
setne r10b
tzcnt eax, eax
add rax, r13
and rax, rdx
mov qword [rsp + 0x68], rax
pcmpeqb xmm1, xmm7
pmovmskb eax, xmm1
test eax, eax
jne 0x14006f3f6
add r13, r9
add r13, 0x10
add r9, 0x10
jmp 0x14006f348
lea rcx, [rsp + 0xe0]
call fcn.140160490
jmp 0x14006f314
mov rax, qword [rsp + 0x68]
movzx r9d, byte [r8 + rax]
test r9b, r9b
js 0x14006f417
movdqa xmm0, xmmword [r8]
pmovmskb eax, xmm0
tzcnt eax, eax
movzx r9d, byte [r8 + rax]
and r9b, 1
mov r10, rax
movzx eax, r9b
sub qword [rsp + 0xf0], rax
lea rax, [r10 - 0x10]
and rax, rdx
mov rcx, qword [rsp + 0x40]
mov byte [r8 + r10], cl
mov byte [rax + r8 + 0x10], cl
inc qword [rsp + 0xf8]
shl r10, 3
neg r10
mov qword [r8 + r10 - 8], r14
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
lea r13, [rax + rcx]
add r13, 0x50
mov rdx, qword [rax + rcx + 0x60]
cmp rdx, qword [rax + rcx + 0x58]
jne 0x14006f0a7
mov rcx, r13
call fcn.140096f20
mov rdx, qword [r13 + 0x10]
jmp 0x14006f0a7
cmp qword [rsp + 0x60], 0
je 0x14006f4a2
mov rcx, qword [rsp + 0x78]
call fcn.140142490
mov r12, qword [rsp + 0x30]
mov rcx, r12
lea rdx, [rsp + 0x118]
mov r8, rbx
call fcn.140038990
mov r14, qword [r12 + 0xb0]
mov rdi, qword [r12 + 0xe0]
cmp rbp, rdi
jb 0x14006f57d
mov rax, rbx
shr rax, 0x21
lea rcx, [rbp - 1]
bsr rcx, rcx
not ecx
mov r12, 0xffffffffffffffff
shr r12, cl
add r12, 2
test rax, rax
mov eax, 2
cmove r12, rax
sub r12, r14
lea rax, [r12 + rdi]
cmp rdi, rax
jae 0x14006f570
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0xd8]
sub rax, rdi
cmp rax, r12
jb 0x14006f712
mov rax, qword [rsp + 0x30]
mov r13, qword [rax + 0xd0]
lea rcx, [rdi*8]
add rcx, r13
cmp r12, 2
jb 0x14006f563
lea r8, [r12*8 - 8]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
lea rax, [rdi + r12]
lea rcx, [rax*8 - 8]
add rcx, r13
add rdi, r12
dec rdi
mov qword [rcx], 0
inc rdi
mov rax, rdi
mov r12, qword [rsp + 0x30]
mov qword [r12 + 0xe0], rax
mov rax, qword [r12 + 0xd0]
cmp dword [rax + rbp*8], 0
je 0x14006f651
mov dword [rax + rbp*8], ebx
mov eax, dword [rax + rbp*8 + 4]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov dword [rcx + rax*8], ebx
mov dword [rcx + rax*8 + 4], ebp
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx]
imul rax, rax, 0x98
lea rcx, [rdx + rax]
mov r13, qword [rdx + rax]
mov rbp, qword [rdx + rax + 8]
mov r12, qword [rdx + rax + 0x50]
mov r14, qword [rdx + rax + 0x58]
mov r8, qword [rdx + rax + 0x68]
mov qword [rsp + 0x28], r8
mov rbx, qword [rdx + rax + 0x70]
movzx edi, byte [rdx + rax + 0x90]
mov r8d, 0x98
lea rdx, [rsp + 0xe0]
call sub.VCRUNTIME140.dll_memcpy
cmp dil, 2
lea rdi, [rsp + 0x160]
je 0x14006f6f0
test rbp, rbp
je 0x14006f62c
lea rax, [rbp*8 + 0x17]
and rax, 0xfffffffffffffff0
add rbp, rax
cmp rbp, 0xffffffffffffffef
je 0x14006f62c
sub r13, rax
mov rcx, r13
call fcn.140142490
test r14, r14
je 0x14006f639
mov rcx, r12
call fcn.140142490
test rbx, rbx
je 0x14006f6f0
mov rcx, qword [rsp + 0x28]
call fcn.140142490
jmp 0x14006f6f0
mov dword [rax + rbp*8], ebx
mov dword [rax + rbp*8 + 4], r14d
mov rdx, qword [r12 + 0xb0]
cmp rdx, qword [r12 + 0xa8]
jne 0x14006f67d
mov rcx, qword [rsp + 0x48]
call fcn.140096f20
mov rdx, qword [r12 + 0xb0]
mov rax, qword [r12 + 0xa0]
mov qword [rax + rdx*8], rbx
inc rdx
mov qword [r12 + 0xb0], rdx
mov rdi, qword [r12 + 0xc8]
cmp rdi, qword [r12 + 0xc0]
jne 0x14006f6bb
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
call fcn.14001a7a0
mov rdi, qword [r12 + 0xc8]
imul rcx, rdi, 0x98
add rcx, qword [r12 + 0xb8]
mov r8d, 0x98
lea rdx, [rsp + 0xe0]
call sub.VCRUNTIME140.dll_memcpy
inc rdi
mov qword [r12 + 0xc8], rdi
lea rdi, [rsp + 0x160]
cmp rsi, r15
mov r14, qword [rsp + 0x30]
movabs r9, 0x7fffffff7fffffff
lea rcx, [rsp + 0x1b0]
jne 0x14006ef0e
jmp 0x14006f735
mov r13, qword [rsp + 0x30]
lea rcx, [r13 + 0xd0]
mov rdx, rdi
mov r8, r12
call fcn.140160250
mov rdi, qword [r13 + 0xe0]
jmp 0x14006f522
mov qword [r14 + 0xf8], 0
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x140071a88
xor edi, edi
lea rbx, [rsp + 0xe0]
movsd xmm6, qword [0x140169640]
mov r15, qword [rsp + 0x30]
jmp 0x14006f7e0
lea rsi, [rcx + rdx]
add rsi, 0x38
movapd xmmword [rsp + 0xe0], xmm0
movsd qword [rsp + 0xf0], xmm1
mov rcx, r15
mov rdx, rbx
lea r8, [rsp + 0x1d0]
call fcn.140038b10
movapd xmmword [rsp + 0xe0], xmm7
movsd qword [rsp + 0xf0], xmm8
mov rcx, r15
mov rdx, rbx
mov r8, r14
call fcn.140038990
movupd xmmword [rsi], xmm7
movsd qword [rsi + 0x10], xmm8
mov rax, qword [r15 + 0xb0]
inc rdi
cmp rdi, rax
mov r14, qword [rsp + 0x30]
je 0x14006f8db
mov rsi, qword [r14 + 0xa0]
mov edx, dword [rsi + rdi*8]
test rdx, rdx
je 0x14006f8ce
mov rcx, qword [r14 + 0xb8]
mov r8d, dword [rsi + rdi*8 + 4]
mov r10, r14
mov r14, r8
shl r14, 0x20
or r14, rdx
mov rdx, qword [r10 + 0xd0]
mov edx, dword [rdx + r8*8 + 4]
mov qword [rsp + 0x1d0], r14
mov r9, qword [r10 + 0x320]
mov r10, qword [r10 + 0x338]
mov r8d, dword [r10 + r8*8 + 4]
lea r8, [r8 + r8*2]
movupd xmm7, xmmword [r9 + r8*8]
movsd xmm8, qword [r9 + r8*8 + 0x10]
imul rdx, rdx, 0x98
movupd xmm0, xmmword [rcx + rdx + 0x38]
movsd xmm1, qword [rcx + rdx + 0x48]
ucomisd xmm0, xmm7
movapd xmm2, xmm0
unpckhpd xmm2, xmm0
movapd xmm3, xmm7
unpckhpd xmm3, xmm7
jne 0x14006f884
jp 0x14006f884
ucomisd xmm2, xmm3
jne 0x14006f884
jp 0x14006f884
ucomisd xmm1, xmm8
jne 0x14006f884
jnp 0x14006f7cf
cmp byte [rcx + rdx + 0x8f], 0
je 0x14006f770
subsd xmm2, xmm3
mulsd xmm2, xmm2
movapd xmm3, xmm0
unpcklpd xmm3, xmm1
movapd xmm4, xmm7
unpcklpd xmm4, xmm8
subpd xmm3, xmm4
mulpd xmm3, xmm3
addsd xmm2, xmm3
unpckhpd xmm3, xmm3
addsd xmm3, xmm2
ucomisd xmm3, xmm6
jae 0x14006f770
jmp 0x14006f7cf
mov rdi, rax
test rdi, rdi
jne 0x14006f8eb
jmp 0x140071a88
mov rsi, qword [r14 + 0xa0]
test rdi, rdi
je 0x140071a88
lea rdi, [rsi + rdi*8]
mov qword [rsp + 0x60], rdi
jmp 0x14006f90d
add rsi, 8
cmp rsi, rdi
je 0x14006fbab
mov r15d, dword [rsi + 4]
mov rax, qword [r14 + 0xb8]
mov rcx, qword [r14 + 0xd0]
mov ecx, dword [rcx + r15*8 + 4]
imul rcx, rcx, 0x98
cmp byte [rax + rcx + 0x8f], 0
jne 0x14006f900
mov ebx, dword [rsi]
mov rdx, qword [r14 + 0x368]
mov r8, qword [r14 + 0x380]
mov r8d, dword [r8 + r15*8 + 4]
lea r8, [r8 + r8*2]
mov ebp, dword [rdx + r8*4]
mov r9d, dword [rdx + r8*4 + 4]
mov r10d, dword [rdx + r8*4 + 8]
mov edx, ebp
sar edx, 4
mov dword [rsp + 0x50], r9d
mov r8d, r9d
sar r8d, 4
mov dword [rsp + 0x38], r10d
mov r9d, r10d
sar r9d, 4
cmp dword [rax + rcx + 0x80], edx
jne 0x14006f99a
cmp dword [rax + rcx + 0x84], r8d
jne 0x14006f99a
cmp dword [rax + rcx + 0x88], r9d
je 0x14006f900
add rax, rcx
add rax, 0x80
mov dword [rax], edx
mov dword [rax + 4], r8d
mov dword [rax + 8], r9d
mov rax, qword [r14 + 0x338]
mov eax, dword [rax + r15*8 + 4]
lea r8, [rax + rax*2]
shl r8, 3
add r8, qword [r14 + 0x320]
lea rcx, [rsp + 0xe0]
mov rdx, r14
call fcn.140038d00
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x70], rax
mov r14, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x28], rax
cmp r14, rax
je 0x14006fb86
mov rax, r15
shl rax, 0x20
or rax, rbx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x48], ebp
jmp 0x14006fa4f
mov rax, qword [r12]
mov rcx, qword [rsp + 0x58]
mov qword [rax + rdx*8], rcx
inc rdx
mov qword [r12 + 0x10], rdx
nop word [rax + rax]
add r14, 0x10
cmp r14, qword [rsp + 0x28]
je 0x14006fb86
mov rcx, qword [r14]
mov eax, dword [rcx + 4]
cmp eax, r15d
je 0x14006fa40
mov r8, qword [rsp + 0x30]
mov rdx, qword [r8 + 0x368]
mov r8, qword [r8 + 0x380]
mov r8d, dword [r8 + rax*8 + 4]
lea r8, [r8 + r8*2]
mov r9d, ebp
sub r9d, dword [rdx + r8*4]
mov r10d, dword [rsp + 0x50]
sub r10d, dword [rdx + r8*4 + 4]
mov r11d, dword [rsp + 0x38]
sub r11d, dword [rdx + r8*4 + 8]
imul r9d, r9d
imul r10d, r10d
add r10d, r9d
imul r11d, r11d
add r11d, r10d
cmp r11d, 0x400
ja 0x14006fa40
mov ecx, dword [rcx]
mov r12, rax
shl r12, 0x20
or r12, rcx
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rcx + 0xb8]
mov rcx, qword [rcx + 0xd0]
mov edi, dword [rcx + rax*8 + 4]
mov eax, dword [rcx + r15*8 + 4]
imul r13, rax, 0x98
cmp byte [rbx + r13 + 0x90], 0
je 0x14006fb31
imul rcx, rdi, 0x98
add rcx, rbx
mov rdx, qword [rsp + 0x58]
call fcn.140033b40
test al, al
jne 0x14006fb31
lea rbp, [rbx + r13]
add rbp, 0x50
mov rdx, qword [rbx + r13 + 0x60]
cmp rdx, qword [rbx + r13 + 0x58]
jne 0x14006fb1e
mov rcx, rbp
call fcn.140096f20
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp]
mov qword [rax + rdx*8], r12
inc rdx
mov qword [rbp + 0x10], rdx
mov ebp, dword [rsp + 0x48]
imul rdi, rdi, 0x98
cmp byte [rbx + rdi + 0x90], 0
je 0x14006fa40
add r13, rbx
mov rcx, r13
mov rdx, r12
call fcn.140033b40
test al, al
jne 0x14006fa40
lea r12, [rbx + rdi]
add r12, 0x50
mov rdx, qword [rbx + rdi + 0x60]
cmp rdx, qword [rbx + rdi + 0x58]
jne 0x14006fa25
mov rcx, r12
call fcn.140096f20
mov rdx, qword [r12 + 0x10]
jmp 0x14006fa25
cmp qword [rsp + 0x70], 0
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x60]
je 0x14006f900
mov rcx, qword [rsp + 0x40]
call fcn.140142490
jmp 0x14006f900
mov rax, qword [r14 + 0xb0]
test rax, rax
je 0x140071a88
xor r9d, r9d
pcmpeqd xmm6, xmm6
jmp 0x14006fbf2
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0xb0]
mov r9, qword [rsp + 0x60]
inc r9
cmp r9, rax
mov r14, qword [rsp + 0x30]
je 0x14006fe55
mov rdx, qword [r14 + 0xa0]
cmp dword [rdx + r9*8], 0
je 0x14006fe52
mov rcx, qword [r14 + 0xb8]
mov r8d, dword [rdx + r9*8 + 4]
mov rdx, qword [r14 + 0xd0]
mov edx, dword [rdx + r8*8 + 4]
imul rdx, rdx, 0x98
cmp byte [rcx + rdx + 0x8f], 8
jne 0x14006fbe1
lea r10, [rcx + rdx]
mov rbx, qword [r10 + 0x18]
test rbx, rbx
je 0x14006fbe1
mov qword [rsp + 0x60], r9
mov r9, qword [rsp + 0x30]
mov rax, qword [r9 + 0x368]
mov r9, qword [r9 + 0x380]
mov r8d, dword [r9 + r8*8 + 4]
lea r8, [r8 + r8*2]
mov r9d, dword [rax + r8*4]
mov dword [rsp + 0x48], r9d
mov r9d, dword [rax + r8*4 + 4]
mov dword [rsp + 0x70], r9d
mov eax, dword [rax + r8*4 + 8]
mov dword [rsp + 0x40], eax
lea r11, [rcx + rdx + 0x68]
mov rsi, qword [r10]
mov rax, qword [r10 + 8]
mov qword [rsp + 0x28], rax
lea r15, [rsi + 0x10]
movdqa xmm0, xmmword [rsi]
pmovmskb r12d, xmm0
not r12d
mov rax, qword [r10 + 0x10]
mov qword [rsp + 0x50], rax
mov r13, rsi
mov r14, rbx
mov qword [rsp + 0x58], rsi
jmp 0x14006fcd4
mov byte [rsi + rax], r8b
mov byte [rcx + rsi + 0x10], r8b
dec r14
mov qword [r10 + 0x18], r14
lea eax, [r12 - 1]
and eax, r12d
mov r12d, eax
dec rbx
je 0x14006fbd0
test r12w, r12w
jne 0x14006fcfe
nop word [rax + rax]
movdqa xmm0, xmmword [r15]
pmovmskb r12d, xmm0
add r13, 0xffffffffffffff80
add r15, 0x10
cmp r12d, 0xffff
je 0x14006fce0
not r12d
tzcnt eax, r12d
shl rax, 3
mov rdi, r13
sub rdi, rax
mov ebp, dword [rdi - 4]
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x390], rbp
jbe 0x14006fd90
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x380]
mov ecx, dword [rax + rbp*8]
test ecx, ecx
je 0x14006fd90
cmp ecx, dword [rdi - 8]
jne 0x14006fd90
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x368]
mov eax, dword [rax + rbp*8 + 4]
lea rax, [rax + rax*2]
mov edx, dword [rsp + 0x48]
sub edx, dword [rcx + rax*4]
mov r8d, dword [rsp + 0x70]
sub r8d, dword [rcx + rax*4 + 4]
mov r9d, dword [rsp + 0x40]
sub r9d, dword [rcx + rax*4 + 8]
imul edx, edx
imul r8d, r8d
add r8d, edx
imul r9d, r9d
add r9d, r8d
cmp r9d, 0x401
jb 0x14006fcc0
nop word cs:[rax + rax]
mov rdx, qword [r11 + 0x10]
cmp rdx, qword [r11 + 8]
jne 0x14006fdc1
mov rcx, r11
mov qword [rsp + 0x38], rbx
mov rbx, r10
mov rsi, r11
call fcn.140096e50
mov r11, rsi
mov rsi, qword [rsp + 0x58]
mov r10, rbx
mov rbx, qword [rsp + 0x38]
mov rdx, qword [r11 + 0x10]
mov rax, qword [r11]
mov dword [rax + rdx*4], ebp
inc rdx
mov qword [r11 + 0x10], rdx
mov rax, rsi
sub rax, rdi
sar rax, 3
lea rcx, [rax - 0x10]
and rcx, qword [rsp + 0x28]
movdqu xmm0, xmmword [rsi + rcx]
pcmpeqb xmm0, xmm6
psllw xmm0, 7
pmovmskb edx, xmm0
movdqu xmm0, xmmword [rsi + rax]
test edx, edx
je 0x14006fe10
bsr dx, dx
xor edx, 0xf
jmp 0x14006fe14
mov dx, 0x10
pcmpeqb xmm0, xmm6
pmovmskb r8d, xmm0
or r8d, 0x10000
tzcnt r8d, r8d
add edx, r8d
mov r8b, 0x80
cmp dx, 0xf
ja 0x14006fcb0
mov rdx, qword [rsp + 0x50]
inc rdx
mov qword [rsp + 0x50], rdx
mov qword [r10 + 0x10], rdx
mov r8b, 0xff
jmp 0x14006fcb0
mov r9, rax
test r9, r9
je 0x140071a88
mov rax, qword [r14 + 0xa0]
cmp dword [rax], 0
je 0x14007082b
mov eax, dword [rax + 4]
mov qword [rsp + 0x48], rax
lea rax, [rax*8]
add rax, qword [r14 + 0xd0]
movss xmm8, dword [0x140169648]
movss xmm9, dword [0x1401693e4]
movapd xmm14, xmmword [0x140169680]
movsd xmm15, qword [0x140169690]
movsd xmm10, qword [0x1401696a0]
movsd xmm11, qword [0x1401696a8]
lea r12, [rsp + 0xc0]
mov r13d, 1
nop dword [rax]
mov eax, dword [rax + 4]
mov rcx, qword [r14 + 0xb8]
imul rax, rax, 0x98
cmp byte [rcx + rax + 0x90], 0
je 0x1400707c1
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x70], rax
mov rdi, qword [rcx + rax + 0x60]
test rdi, rdi
je 0x140070430
mov rax, qword [r14 + 0x248]
mov rcx, qword [r14 + 0x260]
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rcx + rdx*8 + 4]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x70]
mov rbx, qword [rdx + r8 + 0x50]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
add rax, 8
mov qword [rsp + 0x28], rax
shl rdi, 3
xor ebp, ebp
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x38], rbx
jmp 0x14006ffc3
mov eax, 1
mov rcx, r12
mov byte [rcx], 0
mov qword [rsp + 0x1d0], r12
mov qword [rsp + 0x1d8], rax
mov word [rsp + 0x1e0], 0x708
mov dword [rsp + 0x228], esi
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], 1
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax]
add rcx, 0x10
lea rdx, [rsp + 0x218]
call fcn.140035ae0
add rbp, 8
cmp rdi, rbp
je 0x140070430
mov esi, dword [rbx + rbp + 4]
mov rax, qword [r14 + 0x3b0]
mov rcx, qword [r14 + 0x3c8]
mov ecx, dword [rcx + rsi*8 + 4]
movss xmm0, dword [rax + rcx*8]
mulss xmm0, xmm8
movss xmm6, dword [rax + rcx*8 + 4]
mulss xmm6, xmm8
divss xmm0, xmm9
divss xmm6, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movaps xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movaps xmm6, xmm0
mov rax, qword [r14 + 0x440]
mov rcx, qword [r14 + 0x458]
mov ecx, dword [rcx + rsi*8 + 4]
lea rcx, [rcx + rcx*2]
movsd xmm12, qword [rax + rcx*8 + 0x10]
maxsd xmm12, qword [0x140169650]
minsd xmm12, qword [0x140169658]
movupd xmm13, xmmword [rax + rcx*8]
maxpd xmm13, xmmword [0x140169660]
minpd xmm13, xmmword [str.333333]
mulpd xmm13, xmm14
mulsd xmm12, xmm15
mov rax, qword [r14 + 0x638]
mov rcx, qword [r14 + 0x650]
mov ecx, dword [rcx + rsi*8 + 4]
movzx r13d, byte [rax + rcx]
mov rax, qword [r14 + 0x200]
mov rcx, qword [r14 + 0x218]
mov ecx, dword [rcx + rsi*8 + 4]
shl rcx, 4
movdqu xmm0, xmmword [rax + rcx]
movdqa xmmword [rsp + 0x1d0], xmm0
mov rax, qword [rsp + 0x28]
mov r15, qword [rax]
cmp byte [r15 + 0x40], 0
je 0x1400700c0
cmp r13b, 0x36
jne 0x14006ffb6
jmp 0x140070371
cmp qword [r15 + 0x10], 0
jne 0x140071af4
mov rax, qword [r14 + 0x320]
mov rcx, qword [r14 + 0x338]
mov ecx, dword [rcx + rsi*8 + 4]
lea rcx, [rcx + rcx*2]
mov r12, qword [rax + rcx*8]
mov rdx, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x50], rdx
mov rdi, qword [rax + rcx*8 + 0x10]
mov qword [r15 + 0x10], 0xffffffffffffffff
mov r14d, 0x34
cmp esi, 0x80
jb 0x140070140
mov r14d, 0x35
cmp esi, 0x4000
jb 0x140070140
mov r14d, 0x36
cmp esi, 0x200000
jb 0x140070140
cmp esi, 0x10000000
mov r14d, 0x38
sbb r14, 0
nop word cs:[rax + rax]
lea rbx, [r14 + 1]
add r14, 2
mov rax, qword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
sub rax, rdx
cmp rax, rbx
jbe 0x140070410
mov rax, qword [r15 + 0x18]
lea rcx, [rax + rdx]
mov byte [rax + rdx], bl
mov byte [rax + rdx + 1], 1
cmp esi, 0x7f
ja 0x140070184
mov byte [rcx + 2], sil
mov ecx, 2
mov rbx, qword [rsp + 0x38]
jmp 0x140070240
cmp esi, 0x3fff
mov rbx, qword [rsp + 0x38]
mov r8d, esi
ja 0x1400701b1
or r8b, 0x80
mov r9d, esi
shr r9d, 7
mov byte [rcx + 2], r8b
mov byte [rcx + 3], r9b
mov ecx, 3
jmp 0x140070240
or r8b, 0x80
mov r9d, esi
shr r9d, 7
or r9b, 0x80
mov r10d, esi
shr r10d, 0xe
cmp esi, 0x1fffff
ja 0x1400701e2
mov byte [rcx + 2], r8b
mov byte [rcx + 3], r9b
mov byte [rcx + 4], r10b
mov ecx, 4
jmp 0x140070240
or r10b, 0x80
mov r11d, esi
shr r11d, 0x15
cmp esi, 0xfffffff
ja 0x14007020c
mov byte [rcx + 2], r8b
mov byte [rcx + 3], r9b
mov byte [rcx + 4], r10b
mov byte [rcx + 5], r11b
mov ecx, 5
jmp 0x140070240
or r11b, 0x80
mov ebx, esi
shr ebx, 0x1c
mov byte [rcx + 2], r8b
mov byte [rcx + 3], r9b
mov byte [rcx + 4], r10b
mov byte [rcx + 5], r11b
mov byte [rcx + 6], bl
mov rbx, qword [rsp + 0x38]
mov ecx, 6
nop word cs:[rax + rax]
movss xmm2, dword [0x140169698]
movaps xmm0, xmm2
maxss xmm0, xmm7
movss xmm3, dword [0x14016969c]
movaps xmm1, xmm3
minss xmm1, xmm0
cvttss2si r8d, xmm1
movaps xmm0, xmm2
maxss xmm0, xmm6
movaps xmm1, xmm3
minss xmm1, xmm0
cvttss2si r9d, xmm1
movapd xmm0, xmm10
maxsd xmm0, xmm13
unpckhpd xmm13, xmm13
movapd xmm1, xmm10
maxsd xmm1, xmm13
movapd xmm2, xmm11
minsd xmm2, xmm1
cvttsd2si r10d, xmm2
movapd xmm1, xmm11
minsd xmm1, xmm0
cvttsd2si r11d, xmm1
movd xmm0, r11d
pinsrw xmm0, r10d, 1
movapd xmm1, xmm10
maxsd xmm1, xmm12
movapd xmm2, xmm11
minsd xmm2, xmm1
cvttsd2si r10d, xmm2
lea rax, [rax + rdx + 1]
movaps xmm1, xmmword [rsp + 0x1d0]
movups xmmword [rax + rcx], xmm1
mov byte [rax + rcx + 0x10], r13b
bswap r12
mov qword [rax + rcx + 0x11], r12
mov rdx, qword [rsp + 0x50]
bswap rdx
bswap rdi
mov qword [rax + rcx + 0x19], rdx
mov qword [rax + rcx + 0x21], rdi
mov byte [rax + rcx + 0x29], r8b
mov byte [rax + rcx + 0x2a], r9b
mov word [rax + rcx + 0x2b], 0
movdqa xmm1, xmm0
psrlw xmm1, 8
psllw xmm0, 8
por xmm0, xmm1
movd dword [rax + rcx + 0x2d], xmm0
rol r10w, 8
mov word [rax + rcx + 0x31], r10w
add qword [r15 + 0x28], r14
mov rax, qword [r15 + 0x30]
mov rcx, qword [r15 + 0x38]
mov qword [r15 + 0x30], 0
test rax, rax
je 0x140070351
call qword [rax + 8]
inc qword [r15 + 0x10]
mov r14, qword [rsp + 0x30]
lea r12, [rsp + 0xc0]
mov rdi, qword [rsp + 0x58]
cmp r13b, 0x36
jne 0x14006ffb6
mov rax, qword [r14 + 0x680]
mov rcx, qword [r14 + 0x698]
mov ecx, dword [rcx + rsi*8 + 4]
lea rcx, [rcx + rcx*2]
movzx r8d, word [rax + rcx*2]
movzx ecx, byte [rax + rcx*2 + 2]
mov word [rsp + 0xc4], 0
mov dword [rsp + 0xc0], 0
cmp r8d, 0x80
mov eax, 5
sbb rax, 0
test cl, cl
je 0x14006ff55
movzx edx, r8w
mov byte [rsp + 0xc0], 1
mov r9d, 2
cmp edx, 0x80
jb 0x1400703f1
or dl, 0x80
movsx r8d, r8w
shr r8d, 7
mov byte [rsp + 0xc2], r8b
mov r9d, 3
mov byte [rsp + 0xc1], dl
mov byte [rsp + r9 + 0xc0], cl
lea rcx, [rsp + r9]
add rcx, 0xc1
jmp 0x14006ff5d
lea rcx, [r15 + 0x18]
mov r8, r14
call fcn.1401639e0
mov rdx, qword [r15 + 0x28]
jmp 0x14007015c
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x70]
lea rax, [rsi + rbp]
add rax, 0x60
mov qword [rax], 0
mov rbx, qword [rbp + rsi + 0x78]
test rbx, rbx
mov r13, qword [rsp + 0x60]
je 0x1400707c1
mov rax, qword [r14 + 0x248]
mov rcx, qword [r14 + 0x260]
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rcx + rdx*8 + 4]
lea rcx, [rcx + rcx*2]
mov rdi, qword [rax + rcx*8 + 8]
cmp byte [rdi + 0x40], 0
jne 0x1400707b2
cmp qword [rdi + 0x10], 0
jne 0x140071af4
mov r15, qword [rbp + rsi + 0x68]
mov qword [rdi + 0x10], 0xffffffffffffffff
cmp rbx, 1
jne 0x1400704ad
xor ecx, ecx
xor eax, eax
jmp 0x14007056b
mov rdx, rbx
and rdx, 0xfffffffffffffffe
xor eax, eax
xor ecx, ecx
jmp 0x1400704d3
add rax, r9
add rax, r8
add rcx, 2
cmp rdx, rcx
je 0x140070566
mov r10d, dword [r15 + rcx*4]
mov r8d, 1
mov r9d, 1
cmp r10d, 0x80
jb 0x140070520
mov r9d, 2
cmp r10d, 0x4000
jb 0x140070520
mov r9d, 3
cmp r10d, 0x200000
jb 0x140070520
cmp r10d, 0x10000000
mov r9d, 5
sbb r9, 0
nop dword [rax + rax]
mov r10d, dword [r15 + rcx*4 + 4]
cmp r10d, 0x80
jb 0x1400704c0
mov r8d, 2
cmp r10d, 0x4000
jb 0x1400704c0
mov r8d, 3
cmp r10d, 0x200000
jb 0x1400704c0
cmp r10d, 0x10000000
mov r8d, 5
sbb r8, 0
jmp 0x1400704c0
test bl, 1
je 0x1400705a8
mov edx, dword [r15 + rcx*4]
mov ecx, 1
cmp edx, 0x80
jb 0x1400705a5
mov ecx, 2
cmp edx, 0x4000
jb 0x1400705a5
mov ecx, 3
cmp edx, 0x200000
jb 0x1400705a5
cmp edx, 0x10000000
mov ecx, 5
sbb rcx, 0
add rax, rcx
cmp ebx, 0x4000
mov esi, 4
sbb rsi, 0
cmp ebx, 0x80
mov ecx, 2
cmovb rsi, rcx
add rsi, rax
cmp esi, 0x4000
mov r14d, 3
sbb r14, 0
cmp esi, 0x80
mov eax, 1
cmovb r14, rax
add r14, rsi
mov rax, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
sub rax, rdx
cmp rax, r14
jb 0x14007060e
add rdx, qword [rdi + 0x18]
cmp esi, 0x7f
ja 0x140070627
mov byte [rdx], sil
mov ecx, 1
jmp 0x140070658
lea rcx, [rdi + 0x18]
mov r8, r14
call fcn.1401639e0
mov rdx, qword [rdi + 0x28]
add rdx, qword [rdi + 0x18]
cmp esi, 0x7f
jbe 0x140070604
mov eax, esi
or al, 0x80
mov ecx, esi
shr ecx, 7
cmp esi, 0x3fff
ja 0x140070644
mov byte [rdx], al
mov byte [rdx + 1], cl
mov ecx, 2
jmp 0x140070658
or cl, 0x80
shr esi, 0xe
mov byte [rdx], al
mov byte [rdx + 1], cl
mov byte [rdx + 2], sil
mov ecx, 3
lea rax, [rdx + rcx]
mov byte [rdx + rcx], 0x40
cmp ebx, 0x80
mov rsi, qword [rsp + 0x70]
jae 0x140070677
mov byte [rax + 1], bl
mov edx, 2
jmp 0x1400706b6
mov ecx, ebx
shr ecx, 7
cmp ebx, 0x4000
jae 0x140070691
mov edx, 3
mov r8d, 2
jmp 0x1400706a7
or cl, 0x80
mov byte [rax + 2], cl
mov ecx, ebx
shr ecx, 0xe
mov edx, 4
mov r8d, 3
mov r9d, ebx
or r9b, 0x80
mov byte [rax + 1], r9b
mov byte [rax + r8], cl
add rax, rdx
shl rbx, 2
xor ecx, ecx
jmp 0x1400706e7
mov byte [rax], dl
mov edx, 1
add rax, rdx
add rcx, 4
cmp rbx, rcx
je 0x14007078d
mov edx, dword [r15 + rcx]
cmp edx, 0x7f
jbe 0x1400706d0
mov r8d, edx
or r8b, 0x80
cmp edx, 0x3fff
ja 0x140070710
shr edx, 7
mov byte [rax], r8b
mov byte [rax + 1], dl
mov edx, 2
jmp 0x1400706d7
mov r9d, edx
shr r9d, 7
or r9b, 0x80
cmp edx, 0x1fffff
ja 0x140070737
shr edx, 0xe
mov byte [rax], r8b
mov byte [rax + 1], r9b
mov byte [rax + 2], dl
mov edx, 3
jmp 0x1400706d7
mov r10d, edx
shr r10d, 0xe
or r10b, 0x80
mov r11d, edx
shr r11d, 0x15
cmp edx, 0xfffffff
ja 0x14007076a
mov byte [rax], r8b
mov byte [rax + 1], r9b
mov byte [rax + 2], r10b
mov byte [rax + 3], r11b
mov edx, 4
jmp 0x1400706d7
or r11b, 0x80
shr edx, 0x1c
mov byte [rax], r8b
mov byte [rax + 1], r9b
mov byte [rax + 2], r10b
mov byte [rax + 3], r11b
mov byte [rax + 4], dl
mov edx, 5
jmp 0x1400706d7
add qword [rdi + 0x28], r14
mov rax, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x38]
mov qword [rdi + 0x30], 0
test rax, rax
je 0x1400707a9
call qword [rax + 8]
inc qword [rdi + 0x10]
mov r14, qword [rsp + 0x30]
lea rax, [rsi + rbp]
add rax, 0x78
mov qword [rax], 0
mov rcx, qword [r14 + 0xb0]
cmp r13, rcx
je 0x14007081f
mov rdx, qword [r14 + 0xa0]
mov eax, dword [rdx + r13*8 + 4]
mov qword [rsp + 0x48], rax
lea rax, [rax*8]
add rax, qword [r14 + 0xd0]
cmp dword [rdx + r13*8], 0
lea r13, [r13 + 1]
jne 0x14006fed0
test rcx, rcx
jne 0x14007082b
jmp 0x140071a88
and edx, 0x7ff
imul eax, edx, 0x52
add eax, 0x2ee0
mov dword [rcx + 0x10c], eax
jmp 0x14006b8a4
mov rcx, r13
test rcx, rcx
je 0x140071a88
movss xmm9, dword [0x140169648]
movss xmm10, dword [0x1401693e4]
movss xmm11, dword [0x140169698]
movss xmm12, dword [0x14016969c]
movsd xmm8, qword [0x1401696b0]
xorpd xmm14, xmm14
xor ebx, ebx
jmp 0x1400708ac
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x88]
add rax, rcx
add rax, 0x8e
mov ecx, dword [rsp + 0x40]
mov byte [rax], cl
mov r14, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x180]
inc rbx
cmp rbx, qword [r14 + 0xb0]
je 0x140071a88
mov rax, qword [r14 + 0xa0]
mov edi, dword [rax + rbx*8]
test edi, edi
je 0x140071a88
mov r12, qword [r14 + 0xb8]
mov edx, dword [rax + rbx*8 + 4]
mov rax, qword [r14 + 0xd0]
mov eax, dword [rax + rdx*8 + 4]
imul r15, rax, 0x98
movzx eax, byte [r12 + r15 + 0x8f]
sub al, 1
movzx eax, al
mov ecx, 0xf
cmovb eax, ecx
lea rbp, [r12 + r15]
mov byte [r12 + r15 + 0x8f], al
mov rsi, qword [rbp + 0x18]
test rsi, rsi
je 0x14007089c
mov rax, qword [r14 + 0x3b0]
mov rcx, qword [r14 + 0x3c8]
mov ecx, dword [rcx + rdx*8 + 4]
movss xmm0, dword [rax + rcx*8]
mulss xmm0, xmm9
movss xmm7, dword [rax + rcx*8 + 4]
mulss xmm7, xmm9
divss xmm0, xmm10
divss xmm7, xmm10
mov qword [rsp + 0x48], rdx
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
movaps xmm6, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
mov r8, qword [rsp + 0x48]
movaps xmm7, xmm0
mov rax, qword [r14 + 0x320]
mov rcx, qword [r14 + 0x338]
mov ecx, dword [rcx + r8*8 + 4]
lea rcx, [rcx + rcx*2]
movupd xmm13, xmmword [rax + rcx*8]
movsd xmm15, qword [rax + rcx*8 + 0x10]
mov rax, qword [r14 + 0x2d8]
mov rcx, qword [r14 + 0x2f0]
mov ecx, dword [rcx + r8*8 + 4]
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x70], al
cmp qword [r14 + 0x420], r8
jbe 0x140070a00
mov rax, qword [r14 + 0x410]
mov ecx, dword [rax + r8*8]
mov dword [rsp + 0x40], 0
test ecx, ecx
je 0x140070a08
cmp ecx, edi
jne 0x140070a08
mov rcx, qword [r14 + 0x3f8]
mov eax, dword [rax + r8*8 + 4]
movss xmm0, dword [rcx + rax*4]
mulss xmm0, xmm9
divss xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
mov r8, qword [rsp + 0x48]
movaps xmm1, xmm11
maxss xmm1, xmm0
movaps xmm0, xmm12
minss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [rsp + 0x40], eax
jmp 0x140070a08
mov dword [rsp + 0x40], 0
movaps xmm0, xmm11
maxss xmm0, xmm7
movaps xmm1, xmm12
minss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [rsp + 0x58], eax
movaps xmm0, xmm11
maxss xmm0, xmm6
movaps xmm1, xmm12
minss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [rsp + 0x38], eax
mov rdx, qword [r14 + 0x248]
mov r9, qword [r14 + 0x260]
lea r14, [r12 + r15 + 0x20]
movupd xmm1, xmmword [r12 + r15 + 0x20]
movapd xmm6, xmm13
movapd xmm0, xmm15
subsd xmm0, qword [r12 + r15 + 0x30]
subpd xmm6, xmm1
movapd xmm1, xmm6
unpckhpd xmm1, xmm6
movapd xmm2, xmm1
cmpunordsd xmm2, xmm1
movapd xmm3, xmm2
andpd xmm3, xmm0
movapd xmm4, xmm0
minsd xmm4, xmm1
andnpd xmm2, xmm4
orpd xmm2, xmm3
movapd xmm3, xmm6
cmpunordsd xmm3, xmm6
movapd xmm4, xmm3
andpd xmm4, xmm2
minsd xmm2, xmm6
andnpd xmm3, xmm2
orpd xmm3, xmm4
ucomisd xmm8, xmm3
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0x88], r15
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xc8], r14
ja 0x140070d50
movapd xmm2, xmm0
maxsd xmm2, xmm1
cmpunordsd xmm1, xmm1
movapd xmm3, xmm1
andpd xmm3, xmm0
andnpd xmm1, xmm2
orpd xmm1, xmm3
movapd xmm2, xmm1
maxsd xmm2, xmm6
movapd xmm3, xmm6
cmpunordsd xmm3, xmm6
movapd xmm4, xmm3
andpd xmm4, xmm1
andnpd xmm3, xmm2
orpd xmm3, xmm4
ucomisd xmm3, qword [0x1401696b8]
ja 0x140070d50
mulpd xmm6, xmmword [0x1401696c0]
mulsd xmm0, qword [0x1401696d0]
call sub.api_ms_win_crt_math_l1_1_0.dll_round
movapd xmm7, xmm0
movapd xmm0, xmm6
unpckhpd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_round
movapd xmm14, xmm8
movapd xmm8, xmm0
movapd xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_round
mov r9, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x48]
ucomisd xmm0, xmm0
movsd xmm1, qword [0x1401693b0]
maxsd xmm0, xmm1
movsd xmm2, qword [0x1401693b8]
minsd xmm0, xmm2
cvttsd2si ecx, xmm0
mov eax, 0
cmovp ecx, eax
ucomisd xmm8, xmm8
maxsd xmm8, xmm1
minsd xmm8, xmm2
cvttsd2si edi, xmm8
movapd xmm8, xmm14
xorpd xmm14, xmm14
cmovp edi, eax
ucomisd xmm7, xmm7
maxsd xmm7, xmm1
minsd xmm7, xmm2
cvttsd2si r10d, xmm7
cmovp r10d, eax
cmp edi, r10d
mov eax, r10d
cmovl eax, edi
cmp ecx, eax
cmovl eax, ecx
cmp eax, 0xffff8000
jl 0x140070d50
cmp edi, r10d
mov eax, r10d
cmovg eax, edi
cmp ecx, eax
cmovg eax, ecx
cmp eax, 0x7fff
jg 0x140070d50
mov r13d, ecx
lea r11, [r12 + r15]
add r11, 0x8d
mov eax, dword [rsp + 0x38]
cmp byte [r12 + r15 + 0x8d], al
jne 0x140071499
mov ecx, r13d
imul ecx, r13d
mov edx, edi
imul edx, edi
mov eax, r10d
imul eax, r10d
add eax, ecx
add eax, edx
mov ecx, dword [rsp + 0x58]
cmp byte [r12 + r15 + 0x8c], cl
jne 0x1400717de
cmp eax, 4
mov rdx, qword [rsp + 0x28]
jle 0x140071063
movd xmm0, r13d
movd xmm1, edi
punpckldq xmm0, xmm1
mov rdi, qword [rbp]
lea rbx, [rdi + 0x10]
movdqa xmm1, xmmword [rdi]
pmovmskb r15d, xmm1
not r15d
cmp r8d, 0x10000000
mov r14d, 0xf
sbb r14, 0
mov eax, r8d
or al, 0x80
mov byte [rsp + 0x78], al
mov eax, r8d
shr eax, 7
mov dword [rsp + 0x68], eax
or al, 0x80
mov byte [rsp + 0x98], al
mov eax, r8d
shr eax, 0xe
mov dword [rsp + 0xb0], eax
or al, 0x80
mov byte [rsp + 0x84], al
mov eax, r8d
shr eax, 0x15
mov dword [rsp + 0xa0], eax
or al, 0x80
mov byte [rsp + 0x94], al
mov eax, r8d
shr eax, 0x1c
mov dword [rsp + 0xbc], eax
rol r10w, 8
cmp r8d, 0x80
mov eax, 0xc
sbb rax, 0
pshuflw xmm6, xmm0, 0xe8
cmp r8d, 0x200000
mov ecx, 0xd
cmovb r14, rcx
cmp r8d, 0x4000
movdqa xmm0, xmm6
psrlw xmm0, 8
psllw xmm6, 8
por xmm6, xmm0
cmovb r14, rax
lea rax, [r14 + 1]
mov qword [rsp + 0x60], rax
jmp 0x1400712e8
movq r13, xmm15
mov rbx, qword [rbp]
lea r15, [rbx + 0x10]
movdqa xmm0, xmmword [rbx]
pmovmskb ebp, xmm0
not ebp
cmp r8d, 0x10000000
mov r14d, 0x21
sbb r14, 0
mov eax, r8d
or al, 0x80
mov byte [rsp + 0x60], al
mov eax, r8d
shr eax, 7
mov dword [rsp + 0x78], eax
or al, 0x80
mov byte [rsp + 0x68], al
mov eax, r8d
shr eax, 0xe
mov dword [rsp + 0x98], eax
or al, 0x80
mov byte [rsp + 0xb0], al
mov eax, r8d
shr eax, 0x15
mov dword [rsp + 0x84], eax
or al, 0x80
mov byte [rsp + 0xa0], al
mov eax, r8d
shr eax, 0x1c
mov dword [rsp + 0x94], eax
cmp r8d, 0x80
mov eax, 0x1e
sbb rax, 0
cmp r8d, 0x200000
mov ecx, 0x1f
cmovb r14, rcx
cmp r8d, 0x4000
movapd xmm0, xmm13
punpckhbw xmm0, xmm14
pshufd xmm0, xmm0, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
movapd xmm1, xmm13
punpcklbw xmm1, xmm14
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm6, xmm1, 0x1b
bswap r13
packuswb xmm6, xmm0
cmovb r14, rax
lea rdi, [r14 + 1]
jmp 0x140070e5f
inc qword [r12 + 0x10]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x50]
lea eax, [rbp - 1]
and eax, ebp
mov ebp, eax
dec rsi
je 0x140071020
test bp, bp
jne 0x140070e8b
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r15]
pmovmskb ebp, xmm0
add rbx, 0xffffffffffffff80
add r15, 0x10
cmp ebp, 0xffff
je 0x140070e70
not ebp
tzcnt eax, ebp
shl rax, 3
mov rcx, rbx
sub rcx, rax
mov rax, qword [rcx - 8]
shr rax, 0x20
mov eax, dword [r9 + rax*8 + 4]
lea rax, [rax + rax*2]
mov r12, qword [rdx + rax*8 + 8]
cmp byte [r12 + 0x40], 0
jne 0x140070e4f
cmp qword [r12 + 0x10], 0
jne 0x140071af4
mov qword [r12 + 0x10], 0xffffffffffffffff
mov rax, qword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
sub rax, rdx
cmp rax, r14
jbe 0x140070ff7
mov rax, qword [r12 + 0x18]
lea rcx, [rax + rdx]
mov byte [rax + rdx], r14b
mov byte [rax + rdx + 1], 0x6b
cmp r8d, 0x7f
ja 0x140070f08
mov byte [rcx + 2], r8b
mov ecx, 2
jmp 0x140070fa0
movzx r9d, byte [rsp + 0x60]
mov byte [rcx + 2], r9b
cmp r8d, 0x3fff
ja 0x140070f2b
mov r9d, dword [rsp + 0x78]
mov byte [rcx + 3], r9b
mov ecx, 3
jmp 0x140070fa0
movzx r9d, byte [rsp + 0x68]
mov byte [rcx + 3], r9b
cmp r8d, 0x1fffff
ja 0x140070f51
mov r9d, dword [rsp + 0x98]
mov byte [rcx + 4], r9b
mov ecx, 4
jmp 0x140070fa0
movzx r9d, byte [rsp + 0xb0]
mov byte [rcx + 4], r9b
cmp r8d, 0xfffffff
ja 0x140070f7a
mov r9d, dword [rsp + 0x84]
mov byte [rcx + 5], r9b
mov ecx, 5
jmp 0x140070fa0
movzx r9d, byte [rsp + 0xa0]
mov byte [rcx + 5], r9b
mov r9d, dword [rsp + 0x94]
mov byte [rcx + 6], r9b
mov ecx, 6
nop dword [rax + rax]
add rax, rdx
inc rax
movdqu xmmword [rax + rcx], xmm6
mov qword [rax + rcx + 0x10], r13
mov edx, dword [rsp + 0x58]
mov byte [rax + rcx + 0x18], dl
mov edx, dword [rsp + 0x38]
mov byte [rax + rcx + 0x19], dl
movzx edx, byte [rsp + 0x70]
mov byte [rax + rcx + 0x1a], dl
add qword [r12 + 0x28], rdi
mov rax, qword [r12 + 0x30]
mov rcx, qword [r12 + 0x38]
mov qword [r12 + 0x30], 0
test rax, rax
je 0x140070e40
call qword [rax + 8]
mov r8, qword [rsp + 0x48]
jmp 0x140070e40
lea rcx, [r12 + 0x18]
mov r8, rdi
call fcn.1401639e0
mov r8, qword [rsp + 0x48]
mov rdx, qword [r12 + 0x28]
jmp 0x140070ee2
mov rax, qword [rsp + 0xc8]
movupd xmmword [rax], xmm13
movsd qword [rax + 0x10], xmm15
mov r12, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x88]
mov eax, dword [rsp + 0x58]
mov byte [r12 + r15 + 0x8c], al
mov eax, dword [rsp + 0x38]
mov byte [r12 + r15 + 0x8d], al
mov rbp, qword [rsp + 0xd0]
mov eax, dword [rsp + 0x40]
cmp byte [r12 + r15 + 0x8e], al
je 0x140070870
mov rsi, qword [rbp + 0x18]
test rsi, rsi
je 0x140070870
mov rbx, qword [rbp]
lea r14, [rbx + 0x10]
movdqa xmm0, xmmword [rbx]
pmovmskb r13d, xmm0
cmp r8d, 0x10000000
mov r15d, 7
sbb r15, 0
mov ebp, r8d
or bpl, 0x80
mov eax, r8d
shr eax, 7
mov dword [rsp + 0x38], eax
or al, 0x80
mov byte [rsp + 0x58], al
mov eax, r8d
shr eax, 0xe
mov dword [rsp + 0x70], eax
or al, 0x80
mov byte [rsp + 0x60], al
mov eax, r8d
shr eax, 0x15
mov dword [rsp + 0x78], eax
or al, 0x80
mov byte [rsp + 0x68], al
mov eax, r8d
shr eax, 0x1c
mov dword [rsp + 0x98], eax
cmp r8d, 0x80
mov eax, 4
sbb rax, 0
not r13d
cmp r8d, 0x200000
mov ecx, 5
cmovb r15, rcx
cmp r8d, 0x4000
cmovb r15, rax
lea rdi, [r15 + 1]
jmp 0x140071142
inc qword [r12 + 0x10]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x50]
lea eax, [r13 - 1]
and eax, r13d
mov r13d, eax
dec rsi
je 0x140070870
test r13w, r13w
jne 0x14007116e
nop dword [rax + rax]
movdqa xmm0, xmmword [r14]
pmovmskb r13d, xmm0
add rbx, 0xffffffffffffff80
add r14, 0x10
cmp r13d, 0xffff
je 0x140071150
not r13d
tzcnt eax, r13d
shl rax, 3
mov rcx, rbx
sub rcx, rax
mov rax, qword [rcx - 8]
shr rax, 0x20
mov eax, dword [r9 + rax*8 + 4]
lea rax, [rax + rax*2]
mov r12, qword [rdx + rax*8 + 8]
cmp byte [r12 + 0x40], 0
jne 0x14007112f
cmp qword [r12 + 0x10], 0
jne 0x140071af4
mov qword [r12 + 0x10], 0xffffffffffffffff
mov rax, qword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
sub rax, rdx
cmp rax, r15
jbe 0x1400712ab
mov rax, qword [r12 + 0x18]
lea rcx, [rax + rdx]
mov byte [rax + rdx], r15b
mov byte [rax + rdx + 1], 0x44
cmp r8d, 0x7f
ja 0x1400711ec
mov byte [rcx + 2], r8b
mov ecx, 2
jmp 0x140071270
mov byte [rcx + 2], bpl
cmp r8d, 0x3fff
ja 0x140071209
mov r9d, dword [rsp + 0x38]
mov byte [rcx + 3], r9b
mov ecx, 3
jmp 0x140071270
movzx r9d, byte [rsp + 0x58]
mov byte [rcx + 3], r9b
cmp r8d, 0x1fffff
ja 0x14007122c
mov r9d, dword [rsp + 0x70]
mov byte [rcx + 4], r9b
mov ecx, 4
jmp 0x140071270
movzx r9d, byte [rsp + 0x60]
mov byte [rcx + 4], r9b
cmp r8d, 0xfffffff
ja 0x14007124f
mov r9d, dword [rsp + 0x78]
mov byte [rcx + 5], r9b
mov ecx, 5
jmp 0x140071270
movzx r9d, byte [rsp + 0x68]
mov byte [rcx + 5], r9b
mov r9d, dword [rsp + 0x98]
mov byte [rcx + 6], r9b
mov ecx, 6
nop word [rax + rax]
add rax, rdx
inc rax
mov edx, dword [rsp + 0x40]
mov byte [rax + rcx], dl
add qword [r12 + 0x28], rdi
mov rax, qword [r12 + 0x30]
mov rcx, qword [r12 + 0x38]
mov qword [r12 + 0x30], 0
test rax, rax
je 0x140071120
call qword [rax + 8]
mov r8, qword [rsp + 0x48]
jmp 0x140071120
lea rcx, [r12 + 0x18]
mov r8, rdi
call fcn.1401639e0
mov r8, qword [rsp + 0x48]
mov rdx, qword [r12 + 0x28]
jmp 0x1400711c6
inc qword [r13 + 0x10]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x50]
lea eax, [r15 - 1]
and eax, r15d
mov r15d, eax
dec rsi
je 0x140071a68
test r15w, r15w
jne 0x14007130d
nop
movdqa xmm0, xmmword [rbx]
pmovmskb r15d, xmm0
add rdi, 0xffffffffffffff80
add rbx, 0x10
cmp r15d, 0xffff
je 0x1400712f0
not r15d
tzcnt eax, r15d
shl rax, 3
mov rcx, rdi
sub rcx, rax
mov rax, qword [rcx - 8]
shr rax, 0x20
mov eax, dword [r9 + rax*8 + 4]
lea rax, [rax + rax*2]
mov r13, qword [rdx + rax*8 + 8]
cmp byte [r13 + 0x40], 0
jne 0x1400712d5
cmp qword [r13 + 0x10], 0
jne 0x140071af4
mov qword [r13 + 0x10], 0xffffffffffffffff
mov rax, qword [r13 + 0x20]
mov rdx, qword [r13 + 0x28]
sub rax, rdx
cmp rax, r14
jbe 0x140071477
mov rax, qword [r13 + 0x18]
lea rcx, [rax + rdx]
mov byte [rax + rdx], r14b
mov byte [rax + rdx + 1], 0x2d
cmp r8d, 0x7f
ja 0x140071385
mov byte [rcx + 2], r8b
mov ecx, 2
jmp 0x140071418
movzx r9d, byte [rsp + 0x78]
mov byte [rcx + 2], r9b
cmp r8d, 0x3fff
ja 0x1400713a8
mov r9d, dword [rsp + 0x68]
mov byte [rcx + 3], r9b
mov ecx, 3
jmp 0x140071418
movzx r9d, byte [rsp + 0x98]
mov byte [rcx + 3], r9b
cmp r8d, 0x1fffff
ja 0x1400713d1
mov r9d, dword [rsp + 0xb0]
mov byte [rcx + 4], r9b
mov ecx, 4
jmp 0x140071418
movzx r9d, byte [rsp + 0x84]
mov byte [rcx + 4], r9b
cmp r8d, 0xfffffff
ja 0x1400713fa
mov r9d, dword [rsp + 0xa0]
mov byte [rcx + 5], r9b
mov ecx, 5
jmp 0x140071418
movzx r9d, byte [rsp + 0x94]
mov byte [rcx + 5], r9b
mov r9d, dword [rsp + 0xbc]
mov byte [rcx + 6], r9b
mov ecx, 6
add rax, rdx
inc rax
movd dword [rax + rcx], xmm6
mov word [rax + rcx + 4], r10w
mov edx, dword [rsp + 0x58]
mov byte [rax + rcx + 6], dl
mov edx, dword [rsp + 0x38]
mov byte [rax + rcx + 7], dl
movzx edx, byte [rsp + 0x70]
mov byte [rax + rcx + 8], dl
mov rax, qword [rsp + 0x60]
add qword [r13 + 0x28], rax
mov rax, qword [r13 + 0x30]
mov rcx, qword [r13 + 0x38]
mov qword [r13 + 0x30], 0
test rax, rax
je 0x1400712c7
mov ebp, r10d
call qword [rax + 8]
mov r10d, ebp
mov r8, qword [rsp + 0x48]
jmp 0x1400712c7
lea rcx, [r13 + 0x18]
mov r8, qword [rsp + 0x60]
mov ebp, r10d
call fcn.1401639e0
mov r10d, ebp
mov r8, qword [rsp + 0x48]
mov rdx, qword [r13 + 0x28]
jmp 0x140071360
mov qword [rsp + 0x98], r11
mov r11d, r13d
mov eax, r13d
imul eax, r13d
mov ecx, edi
imul ecx, edi
mov edx, r10d
imul edx, r10d
add edx, eax
add edx, ecx
cmp edx, 4
jle 0x1400717f2
mov rbx, qword [rbp]
lea r15, [rbx + 0x10]
movdqa xmm0, xmmword [rbx]
pmovmskb r13d, xmm0
cmp r8d, 0x10000000
mov r14d, 0xd
sbb r14, 0
mov eax, r8d
or al, 0x80
mov byte [rsp + 0x68], al
mov eax, r8d
shr eax, 7
mov dword [rsp + 0xb0], eax
or al, 0x80
mov byte [rsp + 0x84], al
mov eax, r8d
shr eax, 0xe
mov dword [rsp + 0xa0], eax
or al, 0x80
mov byte [rsp + 0x94], al
mov eax, r8d
shr eax, 0x15
mov dword [rsp + 0xbc], eax
or al, 0x80
mov byte [rsp + 0xdc], al
mov eax, r8d
shr eax, 0x1c
mov dword [rsp + 0x1a0], eax
rol r11w, 8
rol di, 8
rol r10w, 8
cmp r8d, 0x80
mov eax, 0xa
sbb rax, 0
not r13d
cmp r8d, 0x200000
mov ecx, 0xb
cmovb r14, rcx
cmp r8d, 0x4000
cmovb r14, rax
lea rax, [r14 + 1]
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x28]
mov dword [rsp + 0x78], edi
jmp 0x1400715b2
inc qword [r12 + 0x10]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x50]
lea eax, [r13 - 1]
and eax, r13d
mov r13d, eax
dec rsi
je 0x14007179c
test r13w, r13w
jne 0x1400715de
nop dword [rax + rax]
movdqa xmm0, xmmword [r15]
pmovmskb r13d, xmm0
add rbx, 0xffffffffffffff80
add r15, 0x10
cmp r13d, 0xffff
je 0x1400715c0
not r13d
tzcnt eax, r13d
shl rax, 3
mov rcx, rbx
sub rcx, rax
mov rax, qword [rcx - 8]
shr rax, 0x20
mov eax, dword [r9 + rax*8 + 4]
lea rax, [rax + rax*2]
mov r12, qword [rdx + rax*8 + 8]
cmp byte [r12 + 0x40], 0
jne 0x14007159f
cmp qword [r12 + 0x10], 0
jne 0x140071af4
mov qword [r12 + 0x10], 0xffffffffffffffff
mov rax, qword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
sub rax, rdx
cmp rax, r14
jbe 0x140071768
mov rax, qword [r12 + 0x18]
lea rcx, [rax + rdx]
mov byte [rax + rdx], r14b
mov byte [rax + rdx + 1], 0x2c
cmp r8d, 0x7f
ja 0x14007165c
mov byte [rcx + 2], r8b
mov ecx, 2
jmp 0x140071700
movzx r9d, byte [rsp + 0x68]
mov byte [rcx + 2], r9b
cmp r8d, 0x3fff
ja 0x140071682
mov r9d, dword [rsp + 0xb0]
mov byte [rcx + 3], r9b
mov ecx, 3
jmp 0x140071700
movzx r9d, byte [rsp + 0x84]
mov byte [rcx + 3], r9b
cmp r8d, 0x1fffff
ja 0x1400716ab
mov r9d, dword [rsp + 0xa0]
mov byte [rcx + 4], r9b
mov ecx, 4
jmp 0x140071700
movzx r9d, byte [rsp + 0x94]
mov byte [rcx + 4], r9b
cmp r8d, 0xfffffff
ja 0x1400716d4
mov r9d, dword [rsp + 0xbc]
mov byte [rcx + 5], r9b
mov ecx, 5
jmp 0x140071700
movzx r9d, byte [rsp + 0xdc]
mov byte [rcx + 5], r9b
mov r9d, dword [rsp + 0x1a0]
mov byte [rcx + 6], r9b
mov ecx, 6
nop word cs:[rax + rax]
add rax, rdx
inc rax
mov word [rax + rcx], r11w
mov word [rax + rcx + 2], di
mov word [rax + rcx + 4], r10w
movzx edx, byte [rsp + 0x70]
mov byte [rax + rcx + 6], dl
mov rax, qword [rsp + 0x60]
add qword [r12 + 0x28], rax
mov rax, qword [r12 + 0x30]
mov rcx, qword [r12 + 0x38]
mov qword [r12 + 0x30], 0
test rax, rax
je 0x140071590
mov ebp, r10d
mov rdi, r14
mov r14d, r11d
call qword [rax + 8]
mov r11d, r14d
mov r14, rdi
mov edi, dword [rsp + 0x78]
mov r10d, ebp
mov r8, qword [rsp + 0x48]
jmp 0x140071590
lea rcx, [r12 + 0x18]
mov r8, qword [rsp + 0x60]
mov ebp, r10d
mov dword [rsp + 0x198], r11d
call fcn.1401639e0
mov r11d, dword [rsp + 0x198]
mov r10d, ebp
mov r8, qword [rsp + 0x48]
mov rdx, qword [r12 + 0x28]
jmp 0x140071636
mov rax, qword [rsp + 0xc8]
movupd xmmword [rax], xmm13
movsd qword [rax + 0x10], xmm15
mov r12, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x88]
mov eax, dword [rsp + 0x58]
mov byte [r12 + r15 + 0x8c], al
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x98]
mov byte [rcx], al
jmp 0x14007105b
mov qword [rsp + 0x98], r11
cmp eax, 5
mov r11d, r13d
jge 0x1400714c4
mov rbx, qword [rbp]
lea r14, [rbx + 0x10]
movdqa xmm0, xmmword [rbx]
pmovmskb r13d, xmm0
cmp r8d, 0x10000000
mov r15d, 9
sbb r15, 0
mov ebp, r8d
or bpl, 0x80
mov eax, r8d
shr eax, 7
mov dword [rsp + 0x60], eax
or al, 0x80
mov byte [rsp + 0x78], al
mov eax, r8d
shr eax, 0xe
mov dword [rsp + 0x68], eax
or al, 0x80
mov byte [rsp + 0xb0], al
mov eax, r8d
shr eax, 0x15
mov dword [rsp + 0xc8], eax
or al, 0x80
mov byte [rsp + 0x84], al
mov eax, r8d
shr eax, 0x1c
mov dword [rsp + 0xa0], eax
cmp r8d, 0x80
mov eax, 6
sbb rax, 0
not r13d
cmp r8d, 0x200000
mov ecx, 7
cmovb r15, rcx
cmp r8d, 0x4000
cmovb r15, rax
lea rdi, [r15 + 1]
mov rdx, qword [rsp + 0x28]
jmp 0x1400718c2
inc qword [r12 + 0x10]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x50]
lea eax, [r13 - 1]
and eax, r13d
mov r13d, eax
dec rsi
je 0x1400717af
test r13w, r13w
jne 0x1400718ee
nop dword [rax + rax]
movdqa xmm0, xmmword [r14]
pmovmskb r13d, xmm0
add rbx, 0xffffffffffffff80
add r14, 0x10
cmp r13d, 0xffff
je 0x1400718d0
not r13d
tzcnt eax, r13d
shl rax, 3
mov rcx, rbx
sub rcx, rax
mov rax, qword [rcx - 8]
shr rax, 0x20
mov eax, dword [r9 + rax*8 + 4]
lea rax, [rax + rax*2]
mov r12, qword [rdx + rax*8 + 8]
cmp byte [r12 + 0x40], 0
jne 0x1400718af
cmp qword [r12 + 0x10], 0
jne 0x140071af4
mov qword [r12 + 0x10], 0xffffffffffffffff
mov rax, qword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
sub rax, rdx
cmp rax, r15
jbe 0x140071a4c
mov rax, qword [r12 + 0x18]
lea rcx, [rax + rdx]
mov byte [rax + rdx], r15b
mov byte [rax + rdx + 1], 0x2e
cmp r8d, 0x7f
ja 0x14007196c
mov byte [rcx + 2], r8b
mov ecx, 2
jmp 0x140071a00
mov byte [rcx + 2], bpl
cmp r8d, 0x3fff
ja 0x140071989
mov r9d, dword [rsp + 0x60]
mov byte [rcx + 3], r9b
mov ecx, 3
jmp 0x140071a00
movzx r9d, byte [rsp + 0x78]
mov byte [rcx + 3], r9b
cmp r8d, 0x1fffff
ja 0x1400719ac
mov r9d, dword [rsp + 0x68]
mov byte [rcx + 4], r9b
mov ecx, 4
jmp 0x140071a00
movzx r9d, byte [rsp + 0xb0]
mov byte [rcx + 4], r9b
cmp r8d, 0xfffffff
ja 0x1400719d5
mov r9d, dword [rsp + 0xc8]
mov byte [rcx + 5], r9b
mov ecx, 5
jmp 0x140071a00
movzx r9d, byte [rsp + 0x84]
mov byte [rcx + 5], r9b
mov r9d, dword [rsp + 0xa0]
mov byte [rcx + 6], r9b
mov ecx, 6
nop word cs:[rax + rax]
add rax, rdx
inc rax
mov edx, dword [rsp + 0x58]
mov byte [rax + rcx], dl
mov edx, dword [rsp + 0x38]
mov byte [rax + rcx + 1], dl
movzx edx, byte [rsp + 0x70]
mov byte [rax + rcx + 2], dl
add qword [r12 + 0x28], rdi
mov rax, qword [r12 + 0x30]
mov rcx, qword [r12 + 0x38]
mov qword [r12 + 0x30], 0
test rax, rax
je 0x1400718a0
call qword [rax + 8]
mov r8, qword [rsp + 0x48]
jmp 0x1400718a0
lea rcx, [r12 + 0x18]
mov r8, rdi
call fcn.1401639e0
mov r8, qword [rsp + 0x48]
mov rdx, qword [r12 + 0x28]
jmp 0x140071946
mov rax, qword [rsp + 0xc8]
movupd xmmword [rax], xmm13
movsd qword [rax + 0x10], xmm15
mov r15, qword [rsp + 0x88]
jmp 0x14007105b
movaps xmm6, xmmword [rsp + 0x230]
movaps xmm7, xmmword [rsp + 0x240]
movaps xmm8, xmmword [rsp + 0x250]
movaps xmm9, xmmword [rsp + 0x260]
movaps xmm10, xmmword [rsp + 0x270]
movaps xmm11, xmmword [rsp + 0x280]
movaps xmm12, xmmword [rsp + 0x290]
movaps xmm13, xmmword [rsp + 0x2a0]
movaps xmm14, xmmword [rsp + 0x2b0]
movaps xmm15, xmmword [rsp + 0x2c0]
add rsp, 0x2d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x14016c220]
call fcn.1401636d0
ud2
test rcx, rcx
jne 0x140071b0e
call fcn.14007ff80
ud2
mov rdx, qword [rsp + 0x1c0]
call fcn.140162fc0
ud2
call fcn.1401630a0
ud2
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsp + 0xe0], rax
lea rax, str.C:Usersmqnu7.rustup_toolchains_nightly_x86_64_pc_windows_gnulib_rustlib_src_rustlibrary_std_src_syswindows_time.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401aa88f]
lea r9, case.0x140048217.3583
lea r8, [rsp + 0xe0]
mov edx, 0x2b
call fcn.140163790
ud2
mov ecx, 8
mov rdx, rbx
call fcn.140162fc0
ud2