Function at 0x14024eb00
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movapd xmmword [rsp + 0xa0], xmm6
mov byte [rsp + 0x2f], r8b
mov qword [rsp + 0x48], rcx
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x30], xmm0
lea r8, str.points
lea rsi, [rsp + 0x88]
mov rcx, rsi
mov qword [rsp + 0x98], rdx
call fcn.1400ef910
cmp byte [rsp + 0x96], 0
je 0x14024e001
mov rsi, qword [rsp + 0x88]
lea rcx, [rsp + 0x50]
mov rdx, rsi
call fcn.1402ab3f0
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
je 0x14024e174
lea rbx, [rsp + 0x50]
lea r13, [0x1403d3d3b]
mov r12d, 0x7fffffff
lea rdi, [rsp + 0x30]
jmp 0x14024e04d
mov rcx, rbx
call fcn.1402a8e80
mov rax, qword [rsp + 0x50]
movzx ecx, byte [rax]
test cl, cl
je 0x14024e174
mov rcx, rbx
call fcn.1403208c0
movapd xmm6, xmm0
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0x2c
jne 0x14024e090
add rax, 1
mov qword [rsp + 0x50], rax
cmp byte [rsp + 0x80], 0
je 0x14024e090
mov qword [rsp + 0x58], rax
movzx eax, byte [rax]
cmp al, 0x21
jb 0x14024e086
cmp al, 0x2f
jne 0x14024e090
mov rcx, rbx
call fcn.1402a8e80
nop
mov rcx, rbx
call fcn.1403208c0
cvttsd2si r15d, xmm6
cvttsd2si r14d, xmm0
movsxd rcx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x30]
cmp ecx, eax
jge 0x14024e0d0
lea eax, [rcx + 1]
mov dword [rsp + 0x38], eax
mov dword [rsi + rcx*8], r15d
mov dword [rsi + rcx*8 + 4], r14d
jmp 0x14024e12d
cmp eax, 0x7fffffff
jne 0x14024e0e3
mov rcx, r13
call fcn.140255450
mov eax, dword [rsp + 0x3c]
mov edx, eax
sar edx, 1
add edx, eax
cmp eax, 0x55555554
cmovge edx, r12d
add eax, 1
cmp eax, edx
cmovg edx, eax
mov rcx, rdi
call fcn.1401c8b50
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [rsp + 0x38]
lea ebp, [rdx + 1]
mov dword [rsp + 0x38], ebp
mov dword [rcx + rdx*8], r15d
mov dword [rcx + rdx*8 + 4], r14d
test al, al
je 0x14024e12d
test rsi, rsi
je 0x14024e12d
mov rcx, rsi
call fcn.140309590
mov rax, qword [rsp + 0x50]
movzx ecx, byte [rax]
cmp cl, 0x2c
jne 0x14024e045
add rax, 1
mov qword [rsp + 0x50], rax
cmp byte [rsp + 0x80], 0
je 0x14024e042
mov qword [rsp + 0x58], rax
movzx ecx, byte [rax]
cmp cl, 0x21
jb 0x14024e035
cmp cl, 0x2f
jne 0x14024e045
jmp 0x14024e035
cmp byte [rsp + 0x7e], 0
je 0x14024e185
lea rcx, [rsp + 0x70]
call fcn.14030abf0
cmp dword [rsp + 0x38], 0
je 0x14024e249
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x98]
call fcn.14024c6e0
mov rax, qword [rsp + 0x30]
cvtdq2pd xmm0, qword [rax]
mov rax, qword [rsp + 0x48]
lea rsi, [rax + 0xb8]
movapd xmmword [rsp + 0x50], xmm0
mov rax, qword [rax + 0xb8]
lea rdx, [rsp + 0x50]
mov rcx, rsi
xor r8d, r8d
call qword [rax + 0x118]
cmp dword [rsp + 0x38], 2
jl 0x14024e220
mov ebx, 1
lea rdi, [rsp + 0x50]
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x30]
cvtdq2pd xmm0, qword [rax + rbx*8]
movapd xmmword [rsp + 0x50], xmm0
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
call qword [rax + 0x120]
add rbx, 1
movsxd rax, dword [rsp + 0x38]
cmp rbx, rax
jl 0x14024e1f0
cmp byte [rsp + 0x2f], 0
je 0x14024e233
mov rcx, qword [rsp + 0x48]
call fcn.14024cf80
jmp 0x14024e249
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x158]
mov rcx, qword [rsp + 0x48]
call fcn.14024d080
cmp byte [rsp + 0x96], 0
je 0x14024e260
lea rcx, [rsp + 0x88]
call fcn.14030abf0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14024e26f
call fcn.140309590
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
movapd xmmword [rsp + 0x130], xmm11
movapd xmmword [rsp + 0x120], xmm10
movapd xmmword [rsp + 0x110], xmm9
movapd xmmword [rsp + 0x100], xmm8
movapd xmmword [rsp + 0xf0], xmm7
movapd xmmword [rsp + 0xe0], xmm6
cmp r8d, 0x64
jle 0x14024eb9b
movaps xmm6, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm11, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebp, r9d
mov edi, r8d
mov rbx, rdx
mov r12, rcx
cmp dword [rdx], 1
jne 0x14024ec63
lea rax, [rbx + 8]
mov cl, byte [rbx + 0x16]
test cl, cl
je 0x14024ee07
cmp dword [rbx + 0x10], 4
jne 0x14024ebd4
mov rcx, qword [rax]
cmp dword [rcx], 0x73666564
je 0x14024ee1d
cmp dword [rbx + 0x10], 0xe
jne 0x14024ec01
mov rcx, qword [rax]
movabs rdx, 0x72477261656e696c
xor rdx, qword [rcx]
movabs rsi, 0x746e656964617247
xor rsi, qword [rcx + 6]
or rsi, rdx
je 0x14024f02b
cmp dword [rbx + 0x10], 0xe
jne 0x14024ec2e
mov rcx, qword [rax]
movabs rdx, 0x72476c6169646172
xor rdx, qword [rcx]
movabs rsi, 0x746e656964617247
xor rsi, qword [rcx + 6]
or rsi, rdx
je 0x14024f036
cmp dword [rbx + 0x10], 4
jne 0x14024ec43
mov rcx, qword [rax]
cmp dword [rcx], 0x74636572
je 0x14024ef7d
cmp dword [rbx + 0x10], 7
jne 0x14024ec63
mov rax, qword [rax]
mov ecx, 0x696c6c65
xor ecx, dword [rax]
mov edx, 0x65737069
xor edx, dword [rax + 3]
or edx, ecx
je 0x14024f0ec
lea rdx, str.circle
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024ed31
mov rcx, r12
mov rdx, rbx
call fcn.14024c6e0
lea rdx, [0x1403d3c33]
xorps xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm6, xmm0
lea rdx, [0x1403d3c36]
xorps xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm7, xmm0
lea rdx, [0x1403d3c39]
xorps xmm2, xmm2
mov rcx, r12
call fcn.140251160
lea rcx, [r12 + 0xb8]
movsd qword [rsp + 0x20], xmm0
movapd xmm1, xmm6
movapd xmm2, xmm7
movapd xmm3, xmm0
call fcn.14022cae0
mov rcx, r12
movaps xmm6, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm11, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14024d080
lea rdx, str.line
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024eede
mov rcx, r12
mov rdx, rbx
call fcn.14024c6e0
lea rdx, [0x1403d3c41]
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm6, xmm0
lea rdx, [0x1403d3c44]
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
movsd qword [rsp + 0x40], xmm6
movsd qword [rsp + 0x48], xmm0
lea rdx, [0x1403d3c47]
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm6, xmm0
lea rdx, [0x1403d3c4a]
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
movsd qword [rsp + 0x80], xmm6
movsd qword [rsp + 0x88], xmm0
lea rdi, [r12 + 0xb8]
mov rax, qword [r12 + 0xb8]
lea rdx, [rsp + 0x40]
mov rcx, rdi
xor r8d, r8d
call qword [rax + 0x118]
mov rax, qword [r12 + 0xb8]
lea rdx, [rsp + 0x80]
mov rcx, rdi
xor r8d, r8d
call qword [rax + 0x120]
jmp 0x14024f528
cmp byte [rax + 0xf], 4
jne 0x14024ef03
cmp dword [rax], 0x73666564
jne 0x14024ef03
movsxd rdi, dword [rbx + 0x28]
test rdi, rdi
je 0x14024eb53
mov rbx, qword [rbx + 0x20]
movabs r13, 0x746e656964617247
movabs r14, 0x72477261656e696c
movabs r15, 0x72476c6169646172
shl rdi, 3
xor esi, esi
jmp 0x14024ee6d
xor r8d, r8d
mov rcx, r12
call fcn.14024d160
nop
add rsi, 8
cmp rdi, rsi
je 0x14024eb53
mov rdx, qword [rbx + rsi]
cmp dword [rdx], 1
jne 0x14024ee60
lea rax, [rdx + 8]
cmp byte [rdx + 0x16], 0
je 0x14024eea6
cmp dword [rdx + 0x10], 0xe
jne 0x14024ee9b
mov rcx, qword [rax]
mov rbp, qword [rcx]
xor rbp, r14
mov rcx, qword [rcx + 6]
xor rcx, r13
or rcx, rbp
je 0x14024ee54
cmp dword [rdx + 0x10], 0xe
jne 0x14024ee60
mov rax, qword [rax]
jmp 0x14024eec4
cmp byte [rax + 0xf], 0xe
jne 0x14024eebe
mov rcx, qword [rax]
xor rcx, r14
mov rbp, qword [rax + 6]
xor rbp, r13
or rbp, rcx
je 0x14024ee54
cmp byte [rax + 0xf], 0xe
jne 0x14024ee60
mov rcx, qword [rax]
xor rcx, r15
mov rax, qword [rax + 6]
xor rax, r13
or rax, rcx
jne 0x14024ee60
mov r8b, 1
jmp 0x14024ee57
lea rdx, str.polygon
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024efbf
mov rcx, r12
mov rdx, rbx
xor r8d, r8d
jmp 0x14024efdf
cmp byte [rax + 0xf], 0xe
jne 0x14024ef35
movabs rdx, 0x72477261656e696c
xor rdx, qword [rax]
movabs rsi, 0x746e656964617247
xor rsi, qword [rax + 6]
or rsi, rdx
je 0x14024f02b
test cl, cl
jne 0x14024ec01
cmp byte [rax + 0xf], 0xe
jne 0x14024ef67
movabs rdx, 0x72476c6169646172
xor rdx, qword [rax]
movabs rsi, 0x746e656964617247
xor rsi, qword [rax + 6]
or rsi, rdx
je 0x14024f036
test cl, cl
jne 0x14024ec2e
cmp byte [rax + 0xf], 4
jne 0x14024f4f5
cmp dword [rax], 0x74636572
jne 0x14024f4ed
mov rcx, r12
mov rdx, rbx
call fcn.14024c6e0
mov rdx, qword [r12 + 0x50]
test rdx, rdx
je 0x14024f1b5
lea r8, [0x1403d3cad]
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.1400ef910
cmp byte [rsp + 0x4e], 0
je 0x14024f1c4
mov rdi, qword [rsp + 0x40]
jmp 0x14024f1c4
lea rdx, str.polyline
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024f08b
mov rcx, r12
mov rdx, rbx
mov r8b, 1
movaps xmm6, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm11, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14024dfa0
mov rcx, r12
mov rdx, rbx
xor r8d, r8d
jmp 0x14024f03f
mov rcx, r12
mov rdx, rbx
mov r8b, 1
movaps xmm6, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm11, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14024d160
lea rdx, [0x1403d3d04]
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024f16f
mov rcx, r12
mov rdx, rbx
call fcn.14024c6e0
lea rdi, [r12 + 0xb8]
mov rdx, qword [r12 + 0x50]
test rdx, rdx
je 0x14024f504
lea r8, [0x1403d3d09]
lea rbx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400ef910
cmp byte [rsp + 0x4e], 0
je 0x14024f513
mov rbx, qword [rsp + 0x40]
jmp 0x14024f513
mov rcx, r12
mov rdx, rbx
call fcn.14024c6e0
lea rdi, [r12 + 0xb8]
lea rdx, [0x1403d3c33]
xorps xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm8, xmm0
lea rdx, [0x1403d3c36]
xorps xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm7, xmm0
lea rdx, [0x1403d3cd9]
xorps xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm6, xmm0
lea rdx, [0x1403d3cdc]
xorps xmm2, xmm2
mov rcx, r12
call fcn.140251160
movsd qword [rsp + 0x20], xmm0
mov rcx, rdi
movapd xmm1, xmm8
movapd xmm2, xmm7
movapd xmm3, xmm6
jmp 0x14024ecdd
lea rdx, str.image
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024f45f
mov rcx, r12
mov rdx, rbx
call fcn.14024c6e0
mov rdx, qword [r12 + 0x50]
test rdx, rdx
je 0x14024f5bd
lea r8, str.xlink:href
lea rcx, [rsp + 0x40]
call fcn.1400ef910
jmp 0x14024f5c7
lea rdi, [rsp + 0x40]
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
mov rcx, rdi
call fcn.140320810
movapd xmm8, xmm0
cmp byte [rsp + 0x4e], 0
je 0x14024f1e2
lea rcx, [rsp + 0x40]
call fcn.14030abf0
mov rdx, qword [r12 + 0x50]
test rdx, rdx
je 0x14024f20e
lea r8, [0x1403d3caf]
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.1400ef910
cmp byte [rsp + 0x4e], 0
je 0x14024f21d
mov rdi, qword [rsp + 0x40]
jmp 0x14024f21d
lea rdi, [rsp + 0x40]
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
mov rcx, rdi
call fcn.140320810
movapd xmm9, xmm0
cmp byte [rsp + 0x4e], 0
je 0x14024f23b
lea rcx, [rsp + 0x40]
call fcn.14030abf0
mov rdx, qword [r12 + 0x50]
test rdx, rdx
je 0x14024f267
lea r8, str.width
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.1400ef910
cmp byte [rsp + 0x4e], 0
je 0x14024f276
mov rdi, qword [rsp + 0x40]
jmp 0x14024f276
lea rdi, [rsp + 0x40]
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
mov rcx, rdi
call fcn.140320810
movapd xmm10, xmm0
cmp byte [rsp + 0x4e], 0
je 0x14024f294
lea rcx, [rsp + 0x40]
call fcn.14030abf0
mov rdx, qword [r12 + 0x50]
test rdx, rdx
je 0x14024f2c0
lea r8, str.height
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.1400ef910
cmp byte [rsp + 0x4e], 0
je 0x14024f2cf
mov rdi, qword [rsp + 0x40]
jmp 0x14024f2cf
lea rdi, [rsp + 0x40]
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
mov rcx, rdi
call fcn.140320810
movapd xmm11, xmm0
cmp byte [rsp + 0x4e], 0
je 0x14024f2ed
lea rcx, [rsp + 0x40]
call fcn.14030abf0
mov rdx, qword [r12 + 0x50]
test rdx, rdx
je 0x14024f319
lea r8, [0x1403d3cd9]
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.1400ef910
cmp byte [rsp + 0x4e], 0
je 0x14024f328
mov rdi, qword [rsp + 0x40]
jmp 0x14024f328
lea rdi, [rsp + 0x40]
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
mov rcx, rdi
call fcn.140320810
movapd xmm6, xmm0
cmp byte [rsp + 0x4e], 0
je 0x14024f345
lea rcx, [rsp + 0x40]
call fcn.14030abf0
mov rdx, qword [r12 + 0x50]
test rdx, rdx
je 0x14024f371
lea r8, [0x1403d3cdc]
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.1400ef910
cmp byte [rsp + 0x4e], 0
je 0x14024f380
mov rdi, qword [rsp + 0x40]
jmp 0x14024f380
lea rdi, [rsp + 0x40]
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
mov rcx, rdi
call fcn.140320810
movapd xmm7, xmm0
cmp byte [rsp + 0x4e], 0
je 0x14024f39d
lea rcx, [rsp + 0x40]
call fcn.14030abf0
movapd xmm1, xmmword [0x1403d3af0]
andpd xmm1, xmm8
movapd xmm2, xmmword [0x1403d3af0]
andpd xmm2, xmm9
movapd xmm3, xmmword [0x1403d3af0]
andpd xmm3, xmm10
movapd xmm0, xmmword [0x1403d3af0]
andpd xmm0, xmm11
movapd xmm4, xmmword [0x1403d3af0]
andpd xmm4, xmm6
cmpnltsd xmm1, qword [0x1403d3b00]
cmpnltsd xmm2, qword [0x1403d3b00]
cmpnltsd xmm3, qword [0x1403d3b00]
cmpnltsd xmm0, qword [0x1403d3b00]
cmpnltsd xmm4, qword [0x1403d3b00]
andnpd xmm1, xmm8
andnpd xmm2, xmm9
andnpd xmm3, xmm10
andnpd xmm0, xmm11
andnpd xmm4, xmm6
lea rcx, [r12 + 0xb8]
movapd xmm5, xmmword [0x1403d3af0]
andpd xmm5, xmm7
cmpnltsd xmm5, qword [0x1403d3b00]
andnpd xmm5, xmm7
movsd qword [rsp + 0x28], xmm4
movsd qword [rsp + 0x20], xmm0
movlpd qword [rsp + 0x30], xmm5
call fcn.14022c7b0
jmp 0x14024f528
lea rdx, str.text
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024f535
mov rcx, r12
mov rdx, rbx
call fcn.14024c6e0
mov rcx, r12
mov rdx, rbx
call fcn.14024fe60
movsxd rsi, dword [rbx + 0x28]
test rsi, rsi
je 0x14024ece2
mov rbp, qword [rbx + 0x20]
shl rsi, 3
xor edi, edi
lea r14, str.tspan
jmp 0x14024f4b9
add rdi, 8
cmp rsi, rdi
je 0x14024ece2
mov rbx, qword [rbp + rdi]
mov rcx, rbx
mov rdx, r14
call fcn.140250f10
test al, al
je 0x14024f4ac
mov rcx, r12
mov rdx, rbx
call fcn.14024c6e0
mov rcx, r12
mov rdx, rbx
call fcn.14024fe60
mov rcx, r12
call fcn.14024d080
jmp 0x14024f4ac
test cl, cl
jne 0x14024ec43
cmp byte [rax + 0xf], 7
je 0x14024ec4c
jmp 0x14024ec63
lea rbx, [rsp + 0x40]
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
mov rcx, rdi
mov rdx, rbx
call fcn.14022e540
lea rcx, [rsp + 0x40]
call fcn.140001760
mov rcx, r12
call fcn.14024d080
jmp 0x14024eb53
lea rdx, [0x1403d3d1c]
mov rcx, rbx
call fcn.140250f10
test al, al
jne 0x14024f568
lea rdx, str.symbol
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024f724
test bpl, bpl
je 0x14024f724
mov rcx, r12
mov rdx, rbx
mov r8d, edi
movaps xmm6, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm9, xmmword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm11, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140250100
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x40], xmm0
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x80], xmm0
lea rcx, [rsp + 0xc0]
lea rdi, [rsp + 0x40]
mov rdx, rdi
call fcn.1400de380
lea rcx, [r12 + 0x1e0]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x80]
call fcn.140251210
lea rcx, [rsp + 0xc0]
call fcn.140001760
cmp byte [rsp + 0x8e], 0
je 0x14024f626
mov eax, dword [rsp + 0x88]
jmp 0x14024f62e
movsx eax, byte [rsp + 0x8f]
test eax, eax
je 0x14024f856
cmp byte [rsp + 0x4e], 0
je 0x14024f642
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0xa8], 0
lea rcx, [rsp + 0x90]
lea r8, [rsp + 0xa8]
mov rdx, rdi
call fcn.14019e310
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x14024f680
lock sub dword [rcx + 8], 1
jne 0x14024f680
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x14024f849
mov ecx, dword [rax + 0x28]
or ecx, dword [rax + 0x24]
je 0x14024f849
lea rdx, [0x1403d3cad]
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm8, xmm0
lea rdx, [0x1403d3caf]
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm7, xmm0
lea rdx, str.width
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm6, xmm0
lea rdx, str.height
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
lea rcx, [r12 + 0xb8]
movsd qword [rsp + 0x20], xmm0
movapd xmm1, xmm8
movapd xmm2, xmm7
movapd xmm3, xmm6
call fcn.14022c310
cmp byte [rsp + 0x4e], 0
je 0x14024f788
mov rdx, qword [rsp + 0x40]
jmp 0x14024f78d
lea rdx, [0x1403d3d25]
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024f87a
lea r8, str.href
lea rbp, [rsp + 0x40]
mov rcx, rbp
mov rdx, rbx
call fcn.1400ef910
lea r8, str.xlink:href
lea r14, [rsp + 0x80]
mov rcx, r14
mov rdx, rbx
call fcn.1400ef910
lea rcx, [r12 + 0x168]
cmp byte [rsp + 0x4e], 0
je 0x14024fb1e
mov eax, dword [rsp + 0x48]
jmp 0x14024fb23
lea rdx, [rsp + 0x40]
mov rdi, qword [r12]
mov qword [rsp + 0xa0], 0
lea rcx, [rsp + 0xb0]
lea r8, [rsp + 0xa0]
call fcn.14019e310
lea rdx, [0x1403d3cad]
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm6, xmm0
lea rdx, [0x1403d3caf]
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm7, xmm0
lea rdx, str.width
xorpd xmm2, xmm2
mov rcx, r12
call fcn.140251160
movsd qword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
lea rdx, [rsp + 0xb0]
mov rcx, rdi
movapd xmm2, xmm6
movapd xmm3, xmm7
call fcn.14022b0e0
lea rcx, [rsp + 0xb0]
call fcn.140193c20
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x14024f849
lock sub dword [rcx + 8], 1
jne 0x14024f849
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, [rsp + 0x90]
call fcn.140193c20
mov rcx, r12
call fcn.14024ca80
lea rcx, [rsp + 0x80]
call fcn.140001760
lea rcx, [rsp + 0x40]
call fcn.140001760
jmp 0x14024eb53
lea rdx, [0x1403d3d2e]
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024f9cc
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.14024e8e0
movsd xmm8, qword [rsp + 0x80]
movapd xmm0, xmmword [0x1403d3af0]
andpd xmm0, xmm8
movsd xmm1, qword [0x1403d3b00]
ucomisd xmm1, xmm0
jbe 0x14024eb53
lea rcx, [rsp + 0xd0]
mov rdx, rbx
call fcn.14024e9f0
movsd xmm6, qword [rsp + 0xd0]
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.14024e650
movapd xmm0, xmmword [rsp + 0x40]
movapd xmm7, xmm0
unpcklpd xmm7, xmm6
andpd xmm7, xmmword [0x1403d3af0]
cmpnltpd xmm7, xmmword [0x1403d3b10]
pextrw eax, xmm7, 4
xorpd xmm2, xmm2
xorpd xmm1, xmm1
test al, 1
jne 0x14024f924
movapd xmm1, xmm6
jne 0x14024f92f
movsd xmm2, qword [rsp + 0xd8]
unpcklpd xmm7, xmm7
movapd xmm6, xmm7
andnpd xmm6, xmm0
movhpd xmm8, qword [rsp + 0x88]
movapd xmm0, xmm8
andpd xmm0, xmm7
andnpd xmm7, xmmword [rsp + 0x50]
orpd xmm7, xmm0
lea rbp, [r12 + 0xb8]
mov rcx, rbp
call fcn.14022b330
subpd xmm7, xmm6
divpd xmm8, xmm7
movapd xmm0, xmm8
unpckhpd xmm0, xmm8
minsd xmm8, xmm0
mov rcx, rbp
movapd xmm1, xmm8
call fcn.14022b8c0
movdqa xmm0, xmmword [0x1403d3b20]
pshufd xmm1, xmm6, 0xee
pxor xmm6, xmm0
pxor xmm1, xmm0
punpcklqdq xmm6, xmm1
movdqu xmmword [rsp + 0x40], xmm6
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.14022b380
mov rcx, r12
mov rdx, rbx
mov r8d, edi
call fcn.140250100
jmp 0x14024eb53
lea rdx, str.style
mov rcx, rbx
call fcn.140250f10
test al, al
je 0x14024eb53
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rbx
call fcn.1402b2490
cmp byte [rsp + 0x8e], 0
je 0x14024fa08
mov rdi, qword [rsp + 0x80]
lea rcx, [rsp + 0x40]
mov rdx, rdi
call fcn.1402ab3f0
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
je 0x14024fb07
add r12, 0x1a8
lea rdi, [rsp + 0x40]
lea rbx, [rsp + 0x90]
lea r14, [rsp + 0xb0]
jmp 0x14024fa57
mov rcx, rdi
call fcn.1402ab160
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
je 0x14024fb07
mov rcx, rdi
mov dl, 0x2e
call fcn.1400e3640
test al, al
je 0x14024fa41
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
lea ecx, [rax - 0x61]
cmp ecx, 0x1a
jb 0x14024fa85
lea ecx, [rax - 0x41]
cmp ecx, 0x1a
jb 0x14024fa85
cmp al, 0x5f
je 0x14024fa85
cmp al, 0x24
jne 0x14024fa41
mov rcx, rbx
mov rdx, rdi
call fcn.1402a9ce0
mov rcx, rdi
mov dl, 0x7b
call fcn.1400e3640
test al, al
je 0x14024fae7
mov rbp, qword [rsp + 0x40]
mov r8, rbp
mov al, byte [r8]
test al, al
je 0x14024fac6
cmp al, 0x7d
je 0x14024fac6
mov rcx, rdi
call fcn.1402ab160
mov r8, qword [rsp + 0x40]
movzx eax, byte [r8]
test al, al
jne 0x14024faad
mov rcx, r14
mov rdx, rbp
call fcn.140251410
mov rcx, r12
mov rdx, rbx
mov r8, r14
call fcn.140251380
mov rcx, r14
call fcn.140001760
mov rcx, rdi
mov dl, 0x7d
call fcn.1400e3640
mov rcx, rbx
call fcn.140001760
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x14024fa57
lea rcx, [rsp + 0x40]
call fcn.1400e3830
lea rcx, [rsp + 0x80]
jmp 0x14024f870
movsx eax, byte [rsp + 0x4f]
test eax, eax
cmove rbp, r14
mov qword [rsp + 0x90], 0
lea r8, [rsp + 0x90]
mov rdx, rbp
call fcn.140251290
mov rbp, qword [rax]
lea rcx, [rsp + 0x80]
call fcn.140001760
lea rcx, [rsp + 0x40]
call fcn.140001760
test rbp, rbp
je 0x14024eb53
mov rcx, r12
mov rdx, rbx
call fcn.14024c6e0
lea rcx, [rsp + 0x40]
mov rdx, rbp
call fcn.14024e650
lea rcx, [rsp + 0x80]
mov rdx, rbp
call fcn.14024e8e0
lea rbx, [r12 + 0xb8]
lea rdx, [0x1403d3cad]
xorps xmm2, xmm2
mov rcx, r12
call fcn.140251160
movapd xmm6, xmm0
lea rdx, [0x1403d3caf]
xorps xmm2, xmm2
mov rcx, r12
call fcn.140251160
mov rcx, rbx
movapd xmm1, xmm6
movapd xmm2, xmm0
call fcn.14022b330
movsd xmm6, qword [rsp + 0x40]
movapd xmm1, xmmword [0x1403d3af0]
andpd xmm1, xmm6
movsd xmm0, qword [0x1403d3b00]
ucomisd xmm0, xmm1
jbe 0x14024fca6
movsd xmm7, qword [rsp + 0x80]
movapd xmm1, xmmword [0x1403d3af0]
andpd xmm1, xmm7
ucomisd xmm0, xmm1
jbe 0x14024fca6
movsd xmm9, qword [rsp + 0x88]
movsd qword [rsp + 0x20], xmm9
xorpd xmm1, xmm1
xorpd xmm2, xmm2
mov rcx, rbx
movapd xmm3, xmm7
call fcn.14022c310
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x1c8]
movupd xmm0, xmmword [rsp + 0x50]
movsd xmm8, qword [rsp + 0x48]
movapd xmm1, xmm6
unpcklpd xmm1, xmm8
subpd xmm0, xmm1
unpcklpd xmm7, xmm9
divpd xmm7, xmm0
movapd xmmword [rsp + 0x80], xmm7
movapd xmm2, xmm7
unpckhpd xmm2, xmm7
mov rcx, rbx
movapd xmm1, xmm7
call fcn.14022b860
movapd xmm0, xmmword [0x1403d3b20]
xorpd xmm6, xmm0
xorpd xmm8, xmm0
mov rcx, rbx
movapd xmm1, xmm6
movapd xmm2, xmm8
call fcn.14022b330
add edi, 1
mov rcx, r12
mov rdx, rbp
mov r8d, edi
mov r9b, 1
call fcn.14024eb00
mov rcx, r12
call fcn.14024ca80
jmp 0x14024eb53