Function at 0x1400a1dd0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x278
movdqa xmmword [rsp + 0x260], xmm15
movdqa xmmword [rsp + 0x250], xmm14
movdqa xmmword [rsp + 0x240], xmm13
movdqa xmmword [rsp + 0x230], xmm12
movdqa xmmword [rsp + 0x220], xmm11
movdqa xmmword [rsp + 0x210], xmm10
movdqa xmmword [rsp + 0x200], xmm9
movaps xmmword [rsp + 0x1f0], xmm8
movdqa xmmword [rsp + 0x1e0], xmm7
movdqa xmmword [rsp + 0x1d0], xmm6
mov qword [rsp + 0x198], rcx
mov rax, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x2e0]
mov qword [rsp + 0x130], r9
mov qword [rcx + 0x10], 0
mov dword [rsp + 0xe8], 0
mov qword [rsp + 0xe0], 0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x1a0], rax
add r8, rdx
pxor xmm6, xmm6
movdqu xmmword [rsp + 0x1ad], xmm6
mov byte [rsp + 0x1bd], 0
movdqu xmmword [rsp + 0x1c0], xmm6
mov qword [rsp + 0x38], 0
lea r13, [rsp + 0x48]
mov dword [rsp + 0x48], 0
mov word [rsp + 0x4c], 0
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], r8
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0
mov rax, r9
shr rax, 0x20
mov byte [rsp + 0x9c], al
mov qword [rsp + 0x188], r9
mov dword [rsp + 0x98], r9d
movups xmm0, xmmword [rsp + 0x1aa]
movups xmmword [rsp + 0x9d], xmm0
mov eax, dword [rsp + 0x1ba]
mov dword [rsp + 0xad], eax
mov dword [rsp + 0xb8], 0
mov word [rsp + 0xbc], 0
movzx eax, word [rsp + 0x1ce]
mov word [rsp + 0xce], ax
movdqu xmm0, xmmword [rsp + 0x1be]
movdqu xmmword [rsp + 0xbe], xmm0
mov dword [rsp + 0xd8], 0x110000
mov byte [rsp + 0xdc], 0
lea r12, [0x1403c4430]
lea r14, [0x1403c7f00]
xor eax, eax
jmp 0x1400a1fd4
mov rax, qword [rsi + 8]
mov byte [rax + rdi], r15b
inc rdi
mov qword [rsi + 0x10], rdi
mov rax, qword [rsp + 0x38]
cmp rax, 2
je 0x1400a2010
cmp rax, 1
jne 0x1400a216d
mov rax, qword [rsp + 0x40]
cmp dword [rsp + 0xb8], 0
je 0x1400a2038
cmp rax, qword [rsp + 0xd0]
jae 0x1400a20cc
mov rdx, qword [rsp + 0xc8]
jmp 0x1400a205b
mov rdx, qword [rsp + 0x40]
mov eax, dword [rsp + 0xb8]
test eax, eax
je 0x1400a2082
cmp rdx, qword [rsp + 0xd0]
jae 0x1400a20da
mov r8, qword [rsp + 0xc8]
jmp 0x1400a20a5
movzx ecx, word [rsp + 0xbc]
cmp rcx, 4
ja 0x1400a5721
lea rdx, [rsp + 0xc0]
cmp rax, rcx
jae 0x1400a20eb
mov r15d, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], rax
cmp r15d, 0x80
jb 0x1400a355d
jmp 0x1400a33a0
movzx ecx, word [rsp + 0xbc]
cmp rcx, 5
jae 0x1400a5721
lea r8, [rsp + 0xc0]
cmp rdx, rcx
jae 0x1400a3520
mov r15d, dword [r8 + rdx*4]
inc rdx
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x40], rdx
cmp r15d, 0x80
jb 0x1400a355d
jmp 0x1400a33a0
mov qword [rsp + 0xd0], 0
jmp 0x1400a20fa
mov qword [rsp + 0xd0], 0
jmp 0x1400a352f
test rcx, rcx
je 0x1400a20fa
mov word [rsp + 0xbc], 0
mov qword [rsp + 0x38], 0
jmp 0x1400a216d
movzx edi, bx
imul esi, edi, 0x6f75
shr esi, 0x18
lea edx, [rsi + 0x1100]
mov rcx, r13
call fcn.1400aa890
imul eax, esi, 0x24c
sub ebx, eax
movzx eax, bx
imul edx, eax, 0x925
shr edx, 0x10
add edx, 0x1161
mov rcx, r13
call fcn.1400aa890
mov eax, edi
shr eax, 2
imul eax, eax, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub di, cx
je 0x1400a216d
add edi, 0x11a7
movzx edx, di
mov rcx, r13
call fcn.1400aa890
mov r9, qword [rsp + 0xa8]
test r9, r9
jne 0x1400a2430
movzx r10d, byte [rsp + 0x98]
cmp r10b, 2
je 0x1400a2545
mov r8, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x70]
mov r11, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
movzx ebx, byte [rsp + 0x99]
mov r15, qword [rsp + 0x90]
nop dword [rax + rax]
test r8, r8
je 0x1400a21da
cmp r8, r15
jne 0x1400a2820
mov qword [rsp + 0x88], 0
cmp rdi, r11
je 0x1400a253d
lea rdx, [rdi + 1]
mov qword [rsp + 0x70], rdx
movzx ecx, byte [rdi]
test cl, cl
js 0x1400a2210
mov rdi, rdx
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400a22b0
jmp case.0x1400a2387.0
mov edx, ecx
and edx, 0x1f
lea r8, [rdi + 2]
mov qword [rsp + 0x70], r8
movzx r9d, byte [rdi + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400a227f
lea rbp, [rdi + 3]
mov qword [rsp + 0x70], rbp
movzx r8d, byte [rdi + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400a2295
lea rcx, [rdi + 4]
mov qword [rsp + 0x70], rcx
movzx r9d, byte [rdi + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
or r9d, edx
mov rdi, rcx
mov edx, r9d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400a22b0
jmp case.0x1400a2387.0
shl edx, 6
or edx, r9d
mov rdi, r8
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400a22b0
jmp case.0x1400a2387.0
shl edx, 0xc
or r8d, edx
mov rdi, rbp
mov edx, r8d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb case.0x1400a2387.0
nop dword [rax]
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb case.0x1400a2387.0
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb case.0x1400a2387.0
mov r8d, 0x75a
xor ecx, ecx
mov r9d, 0x75a
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
mov ebp, dword [r12 + r8*8]
cmp ebp, edx
je 0x1400a2317
lea rsi, [r8 + 1]
cmp ebp, edx
cmova r9, r8
cmovb rcx, rsi
mov r8, r9
sub r8, rcx
ja 0x1400a22e0
dec rcx
mov r8, rcx
cmp rcx, 0x759
ja 0x1400a563a
movzx r9d, word [r12 + r8*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
test r9w, r9w
js 0x1400a2350
movzx r8d, word [r12 + r8*8]
mov r9d, edx
sub r9w, r8w
movzx ecx, cx
add ecx, r9d
movzx ecx, cx
cmp ecx, 0x1f73
jb 0x1400a2361
jmp 0x1400a5629
movzx r8d, cx
cmp r8d, 0x1f73
jae 0x1400a5666
movzx r9d, byte [r14 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x1400a2387
mov r8d, r9d
lea r9, [0x14039c660]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov eax, dword [rsp + 0x48]
lea rsi, [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
test eax, eax
je 0x1400a2459
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
cmp rcx, rdx
jb 0x1400a2474
jmp 0x1400a5677
movzx edx, word [rsp + 0x4c]
cmp rdx, 5
jae 0x1400a5652
mov r8, rsi
cmp rcx, rdx
jae 0x1400a5677
mov edi, dword [r8 + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x1400a2530
test eax, eax
je 0x1400a2593
mov r8, qword [rsp + 0x60]
sub r8, r9
je 0x1400a25a2
xor ecx, ecx
jmp 0x1400a24c3
movzx edx, byte [r9 + rax*8]
mov eax, dword [r9 + rax*8 + 4]
mov byte [r9 + rcx*8], dl
mov dword [r9 + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp r8, rax
je 0x1400a25b4
mov rax, qword [rsp + 0xa8]
add rax, rcx
cmp dword [rsp + 0x48], 0
je 0x1400a2500
mov rdx, qword [rsp + 0x60]
cmp rax, rdx
jae 0x1400a560e
mov r9, qword [rsp + 0x58]
cmp rcx, rdx
jb 0x1400a24a0
jmp 0x1400a561d
movzx edx, word [rsp + 0x4c]
cmp rdx, 5
jae 0x1400a5652
cmp rax, rdx
jae 0x1400a560e
mov r9, rsi
cmp rcx, rdx
jb 0x1400a24a0
jmp 0x1400a561d
mov qword [rsp + 0xa0], rcx
jmp 0x1400a25d6
mov byte [rsp + 0x98], 2
mov r8d, dword [rsp + 0x48]
test r8d, r8d
mov rdx, qword [rsp + 0x60]
movzx eax, word [rsp + 0x4c]
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x1400a3415
mov rcx, qword [rsp + 0xa8]
test r8d, r8d
lea rsi, [rsp + 0x50]
je 0x1400a2966
mov r8, qword [rsp + 0x58]
mov rax, rdx
sub rax, rcx
jae 0x1400a2982
jmp 0x1400a56a0
movzx r8d, word [rsp + 0x4c]
sub r8, r9
jne 0x1400a249b
test eax, eax
je 0x1400a25bc
cmp qword [rsp + 0x60], r8
jb 0x1400a25d0
mov qword [rsp + 0x60], r8
jmp 0x1400a25d0
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x1400a25a6
movzx eax, word [rsp + 0x4c]
cmp r8, rax
jae 0x1400a25d0
mov word [rsp + 0x4c], r8w
nop dword [rax]
movdqu xmmword [r13 + 0x58], xmm6
imul eax, edi, 0x9e3779b9
imul ecx, edi, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x1404465c4]
movzx eax, word [rdx + rax*2]
add eax, edi
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rcx, [0x140446cf8]
mov ebp, dword [rcx + rax*4]
mov eax, ebp
shr eax, 8
cmp eax, edi
mov eax, 0
cmovne ebp, eax
mov r15d, dword [rsp + 0xd8]
cmp r15d, 0x110000
jne 0x1400a2650
test bpl, bpl
jne 0x1400a3390
mov dword [rsp + 0xd8], edi
jmp 0x1400a216d
cmp byte [rsp + 0xdc], 0
je 0x1400a27df
cmp byte [rsp + 0xdd], bpl
jae 0x1400a284d
lea eax, [r15 - 0x1100]
cmp eax, 0x13
jae 0x1400a2afb
lea eax, [rdi - 0x1161]
cmp eax, 0x15
jae 0x1400a2b47
imul eax, r15d, 0x24c
lea ecx, [rdi + rdi*8]
lea ecx, [rcx + rcx*2]
add ecx, edi
add eax, ecx
add eax, 0xffd7b964
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
cmp edx, 0x80
jb 0x1400a2165
lea ebx, [rdx - 0xac00]
cmp ebx, 0x2ba4
jb 0x1400a2105
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x140449fa0]
movzx eax, word [r8 + rax*2]
add eax, edx
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea rcx, [0x14044afbc]
mov rbx, qword [rcx + rax*8]
cmp edx, ebx
jne 0x1400a2165
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x1400a56cf
shr rbx, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rbx
jb 0x1400a56c0
test rbx, rbx
je 0x1400a216d
lea rax, [0x14044f024]
lea rdi, [rax + rcx*4]
shl ebx, 2
xor r15d, r15d
nop word cs:[rax + rax]
mov edx, dword [rdi + r15]
mov rcx, r13
call fcn.1400aa890
add r15, 4
cmp rbx, r15
jne 0x1400a27a0
jmp 0x1400a216d
lea eax, [r15 - 0x1100]
cmp eax, 0x13
jae 0x1400a2a01
lea eax, [rdi - 0x1161]
cmp eax, 0x15
jae 0x1400a2a4d
imul eax, r15d, 0x24c
lea ecx, [rdi + rdi*8]
lea ecx, [rcx + rcx*2]
add ecx, edi
add eax, ecx
add eax, 0xffd7b964
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
lea rax, [r8 + 1]
mov qword [rsp + 0x88], rax
movzx eax, byte [r8]
test al, al
js 0x1400a2bc2
mov edx, eax
cmp byte [rsp + 0xb0], 0
jne 0x1400a2d0e
jmp 0x1400a26e0
test bpl, bpl
je 0x1400a34f1
cmp dword [rsp + 0xb8], 0
jne 0x1400a30b2
movzx ebx, word [rsp + 0xbc]
cmp rbx, 3
jbe 0x1400a30fa
lea r15d, [rbx*8]
movzx eax, byte [0x1404a3130]
xor ecx, ecx
mov rdx, r15
call fcn.140201a50
test rax, rax
je 0x1400a5700
cmp ebx, 4
jne 0x1400a570d
lea ecx, [rbx + rbx]
mov edx, dword [rsp + 0xc0]
mov dword [rsp + 0xc0], 0
mov dword [rax], edx
mov edx, dword [rsp + 0xc4]
mov dword [rsp + 0xc4], 0
mov dword [rax + 4], edx
mov edx, dword [rsp + 0xc8]
mov dword [rsp + 0xc8], 0
mov dword [rax + 8], edx
mov edx, dword [rsp + 0xcc]
mov dword [rsp + 0xcc], 0
mov dword [rax + 0xc], edx
mov word [rsp + 0xbc], 0
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 4
mov dword [rax + 0x10], edi
mov qword [rsp + 0x100], 5
mov rax, qword [rsp + 0xf0]
lea rcx, [rsp + 0x144]
mov qword [rcx], rax
mov rax, qword [rsp + 0xf8]
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], 5
cmp dword [rsp + 0xb8], 0
jne 0x1400a3244
jmp 0x1400a3265
cmp ax, 5
jae 0x1400a56ac
mov rdx, rax
mov r8, rsi
mov rax, rdx
sub rax, rcx
jb 0x1400a56a0
cmp rax, 2
jb 0x1400a2ace
lea rcx, [r8 + rcx*8]
cmp rax, 0x15
jae 0x1400a2ac6
lea rax, [r8 + rdx*8]
lea rdx, [rcx + 8]
xor r8d, r8d
jmp 0x1400a29ce
mov r11, rcx
shl r10, 0x20
or r10, r9
mov qword [r11], r10
add rdx, 8
add r8, 0xfffffffffffffff8
cmp rdx, rax
je 0x1400a2ace
movzx r9d, byte [rdx]
cmp r9b, byte [rdx - 8]
jae 0x1400a29bd
mov r10d, dword [rdx + 4]
xor edi, edi
nop
mov r11, qword [rdx + rdi - 8]
mov qword [rdx + rdi], r11
cmp r8, rdi
je 0x1400a29b0
lea r11, [rdi - 8]
cmp r9b, byte [rdx + rdi - 0x10]
mov rdi, r11
jb 0x1400a29e0
add r11, rdx
jmp 0x1400a29b3
lea eax, [r15 - 0xac00]
cmp eax, 0x2ba3
ja 0x1400a2a4d
lea ecx, [rdi - 0x11a8]
cmp ecx, 0x1a
ja 0x1400a2a4d
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x4925
shr ecx, 0x11
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
test ax, ax
jne 0x1400a2a4d
lea eax, [r15 + rdi]
add eax, 0xffffee59
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
mov eax, edi
or eax, r15d
cmp eax, 0x10000
jae 0x1400a2c3d
mov ecx, r15d
shl ecx, 0x10
or ecx, edi
imul eax, ecx, 0x9e3779b9
imul edx, ecx, 0x31415926
xor eax, edx
imul rax, rax, 0x3a0
shr rax, 0x20
lea r8, [0x140447b60]
movzx eax, word [r8 + rax*2]
add eax, ecx
imul eax, eax, 0x9e3779b9
xor eax, edx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rdx, [0x1404482a0]
cmp dword [rdx + rax*8], ecx
jne 0x1400a309f
lea rcx, [0x1404482a0]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
mov rdx, rax
call fcn.1400a71b0
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x1400a2ae8
mov r9, qword [rsp + 0x60]
mov qword [rsp + 0xa8], r9
jmp 0x1400a2439
movzx r9d, word [rsp + 0x4c]
mov qword [rsp + 0xa8], r9
jmp 0x1400a2439
lea eax, [r15 - 0xac00]
cmp eax, 0x2ba3
ja 0x1400a2b47
lea ecx, [rdi - 0x11a8]
cmp ecx, 0x1a
ja 0x1400a2b47
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x4925
shr ecx, 0x11
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
test ax, ax
jne 0x1400a2b47
lea eax, [r15 + rdi]
add eax, 0xffffee59
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
mov eax, edi
or eax, r15d
cmp eax, 0x10000
jae 0x1400a2c94
shl r15d, 0x10
or r15d, edi
imul eax, r15d, 0x9e3779b9
imul ecx, r15d, 0x31415926
xor eax, ecx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rdx, [0x140447b60]
movzx eax, word [rdx + rax*2]
add eax, r15d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rcx, [0x1404482a0]
cmp dword [rcx + rax*8], r15d
jne 0x1400a30a8
lea rcx, [0x1404482a0]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
mov edx, eax
and edx, 0x1f
lea rcx, [r8 + 2]
mov qword [rsp + 0x88], rcx
movzx r9d, byte [r8 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400a2ceb
lea rcx, [r8 + 3]
mov qword [rsp + 0x88], rcx
movzx ecx, byte [r8 + 2]
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
cmp al, 0xf0
jb 0x1400a2efe
lea rax, [r8 + 4]
mov qword [rsp + 0x88], rax
movzx eax, byte [r8 + 3]
and edx, 7
shl edx, 0x12
shl ecx, 6
and eax, 0x3f
or eax, ecx
or eax, edx
mov edx, eax
cmp byte [rsp + 0xb0], 0
jne 0x1400a2d0e
jmp 0x1400a26e0
cmp r15d, 0x11346
jg 0x1400a2e6a
cmp r15d, 0x110a4
jle 0x1400a2f18
cmp r15d, 0x110a5
je 0x1400a3055
cmp r15d, 0x11131
je 0x1400a307b
cmp r15d, 0x11132
jne 0x1400a309f
mov eax, 0x1112f
cmp edi, 0x11127
je 0x1400a2814
jmp 0x1400a309f
cmp r15d, 0x11346
jg 0x1400a2eb4
cmp r15d, 0x110a4
jle 0x1400a2f97
cmp r15d, 0x110a5
je 0x1400a32e9
cmp r15d, 0x11131
je 0x1400a3315
cmp r15d, 0x11132
jne 0x1400a30a8
mov eax, 0x1112f
cmp edi, 0x11127
je 0x1400a26a1
jmp 0x1400a30a8
shl edx, 6
or edx, r9d
nop word cs:[rax + rax]
cmp byte [rsp + 0xb0], 0
je 0x1400a26e0
cmp edx, 0x80
jb 0x1400a2165
lea ebx, [rdx - 0xac00]
cmp ebx, 0x2ba4
jb 0x1400a2105
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x20
lea r9, [0x140452600]
movzx r8d, word [r9 + r8*2]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, eax
imul r8, r8, 0xee4
shr r8, 0x20
lea r9, [0x1404543c8]
mov rbx, qword [r9 + r8*8]
cmp edx, ebx
jne 0x1400a2dbe
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1667
ja 0x1400a56ef
shr rbx, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rdx, rbx
jb 0x1400a56e0
lea rax, [0x14045bae8]
lea rdi, [rax + rcx*4]
test rbx, rbx
jne 0x1400a2e3e
jmp 0x1400a216d
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x140449fa0]
movzx ecx, word [r8 + rcx*2]
add ecx, edx
imul ecx, ecx, 0x9e3779b9
xor ecx, eax
imul rax, rcx, 0x80d
shr rax, 0x20
lea rcx, [0x14044afbc]
mov rbx, qword [rcx + rax*8]
cmp edx, ebx
jne 0x1400a2165
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x1400a56cf
shr rbx, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rbx
jb 0x1400a56c0
lea rax, [0x14044f024]
lea rdi, [rax + rcx*4]
test rbx, rbx
je 0x1400a216d
shl ebx, 2
xor r15d, r15d
nop word cs:[rax + rax]
mov edx, dword [rdi + r15]
mov rcx, r13
call fcn.1400aa890
add r15, 4
cmp rbx, r15
jne 0x1400a2e50
jmp 0x1400a216d
cmp r15d, 0x115b7
jle 0x1400a2f48
cmp r15d, 0x115b8
je 0x1400a3068
cmp r15d, 0x115b9
je 0x1400a308e
cmp r15d, 0x11935
jne 0x1400a309f
mov eax, 0x11938
cmp edi, 0x11930
je 0x1400a2814
jmp 0x1400a309f
cmp r15d, 0x115b7
jle 0x1400a2fc7
cmp r15d, 0x115b8
je 0x1400a32ff
cmp r15d, 0x115b9
je 0x1400a332b
cmp r15d, 0x11935
jne 0x1400a30a8
mov eax, 0x11938
cmp edi, 0x11930
je 0x1400a26a1
jmp 0x1400a30a8
shl edx, 0xc
or ecx, edx
mov edx, ecx
cmp byte [rsp + 0xb0], 0
jne 0x1400a2d0e
jmp 0x1400a26e0
cmp r15d, 0x11099
je 0x1400a3016
cmp r15d, 0x1109b
jne 0x1400a309f
mov eax, 0x1109c
cmp edi, 0x110ba
je 0x1400a2814
jmp 0x1400a309f
cmp r15d, 0x11347
je 0x1400a3029
cmp r15d, 0x114b9
jne 0x1400a309f
cmp edi, 0x114b0
je 0x1400a3352
cmp edi, 0x114ba
je 0x1400a3341
cmp edi, 0x114bd
jne 0x1400a309f
mov eax, 0x114be
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
cmp r15d, 0x11099
je 0x1400a32a4
cmp r15d, 0x1109b
jne 0x1400a30a8
mov eax, 0x1109c
cmp edi, 0x110ba
je 0x1400a26a1
jmp 0x1400a30a8
cmp r15d, 0x11347
je 0x1400a32ba
cmp r15d, 0x114b9
jne 0x1400a30a8
cmp edi, 0x114b0
je 0x1400a3374
cmp edi, 0x114ba
je 0x1400a3363
cmp edi, 0x114bd
jne 0x1400a30a8
mov eax, 0x114be
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
mov eax, 0x1109a
cmp edi, 0x110ba
je 0x1400a2814
jmp 0x1400a309f
mov eax, 0x1134b
cmp edi, 0x1133e
je 0x1400a2814
mov eax, 0x110000
cmp edi, 0x11357
mov ecx, 0x1134c
cmove eax, ecx
je 0x1400a2814
jmp 0x1400a309f
mov eax, 0x110ab
cmp edi, 0x110ba
je 0x1400a2814
jmp 0x1400a309f
mov eax, 0x115ba
cmp edi, 0x115af
je 0x1400a2814
jmp 0x1400a309f
mov eax, 0x1112e
cmp edi, 0x11127
je 0x1400a2814
jmp 0x1400a309f
mov eax, 0x115bb
cmp edi, 0x115af
je 0x1400a2814
test bpl, bpl
je 0x1400a359e
cmp dword [rsp + 0xb8], 0
je 0x1400a30ec
mov rbx, qword [rsp + 0xd0]
cmp rbx, qword [rsp + 0xc0]
jne 0x1400a30d1
lea rcx, [rsp + 0xc0]
call fcn.14011d510
mov rax, qword [rsp + 0xc8]
mov dword [rax + rbx*4], edi
inc rbx
mov qword [rsp + 0xd0], rbx
jmp 0x1400a328f
movzx ebx, word [rsp + 0xbc]
cmp rbx, 3
ja 0x1400a3110
mov dword [rsp + rbx*4 + 0xc0], edi
inc ebx
mov word [rsp + 0xbc], bx
jmp 0x1400a328f
lea r15d, [rbx*8]
movzx eax, byte [0x1404a3130]
xor ecx, ecx
mov rdx, r15
call fcn.140201a50
test rax, rax
je 0x1400a5700
lea ecx, [rbx + rbx]
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 0
cmp ebx, 4
jne 0x1400a570d
mov ecx, dword [rsp + 0xc0]
mov dword [rsp + 0xc0], 0
mov dword [rax], ecx
mov ecx, dword [rsp + 0xc4]
mov dword [rsp + 0xc4], 0
mov dword [rax + 4], ecx
mov ecx, dword [rsp + 0xc8]
mov dword [rsp + 0xc8], 0
mov dword [rax + 8], ecx
mov ecx, dword [rsp + 0xcc]
mov dword [rsp + 0xcc], 0
mov dword [rax + 0xc], ecx
mov word [rsp + 0xbc], 0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], 4
cmp qword [rsp + 0x110], 4
jne 0x1400a31fb
lea rcx, [rsp + 0x110]
call fcn.14011d510
mov rax, qword [rsp + 0x118]
mov ecx, 4
mov dword [rax + rcx*4], edi
lea rax, [rcx + 1]
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0x144]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x110]
mov qword [rcx], rax
mov rax, qword [rsp + 0x118]
mov qword [rcx + 8], rax
cmp dword [rsp + 0xb8], 0
je 0x1400a3265
cmp qword [rsp + 0xc0], 0
je 0x1400a3265
mov r8, qword [rsp + 0xc8]
mov rcx, qword [0x1404a30d0]
xor edx, edx
call fcn.14021d5e4
mov dword [rsp + 0xb8], 1
movdqu xmm0, xmmword [rsp + 0x140]
movups xmm1, xmmword [rsp + 0x14c]
movups xmmword [r13 + 0x80], xmm1
movdqu xmmword [r13 + 0x74], xmm0
mov byte [rsp + 0xdc], 1
mov byte [rsp + 0xdd], bpl
jmp 0x1400a216d
mov eax, 0x1109a
cmp edi, 0x110ba
je 0x1400a26a1
jmp 0x1400a30a8
mov eax, 0x1134b
cmp edi, 0x1133e
je 0x1400a26a1
mov eax, 0x110000
cmp edi, 0x11357
mov ecx, 0x1134c
cmove eax, ecx
je 0x1400a26a1
jmp 0x1400a30a8
mov eax, 0x110ab
cmp edi, 0x110ba
je 0x1400a26a1
jmp 0x1400a30a8
mov eax, 0x115ba
cmp edi, 0x115af
je 0x1400a26a1
jmp 0x1400a30a8
mov eax, 0x1112e
cmp edi, 0x11127
je 0x1400a26a1
jmp 0x1400a30a8
mov eax, 0x115bb
cmp edi, 0x115af
je 0x1400a26a1
jmp 0x1400a30a8
mov eax, 0x114bb
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
mov eax, 0x114bc
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
mov eax, 0x114bb
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
mov eax, 0x114bc
mov dword [rsp + 0xd8], eax
jmp 0x1400a216d
mov r15d, edi
cmp r15d, 0x80
jb 0x1400a355d
mov dword [rsp + 0x140], 0
mov eax, r15d
cmp r15d, 0x800
jae 0x1400a33e0
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x140], al
mov ebx, 2
mov eax, 1
jmp 0x1400a3496
cmp r15d, 0x10000
jae 0x1400a345e
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x140], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x141], al
mov ebx, 3
mov eax, 2
jmp 0x1400a3496
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x40], 0
mov r15d, dword [rsp + 0xd8]
mov eax, 2
cmp r15d, 0x110000
je 0x1400a1fd4
mov dword [rsp + 0xd8], 0x110000
cmp r15d, 0x80
jb 0x1400a355d
jmp 0x1400a33a0
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x140], al
mov eax, r15d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x141], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x142], al
mov ebx, 4
mov eax, 3
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + rax + 0x140], r15b
mov rcx, qword [rsp + 0x2e0]
mov rax, qword [rcx]
mov r15, qword [rcx + 0x10]
sub rax, r15
cmp rax, rbx
jb 0x1400a357f
mov rsi, qword [rsp + 0x2e0]
mov rcx, qword [rsi + 8]
add rcx, r15
lea rdx, [rsp + 0x140]
mov r8, rbx
call sub.msvcrt.dll_memcpy
add r15, rbx
mov qword [rsi + 0x10], r15
mov rax, qword [rsp + 0x38]
jmp 0x1400a1fd4
mov dword [rsp + 0xd8], edi
mov byte [rsp + 0xdc], 0
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], 0
cmp r15d, 0x80
jb 0x1400a355d
jmp 0x1400a33a0
test rcx, rcx
je 0x1400a352f
mov word [rsp + 0xbc], 0
mov r15d, dword [rsp + 0xd8]
mov dword [rsp + 0xd8], 0x110000
cmp r15d, 0x110000
je 0x1400a35b3
nop dword [rax + rax]
cmp r15d, 0x80
jae 0x1400a33a0
mov rsi, qword [rsp + 0x2e0]
mov rdi, qword [rsi + 0x10]
cmp rdi, qword [rsi]
jne 0x1400a1fc0
mov rcx, rsi
call fcn.14005fd80
jmp 0x1400a1fc0
mov rsi, qword [rsp + 0x2e0]
mov rcx, rsi
mov rdx, r15
mov r8, rbx
call fcn.1401d5ea0
mov r15, qword [rsi + 0x10]
jmp 0x1400a34c1
mov dword [rsp + 0xd8], edi
cmp r15d, 0x80
jb 0x1400a355d
jmp 0x1400a33a0
cmp dword [rsp + 0x48], 0
je 0x1400a35f2
cmp qword [rsp + 0x50], 0
mov r14, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x2e0]
je 0x1400a35ec
mov r8, qword [rsp + 0x58]
mov rcx, qword [0x1404a30d0]
xor edx, edx
call fcn.14021d5e4
mov eax, dword [rsp + 0xb8]
test eax, eax
jne 0x1400a3606
jmp 0x1400a3627
mov r14, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x2e0]
test eax, eax
je 0x1400a3627
cmp qword [rsp + 0xc0], 0
je 0x1400a3627
mov r8, qword [rsp + 0xc8]
mov rcx, qword [0x1404a30d0]
xor edx, edx
call fcn.14021d5e4
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 8
mov qword [rsp + 0x100], 0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x170], rax
mov byte [rsp + 0x178], 1
mov word [rsp + 0x180], 1
and qword [rsp + 0x188], 0xffffffffffff00ff
mov bpl, 1
lea r13, [0x1404421fc]
movdqa xmm6, xmmword [0x14039c160]
movdqa xmm7, xmmword [0x14039c170]
xorps xmm8, xmm8
movdqa xmm14, xmmword [0x14039c1d0]
movdqa xmm15, xmmword [0x14039c1e0]
movdqa xmm10, xmmword [0x14039c200]
movdqa xmm11, xmmword [0x14039c210]
movdqa xmm12, xmmword [0x14039c220]
movdqa xmm13, xmmword [0x14039c230]
movdqa xmm9, xmmword [0x14039c240]
mov dword [rsp + 0x34], 0
jmp 0x1400a3760
movabs rax, 0x8080808080808080
test qword [rdi], rax
je 0x1400a4c45
mov byte [rsp + 0xe0], 1
mov al, 1
mov dword [rsp + 0x34], eax
xor ebp, ebp
mov r14, qword [rsp + 0x130]
lea r13, [0x1404421fc]
nop word cs:[rax + rax]
lea rcx, [rsp + 0x140]
call fcn.1400a57d0
test rax, rax
je 0x1400a4ca2
mov r15, rax
mov rsi, rdx
test bpl, 1
mov rcx, qword [rsp + 0x2e8]
jne 0x1400a37af
mov rdi, qword [rcx + 0x10]
cmp rdi, qword [rcx]
jne 0x1400a37a0
call fcn.14005fd80
mov rcx, qword [rsp + 0x2e8]
mov rax, qword [rcx + 8]
mov byte [rax + rdi], 0x2e
inc rdi
mov qword [rcx + 0x10], rdi
cmp rsi, 4
jb 0x1400a37c2
cmp dword [r15], 0x2d2d6e78
je 0x1400a399c
test byte [rsp + 0x34], 1
jne 0x1400a3948
test rsi, rsi
je 0x1400a3940
mov rax, r15
add rax, rsi
mov rcx, r15
jmp 0x1400a37f9
cmp rcx, rax
je 0x1400a3940
movzx edx, byte [rcx]
test dl, dl
js 0x1400a3820
inc rcx
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400a37f0
jmp 0x1400a38b0
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x1400a3877
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x1400a3894
movzx edx, byte [rcx + 3]
add rcx, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400a37f0
jmp 0x1400a38b0
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jae 0x1400a38b0
jmp 0x1400a37f0
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400a37f0
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x1400a38e3
cmp r11d, edx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x1400a37f0
shr r8, 1
add r8, r10
lea rdi, [r8 + r8*2]
mov r11d, dword [r13 + rdi*4]
mov ebx, dword [r13 + rdi*4 + 4]
cmp ebx, edx
jb 0x1400a3900
cmp r11d, edx
jbe 0x1400a3910
cmp ebx, edx
jae 0x1400a38d0
mov r10, r8
inc r10
mov r8, r9
jmp 0x1400a38d0
movzx edx, byte [r13 + rdi*4 + 8]
cmp edx, 0x11
ja 0x1400a37f0
mov r8d, 0x20003
bt r8d, edx
jae 0x1400a37f0
mov al, 1
mov dword [rsp + 0x34], eax
jmp 0x1400a3948
mov dword [rsp + 0x34], 0
mov rcx, r15
mov rdx, rsi
mov r8, r14
lea r9, [rsp + 0xe0]
call fcn.1400a6380
mov r8, qword [rsp + 0x2e8]
mov rax, qword [r8]
mov rdi, qword [r8 + 0x10]
sub rax, rdi
cmp rax, rsi
jb 0x1400a407d
mov rcx, qword [r8 + 8]
add rcx, rdi
mov rdx, r15
mov rbx, r8
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, rdi
mov qword [rbx + 0x10], rsi
xor ebp, ebp
jmp 0x1400a3760
lea rdi, [r15 + 4]
add rsi, 0xfffffffffffffffc
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], rsi
mov byte [rsp + 0x60], 1
movabs rax, 0x2d0000002d
mov qword [rsp + 0x58], rax
lea r9, [r15 + 0xb]
and r9, 0xfffffffffffffff8
mov rdx, r9
sub rdx, rdi
mov r8, r15
add r8, 3
mov rbx, rsi
movabs r14, 0x8080808080808080
jmp 0x1400a3a0e
mov qword [rsp + 0x50], rbx
cmp rbx, rsi
ja 0x1400a3b0c
mov rcx, rbx
mov r10, rbx
cmp rbx, rdx
jb 0x1400a3a2f
mov eax, ebx
sub eax, edx
and eax, 0xf
mov rcx, rbx
sub rcx, rax
jb 0x1400a5750
mov r10, rdx
lea rax, [rdi + rbx]
sub rax, rdi
sub rax, rcx
lea r11, [r8 + rbx]
nop dword [rax]
test rax, rax
je 0x1400a3a60
dec rax
cmp byte [r11], 0x2d
lea r11, [r11 - 1]
jne 0x1400a3a40
add rax, rcx
mov rbx, rax
jmp 0x1400a3ac0
mov rax, rcx
cmp rcx, r10
jbe 0x1400a3a96
lea rcx, [rax - 0x10]
movdqu xmm0, xmmword [r15 + rax - 0xc]
movdqa xmm1, xmm0
pxor xmm1, xmm6
paddq xmm1, xmm7
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r11, xmm1
test r11, r14
je 0x1400a3a60
cmp rax, rbx
ja 0x1400a573e
mov rbx, rax
nop word cs:[rax + rax]
sub rbx, 1
jb 0x1400a3b0c
cmp byte [r8 + rax], 0x2d
mov rax, rbx
jne 0x1400a3ab0
cmp rbx, rsi
jae 0x1400a3a00
mov al, 0x2d
cmp byte [rdi + rbx], al
jne 0x1400a3a00
test rbx, rbx
je 0x1400a4ad5
cmp rbx, rsi
jae 0x1400a3aec
cmp byte [rdi + rbx], 0xbf
jle 0x1400a57a4
lea r8, [rbx + 1]
cmp r8, rsi
jae 0x1400a4adf
cmp byte [rdi + r8], 0xbf
jle 0x1400a578a
mov r14, r8
jmp 0x1400a4ae8
mov r14, rdi
xor ebx, ebx
mov edi, 1
test rsi, rsi
je 0x1400a3de1
add rsi, r14
xor ebp, ebp
mov r13d, 0x48
mov r12d, pe_nt_image_headers64
xor edx, edx
mov eax, ebx
mov dword [rsp + 0x138], ebx
xor r8d, r8d
mov qword [rsp + 0x190], rdx
lea r9d, [r13 + 0x1a]
inc r14
mov r10d, r13d
neg r10d
mov r11d, 1
mov r15d, 0x24
mov dword [rsp + 0x108], r8d
mov ecx, r8d
movzx eax, byte [r14 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jb 0x1400a3ba0
nop word [rax + rax]
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x1400a3ba4
add al, 0x9f
mov edx, eax
cmp al, 0x19
jbe 0x1400a3ba4
jmp 0x1400a3735
add al, 0xea
mov edx, eax
test r11d, r11d
je 0x1400a5732
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, r8d
jb 0x1400a3735
mov eax, r11d
imul eax, r8d
add ecx, eax
lea eax, [r10 + r15]
cmp r15d, r9d
mov edx, 0x1a
cmovae eax, edx
cmp r15d, r13d
mov edx, 1
cmovbe eax, edx
cmp eax, r8d
ja 0x1400a3c30
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r11d
jo 0x1400a3735
cmp r14, rsi
je 0x1400a3735
add r15d, 0x24
imul r11d, r8d
inc r14
movzx eax, byte [r14 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x1400a3b80
jmp 0x1400a3ba0
mov r10d, dword [rsp + 0x138]
inc r10d
je 0x1400a5761
mov eax, ecx
mov edx, dword [rsp + 0x108]
sub eax, edx
test edx, edx
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor r13d, r13d
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r10d
add eax, r8d
cmp eax, 0x1c8
mov r9d, 0xd41d41d5
jb 0x1400a3caa
xor r13d, r13d
mov edx, eax
imul rdx, r9
shr rdx, 0x20
mov r8d, eax
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 5
add r13d, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x1400a3c80
jmp 0x1400a3cad
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov r9d, eax
mov eax, ecx
xor edx, edx
mov dword [rsp + 0x138], r10d
div r10d
mov dword [rsp + 0x108], edx
add r12d, eax
jb 0x1400a3735
mov eax, r12d
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x1400a3735
mov dword [rsp + 0x13c], r12d
mov r15, qword [rsp + 0xf8]
mov r8d, dword [rsp + 0x108]
mov r12d, r8d
mov rdx, qword [rsp + 0x190]
test rdx, rdx
je 0x1400a3d50
xor eax, eax
jmp 0x1400a3d39
add rax, 0x10
cmp rbp, rax
je 0x1400a3d50
mov rcx, qword [r15 + rax]
cmp rcx, r12
jb 0x1400a3d30
inc rcx
mov qword [r15 + rax], rcx
jmp 0x1400a3d30
cmp rdx, qword [rsp + 0xf0]
jne 0x1400a3d85
lea rcx, [rsp + 0xf0]
mov r15d, r9d
call fcn.14011d5c0
mov r9d, r15d
mov r8d, dword [rsp + 0x108]
mov rdx, qword [rsp + 0x190]
mov r15, qword [rsp + 0xf8]
movzx eax, r9w
add r13d, eax
mov rax, rdx
shl rax, 4
mov qword [r15 + rax], r12
mov r12d, dword [rsp + 0x13c]
mov dword [r15 + rax + 8], r12d
inc rdx
mov qword [rsp + 0x100], rdx
inc r8d
add rbp, 0x10
cmp r14, rsi
jne 0x1400a3b3e
cmp rdx, 2
jb 0x1400a3de9
cmp rdx, 0x15
jae 0x1400a4c90
shl rdx, 4
add rdx, r15
lea rax, [r15 + 0x10]
xor ecx, ecx
jmp 0x1400a4a9a
mov r15, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x100]
lea r8, [r14 + rbx]
mov rcx, qword [rsp + 0x2e8]
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x108], rcx
sub rax, rcx
cmp r8, rax
ja 0x1400a4a65
add rbx, rdi
xor ebp, ebp
xor esi, esi
mov rcx, qword [rsp + 0x2e8]
lea r13, [0x1404421fc]
cmp rsi, r14
jb 0x1400a3e50
nop word cs:[rax + rax]
cmp rdi, rbx
jne 0x1400a3eb9
jmp 0x1400a409c
mov rax, rsi
shl rax, 4
cmp rbp, qword [r15 + rax]
jne 0x1400a3eb0
add rax, r15
inc rsi
mov r13d, dword [rax + 8]
cmp r13d, 0x80
jb 0x1400a3ecf
mov dword [rsp + 0x38], 0
mov eax, r13d
cmp r13d, 0x800
jae 0x1400a3f70
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x38], al
mov r12d, 2
mov eax, 1
jmp 0x1400a3ff0
cmp rdi, rbx
je 0x1400a4ca0
movzx eax, byte [rdi]
test al, al
js 0x1400a3f10
inc rdi
mov r13d, eax
cmp r13d, 0x80
jae 0x1400a3e70
mov r12, qword [rcx + 0x10]
cmp r12, qword [rcx]
jne 0x1400a3ee5
call fcn.14005fd80
mov rcx, qword [rsp + 0x2e8]
mov rax, qword [rcx + 8]
mov byte [rax + r12], r13b
inc r12
mov qword [rcx + 0x10], r12
inc rbp
lea r13, [0x1404421fc]
cmp rsi, r14
jb 0x1400a3e50
jmp 0x1400a3e40
mov r13d, eax
and r13d, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp al, 0xdf
jbe 0x1400a3fa0
movzx r8d, byte [rdi + 2]
shl edx, 6
and r8d, 0x3f
or r8d, edx
cmp al, 0xf0
jb 0x1400a4047
movzx eax, byte [rdi + 3]
add rdi, 4
and r13d, 7
shl r13d, 0x12
shl r8d, 6
and eax, 0x3f
or eax, r8d
or r13d, eax
cmp r13d, 0x80
jb 0x1400a3ecf
jmp 0x1400a3e70
cmp r13d, 0x10000
jae 0x1400a3fc0
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x38], al
mov eax, r13d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x39], al
mov r12d, 3
mov eax, 2
jmp 0x1400a3ff0
add rdi, 2
shl r13d, 6
or r13d, edx
cmp r13d, 0x80
jae 0x1400a3e70
jmp 0x1400a3ecf
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x38], al
mov eax, r13d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x39], al
mov eax, r13d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x3a], al
mov r12d, 4
mov eax, 3
and r13b, 0x3f
or r13b, 0x80
mov byte [rsp + rax + 0x38], r13b
mov rax, qword [rcx]
mov r13, qword [rcx + 0x10]
sub rax, r13
cmp rax, r12
jb 0x1400a4064
mov rcx, qword [rcx + 8]
add rcx, r13
lea rdx, [rsp + 0x38]
mov r8, r12
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x2e8]
add r13, r12
mov qword [rcx + 0x10], r13
inc rbp
lea r13, [0x1404421fc]
cmp rsi, r14
jae 0x1400a3e40
jmp 0x1400a3e50
add rdi, 3
shl r13d, 0xc
or r13d, r8d
cmp r13d, 0x80
jb 0x1400a3ecf
jmp 0x1400a3e70
mov rdx, r13
mov r8, r12
call fcn.1401d5ea0
mov rcx, qword [rsp + 0x2e8]
mov r13, qword [rcx + 0x10]
jmp 0x1400a400c
mov rcx, r8
mov rdx, rdi
mov r8, rsi
call fcn.1401d5ea0
mov r8, qword [rsp + 0x2e8]
mov rdi, qword [r8 + 0x10]
jmp 0x1400a3979
mov rbx, qword [rcx + 8]
mov rdi, qword [rcx + 0x10]
mov r15, qword [rsp + 0x108]
test r15, r15
mov r14, qword [rsp + 0x130]
je 0x1400a40d0
cmp rdi, r15
jbe 0x1400a40ca
cmp byte [rbx + r15], 0xbf
jg 0x1400a40d0
jmp 0x1400a576d
jne 0x1400a576d
lea r12, [rbx + r15]
test byte [rsp + 0x34], 1
jne 0x1400a4235
cmp rdi, r15
jne 0x1400a40f1
mov dword [rsp + 0x34], 0
jmp 0x1400a4235
lea rax, [rbx + rdi]
mov rcx, r12
jmp 0x1400a4105
cmp rcx, rax
je 0x1400a40e4
movzx edx, byte [rcx]
test dl, dl
js 0x1400a4120
inc rcx
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400a4100
jmp 0x1400a41b0
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x1400a4173
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x1400a4190
movzx edx, byte [rcx + 3]
add rcx, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400a4100
jmp 0x1400a41b0
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jae 0x1400a41b0
jmp 0x1400a4100
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400a4100
nop dword [rax]
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x1400a41e3
cmp r11d, edx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x1400a4100
shr r8, 1
add r8, r10
lea rsi, [r8 + r8*2]
mov r11d, dword [r13 + rsi*4]
mov ebp, dword [r13 + rsi*4 + 4]
cmp ebp, edx
jb 0x1400a4200
cmp r11d, edx
jbe 0x1400a4210
cmp ebp, edx
jae 0x1400a41d0
mov r10, r8
inc r10
mov r8, r9
jmp 0x1400a41d0
movzx edx, byte [r13 + rsi*4 + 8]
cmp edx, 0x11
ja 0x1400a4100
mov r8d, 0x20003
bt r8d, edx
jae 0x1400a4100
mov al, 1
mov dword [rsp + 0x34], eax
movq xmm0, qword [rsp + 0xe0]
movzx eax, byte [rsp + 0xe9]
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd ecx, xmm1
or cl, byte [rsp + 0xe8]
or al, byte [rsp + 0xea]
or al, cl
xor ebp, ebp
or al, byte [rsp + 0xeb]
jne 0x1400a3760
cmp rdi, r15
je 0x1400a4c11
add rbx, rdi
xor edx, edx
xor ecx, ecx
mov rax, r12
movzx r8d, byte [rax]
test r8b, r8b
js 0x1400a42b0
inc rax
jmp 0x1400a4360
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp r8b, 0xe0
jb 0x1400a4313
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x1400a432c
movzx r8d, byte [rax + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0x110000
je 0x1400a48de
add rax, 4
cmp r8d, 0x7f
jbe 0x1400a4360
jmp 0x1400a43ef
add rax, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
cmp r8d, 0x7f
jbe 0x1400a4360
jmp 0x1400a43ef
add rax, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0x7f
jbe 0x1400a4360
jmp 0x1400a43ef
inc rax
cmp r8d, 0x80
jae 0x1400a43ed
cmp rax, rbx
je 0x1400a48de
movzx r8d, byte [rax]
test r8b, r8b
jns 0x1400a4350
mov edx, r8d
and edx, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r8b, 0xdf
jbe 0x1400a43c9
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r8b, 0xf0
jb 0x1400a43db
movzx r8d, byte [rax + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or r8d, edx
cmp r8d, 0x110000
je 0x1400a48de
add rax, 4
jmp 0x1400a4353
add rax, 2
shl edx, 6
or edx, r10d
mov r8d, edx
jmp 0x1400a4353
add rax, 3
shl edx, 0xc
or r9d, edx
mov r8d, r9d
jmp 0x1400a4353
xor edx, edx
mov r9d, edx
imul edx, r8d, 0x9e3779b9
imul r10d, r8d, 0x31415926
xor edx, r10d
imul rdx, rdx, 0x39a
shr rdx, 0x20
lea r11, [0x1404465c4]
movzx edx, word [r11 + rdx*2]
add edx, r8d
imul edx, edx, 0x9e3779b9
xor edx, r10d
imul rdx, rdx, 0x39a
shr rdx, 0x20
lea r10, [0x140446cf8]
mov edx, dword [r10 + rdx*4]
mov r10d, edx
shr r10d, 8
cmp r10d, r8d
mov r10d, 0
cmovne edx, r10d
cmp r9b, dl
jbe 0x1400a445d
test dl, dl
jne case.0x1400a464f.3907
lea r9d, [r8 - 0x340]
cmp r9d, 4
ja 0x1400a4474
cmp r9d, 2
jne case.0x1400a464f.3907
mov r9b, 2
cmp r8d, 0xd56
jg 0x1400a44e1
cmp r8d, 0x9de
jg 0x1400a4527
cmp r8d, 0x93b
jg 0x1400a4652
lea r10d, [r8 - 0x30f]
cmp r10d, 0x36
ja 0x1400a44bb
movabs r11, 0x48020000001005
bt r11, r10
jb 0x1400a48d0
lea r10d, [r8 - 0x374]
cmp r10d, 0x13
ja case.0x1400a464f.3908
mov r11d, 0x80401
bt r11d, r10d
jb case.0x1400a464f.3907
jmp case.0x1400a464f.3908
cmp r8d, 0x11126
jg 0x1400a4591
cmp r8d, 0x102d
jle 0x1400a4606
cmp r8d, 0x1f70
jg 0x1400a46aa
cmp r8d, 0x102e
je 0x1400a48d0
cmp r8d, 0x1b35
je 0x1400a48d0
jmp case.0x1400a464f.3908
cmp r8d, 0xbd6
jg 0x1400a45da
cmp r8d, 0xbbd
jg 0x1400a474d
lea r10d, [r8 - 0xb3e]
cmp r10d, 0x19
ja 0x1400a455e
mov r11d, 0x3000001
bt r11d, r10d
jb 0x1400a48d0
lea r10d, [r8 - 0xa33]
cmp r10d, 0x2b
ja 0x1400a457f
movabs r11, 0x80000000009
bt r11, r10
jb case.0x1400a464f.3907
cmp r8d, 0x9df
jne case.0x1400a464f.3908
jmp case.0x1400a464f.3907
cmp r8d, 0x114af
jle 0x1400a467e
lea r10d, [r8 - 0x114b0]
cmp r10d, 0xd
ja 0x1400a45bb
mov r11d, 0x2401
bt r11d, r10d
jb 0x1400a48d0
cmp r8d, 0x115af
je 0x1400a48d0
cmp r8d, 0x11930
je 0x1400a48d0
jmp case.0x1400a464f.3908
cmp r8d, 0xcc1
jg 0x1400a4707
cmp r8d, 0xbd7
je 0x1400a48d0
cmp r8d, 0xc56
je 0x1400a48d0
jmp case.0x1400a464f.3908
lea r10d, [r8 - 0xdca]
cmp r10d, 0x15
ja 0x1400a4623
mov r11d, 0x200021
bt r11d, r10d
jb 0x1400a48d0
cmp r8d, 0xd57
je 0x1400a48d0
lea r10d, [r8 - 0xf43]
cmp r10d, 0x76
ja case.0x1400a464f.3908
lea r11, [0x14039c250]
movsxd r10, dword [r11 + r10*4]
add r10, r11
jmp r10
cmp r8d, 0x93c
je 0x1400a48d0
cmp r8d, 0x9be
je 0x1400a48d0
cmp r8d, 0x9d7
je 0x1400a48d0
jmp case.0x1400a464f.3908
cmp r8d, 0x11127
je 0x1400a48d0
cmp r8d, 0x1133e
je 0x1400a48d0
cmp r8d, 0x11357
je 0x1400a48d0
jmp case.0x1400a464f.3908
cmp r8d, 0xfa0f
jle 0x1400a4723
cmp r8d, 0x110ba
je 0x1400a48d0
lea r10d, [r8 - 0xfa10]
cmp r10d, 0x12
ja 0x1400a46dd
mov r11d, 0x50005
bt r11d, r10d
jb case.0x1400a464f.3907
lea r10d, [r8 - 0xfb1d]
cmp r10d, 0x21
ja case.0x1400a464f.3908
movabs r11, 0x200000005
bt r11, r10
jb case.0x1400a464f.3907
jmp case.0x1400a464f.3908
cmp r8d, 0xcc2
je 0x1400a48d0
cmp r8d, 0xd3e
je 0x1400a48d0
jmp case.0x1400a464f.3908
cmp r8d, 0x2125
jg 0x1400a475c
lea r10d, [r8 - 0x1f71]
cmp r10d, 0x8c
ja case.0x1400a464f.3908
lea r11, [0x14039c42c]
movsxd r10, dword [r11 + r10*4]
add r10, r11
jmp r10
cmp r8d, 0xbbe
je 0x1400a48d0
jmp case.0x1400a464f.3908
lea r10d, [r8 - 0x2329]
cmp r10d, 2
jb case.0x1400a464f.3907
cmp r8d, 0x2126
je case.0x1400a464f.3907
cmp r8d, 0x2adc
je case.0x1400a464f.3907
movd xmm1, r8d
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x14039c190]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x14039c1a0]
pxor xmm3, xmm14
pcmpgtd xmm3, xmmword [0x14039c1f0]
pxor xmm2, xmm14
pcmpgtd xmm2, xmm10
packssdw xmm2, xmm3
packsswb xmm2, xmm2
pmovmskb r10d, xmm2
xor r10b, 0xff
jne case.0x1400a464f.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x14039c180]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x14039c1b0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x14039c1c0]
pxor xmm3, xmm14
movdqa xmm4, xmm15
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps r10d, xmm4
test r10b, r10b
jne case.0x1400a464f.3907
lea r10d, [r8 - 0x1d1bb]
cmp r10d, 6
jb case.0x1400a464f.3907
lea r10d, [r8 - 0x2f800]
cmp r10d, 0x21e
jb case.0x1400a464f.3907
movd r10d, xmm1
cmp r10d, 0x2000
je case.0x1400a464f.3907
cmp r10d, 0x212a
je case.0x1400a464f.3907
cmp r10d, 0xfb40
je case.0x1400a464f.3907
movdqa xmm1, xmm0
paddd xmm1, xmm11
paddd xmm0, xmm12
pxor xmm0, xmm14
pcmpgtd xmm0, xmm13
pxor xmm1, xmm14
pcmpgtd xmm1, xmm9
packssdw xmm0, xmm1
packsswb xmm0, xmm0
pmovmskb r11d, xmm0
xor r11b, 0xff
jne 0x1400a48d0
lea r11d, [r8 - 0x11a8]
cmp r11d, 0x1b
jb 0x1400a48d0
cmp r10d, 0x330
je 0x1400a48d0
add r8d, 0xffffcf67
cmp r8d, 2
movzx r9d, cl
mov ecx, 2
cmovb r9d, ecx
mov ecx, r9d
cmp rax, rbx
jne 0x1400a429f
jmp 0x1400a48e1
mov r9d, ecx
test r9b, r9b
je 0x1400a4c11
movzx eax, r9b
cmp eax, 1
je case.0x1400a464f.3907
lea rcx, [rsp + 0x80]
movups xmmword [rcx], xmm8
mov byte [rcx + 0x10], 0
lea rax, [rsp + 0x112]
movups xmmword [rax], xmm8
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x48], 0
mov word [rsp + 0x4c], 0
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x98], 0
mov word [rsp + 0x9c], 0
movzx eax, word [rsp + 0x120]
mov word [rcx + 0x2e], ax
movdqu xmm0, xmmword [rsp + 0x110]
movdqu xmmword [rcx + 0x1e], xmm0
mov dword [rsp + 0xb8], 0x110000
mov byte [rsp + 0xbc], 0
mov rsi, r12
nop
cmp rsi, rbx
je 0x1400a4ba4
movzx ebp, byte [rsi]
test bpl, bpl
js 0x1400a49d0
inc rsi
jmp 0x1400a4a40
mov eax, ebp
and eax, 0x1f
movzx edx, byte [rsi + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x1400a4a1a
movzx ecx, byte [rsi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x1400a4a27
movzx ebp, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x1400a4ba4
add rsi, 4
jmp 0x1400a4a40
add rsi, 2
shl eax, 6
or eax, edx
mov ebp, eax
jmp 0x1400a4a40
add rsi, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
nop word cs:[rax + rax]
lea rcx, [rsp + 0x38]
call fcn.1400a5a30
xor r14d, r14d
cmp eax, 0x110000
je 0x1400a4bb7
cmp eax, ebp
je 0x1400a49b0
jmp 0x1400a4bb7
mov rcx, qword [rsp + 0x2e8]
mov rdx, qword [rsp + 0x108]
call fcn.1401d5ea0
jmp 0x1400a3e18
mov r9, r15
mov qword [r9], r11
mov dword [r9 + 8], r8d
add rax, 0x10
add rcx, 0xfffffffffffffff0
cmp rax, rdx
je 0x1400a3de9
mov r11, qword [rax]
cmp r11, qword [rax - 0x10]
jae 0x1400a4a89
mov r8d, dword [rax + 8]
xor r10d, r10d
nop word [rax + rax]
movdqu xmm0, xmmword [rax + r10 - 0x10]
movdqu xmmword [rax + r10], xmm0
cmp rcx, r10
je 0x1400a4a7f
lea r9, [r10 - 0x10]
cmp r11, qword [rax + r10 - 0x20]
mov r10, r9
jb 0x1400a4ab0
add r9, rax
jmp 0x1400a4a82
mov r14, rdi
xor ebx, ebx
jmp 0x1400a3b16
mov r14, rsi
jne 0x1400a578a
sub rsi, r14
add r14, rdi
cmp rbx, 8
jae 0x1400a3722
cmp byte [rdi + rbx - 1], 0
js 0x1400a3735
mov rax, rbx
dec rax
je 0x1400a3b16
cmp byte [rdi + rbx - 2], 0
js 0x1400a3735
mov rax, rbx
add rax, 0xfffffffffffffffe
je 0x1400a3b16
cmp byte [rdi + rbx - 3], 0
js 0x1400a3735
mov rax, rbx
add rax, 0xfffffffffffffffd
je 0x1400a3b16
cmp byte [rdi + rbx - 4], 0
js 0x1400a3735
mov rax, rbx
add rax, 0xfffffffffffffffc
je 0x1400a3b16
cmp byte [rdi + rbx - 5], 0
js 0x1400a3735
mov rax, rbx
add rax, 0xfffffffffffffffb
je 0x1400a3b16
cmp byte [rdi + rbx - 6], 0
js 0x1400a3735
mov rax, rbx
add rax, 0xfffffffffffffffa
je 0x1400a3b16
cmp byte [rdi + rbx - 7], 0
js 0x1400a3735
mov rax, rbx
add rax, 0xfffffffffffffff9
je 0x1400a3b16
jmp 0x1400a3735
lea rcx, [rsp + 0x38]
call fcn.1400a5a30
cmp eax, 0x110000
sete r14b
cmp dword [rsp + 0x48], 0
je 0x1400a4bd9
cmp qword [rsp + 0x50], 0
je 0x1400a4bd9
mov r8, qword [rsp + 0x58]
mov rcx, qword [0x1404a30d0]
xor edx, edx
call fcn.14021d5e4
cmp dword [rsp + 0x98], 0
je 0x1400a4c04
cmp qword [rsp + 0xa0], 0
je 0x1400a4c04
mov r8, qword [rsp + 0xa8]
mov rcx, qword [0x1404a30d0]
xor edx, edx
call fcn.14021d5e4
test r14b, r14b
mov r14, qword [rsp + 0x130]
je case.0x1400a464f.3907
sub rdi, r15
mov rcx, r12
mov rdx, rdi
mov r8, qword [rsp + 0x188]
lea r9, [rsp + 0xe0]
call fcn.1400a6380
xor ebp, ebp
jmp 0x1400a3760
mov byte [rsp + 0xe5], 1
xor ebp, ebp
jmp 0x1400a3760
cmp r9, rdi
mov eax, 8
cmove rdx, rax
lea rax, [rbx - 8]
movabs rcx, 0x8080808080808080
cmp rdx, rax
jae 0x1400a4c81
test qword [rdi + rdx], rcx
jne 0x1400a3735
add rdx, 8
movabs rcx, 0x8080808080808080
cmp rdx, rax
jb 0x1400a4c64
test qword [rdi + rax], rcx
jne 0x1400a3735
jmp 0x1400a3b16
mov rcx, r15
call fcn.1400a72a0
jmp 0x1400a3de9
jmp 0x1400a4ca0
mov rax, qword [rsp + 0x2e8]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov r8, qword [rsp + 0x1a0]
test r8, r8
je 0x1400a4ce1
cmp rdx, r8
jbe 0x1400a4cdf
cmp byte [rcx + r8], 0xbf
jg 0x1400a4ce1
lea rax, [0x1403c43f8]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.14004b030
jne 0x1400a4ccb
sub rdx, r8
add rcx, r8
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], rdx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x70], 1
mov word [rsp + 0x78], 1
test byte [rsp + 0x34], 1
jne 0x1400a4d52
lea rsi, [rsp + 0x38]
nop word cs:[rax + rax]
mov rcx, rsi
call fcn.1400a57d0
test rax, rax
jne 0x1400a4d40
jmp 0x1400a5564
lea rsi, [rsp + 0x38]
mov ebx, 0x260d9
mov ebp, 0x62f8
mov rcx, rsi
call fcn.1400a57d0
test rax, rax
je 0x1400a5564
test rdx, rdx
je 0x1400a4d61
movzx ecx, byte [rax]
test cl, cl
js 0x1400a4d90
lea r9, [rax + 1]
jmp 0x1400a4e00
mov r8d, ecx
and r8d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp cl, 0xdf
jbe 0x1400a4dd9
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp cl, 0xf0
jb 0x1400a4de9
lea r9, [rax + 4]
movzx ecx, byte [rax + 3]
and r8d, 7
shl r8d, 0x12
shl r10d, 6
and ecx, 0x3f
or ecx, r10d
or ecx, r8d
jmp 0x1400a4e00
lea r9, [rax + 2]
shl r8d, 6
or r8d, r11d
mov ecx, r8d
jmp 0x1400a4e00
lea r9, [rax + 3]
shl r8d, 0xc
or r10d, r8d
mov ecx, r10d
nop word [rax + rax]
add rdx, rax
mov r8d, 0x5a6
xor r11d, r11d
mov r10d, 0x5a6
jmp 0x1400a4e2f
cmp r14d, ecx
cmova r10, r8
mov r8, r10
sub r8, r11
jbe 0x1400a4e80
shr r8, 1
add r8, r11
lea r15, [r8 + r8*2]
mov r14d, dword [r13 + r15*4]
mov r12d, dword [r13 + r15*4 + 4]
cmp r12d, ecx
jb 0x1400a4e4d
cmp r14d, ecx
jbe 0x1400a4e60
cmp r12d, ecx
jae 0x1400a4e20
mov r11, r8
inc r11
mov r8, r10
jmp 0x1400a4e20
movzx ecx, byte [r13 + r15*4 + 8]
test ecx, ecx
je 0x1400a5030
cmp ecx, 0x11
je 0x1400a5030
cmp ecx, 9
jne 0x1400a555c
cmp r9, rdx
je 0x1400a4fa0
movzx ecx, byte [r9]
test cl, cl
js 0x1400a4ea0
inc r9
jmp 0x1400a4f10
mov r8d, ecx
and r8d, 0x1f
movzx r11d, byte [r9 + 1]
and r11d, 0x3f
cmp cl, 0xdf
jbe 0x1400a4eea
movzx r10d, byte [r9 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp cl, 0xf0
jb 0x1400a4efa
movzx ecx, byte [r9 + 3]
add r9, 4
and r8d, 7
shl r8d, 0x12
shl r10d, 6
and ecx, 0x3f
or ecx, r10d
or ecx, r8d
jmp 0x1400a4f10
add r9, 2
shl r8d, 6
or r8d, r11d
mov ecx, r8d
jmp 0x1400a4f10
add r9, 3
shl r8d, 0xc
or r10d, r8d
mov ecx, r10d
nop dword [rax + rax]
mov r8d, 0x5a6
xor r11d, r11d
mov r10d, 0x5a6
jmp 0x1400a4f43
cmp r14d, ecx
cmova r10, r8
mov r8, r10
sub r8, r11
jbe 0x1400a4e80
shr r8, 1
add r8, r11
lea r15, [r8 + r8*2]
mov r14d, dword [r13 + r15*4]
mov r12d, dword [r13 + r15*4 + 4]
cmp r12d, ecx
jb 0x1400a4f61
cmp r14d, ecx
jbe 0x1400a4f80
cmp r12d, ecx
jae 0x1400a4f30
mov r11, r8
inc r11
mov r8, r10
jmp 0x1400a4f30
movzx ecx, byte [r13 + r15*4 + 8]
cmp ecx, 0xe
ja 0x1400a555c
bt ebp, ecx
jb 0x1400a4e80
jmp 0x1400a555c
movzx ecx, byte [rdx - 1]
test cl, cl
js 0x1400a5366
dec rdx
cmp rdx, rax
jne 0x1400a53d0
cmp ecx, 0x110000
je 0x1400a4d61
mov eax, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x1400a4ff3
cmp r9d, ecx
cmova rdx, rax
mov rax, rdx
sub rax, r8
jbe 0x1400a5210
shr rax, 1
add rax, r8
lea r10, [rax + rax*2]
mov r9d, dword [r13 + r10*4]
mov r11d, dword [r13 + r10*4 + 4]
cmp r11d, ecx
jb 0x1400a5015
cmp r9d, ecx
jbe 0x1400a51f5
cmp r11d, ecx
jae 0x1400a4fe0
mov r8, rax
inc r8
mov rax, rdx
jmp 0x1400a4fe0
cmp r9, rdx
je 0x1400a516e
xor r8d, r8d
xor ecx, ecx
movzx r10d, byte [r9]
test r10b, r10b
js 0x1400a504c
inc r9
jmp 0x1400a50c0
mov r11d, r10d
and r11d, 0x1f
movzx r15d, byte [r9 + 1]
and r15d, 0x3f
cmp r10b, 0xdf
jbe 0x1400a5099
movzx r14d, byte [r9 + 2]
shl r15d, 6
and r14d, 0x3f
or r14d, r15d
cmp r10b, 0xf0
jb 0x1400a50a9
movzx r10d, byte [r9 + 3]
add r9, 4
and r11d, 7
shl r11d, 0x12
shl r14d, 6
and r10d, 0x3f
or r10d, r14d
or r10d, r11d
jmp 0x1400a50c0
add r9, 2
shl r11d, 6
or r11d, r15d
mov r10d, r11d
jmp 0x1400a50c0
add r9, 3
shl r11d, 0xc
or r14d, r11d
mov r10d, r14d
nop word [rax + rax]
mov r11d, 0x5a6
xor r15d, r15d
mov r14d, 0x5a6
jmp 0x1400a50fa
lea r13, [0x1404421fc]
cmp r12d, r10d
cmova r14, r11
mov r11, r14
sub r11, r15
jbe 0x1400a555c
shr r11, 1
add r11, r15
mov rdi, r13
lea r13, [r11 + r11*2]
mov r12d, dword [rdi + r13*4]
mov edi, dword [rdi + r13*4 + 4]
cmp edi, r10d
jb 0x1400a511a
cmp r12d, r10d
jbe 0x1400a512a
cmp edi, r10d
jae 0x1400a50e0
mov r15, r11
inc r15
mov r11, r14
jmp 0x1400a50e0
lea r11, [0x1404421fc]
movzx r10d, byte [r11 + r13*4 + 8]
cmp r10d, 0x11
ja 0x1400a555c
mov r13, r11
bt ebx, r10d
jae 0x1400a5155
cmp r9, rdx
jne 0x1400a503e
jmp 0x1400a5173
cmp r10d, 1
je 0x1400a5169
cmp r10d, 5
jne 0x1400a555c
mov cl, 1
jmp 0x1400a514a
mov r8b, 1
jmp 0x1400a514a
xor ecx, ecx
xor r8d, r8d
movzx r9d, byte [rdx - 1]
test r9b, r9b
js 0x1400a5469
dec rdx
cmp rdx, rax
jne 0x1400a54c7
cmp r9d, 0x110000
je 0x1400a555c
mov eax, 0x5a6
xor r10d, r10d
mov edx, 0x5a6
jmp 0x1400a51c3
cmp r11d, r9d
cmova rdx, rax
mov rax, rdx
sub rax, r10
jbe 0x1400a52de
shr rax, 1
add rax, r10
lea r14, [rax + rax*2]
mov r11d, dword [r13 + r14*4]
mov r15d, dword [r13 + r14*4 + 4]
cmp r15d, r9d
jb 0x1400a51e5
cmp r11d, r9d
jbe 0x1400a52d2
cmp r15d, r9d
jae 0x1400a51b0
mov r10, rax
inc r10
mov rax, rdx
jmp 0x1400a51b0
cmp byte [r13 + r10*4 + 8], 0xd
je 0x1400a4d61
nop word cs:[rax + rax]
mov eax, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x1400a5233
cmp r9d, ecx
cmova rdx, rax
mov rax, rdx
sub rax, r8
jbe 0x1400a4d61
shr rax, 1
add rax, r8
lea r10, [rax + rax*2]
mov r9d, dword [r13 + r10*4]
mov r11d, dword [r13 + r10*4 + 4]
cmp r11d, ecx
jb 0x1400a5251
cmp r9d, ecx
jbe 0x1400a5261
cmp r11d, ecx
jae 0x1400a5220
mov r8, rax
inc r8
mov rax, rdx
jmp 0x1400a5220
cmp byte [r13 + r10*4 + 8], 9
je 0x1400a4d61
mov eax, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x1400a5293
cmp r9d, ecx
cmova rdx, rax
mov rax, rdx
sub rax, r8
jbe 0x1400a555c
shr rax, 1
add rax, r8
lea r10, [rax + rax*2]
mov r9d, dword [r13 + r10*4]
mov r11d, dword [r13 + r10*4 + 4]
cmp r11d, ecx
jb 0x1400a52b1
cmp r9d, ecx
jbe 0x1400a52c1
cmp r11d, ecx
jae 0x1400a5280
mov r8, rax
inc r8
mov rax, rdx
jmp 0x1400a5280
cmp byte [r13 + r10*4 + 8], 5
je 0x1400a4d61
jmp 0x1400a555c
cmp byte [r13 + r14*4 + 8], 0xd
je 0x1400a555c
mov eax, 0x5a6
xor r10d, r10d
mov edx, 0x5a6
jmp 0x1400a5303
cmp r11d, r9d
cmova rdx, rax
mov rax, rdx
sub rax, r10
jbe 0x1400a555c
shr rax, 1
add rax, r10
lea r14, [rax + rax*2]
mov r11d, dword [r13 + r14*4]
mov edi, dword [r13 + r14*4 + 4]
cmp edi, r9d
jb 0x1400a5321
cmp r11d, r9d
jbe 0x1400a5331
cmp edi, r9d
jae 0x1400a52f0
mov r10, rax
inc r10
mov rax, rdx
jmp 0x1400a52f0
movzx eax, byte [r13 + r14*4 + 8]
cmp eax, 0x11
ja 0x1400a555c
mov edx, 0x20023
bt edx, eax
jae 0x1400a555c
test r8b, 1
je 0x1400a4d61
and cl, 1
je 0x1400a4d61
jmp 0x1400a555c
movzx r8d, byte [rdx - 2]
cmp r8b, 0xc0
jge 0x1400a53a0
movzx r9d, byte [rdx - 3]
cmp r9b, 0xc0
jge 0x1400a53aa
movzx r10d, byte [rdx - 4]
add rdx, 0xfffffffffffffffc
and r10d, 7
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
jmp 0x1400a53b2
add rdx, 0xfffffffffffffffe
and r8d, 0x1f
jmp 0x1400a53bd
add rdx, 0xfffffffffffffffd
and r9d, 0xf
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp rdx, rax
je 0x1400a4fb8
cmp ecx, 0x110000
je 0x1400a4d61
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x1400a5403
cmp r11d, ecx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x1400a5210
shr r8, 1
add r8, r10
lea r14, [r8 + r8*2]
mov r11d, dword [r13 + r14*4]
mov r15d, dword [r13 + r14*4 + 4]
cmp r15d, ecx
jb 0x1400a5421
cmp r11d, ecx
jbe 0x1400a5440
cmp r15d, ecx
jae 0x1400a53f0
mov r10, r8
inc r10
mov r8, r9
jmp 0x1400a53f0
cmp byte [r13 + r14*4 + 8], 0xd
jne 0x1400a5210
movzx ecx, byte [rdx - 1]
test cl, cl
js 0x1400a5366
dec rdx
cmp rdx, rax
jne 0x1400a53d0
jmp 0x1400a4fb8
movzx r10d, byte [rdx - 2]
cmp r10b, 0xc0
jge 0x1400a5496
movzx r11d, byte [rdx - 3]
cmp r11b, 0xc0
jge 0x1400a54a0
movzx edi, byte [rdx - 4]
add rdx, 0xfffffffffffffffc
and edi, 7
shl edi, 6
and r11d, 0x3f
or r11d, edi
jmp 0x1400a54a8
add rdx, 0xfffffffffffffffe
and r10d, 0x1f
jmp 0x1400a54b3
add rdx, 0xfffffffffffffffd
and r11d, 0xf
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp rdx, rax
je 0x1400a518d
cmp r9d, 0x110000
je 0x1400a555c
mov r10d, 0x5a6
xor r14d, r14d
mov r11d, 0x5a6
jmp 0x1400a5503
cmp r15d, r9d
cmova r11, r10
mov r10, r11
sub r10, r14
jbe 0x1400a52de
shr r10, 1
add r10, r14
lea r12, [r10 + r10*2]
mov r15d, dword [r13 + r12*4]
mov edi, dword [r13 + r12*4 + 4]
cmp edi, r9d
jb 0x1400a5521
cmp r15d, r9d
jbe 0x1400a5531
cmp edi, r9d
jae 0x1400a54f0
mov r14, r10
inc r14
mov r10, r11
jmp 0x1400a54f0
cmp byte [r13 + r12*4 + 8], 0xd
jne 0x1400a52de
movzx r9d, byte [rdx - 1]
test r9b, r9b
js 0x1400a5469
dec rdx
cmp rdx, rax
jne 0x1400a54c7
jmp 0x1400a518d
mov byte [rsp + 0xe2], 1
mov eax, dword [rsp + 0xe8]
mov rcx, qword [rsp + 0x198]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0xe0]
mov qword [rcx], rax
cmp qword [rsp + 0xf0], 0
je 0x1400a55a2
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x1404a30d0]
xor edx, edx
call fcn.14021d5e4
movaps xmm6, xmmword [rsp + 0x1d0]
movaps xmm7, xmmword [rsp + 0x1e0]
movaps xmm8, xmmword [rsp + 0x1f0]
movaps xmm9, xmmword [rsp + 0x200]
movaps xmm10, xmmword [rsp + 0x210]
movaps xmm11, xmmword [rsp + 0x220]
movaps xmm12, xmmword [rsp + 0x230]
movaps xmm13, xmmword [rsp + 0x240]
movaps xmm14, xmmword [rsp + 0x250]
movaps xmm15, xmmword [rsp + 0x260]
add rsp, 0x278
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x1403d2f78]
mov rcx, rax
call fcn.140046850
lea r8, [0x1403d2f90]
call fcn.140046850
lea r8, [0x1403c43b0]
mov edx, 0x1f73
call fcn.140046850
lea r8, [0x1403c4398]
mov edx, 0x75a
mov rcx, 0xffffffffffffffff
call fcn.140046850
lea r8, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.8.0_src_arrayvec.rs
mov rcx, rdx
mov edx, 4
call fcn.140047140
lea r8, [0x1403c43c8]
mov edx, 0x1f73
call fcn.140046850
lea r8, [0x1403d2f60]
call fcn.140046850
lea rax, [0x1403c4380]
mov qword [rsp + 0x20], rax
lea rcx, [0x1403cfccc]
mov edx, 0x321c
call fcn.14004b030
lea r8, [0x1403d2fa8]
call fcn.1400467e0
lea r8, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.8.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.140047140
lea r8, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov rcx, rbx
call fcn.140047140
lea r8, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov edx, 0xd4e
call fcn.1400467e0
lea r8, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov rcx, rbx
call fcn.140047140
lea r8, str._E_
mov edx, 0x1667
call fcn.1400467e0
mov ecx, 4
mov rdx, r15
call fcn.140043d40
lea r8, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.8.0_src_arrayvec.rs
mov edx, 4
mov rcx, rbx
call fcn.140047140
lea r8, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.8.0_src_arrayvec.rs
mov edx, 4
call fcn.140047140
lea rcx, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.140047820
lea r8, str.librarycore_src_slicememchr.rspb:_
mov rcx, rax
mov rdx, rbx
call fcn.140047140
lea r8, str.pb:_
mov rdx, rbx
call fcn.1400467e0
ud2
lea rcx, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.140047820
lea rax, [0x1403c4418]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rdi
mov r8, r15
mov r9, rdi
call fcn.14004b030
lea rax, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rsi
mov r9, rsi
call fcn.14004b030
lea rax, str.C:Users_asdasd.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9, rbx
call fcn.14004b030
int3