Function at 0x1400477c0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
movdqa xmmword [rsp + 0x250], xmm15
movdqa xmmword [rsp + 0x240], xmm14
movdqa xmmword [rsp + 0x230], xmm13
movdqa xmmword [rsp + 0x220], xmm12
movdqa xmmword [rsp + 0x210], xmm11
movdqa xmmword [rsp + 0x200], xmm10
movdqa xmmword [rsp + 0x1f0], xmm9
movaps xmmword [rsp + 0x1e0], xmm8
movdqa xmmword [rsp + 0x1d0], xmm7
movdqa xmmword [rsp + 0x1c0], xmm6
mov qword [rsp + 0x180], rcx
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x2d0]
mov qword [rsp + 0x190], r9
mov qword [rcx + 0x10], 0
mov dword [rsp + 0xf0], 0
mov qword [rsp + 0xe8], 0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x188], rax
add r8, rdx
pxor xmm6, xmm6
movdqu xmmword [rsp + 0x19d], xmm6
mov byte [rsp + 0x1ad], 0
movdqu xmmword [rsp + 0x1b0], xmm6
mov qword [rsp + 0x28], 0
lea r13, [rsp + 0x38]
mov dword [rsp + 0x38], 0
mov word [rsp + 0x3c], 0
mov byte [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x4c], 0
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], r8
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0
mov rax, r9
shr rax, 0x20
mov byte [rsp + 0x8c], al
mov qword [rsp + 0x178], r9
mov dword [rsp + 0x88], r9d
movups xmm0, xmmword [rsp + 0x19a]
movups xmmword [rsp + 0x8d], xmm0
mov eax, dword [rsp + 0x1aa]
mov dword [rsp + 0x9d], eax
mov dword [rsp + 0xa8], 0
mov word [rsp + 0xac], 0
movzx eax, word [rsp + 0x1be]
mov word [rsp + 0xbe], ax
movdqu xmm0, xmmword [rsp + 0x1ae]
movdqu xmmword [rsp + 0xae], xmm0
mov dword [rsp + 0xc8], 0x110000
mov byte [rsp + 0xcc], 0
lea r12, [0x140140f30]
lea r14, [0x140144a00]
xor eax, eax
jmp 0x1400479c3
mov rax, qword [rsi + 8]
mov byte [rax + rdi], bl
inc rdi
mov qword [rsi + 0x10], rdi
mov rax, qword [rsp + 0x28]
cmp rax, 2
je 0x140047a00
cmp rax, 1
jne 0x140047b5a
mov rax, qword [rsp + 0x30]
cmp dword [rsp + 0xa8], 0
je 0x140047a28
cmp rax, qword [rsp + 0xc0]
jae 0x140047ab9
mov rdx, qword [rsp + 0xb8]
jmp 0x140047a4b
mov rdx, qword [rsp + 0x30]
mov eax, dword [rsp + 0xa8]
test eax, eax
je 0x140047a70
cmp rdx, qword [rsp + 0xc0]
jae 0x140047ac7
mov r8, qword [rsp + 0xb8]
jmp 0x140047a93
movzx ecx, word [rsp + 0xac]
cmp rcx, 4
ja 0x14004afab
lea rdx, [rsp + 0xb0]
cmp rax, rcx
jae 0x140047ad8
mov ebx, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x28], 1
mov qword [rsp + 0x30], rax
cmp ebx, 0x80
jb 0x140048e1c
jmp 0x140048c5e
movzx ecx, word [rsp + 0xac]
cmp rcx, 5
jae 0x14004afab
lea r8, [rsp + 0xb0]
cmp rdx, rcx
jae 0x140048dd8
mov ebx, dword [r8 + rdx*4]
inc rdx
mov qword [rsp + 0x28], 2
mov qword [rsp + 0x30], rdx
cmp ebx, 0x80
jb 0x140048e1c
jmp 0x140048c5e
mov qword [rsp + 0xc0], 0
jmp 0x140047ae7
mov qword [rsp + 0xc0], 0
jmp 0x140048de7
test cx, cx
je 0x140047ae7
mov word [rsp + 0xac], 0
mov qword [rsp + 0x28], 0
jmp 0x140047b5a
movzx edi, bx
imul esi, edi, 0x6f75
shr esi, 0x18
lea edx, [rsi + 0x1100]
mov rcx, r13
call fcn.14004dc30
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.14004dc30
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 0x140047b5a
add edi, 0x11a7
movzx edx, di
mov rcx, r13
call fcn.14004dc30
mov r9, qword [rsp + 0x98]
test r9, r9
jne 0x140047e20
movzx r10d, byte [rsp + 0x88]
cmp r10b, 2
je 0x140047f35
mov r8, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x60]
mov r11, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
movzx ebx, byte [rsp + 0x89]
mov r15, qword [rsp + 0x80]
nop word cs:[rax + rax]
test r8, r8
je 0x140047bc7
cmp r8, r15
jne 0x140048216
mov qword [rsp + 0x78], 0
cmp rdi, r11
je 0x140047f2d
lea rcx, [rdi + 1]
mov qword [rsp + 0x60], rcx
movzx r8d, byte [rdi]
movzx edx, r8b
test dl, dl
js 0x140047c00
mov rdi, rcx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140047ca0
jmp case.0x140047d77.0
mov ecx, edx
and ecx, 0x1f
lea rbp, [rdi + 2]
mov qword [rsp + 0x60], rbp
movzx r9d, byte [rdi + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x140047c6d
lea rbp, [rdi + 3]
mov qword [rsp + 0x60], rbp
movzx edx, byte [rdi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140047c85
lea r8, [rdi + 4]
mov qword [rsp + 0x60], r8
movzx r9d, byte [rdi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, ecx
mov rdi, r8
mov edx, r9d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140047ca0
jmp case.0x140047d77.0
shl ecx, 6
or ecx, r9d
mov rdi, rbp
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140047ca0
jmp case.0x140047d77.0
shl ecx, 0xc
or edx, ecx
mov rdi, rbp
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb case.0x140047d77.0
nop dword [rax]
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb case.0x140047d77.0
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb case.0x140047d77.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 0x140047d07
lea rsi, [r8 + 1]
cmp ebp, edx
cmova r9, r8
cmovb rcx, rsi
mov r8, r9
sub r8, rcx
ja 0x140047cd0
dec rcx
mov r8, rcx
cmp rcx, 0x759
ja 0x14004aec4
movzx r9d, word [r12 + r8*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
test r9w, r9w
js 0x140047d40
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 0x140047d51
jmp 0x14004aeb3
movzx r8d, cx
cmp r8d, 0x1f73
jae 0x14004aef0
movzx r9d, byte [r14 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x140047d77
mov r8d, r9d
lea r9, [0x14018bd2c]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov eax, dword [rsp + 0x38]
lea r15, [rsp + 0x40]
mov rcx, qword [rsp + 0x90]
test eax, eax
je 0x140047e49
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
jb 0x140047e64
jmp 0x14004af01
movzx edx, word [rsp + 0x3c]
cmp rdx, 5
jae 0x14004aedc
mov r8, r15
cmp rcx, rdx
jae 0x14004af01
mov edi, dword [r8 + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x140047f20
test eax, eax
je 0x140047f88
mov r8, qword [rsp + 0x50]
sub r8, r9
je 0x140047f97
xor ecx, ecx
jmp 0x140047eb3
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 0x140047fa9
mov rax, qword [rsp + 0x98]
add rax, rcx
cmp dword [rsp + 0x38], 0
je 0x140047ef0
mov rdx, qword [rsp + 0x50]
cmp rax, rdx
jae 0x14004ae98
mov r9, qword [rsp + 0x48]
cmp rcx, rdx
jb 0x140047e90
jmp 0x14004aea7
movzx edx, word [rsp + 0x3c]
cmp rdx, 5
jae 0x14004aedc
cmp rax, rdx
jae 0x14004ae98
mov r9, r15
cmp rcx, rdx
jb 0x140047e90
jmp 0x14004aea7
mov qword [rsp + 0x90], rcx
jmp 0x140047fd6
mov byte [rsp + 0x88], 2
mov r9d, dword [rsp + 0x38]
test r9d, r9d
mov rdx, qword [rsp + 0x50]
movzx r8d, word [rsp + 0x3c]
movzx eax, r8w
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x140048cdb
mov rcx, qword [rsp + 0x98]
test r9d, r9d
lea r15, [rsp + 0x40]
je 0x140048300
mov r8, qword [rsp + 0x48]
mov rax, rdx
sub rax, rcx
jae 0x14004831d
jmp 0x14004af2a
movzx r8d, word [rsp + 0x3c]
sub r8, r9
jne 0x140047e8b
test eax, eax
je 0x140047fb1
cmp qword [rsp + 0x50], r8
jb 0x140047fd0
mov qword [rsp + 0x50], r8
jmp 0x140047fd0
mov eax, dword [rsp + 0x38]
test eax, eax
jne 0x140047f9b
movzx eax, word [rsp + 0x3c]
cmp r8, rax
jae 0x140047fd0
mov word [rsp + 0x3c], r8w
nop word cs:[rax + 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, [0x1401679e8]
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, [0x14016811c]
mov ebp, dword [rcx + rax*4]
mov eax, ebp
shr eax, 8
cmp eax, edi
mov eax, 0
cmovne ebp, eax
mov ebx, dword [rsp + 0xc8]
cmp ebx, 0x110000
jne 0x140048050
test bpl, bpl
jne 0x140048c50
mov dword [rsp + 0xc8], edi
jmp 0x140047b5a
cmp byte [rsp + 0xcc], 0
je 0x1400481d7
cmp byte [rsp + 0xcd], bpl
jae 0x1400482f2
lea eax, [rbx - 0x1100]
cmp eax, 0x13
jae 0x140048550
lea eax, [rdi - 0x1161]
cmp eax, 0x15
jae 0x14004859a
imul eax, ebx, 0x24c
lea ecx, [rdi + rdi*8]
lea ecx, [rcx + rcx*2]
add ecx, edi
add eax, ecx
add eax, 0xffd7b964
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
cmp edx, 0x80
jb 0x140047b52
lea ebx, [rdx - 0xac00]
cmp ebx, 0x2ba4
jb 0x140047af2
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x14016b3c4]
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, [0x14016c3e0]
mov rbx, qword [rcx + rax*8]
cmp edx, ebx
jne 0x140047b52
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x14004af59
shr rbx, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rbx
jb 0x14004af4a
test rbx, rbx
je 0x140047b5a
lea rax, [0x140170448]
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.14004dc30
add r15, 4
cmp rbx, r15
jne 0x1400481a0
jmp 0x140047b5a
lea eax, [rbx - 0x1100]
cmp eax, 0x13
jae 0x14004845a
lea eax, [rdi - 0x1161]
cmp eax, 0x15
jae 0x1400484a4
imul eax, ebx, 0x24c
lea ecx, [rdi + rdi*8]
lea ecx, [rcx + rcx*2]
add ecx, edi
add eax, ecx
add eax, 0xffd7b964
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
lea rax, [r8 + 1]
mov qword [rsp + 0x78], rax
movzx ecx, byte [r8]
movzx edx, cl
test dl, dl
js 0x14004860e
nop
cmp byte [rsp + 0xa0], 0
je 0x1400480e0
cmp edx, 0x80
jb 0x140047b52
lea ebx, [rdx - 0xac00]
cmp ebx, 0x2ba4
jb 0x140047af2
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x20
lea r9, [0x140173a28]
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, [0x1401757f0]
mov rbx, qword [r9 + r8*8]
cmp edx, ebx
jne 0x1400483b1
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1667
ja 0x14004af79
shr rbx, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rdx, rbx
jb 0x14004af6a
lea rax, [0x14017cf10]
lea rdi, [rax + rcx*4]
test rbx, rbx
jne 0x140048431
jmp 0x140047b5a
test bpl, bpl
jne 0x14004896d
jmp 0x140048daa
cmp r8w, 5
jae 0x14004af36
mov rdx, rax
mov r8, r15
mov rax, rdx
sub rax, rcx
jb 0x14004af2a
cmp rax, 2
jb 0x140048523
lea rcx, [r8 + rcx*8]
cmp rax, 0x15
jae 0x14004851b
lea rax, [r8 + rdx*8]
lea rdx, [rcx + 8]
xor r8d, r8d
jmp 0x14004836e
mov rdi, rcx
shl r10, 0x20
or r10, r9
mov qword [rdi], r10
add rdx, 8
add r8, 0xfffffffffffffff8
cmp rdx, rax
je 0x140048523
movzx r11d, byte [rdx]
cmp r11b, byte [rdx - 8]
jae 0x14004835d
movzx r9d, r11b
mov r10d, dword [rdx + 4]
xor ebx, ebx
nop word cs:[rax + rax]
mov rsi, qword [rdx + rbx - 8]
mov qword [rdx + rbx], rsi
cmp r8, rbx
je 0x140048350
lea rdi, [rbx - 8]
cmp r11b, byte [rdx + rbx - 0x10]
mov rbx, rdi
jb 0x140048390
add rdi, rdx
jmp 0x140048353
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x14016b3c4]
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, [0x14016c3e0]
mov rbx, qword [rcx + rax*8]
cmp edx, ebx
jne 0x140047b52
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x14004af59
shr rbx, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rbx
jb 0x14004af4a
lea rax, [0x140170448]
lea rdi, [rax + rcx*4]
test rbx, rbx
je 0x140047b5a
shl ebx, 2
xor r15d, r15d
nop word [rax + rax]
mov edx, dword [rdi + r15]
mov rcx, r13
call fcn.14004dc30
add r15, 4
cmp rbx, r15
jne 0x140048440
jmp 0x140047b5a
lea eax, [rbx - 0xac00]
cmp eax, 0x2ba3
ja 0x1400484a4
lea ecx, [rdi - 0x11a8]
cmp ecx, 0x1a
ja 0x1400484a4
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 0x1400484a4
lea eax, [rbx + rdi]
add eax, 0xffffee59
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
mov eax, edi
or eax, ebx
cmp eax, 0x10000
jae 0x140048682
mov ecx, ebx
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, [0x140168f84]
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, [0x1401696c4]
cmp dword [rdx + rax*8], ecx
jne 0x140048964
lea rcx, [0x1401696c4]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
mov rdx, rax
call fcn.14004ee30
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x14004853d
mov r9, qword [rsp + 0x50]
mov qword [rsp + 0x98], r9
jmp 0x140047e29
movzx r9d, word [rsp + 0x3c]
mov qword [rsp + 0x98], r9
jmp 0x140047e29
lea eax, [rbx - 0xac00]
cmp eax, 0x2ba3
ja 0x14004859a
lea ecx, [rdi - 0x11a8]
cmp ecx, 0x1a
ja 0x14004859a
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 0x14004859a
lea eax, [rbx + rdi]
add eax, 0xffffee59
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
mov eax, edi
or eax, ebx
cmp eax, 0x10000
jae 0x1400486d4
shl ebx, 0x10
or ebx, edi
imul eax, ebx, 0x9e3779b9
imul ecx, ebx, 0x31415926
xor eax, ecx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rdx, [0x140168f84]
movzx eax, word [rdx + rax*2]
add eax, ebx
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rcx, [0x1401696c4]
cmp dword [rcx + rax*8], ebx
jne 0x14004896d
lea rcx, [0x1401696c4]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
mov eax, edx
and eax, 0x1f
lea r9, [r8 + 2]
mov qword [rsp + 0x78], r9
movzx r9d, byte [r8 + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x140048726
lea rdx, [r8 + 3]
mov qword [rsp + 0x78], rdx
movzx edx, byte [r8 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp cl, 0xf0
jb 0x1400487cd
lea rcx, [r8 + 4]
mov qword [rsp + 0x78], rcx
movzx ecx, byte [r8 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
mov edx, ecx
cmp byte [rsp + 0xa0], 0
jne 0x14004823e
jmp 0x1400480e0
cmp ebx, 0x11346
jg 0x140048741
cmp ebx, 0x110a4
jle 0x1400487e5
cmp ebx, 0x110a5
je 0x14004891a
cmp ebx, 0x11131
je 0x140048940
cmp ebx, 0x11132
jne 0x140048964
mov eax, 0x1112f
cmp edi, 0x11127
je 0x14004820a
jmp 0x140048964
cmp ebx, 0x11346
jg 0x140048787
cmp ebx, 0x110a4
jle 0x140048860
cmp ebx, 0x110a5
je 0x140048bb1
cmp ebx, 0x11131
je 0x140048bdd
cmp ebx, 0x11132
jne 0x14004896d
mov eax, 0x1112f
cmp edi, 0x11127
je 0x14004809f
jmp 0x14004896d
shl eax, 6
or eax, r9d
mov edx, eax
cmp byte [rsp + 0xa0], 0
jne 0x14004823e
jmp 0x1400480e0
cmp ebx, 0x115b7
jle 0x140048813
cmp ebx, 0x115b8
je 0x14004892d
cmp ebx, 0x115b9
je 0x140048953
cmp ebx, 0x11935
jne 0x140048964
mov eax, 0x11938
cmp edi, 0x11930
je 0x14004820a
jmp 0x140048964
cmp ebx, 0x115b7
jle 0x14004888e
cmp ebx, 0x115b8
je 0x140048bc7
cmp ebx, 0x115b9
je 0x140048bf3
cmp ebx, 0x11935
jne 0x14004896d
mov eax, 0x11938
cmp edi, 0x11930
je 0x14004809f
jmp 0x14004896d
shl eax, 0xc
or edx, eax
cmp byte [rsp + 0xa0], 0
jne 0x14004823e
jmp 0x1400480e0
cmp ebx, 0x11099
je 0x1400488db
cmp ebx, 0x1109b
jne 0x140048964
mov eax, 0x1109c
cmp edi, 0x110ba
je 0x14004820a
jmp 0x140048964
cmp ebx, 0x11347
je 0x1400488ee
cmp ebx, 0x114b9
jne 0x140048964
cmp edi, 0x114b0
je 0x140048c1a
cmp edi, 0x114ba
je 0x140048c09
cmp edi, 0x114bd
jne 0x140048964
mov eax, 0x114be
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
cmp ebx, 0x11099
je 0x140048b6c
cmp ebx, 0x1109b
jne 0x14004896d
mov eax, 0x1109c
cmp edi, 0x110ba
je 0x14004809f
jmp 0x14004896d
cmp ebx, 0x11347
je 0x140048b82
cmp ebx, 0x114b9
jne 0x14004896d
cmp edi, 0x114b0
je 0x140048c3c
cmp edi, 0x114ba
je 0x140048c2b
cmp edi, 0x114bd
jne 0x14004896d
mov eax, 0x114be
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
mov eax, 0x1109a
cmp edi, 0x110ba
je 0x14004820a
jmp 0x140048964
mov eax, 0x1134b
cmp edi, 0x1133e
je 0x14004820a
mov eax, 0x110000
cmp edi, 0x11357
mov ecx, 0x1134c
cmove eax, ecx
je 0x14004820a
jmp 0x140048964
mov eax, 0x110ab
cmp edi, 0x110ba
je 0x14004820a
jmp 0x140048964
mov eax, 0x115ba
cmp edi, 0x115af
je 0x14004820a
jmp 0x140048964
mov eax, 0x1112e
cmp edi, 0x11127
je 0x14004820a
jmp 0x140048964
mov eax, 0x115bb
cmp edi, 0x115af
je 0x14004820a
test bpl, bpl
je 0x140048e5d
cmp dword [rsp + 0xa8], 0
je 0x1400489b1
mov rbx, qword [rsp + 0xc0]
cmp rbx, qword [rsp + 0xb0]
jne 0x140048996
lea rcx, [rsp + 0xb0]
call fcn.140114790
mov rax, qword [rsp + 0xb8]
mov dword [rax + rbx*4], edi
inc rbx
mov qword [rsp + 0xc0], rbx
jmp 0x140048b57
movzx ebx, word [rsp + 0xac]
cmp rbx, 3
ja 0x1400489d6
mov dword [rsp + rbx*4 + 0xb0], edi
lea eax, [rbx + 1]
mov word [rsp + 0xac], ax
jmp 0x140048b57
lea r15d, [rbx*8]
movzx eax, byte [0x140198310]
xor ecx, ecx
mov rdx, r15
call fcn.1400f21c0
test rax, rax
je 0x14004af8a
lea ecx, [rbx + rbx]
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 0
cmp bx, 4
jne 0x14004af97
mov ecx, dword [rsp + 0xb0]
mov dword [rsp + 0xb0], 0
mov dword [rax], ecx
mov ecx, dword [rsp + 0xb4]
mov dword [rsp + 0xb4], 0
mov dword [rax + 4], ecx
mov ecx, dword [rsp + 0xb8]
mov dword [rsp + 0xb8], 0
mov dword [rax + 8], ecx
mov ecx, dword [rsp + 0xbc]
mov dword [rsp + 0xbc], 0
mov dword [rax + 0xc], ecx
mov word [rsp + 0xac], 0
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], 4
cmp qword [rsp + 0xd0], 4
jne 0x140048ac2
lea rcx, [rsp + 0xd0]
call fcn.140114790
mov rax, qword [rsp + 0xd8]
mov ecx, 4
mov dword [rax + rcx*4], edi
lea rax, [rcx + 1]
mov qword [rsp + 0xe0], rax
lea rcx, [rsp + 0x134]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0xd0]
mov qword [rcx], rax
mov rax, qword [rsp + 0xd8]
mov qword [rcx + 8], rax
cmp dword [rsp + 0xa8], 0
je 0x140048b2d
cmp qword [rsp + 0xb0], 0
je 0x140048b2d
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov dword [rsp + 0xa8], 1
movdqu xmm0, xmmword [rsp + 0x130]
movups xmm1, xmmword [rsp + 0x13c]
movups xmmword [r13 + 0x80], xmm1
movdqu xmmword [r13 + 0x74], xmm0
mov byte [rsp + 0xcc], 1
mov byte [rsp + 0xcd], bpl
jmp 0x140047b5a
mov eax, 0x1109a
cmp edi, 0x110ba
je 0x14004809f
jmp 0x14004896d
mov eax, 0x1134b
cmp edi, 0x1133e
je 0x14004809f
mov eax, 0x110000
cmp edi, 0x11357
mov ecx, 0x1134c
cmove eax, ecx
je 0x14004809f
jmp 0x14004896d
mov eax, 0x110ab
cmp edi, 0x110ba
je 0x14004809f
jmp 0x14004896d
mov eax, 0x115ba
cmp edi, 0x115af
je 0x14004809f
jmp 0x14004896d
mov eax, 0x1112e
cmp edi, 0x11127
je 0x14004809f
jmp 0x14004896d
mov eax, 0x115bb
cmp edi, 0x115af
je 0x14004809f
jmp 0x14004896d
mov eax, 0x114bb
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
mov eax, 0x114bc
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
mov eax, 0x114bb
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
mov eax, 0x114bc
mov dword [rsp + 0xc8], eax
jmp 0x140047b5a
mov ebx, edi
cmp ebx, 0x80
jb 0x140048e1c
mov dword [rsp + 0x130], 0
mov eax, ebx
cmp ebx, 0x800
jae 0x140048ca0
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x130], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0x131], bl
mov ebx, 2
jmp 0x140048d5f
cmp ebx, 0x10000
jae 0x140048d21
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x130], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x131], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0x132], bl
mov ebx, 3
jmp 0x140048d5f
mov qword [rsp + 0x28], 2
mov qword [rsp + 0x30], 0
mov ebx, dword [rsp + 0xc8]
mov eax, 2
cmp ebx, 0x110000
je 0x1400479c3
mov dword [rsp + 0xc8], 0x110000
cmp ebx, 0x80
jb 0x140048e1c
jmp 0x140048c5e
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x130], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x131], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x132], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0x133], bl
mov ebx, 4
mov rcx, qword [rsp + 0x2d0]
mov rax, qword [rcx]
mov r15, qword [rcx + 0x10]
sub rax, r15
cmp rax, rbx
jb 0x140048e3e
mov rsi, qword [rsp + 0x2d0]
mov rcx, qword [rsi + 8]
add rcx, r15
lea rdx, [rsp + 0x130]
mov r8, rbx
call fcn.140119a10
add r15, rbx
mov qword [rsi + 0x10], r15
mov rax, qword [rsp + 0x28]
jmp 0x1400479c3
mov dword [rsp + 0xc8], edi
mov byte [rsp + 0xcc], 0
mov qword [rsp + 0x28], 1
mov qword [rsp + 0x30], 0
cmp ebx, 0x80
jb 0x140048e1c
jmp 0x140048c5e
test cx, cx
je 0x140048de7
mov word [rsp + 0xac], 0
mov ebx, dword [rsp + 0xc8]
mov dword [rsp + 0xc8], 0x110000
cmp ebx, 0x110000
je 0x140048e71
nop word cs:[rax + rax]
cmp ebx, 0x80
jae 0x140048c5e
mov rsi, qword [rsp + 0x2d0]
mov rdi, qword [rsi + 0x10]
cmp rdi, qword [rsi]
jne 0x1400479b0
mov rcx, rsi
call fcn.140040710
jmp 0x1400479b0
mov rsi, qword [rsp + 0x2d0]
mov rcx, rsi
mov rdx, r15
mov r8, rbx
call fcn.140123000
mov r15, qword [rsi + 0x10]
jmp 0x140048d7a
mov dword [rsp + 0xc8], edi
cmp ebx, 0x80
jb 0x140048e1c
jmp 0x140048c5e
cmp dword [rsp + 0x38], 0
je 0x140048ea9
cmp qword [rsp + 0x40], 0
mov rsi, qword [rsp + 0x2d0]
je 0x140048ea3
mov r8, qword [rsp + 0x48]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [rsp + 0xa8]
test eax, eax
jne 0x140048eb5
jmp 0x140048ed7
mov rsi, qword [rsp + 0x2d0]
test eax, eax
je 0x140048ed7
cmp qword [rsp + 0xb0], 0
je 0x140048ed7
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 8
mov qword [rsp + 0x108], 0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x160], rax
mov byte [rsp + 0x168], 1
mov word [rsp + 0x170], 1
and qword [rsp + 0x178], 0xffffffffffff00ff
mov bpl, 1
lea r13, [0x140163620]
movdqa xmm6, xmmword [str.________________]
movdqa xmm7, xmmword [0x140127700]
xorps xmm8, xmm8
movdqa xmm14, xmmword [0x140127720]
movdqa xmm15, xmmword [0x140127a50]
movdqa xmm10, xmmword [0x140127a70]
movdqa xmm11, xmmword [0x140127a80]
movdqa xmm12, xmmword [0x140127a90]
movdqa xmm13, xmmword [0x140127aa0]
movdqa xmm9, xmmword [0x140127ab0]
xor r14d, r14d
jmp 0x140049000
movabs rax, 0x8080808080808080
test qword [rbp], rax
je 0x14004a51f
mov byte [rsp + 0xe8], 1
mov r14b, 1
xor ebp, ebp
lea r13, [0x140163620]
nop word cs:[rax + rax]
lea rcx, [rsp + 0x130]
call fcn.14004b050
test rax, rax
je 0x14004a592
mov r15, rax
mov rdi, rdx
test bpl, 1
mov rcx, qword [rsp + 0x2d8]
jne 0x14004904f
mov rsi, qword [rcx + 0x10]
cmp rsi, qword [rcx]
jne 0x140049040
call fcn.140040710
mov rcx, qword [rsp + 0x2d8]
mov rax, qword [rcx + 8]
mov byte [rax + rsi], 0x2e
inc rsi
mov qword [rcx + 0x10], rsi
cmp rdi, 4
jb 0x140049062
cmp dword [r15], 0x2d2d6e78
je 0x14004922c
test r14b, 1
jne 0x1400491d3
test rdi, rdi
je 0x1400491d0
mov rax, r15
add rax, rdi
mov rcx, r15
jmp 0x140049089
cmp rcx, rax
je 0x1400491d0
movzx r9d, byte [rcx]
movzx edx, r9b
test dl, dl
js 0x1400490b0
inc rcx
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x140049080
jmp 0x140049140
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14004910a
movzx edx, byte [rcx + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
cmp r9b, 0xf0
jb 0x140049127
movzx r9d, byte [rcx + 3]
add rcx, 4
and r8d, 7
shl r8d, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x140049080
jmp 0x140049140
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jae 0x140049140
jmp 0x140049080
add rcx, 3
shl r8d, 0xc
or edx, r8d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x140049080
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x140049173
cmp r11d, edx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x140049080
shr r8, 1
add r8, r10
lea rsi, [r8 + r8*2]
mov r11d, dword [r13 + rsi*4]
mov ebx, dword [r13 + rsi*4 + 4]
cmp ebx, edx
jb 0x140049190
cmp r11d, edx
jbe 0x1400491a0
cmp ebx, edx
jae 0x140049160
mov r10, r8
inc r10
mov r8, r9
jmp 0x140049160
movzx edx, byte [r13 + rsi*4 + 8]
cmp edx, 0x11
ja 0x140049080
mov r8d, 0x20003
bt r8d, edx
jae 0x140049080
mov r14b, 1
jmp 0x1400491d3
xor r14d, r14d
mov rcx, r15
mov rdx, rdi
mov r8, qword [rsp + 0x190]
lea r9, [rsp + 0xe8]
call fcn.14004b2b0
mov r9, qword [rsp + 0x2d8]
mov rax, qword [r9]
mov rsi, qword [r9 + 0x10]
sub rax, rsi
cmp rax, rdi
jb 0x140049913
mov rcx, qword [r9 + 8]
add rcx, rsi
mov rdx, r15
mov r8, rdi
mov rbx, r9
call fcn.140119a10
add rdi, rsi
mov qword [rbx + 0x10], rdi
xor ebp, ebp
jmp 0x140049000
lea rbp, [r15 + 4]
add rdi, 0xfffffffffffffffc
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rdi
mov byte [rsp + 0x50], 1
movabs rax, 0x2d0000002d
mov qword [rsp + 0x48], rax
lea rdx, [r15 + 0xb]
and rdx, 0xfffffffffffffff8
sub rdx, rbp
mov r8, r15
add r8, 3
mov rbx, rdi
movabs r11, 0x8080808080808080
mov dword [rsp + 0x12c], r14d
jmp 0x1400492ae
mov qword [rsp + 0x40], rbx
cmp rbx, rdi
ja 0x1400493bf
mov rax, rbx
sub rax, rdx
and eax, 0xf
cmp rbx, rdx
mov r10d, 0
mov r9, rbx
cmova r9, rdx
cmovae r10, rax
mov rcx, rbx
sub rcx, r10
jb 0x14004afc8
lea rax, [rbp + rbx]
sub rax, rbp
sub rax, rcx
lea r10, [r8 + rbx]
nop word cs:[rax + rax]
test rax, rax
je 0x140049310
dec rax
cmp byte [r10], 0x2d
lea r10, [r10 - 1]
jne 0x1400492f0
add rax, rcx
mov rbx, rax
jmp 0x140049370
mov rax, rcx
cmp rcx, r9
jbe 0x140049346
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 r10, xmm1
test r10, r11
je 0x140049310
cmp rax, rbx
ja 0x14004afd7
mov rbx, rax
nop word cs:[rax + rax]
sub rbx, 1
jb 0x1400493bf
cmp byte [r8 + rax], 0x2d
mov rax, rbx
jne 0x140049360
cmp rbx, rdi
jae 0x1400492a0
mov al, 0x2d
cmp byte [rbp + rbx], al
jne 0x1400492a0
test rbx, rbx
je 0x14004a3a5
cmp rbx, rdi
jae 0x14004939e
cmp byte [rbp + rbx], 0xbf
jle 0x14004b02e
lea r8, [rbx + 1]
cmp r8, rdi
jae 0x14004a3af
cmp byte [rbp + r8], 0xbf
jle 0x14004b014
mov rsi, r8
jmp 0x14004a3b8
mov rsi, rbp
xor ebx, ebx
mov ebp, 1
test rdi, rdi
je 0x140049699
add rdi, rsi
xor r14d, r14d
mov r13d, 0x48
mov dword [rsp + 0x118], 0x80
xor edx, edx
mov eax, ebx
mov dword [rsp + 0x128], ebx
xor r8d, r8d
mov qword [rsp + 0x110], rdx
lea r9d, [r13 + 0x1a]
inc rsi
mov r10d, r13d
neg r10d
mov r11d, 1
mov r15d, 0x24
mov r12d, r8d
mov ecx, r8d
movzx eax, byte [rsi - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jb 0x140049450
nop word [rax + rax]
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x140049454
add al, 0x9f
mov edx, eax
cmp al, 0x19
jbe 0x140049454
jmp 0x140048fe1
add al, 0xea
mov edx, eax
test r11d, r11d
je 0x14004afbc
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, r8d
jb 0x140048fe1
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 0x1400494e0
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r11d
jo 0x140048fe1
cmp rsi, rdi
je 0x140048fe1
add r15d, 0x24
imul r11d, r8d
inc rsi
movzx eax, byte [rsi - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x140049430
jmp 0x140049450
mov r10d, dword [rsp + 0x128]
inc r10d
je 0x14004afeb
mov eax, ecx
sub eax, r12d
test r12d, r12d
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 0x14004955a
xor r13d, r13d
nop dword [rax + rax]
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 0x140049530
jmp 0x14004955d
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 + 0x128], r10d
div r10d
mov dword [rsp + 0x124], edx
add dword [rsp + 0x118], eax
jb 0x140048fe1
mov eax, dword [rsp + 0x118]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x140048fe1
mov r15, qword [rsp + 0x100]
mov r8d, dword [rsp + 0x124]
mov r12d, r8d
mov rdx, qword [rsp + 0x110]
test rdx, rdx
je 0x140049600
xor eax, eax
jmp 0x1400495e9
add rax, 0x10
cmp r14, rax
je 0x140049600
mov rcx, qword [r15 + rax]
cmp rcx, r12
jb 0x1400495e0
inc rcx
mov qword [r15 + rax], rcx
jmp 0x1400495e0
cmp rdx, qword [rsp + 0xf8]
jne 0x140049635
lea rcx, [rsp + 0xf8]
mov r15d, r9d
call fcn.1400519f0
mov r9d, r15d
mov r8d, dword [rsp + 0x124]
mov rdx, qword [rsp + 0x110]
mov r15, qword [rsp + 0x100]
movzx eax, r9w
add r13d, eax
mov rax, rdx
shl rax, 4
mov qword [r15 + rax], r12
mov ecx, dword [rsp + 0x118]
mov dword [r15 + rax + 8], ecx
inc rdx
mov qword [rsp + 0x108], rdx
inc r8d
add r14, 0x10
cmp rsi, rdi
jne 0x1400493f7
cmp rdx, 2
jb 0x1400496a1
cmp rdx, 0x15
jae 0x14004a574
shl rdx, 4
add rdx, r15
lea rax, [r15 + 0x10]
xor r11d, r11d
mov rcx, qword [rsp + 0x2d8]
jmp 0x14004a362
mov r15, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x2d8]
mov rsi, qword [rsp + 0x108]
lea r8, [rsi + rbx]
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x10]
mov qword [rsp + 0x118], rdx
sub rax, rdx
cmp r8, rax
ja 0x14004a325
add rbx, rbp
xor r14d, r14d
xor edi, edi
jmp 0x1400496f2
mov rax, qword [rcx + 8]
mov byte [rax + r13], r12b
inc r13
mov qword [rcx + 0x10], r13
inc rdi
lea r13, [0x140163620]
cmp r14, rsi
jae 0x140049760
mov rax, r14
shl rax, 4
cmp rdi, qword [r15 + rax]
jne 0x140049770
add rax, r15
inc r14
mov r12d, dword [rax + 8]
cmp r12d, 0x80
jb 0x140049793
mov dword [rsp + 0x28], 0
mov eax, r12d
cmp r12d, 0x800
jae 0x140049820
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x28], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rsp + 0x29], r12b
mov r12d, 2
jmp 0x1400498ab
cmp rbp, rbx
jne 0x140049779
jmp 0x140049932
cmp rbp, rbx
je 0x14004a590
movzx r8d, byte [rbp]
movzx r12d, r8b
test r12b, r12b
js 0x1400497c0
inc rbp
cmp r12d, 0x80
jae 0x14004971e
mov r13, qword [rcx + 0x10]
cmp r13, qword [rcx]
jne 0x1400496e0
call fcn.140040710
mov rcx, qword [rsp + 0x2d8]
jmp 0x1400496e0
mov eax, r12d
and eax, 0x1f
movzx edx, byte [rbp + 1]
and edx, 0x3f
cmp r12b, 0xdf
jbe 0x140049855
movzx r12d, byte [rbp + 2]
shl edx, 6
and r12d, 0x3f
or r12d, edx
cmp r8b, 0xf0
jb 0x1400498de
movzx edx, byte [rbp + 3]
add rbp, 4
and eax, 7
shl eax, 0x12
shl r12d, 6
and edx, 0x3f
or edx, r12d
or edx, eax
mov r12d, edx
cmp r12d, 0x80
jb 0x140049793
jmp 0x14004971e
cmp r12d, 0x10000
jae 0x140049873
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x28], al
mov eax, r12d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x29], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rsp + 0x2a], r12b
mov r12d, 3
jmp 0x1400498ab
add rbp, 2
shl eax, 6
or eax, edx
mov r12d, eax
cmp r12d, 0x80
jae 0x14004971e
jmp 0x140049793
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x28], al
mov eax, r12d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x29], al
mov eax, r12d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x2a], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rsp + 0x2b], r12b
mov r12d, 4
mov rax, qword [rcx]
mov r13, qword [rcx + 0x10]
sub rax, r13
cmp rax, r12
jb 0x1400498fa
mov rcx, qword [rcx + 8]
add rcx, r13
lea rdx, [rsp + 0x28]
mov r8, r12
call fcn.140119a10
mov rcx, qword [rsp + 0x2d8]
add r13, r12
jmp 0x1400496eb
add rbp, 3
shl eax, 0xc
or r12d, eax
cmp r12d, 0x80
jb 0x140049793
jmp 0x14004971e
mov rdx, r13
mov r8, r12
call fcn.140123000
mov rcx, qword [rsp + 0x2d8]
mov r13, qword [rcx + 0x10]
jmp 0x1400498ba
mov rcx, r9
mov rdx, rsi
mov r8, rdi
call fcn.140123000
mov r9, qword [rsp + 0x2d8]
mov rsi, qword [r9 + 0x10]
jmp 0x140049209
mov rbx, qword [rcx + 8]
mov rsi, qword [rcx + 0x10]
mov r15, qword [rsp + 0x118]
test r15, r15
mov r14d, dword [rsp + 0x12c]
je 0x140049966
cmp rsi, r15
jbe 0x140049960
cmp byte [rbx + r15], 0xbf
jg 0x140049966
jmp 0x14004aff7
jne 0x14004aff7
lea rax, [rbx + r15]
mov qword [rsp + 0x110], rax
test r14b, 1
jne 0x140049ae2
cmp rsi, r15
jne 0x140049989
xor r14d, r14d
jmp 0x140049ae2
lea rax, [rbx + rsi]
mov rcx, qword [rsp + 0x110]
jmp 0x1400499a5
cmp rcx, rax
je 0x140049981
movzx r9d, byte [rcx]
movzx edx, r9b
test dl, dl
js 0x1400499d0
inc rcx
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400499a0
jmp 0x140049a60
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x140049a2a
movzx edx, byte [rcx + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
cmp r9b, 0xf0
jb 0x140049a47
movzx r9d, byte [rcx + 3]
add rcx, 4
and r8d, 7
shl r8d, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400499a0
jmp 0x140049a60
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jae 0x140049a60
jmp 0x1400499a0
add rcx, 3
shl r8d, 0xc
or edx, r8d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400499a0
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x140049a93
cmp r11d, edx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x1400499a0
shr r8, 1
add r8, r10
lea rdi, [r8 + r8*2]
mov r11d, dword [r13 + rdi*4]
mov ebp, dword [r13 + rdi*4 + 4]
cmp ebp, edx
jb 0x140049ab0
cmp r11d, edx
jbe 0x140049ac0
cmp ebp, edx
jae 0x140049a80
mov r10, r8
inc r10
mov r8, r9
jmp 0x140049a80
movzx edx, byte [r13 + rdi*4 + 8]
cmp edx, 0x11
ja 0x1400499a0
mov r8d, 0x20003
bt r8d, edx
jae 0x1400499a0
mov r14b, 1
movq xmm0, qword [rsp + 0xe8]
movzx eax, byte [rsp + 0xf1]
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 + 0xf0]
or al, byte [rsp + 0xf2]
or al, cl
xor ebp, ebp
or al, byte [rsp + 0xf3]
jne 0x140049000
cmp rsi, r15
je 0x14004a4e6
add rbx, rsi
xor edx, edx
xor ecx, ecx
mov rax, qword [rsp + 0x110]
movzx r8d, byte [rax]
test r8b, r8b
js 0x140049b62
inc rax
jmp 0x140049c10
movzx r9d, r8b
and r9d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp r8b, 0xe0
jb 0x140049bc6
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x140049bdf
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 0x14004a192
add rax, 4
cmp r8d, 0x7f
jbe 0x140049c10
jmp 0x140049ca3
add rax, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
cmp r8d, 0x7f
jbe 0x140049c10
jmp 0x140049ca3
add rax, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0x7f
jbe 0x140049c10
jmp 0x140049ca3
inc rax
cmp r8d, 0x80
jae 0x140049ca1
cmp rax, rbx
je 0x14004a192
movzx r10d, byte [rax]
movzx r8d, r10b
test r8b, r8b
jns 0x140049c00
mov edx, r8d
and edx, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x140049c7d
movzx r9d, byte [rax + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x140049c8f
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 0x14004a192
add rax, 4
jmp 0x140049c03
add rax, 2
shl edx, 6
or edx, r11d
mov r8d, edx
jmp 0x140049c03
add rax, 3
shl edx, 0xc
or r9d, edx
mov r8d, r9d
jmp 0x140049c03
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, [0x1401679e8]
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, [0x14016811c]
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 0x140049d11
test dl, dl
jne case.0x140049f03.3907
lea r9d, [r8 - 0x340]
cmp r9d, 4
ja 0x140049d28
cmp r9d, 2
jne case.0x140049f03.3907
mov r9b, 2
cmp r8d, 0xd56
jg 0x140049d95
cmp r8d, 0x9de
jg 0x140049ddb
cmp r8d, 0x93b
jg 0x140049f06
lea r10d, [r8 - 0x30f]
cmp r10d, 0x36
ja 0x140049d6f
movabs r11, 0x48020000001005
bt r11, r10
jb 0x14004a184
lea r10d, [r8 - 0x374]
cmp r10d, 0x13
ja case.0x140049f03.3908
mov r11d, 0x80401
bt r11d, r10d
jb case.0x140049f03.3907
jmp case.0x140049f03.3908
cmp r8d, 0x11126
jg 0x140049e45
cmp r8d, 0x102d
jle 0x140049eba
cmp r8d, 0x1f70
jg 0x140049f5e
cmp r8d, 0x102e
je 0x14004a184
cmp r8d, 0x1b35
je 0x14004a184
jmp case.0x140049f03.3908
cmp r8d, 0xbd6
jg 0x140049e8e
cmp r8d, 0xbbd
jg 0x14004a001
lea r10d, [r8 - 0xb3e]
cmp r10d, 0x19
ja 0x140049e12
mov r11d, 0x3000001
bt r11d, r10d
jb 0x14004a184
lea r10d, [r8 - 0xa33]
cmp r10d, 0x2b
ja 0x140049e33
movabs r11, 0x80000000009
bt r11, r10
jb case.0x140049f03.3907
cmp r8d, 0x9df
jne case.0x140049f03.3908
jmp case.0x140049f03.3907
cmp r8d, 0x114af
jle 0x140049f32
lea r10d, [r8 - 0x114b0]
cmp r10d, 0xd
ja 0x140049e6f
mov r11d, 0x2401
bt r11d, r10d
jb 0x14004a184
cmp r8d, 0x115af
je 0x14004a184
cmp r8d, 0x11930
je 0x14004a184
jmp case.0x140049f03.3908
cmp r8d, 0xcc1
jg 0x140049fbb
cmp r8d, 0xbd7
je 0x14004a184
cmp r8d, 0xc56
je 0x14004a184
jmp case.0x140049f03.3908
lea r10d, [r8 - 0xdca]
cmp r10d, 0x15
ja 0x140049ed7
mov r11d, 0x200021
bt r11d, r10d
jb 0x14004a184
cmp r8d, 0xd57
je 0x14004a184
lea r10d, [r8 - 0xf43]
cmp r10d, 0x76
ja case.0x140049f03.3908
lea r11, [0x14018b91c]
movsxd r10, dword [r11 + r10*4]
add r10, r11
jmp r10
cmp r8d, 0x93c
je 0x14004a184
cmp r8d, 0x9be
je 0x14004a184
cmp r8d, 0x9d7
je 0x14004a184
jmp case.0x140049f03.3908
cmp r8d, 0x11127
je 0x14004a184
cmp r8d, 0x1133e
je 0x14004a184
cmp r8d, 0x11357
je 0x14004a184
jmp case.0x140049f03.3908
cmp r8d, 0xfa0f
jle 0x140049fd7
cmp r8d, 0x110ba
je 0x14004a184
lea r10d, [r8 - 0xfa10]
cmp r10d, 0x12
ja 0x140049f91
mov r11d, 0x50005
bt r11d, r10d
jb case.0x140049f03.3907
lea r10d, [r8 - 0xfb1d]
cmp r10d, 0x21
ja case.0x140049f03.3908
movabs r11, 0x200000005
bt r11, r10
jb case.0x140049f03.3907
jmp case.0x140049f03.3908
cmp r8d, 0xcc2
je 0x14004a184
cmp r8d, 0xd3e
je 0x14004a184
jmp case.0x140049f03.3908
cmp r8d, 0x2125
jg 0x14004a010
lea r10d, [r8 - 0x1f71]
cmp r10d, 0x8c
ja case.0x140049f03.3908
lea r11, [0x14018baf8]
movsxd r10, dword [r11 + r10*4]
add r10, r11
jmp r10
cmp r8d, 0xbbe
je 0x14004a184
jmp case.0x140049f03.3908
lea r10d, [r8 - 0x2329]
cmp r10d, 2
jb case.0x140049f03.3907
cmp r8d, 0x2126
je case.0x140049f03.3907
cmp r8d, 0x2adc
je case.0x140049f03.3907
movd xmm1, r8d
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x140127a10]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x140127a20]
pxor xmm3, xmm14
pcmpgtd xmm3, xmmword [0x140127a60]
pxor xmm2, xmm14
pcmpgtd xmm2, xmm10
packssdw xmm2, xmm3
packsswb xmm2, xmm2
pmovmskb r10d, xmm2
xor r10b, 0xff
jne case.0x140049f03.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x140127a00]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x140127a30]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x140127a40]
pxor xmm3, xmm14
movdqa xmm4, xmm15
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps r10d, xmm4
test r10b, r10b
jne case.0x140049f03.3907
lea r10d, [r8 - 0x1d1bb]
cmp r10d, 6
jb case.0x140049f03.3907
lea r10d, [r8 - 0x2f800]
cmp r10d, 0x21e
jb case.0x140049f03.3907
movd r10d, xmm1
cmp r10d, 0x2000
je case.0x140049f03.3907
cmp r10d, 0x212a
je case.0x140049f03.3907
cmp r10d, 0xfb40
je case.0x140049f03.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 0x14004a184
lea r11d, [r8 - 0x11a8]
cmp r11d, 0x1b
jb 0x14004a184
cmp r10d, 0x330
je 0x14004a184
add r8d, 0xffffcf67
cmp r8d, 2
movzx r9d, cl
mov ecx, 2
cmovb r9d, ecx
mov ecx, r9d
cmp rax, rbx
jne 0x140049b51
jmp 0x14004a195
mov r9d, ecx
test r9b, r9b
je 0x14004a4e6
movzx eax, r9b
cmp eax, 1
je case.0x140049f03.3907
mov r15d, r14d
lea rcx, [rsp + 0x70]
movups xmmword [rcx], xmm8
mov byte [rcx + 0x10], 0
lea rax, [rsp + 0xd2]
movups xmmword [rax], xmm8
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x38], 0
mov word [rsp + 0x3c], 0
mov byte [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x4c], 0
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov rdi, qword [rsp + 0x110]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x88], 0
mov word [rsp + 0x8c], 0
movzx eax, word [rsp + 0xe0]
mov word [rcx + 0x2e], ax
movdqu xmm0, xmmword [rsp + 0xd0]
movdqu xmmword [rcx + 0x1e], xmm0
mov dword [rsp + 0xa8], 0x110000
mov byte [rsp + 0xac], 0
nop word [rax + rax]
cmp rdi, rbx
je 0x14004a474
movzx edx, byte [rdi]
movzx ebp, dl
test bpl, bpl
js 0x14004a290
inc rdi
jmp 0x14004a300
mov eax, ebp
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x14004a2dd
movzx ecx, byte [rdi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x14004a2eb
movzx ebp, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x14004a474
add rdi, 4
jmp 0x14004a300
add rdi, 2
shl eax, 6
or eax, r8d
mov ebp, eax
jmp 0x14004a300
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
nop word cs:[rax + rax]
lea rcx, [rsp + 0x28]
call fcn.14004def0
xor r14d, r14d
cmp eax, 0x110000
je 0x14004a487
cmp eax, ebp
je 0x14004a270
jmp 0x14004a487
mov rdx, qword [rsp + 0x118]
call fcn.140123000
mov rcx, qword [rsp + 0x2d8]
jmp 0x1400496d0
mov r9, r15
mov qword [r9], rsi
mov dword [r9 + 8], r8d
mov rcx, qword [rsp + 0x2d8]
add rax, 0x10
add r11, 0xfffffffffffffff0
cmp rax, rdx
je 0x1400496a9
mov rsi, qword [rax]
cmp rsi, qword [rax - 0x10]
jae 0x14004a351
mov r8d, dword [rax + 8]
xor r10d, r10d
nop word cs:[rax + rax]
movdqu xmm0, xmmword [rax + r10 - 0x10]
movdqu xmmword [rax + r10], xmm0
cmp r11, r10
je 0x14004a33f
lea r9, [r10 - 0x10]
cmp rsi, qword [rax + r10 - 0x20]
mov r10, r9
jb 0x14004a380
add r9, rax
jmp 0x14004a342
mov rsi, rbp
xor ebx, ebx
jmp 0x1400493c9
mov rsi, rdi
jne 0x14004b014
sub rdi, rsi
add rsi, rbp
cmp rbx, 8
jae 0x140048fcd
cmp byte [rbp + rbx - 1], 0
js 0x140048fe1
mov rax, rbx
dec rax
je 0x1400493c9
cmp byte [rbp + rbx - 2], 0
js 0x140048fe1
mov rax, rbx
add rax, 0xfffffffffffffffe
je 0x1400493c9
cmp byte [rbp + rbx - 3], 0
js 0x140048fe1
mov rax, rbx
add rax, 0xfffffffffffffffd
je 0x1400493c9
cmp byte [rbp + rbx - 4], 0
js 0x140048fe1
mov rax, rbx
add rax, 0xfffffffffffffffc
je 0x1400493c9
cmp byte [rbp + rbx - 5], 0
js 0x140048fe1
mov rax, rbx
add rax, 0xfffffffffffffffb
je 0x1400493c9
cmp byte [rbp + rbx - 6], 0
js 0x140048fe1
mov rax, rbx
add rax, 0xfffffffffffffffa
je 0x1400493c9
cmp byte [rbp + rbx - 7], 0
js 0x140048fe1
mov rax, rbx
add rax, 0xfffffffffffffff9
je 0x1400493c9
jmp 0x140048fe1
lea rcx, [rsp + 0x28]
call fcn.14004def0
cmp eax, 0x110000
sete r14b
cmp dword [rsp + 0x38], 0
je 0x14004a4aa
cmp qword [rsp + 0x40], 0
je 0x14004a4aa
mov r8, qword [rsp + 0x48]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [rsp + 0x88], 0
je 0x14004a4d6
cmp qword [rsp + 0x90], 0
je 0x14004a4d6
mov r8, qword [rsp + 0x98]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test r14b, r14b
mov r14d, r15d
mov r15, qword [rsp + 0x118]
je case.0x140049f03.3907
sub rsi, r15
mov rcx, qword [rsp + 0x110]
mov rdx, rsi
mov r8, qword [rsp + 0x178]
lea r9, [rsp + 0xe8]
call fcn.14004b2b0
xor ebp, ebp
jmp 0x140049000
mov byte [rsp + 0xed], 1
xor ebp, ebp
jmp 0x140049000
lea rax, [rbp + 7]
and rax, 0xfffffffffffffff8
sub rax, rbp
mov ecx, 8
cmove rax, rcx
lea rcx, [rbx - 8]
cmp rax, rcx
jae 0x14004a55a
movabs rdx, 0x8080808080808080
test qword [rbp + rax], rdx
jne 0x140048fe1
add rax, 8
cmp rax, rcx
jb 0x14004a53c
movabs rax, 0x8080808080808080
test qword [rbp + rcx], rax
jne 0x140048fe1
jmp 0x1400493c9
mov rcx, r15
call fcn.14004ed40
jmp 0x1400496a1
jmp 0x14004a590
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov r8, qword [rsp + 0x188]
test r8, r8
je 0x14004a5d1
cmp rdx, r8
jbe 0x14004a5cf
cmp byte [rcx + r8], 0xbf
jg 0x14004a5d1
lea rax, [0x140140f00]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.14011af60
jne 0x14004a5bb
sub rdx, r8
add rcx, r8
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], rdx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x60], 1
mov word [rsp + 0x68], 1
lea rsi, [rsp + 0x28]
test r14b, 1
jne 0x14004a642
nop word cs:[rax + rax]
mov rcx, rsi
call fcn.14004b050
test rax, rax
jne 0x14004a630
jmp 0x14004aded
mov ebx, 0x260d9
mov ebp, 0x62f8
mov rcx, rsi
call fcn.14004b050
test rax, rax
je 0x14004aded
test rdx, rdx
je 0x14004a64c
movzx r9d, byte [rax]
movzx ecx, r9b
test cl, cl
js 0x14004a680
lea r9, [rax + 1]
jmp 0x14004a6f0
mov r8d, ecx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x14004a6cc
movzx ecx, byte [rax + 2]
shl r10d, 6
and ecx, 0x3f
or ecx, r10d
cmp r9b, 0xf0
jb 0x14004a6dc
lea r9, [rax + 4]
movzx r10d, byte [rax + 3]
and r8d, 7
shl r8d, 0x12
shl ecx, 6
and r10d, 0x3f
or r10d, ecx
or r10d, r8d
mov ecx, r10d
jmp 0x14004a6f0
lea r9, [rax + 2]
shl r8d, 6
or r8d, r10d
mov ecx, r8d
jmp 0x14004a6f0
lea r9, [rax + 3]
shl r8d, 0xc
or ecx, r8d
nop word [rax + rax]
add rdx, rax
mov r8d, 0x5a6
xor r11d, r11d
mov r10d, 0x5a6
jmp 0x14004a71f
cmp r14d, ecx
cmova r10, r8
mov r8, r10
sub r8, r11
jbe 0x14004a770
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 0x14004a73d
cmp r14d, ecx
jbe 0x14004a750
cmp r12d, ecx
jae 0x14004a710
mov r11, r8
inc r11
mov r8, r10
jmp 0x14004a710
movzx ecx, byte [r13 + r15*4 + 8]
test ecx, ecx
je 0x14004a990
cmp ecx, 0x11
je 0x14004a990
cmp ecx, 9
jne 0x14004ade5
cmp r9, rdx
je 0x14004a89c
movzx r10d, byte [r9]
movzx ecx, r10b
test cl, cl
js 0x14004a790
inc r9
jmp 0x14004a800
mov r8d, ecx
and r8d, 0x1f
movzx r11d, byte [r9 + 1]
and r11d, 0x3f
cmp cl, 0xdf
jbe 0x14004a7dd
movzx ecx, byte [r9 + 2]
shl r11d, 6
and ecx, 0x3f
or ecx, r11d
cmp r10b, 0xf0
jb 0x14004a7ed
movzx r10d, byte [r9 + 3]
add r9, 4
and r8d, 7
shl r8d, 0x12
shl ecx, 6
and r10d, 0x3f
or r10d, ecx
or r10d, r8d
mov ecx, r10d
jmp 0x14004a800
add r9, 2
shl r8d, 6
or r8d, r11d
mov ecx, r8d
jmp 0x14004a800
add r9, 3
shl r8d, 0xc
or ecx, r8d
nop dword [rax + rax]
mov r8d, 0x5a6
xor r11d, r11d
mov r10d, 0x5a6
jmp 0x14004a833
cmp r14d, ecx
cmova r10, r8
mov r8, r10
sub r8, r11
jbe 0x14004a770
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 0x14004a851
cmp r14d, ecx
jbe 0x14004a870
cmp r12d, ecx
jae 0x14004a820
mov r11, r8
inc r11
mov r8, r10
jmp 0x14004a820
movzx ecx, byte [r13 + r15*4 + 8]
cmp ecx, 0xe
ja 0x14004ade5
bt ebp, ecx
jb 0x14004a770
jmp 0x14004ade5
cmp byte [r13 + r14*4 + 8], 0xd
jne 0x14004ac40
movzx ecx, byte [rdx - 1]
test cl, cl
js 0x14004a8c0
dec rdx
movzx ecx, cl
cmp rdx, rax
jne 0x14004a923
jmp 0x14004aad1
movzx r8d, byte [rdx - 2]
cmp r8b, 0xc0
jge 0x14004a8f0
movzx r9d, byte [rdx - 3]
cmp r9b, 0xc0
jge 0x14004a8fa
movzx r10d, byte [rdx - 4]
add rdx, 0xfffffffffffffffc
and r10d, 7
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
jmp 0x14004a902
add rdx, 0xfffffffffffffffe
and r8d, 0x1f
jmp 0x14004a90d
add rdx, 0xfffffffffffffffd
and r9d, 0xf
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
shl r8d, 6
and cl, 0x3f
movzx ecx, cl
or ecx, r8d
cmp rdx, rax
je 0x14004aad1
cmp ecx, 0x110000
je 0x14004a64c
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x14004a953
cmp r11d, ecx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x14004ac40
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 0x14004a975
cmp r11d, ecx
jbe 0x14004a890
cmp r15d, ecx
jae 0x14004a940
mov r10, r8
inc r10
mov r8, r9
jmp 0x14004a940
cmp r9, rdx
je 0x14004ab35
xor r8d, r8d
xor ecx, ecx
movzx r14d, byte [r9]
movzx r10d, r14b
test r10b, r10b
js 0x14004a9b0
inc r9
jmp 0x14004aa20
mov r11d, r10d
and r11d, 0x1f
movzx r15d, byte [r9 + 1]
and r15d, 0x3f
cmp r10b, 0xdf
jbe 0x14004a9ff
movzx r10d, byte [r9 + 2]
shl r15d, 6
and r10d, 0x3f
or r10d, r15d
cmp r14b, 0xf0
jb 0x14004aa0f
movzx edi, byte [r9 + 3]
add r9, 4
and r11d, 7
shl r11d, 0x12
shl r10d, 6
and edi, 0x3f
or edi, r10d
or edi, r11d
mov r10d, edi
jmp 0x14004aa20
add r9, 2
shl r11d, 6
or r11d, r15d
mov r10d, r11d
jmp 0x14004aa20
add r9, 3
shl r11d, 0xc
or r10d, r11d
nop word [rax + rax]
mov r11d, 0x5a6
xor r15d, r15d
mov r14d, 0x5a6
jmp 0x14004aa5a
lea r13, [0x140163620]
cmp r12d, r10d
cmova r14, r11
mov r11, r14
sub r11, r15
jbe 0x14004ade5
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 0x14004aa7a
cmp r12d, r10d
jbe 0x14004aa8a
cmp edi, r10d
jae 0x14004aa40
mov r15, r11
inc r15
mov r11, r14
jmp 0x14004aa40
lea r11, [0x140163620]
movzx r10d, byte [r11 + r13*4 + 8]
cmp r10d, 0x11
ja 0x14004ade5
mov r13, r11
bt ebx, r10d
jae 0x14004aab8
cmp r9, rdx
jne 0x14004a99e
jmp 0x14004ab3a
cmp r10d, 1
je 0x14004aacc
cmp r10d, 5
jne 0x14004ade5
mov cl, 1
jmp 0x14004aaaa
mov r8b, 1
jmp 0x14004aaaa
cmp ecx, 0x110000
je 0x14004a64c
mov eax, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x14004ab03
cmp r9d, ecx
cmova rdx, rax
mov rax, rdx
sub rax, r8
jbe 0x14004ac40
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 0x14004ab25
cmp r9d, ecx
jbe 0x14004ac32
cmp r11d, ecx
jae 0x14004aaf0
mov r8, rax
inc r8
mov rax, rdx
jmp 0x14004aaf0
xor ecx, ecx
xor r8d, r8d
movzx r9d, byte [rdx - 1]
test r9b, r9b
js 0x14004ab55
dec rdx
movzx r9d, r9b
cmp rdx, rax
jne 0x14004abb7
jmp 0x14004ad02
movzx r10d, byte [rdx - 2]
cmp r10b, 0xc0
jge 0x14004ab82
movzx r11d, byte [rdx - 3]
cmp r11b, 0xc0
jge 0x14004ab8c
movzx edi, byte [rdx - 4]
add rdx, 0xfffffffffffffffc
and edi, 7
shl edi, 6
and r11d, 0x3f
or r11d, edi
jmp 0x14004ab94
add rdx, 0xfffffffffffffffe
and r10d, 0x1f
jmp 0x14004ab9f
add rdx, 0xfffffffffffffffd
and r11d, 0xf
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
shl r10d, 6
and r9b, 0x3f
movzx r9d, r9b
or r9d, r10d
cmp rdx, rax
je 0x14004ad02
cmp r9d, 0x110000
je 0x14004ade5
mov r10d, 0x5a6
xor r14d, r14d
mov r11d, 0x5a6
jmp 0x14004abf3
cmp r15d, r9d
cmova r11, r10
mov r10, r11
sub r10, r14
jbe 0x14004ad69
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 0x14004ac11
cmp r15d, r9d
jbe 0x14004ac21
cmp edi, r9d
jae 0x14004abe0
mov r14, r10
inc r14
mov r10, r11
jmp 0x14004abe0
cmp byte [r13 + r12*4 + 8], 0xd
je 0x14004ab3a
jmp 0x14004ad69
cmp byte [r13 + r10*4 + 8], 0xd
je 0x14004a64c
nop
mov eax, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x14004ac63
cmp r9d, ecx
cmova rdx, rax
mov rax, rdx
sub rax, r8
jbe 0x14004a64c
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 0x14004ac81
cmp r9d, ecx
jbe 0x14004ac91
cmp r11d, ecx
jae 0x14004ac50
mov r8, rax
inc r8
mov rax, rdx
jmp 0x14004ac50
cmp byte [r13 + r10*4 + 8], 9
je 0x14004a64c
mov eax, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x14004acc3
cmp r9d, ecx
cmova rdx, rax
mov rax, rdx
sub rax, r8
jbe 0x14004ade5
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 0x14004ace1
cmp r9d, ecx
jbe 0x14004acf1
cmp r11d, ecx
jae 0x14004acb0
mov r8, rax
inc r8
mov rax, rdx
jmp 0x14004acb0
cmp byte [r13 + r10*4 + 8], 5
je 0x14004a64c
jmp 0x14004ade5
cmp r9d, 0x110000
je 0x14004ade5
mov eax, 0x5a6
xor r10d, r10d
mov edx, 0x5a6
jmp 0x14004ad2f
cmp r11d, r9d
cmova rdx, rax
mov rax, rdx
sub rax, r10
jbe 0x14004ad69
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 0x14004ad4d
cmp r11d, r9d
jbe 0x14004ad5d
cmp r15d, r9d
jae 0x14004ad20
mov r10, rax
inc r10
mov rax, rdx
jmp 0x14004ad20
cmp byte [r13 + r14*4 + 8], 0xd
je 0x14004ade5
mov eax, 0x5a6
xor r10d, r10d
mov edx, 0x5a6
jmp 0x14004ad8f
cmp r11d, r9d
cmova rdx, rax
mov rax, rdx
sub rax, r10
jbe 0x14004ade5
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 0x14004adad
cmp r11d, r9d
jbe 0x14004adbd
cmp edi, r9d
jae 0x14004ad80
mov r10, rax
inc r10
mov rax, rdx
jmp 0x14004ad80
movzx eax, byte [r13 + r14*4 + 8]
cmp eax, 0x11
ja 0x14004ade5
mov edx, 0x20023
bt edx, eax
jae 0x14004ade5
test r8b, 1
je 0x14004a64c
and cl, 1
je 0x14004a64c
mov byte [rsp + 0xea], 1
mov eax, dword [rsp + 0xf0]
mov rcx, qword [rsp + 0x180]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0xe8]
mov qword [rcx], rax
cmp qword [rsp + 0xf8], 0
je 0x14004ae2c
mov r8, qword [rsp + 0x100]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movaps xmm6, xmmword [rsp + 0x1c0]
movaps xmm7, xmmword [rsp + 0x1d0]
movaps xmm8, xmmword [rsp + 0x1e0]
movaps xmm9, xmmword [rsp + 0x1f0]
movaps xmm10, xmmword [rsp + 0x200]
movaps xmm11, xmmword [rsp + 0x210]
movaps xmm12, xmmword [rsp + 0x220]
movaps xmm13, xmmword [rsp + 0x230]
movaps xmm14, xmmword [rsp + 0x240]
movaps xmm15, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
mov rcx, rax
call fcn.14011a930
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
call fcn.14011a930
lea r8, [0x140140eb8]
mov edx, 0x1f73
call fcn.14011a930
lea r8, [0x140140ea0]
mov edx, 0x75a
mov rcx, 0xffffffffffffffff
call fcn.14011a930
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov rcx, rdx
mov edx, 4
call fcn.14011a9a0
lea r8, [0x140140ed0]
mov edx, 0x1f73
call fcn.14011a930
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
call fcn.14011a930
lea rax, [0x140140e88]
mov qword [rsp + 0x20], rax
lea rcx, [0x14014c7cc]
mov edx, 0x321c
call fcn.14011af60
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
call fcn.14011a8c0
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.14011a9a0
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov rcx, rbx
call fcn.14011a9a0
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov edx, 0xd4e
call fcn.14011a8c0
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov rcx, rbx
call fcn.14011a9a0
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov edx, 0x1667
call fcn.14011a8c0
mov ecx, 4
mov rdx, r15
call fcn.14011a520
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rbx
call fcn.14011a9a0
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
call fcn.14011a9a0
lea rcx, [0x14014fa98]
call fcn.14011abb0
lea r8, str.librarycore_src_slicememchr.rs
mov rdx, rbx
call fcn.14011a8c0
lea r8, str.librarycore_src_slicememchr.rs
mov rcx, rax
mov rdx, rbx
call fcn.14011a9a0
ud2
lea rcx, [0x14014fa50]
call fcn.14011abb0
lea rax, [0x140140f18]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rsi
mov r8, r15
mov r9, rsi
call fcn.14011af60
lea rax, [0x14014fa80]
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, rdi
mov r9, rdi
call fcn.14011af60
lea rax, [0x14014fa68]
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, rdi
xor r8d, r8d
mov r9, rbx
call fcn.14011af60
int3