Function at 0x14003de90
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, 0x748
movdqa xmmword [rsp + 0x730], xmm8
movaps xmmword [rsp + 0x720], xmm7
movdqa xmmword [rsp + 0x710], xmm6
mov r13, r9
mov qword [rsp + 0x30], rcx
movabs rax, 0x900000007fffffff
mov qword [rsp + 0x1e8], rax
movabs rax, 0xd4008029ffffffff
mov qword [rsp + 0x1e0], rax
cmp qword [rdx + 0x48], 0
jne 0x14003df3c
mov rax, qword [rdx + 0x50]
mov qword [rsp + 0xa0], rax
cmp qword [rdx + 0xf0], 0
je 0x14003df52
lea rax, [rdx + 0xf8]
mov qword [rsp + 0xe0], rax
cmp qword [rdx + 8], 0
je 0x14003df68
lea rax, [rdx + 0x10]
mov qword [rsp + 0xc8], rax
cmp qword [rdx + 0xa0], 0
je 0x14003df7e
lea rax, [rdx + 0xa8]
jmp 0x14003df85
lea rax, [rdx + 0x50]
mov qword [rsp + 0xa0], rax
cmp qword [rdx + 0xf0], 0
jne 0x14003df07
mov rax, qword [rdx + 0xf8]
mov qword [rsp + 0xe0], rax
cmp qword [rdx + 8], 0
jne 0x14003df1d
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0xc8], rax
cmp qword [rdx + 0xa0], 0
jne 0x14003df33
mov rax, qword [rdx + 0xa8]
mov qword [rsp + 0xd8], rax
mov rsi, qword [rsp + 0x7c0]
mov r11, qword [rdx + 0x40]
cmp qword [rdx + 0x130], 0
jne 0x14003dfac
mov rax, qword [rdx + 0x138]
jmp 0x14003dfb3
lea rax, [rdx + 0x138]
mov qword [rsp + 0xd0], rax
mov r15, qword [rsp + 0x7b8]
sub r8, rsi
lea rax, [r13 + 0x3f8]
mov qword [rsp + 0x70], rax
lea rax, [r13 + 4]
mov qword [rsp + 0x48], rax
lea rax, [r13 + 8]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x7b0]
lea rcx, [rax + 0xc8]
mov qword [rsp + 0x98], rcx
add rax, 8
mov qword [rsp + 0x38], rax
xor ecx, ecx
cmp r11, 2
mov rax, qword [rsp + 0xa0]
cmove rax, rcx
mov qword [rsp + 0xa0], rax
pxor xmm6, xmm6
movdqa xmm7, xmmword [str.xn__]
movzx eax, byte [rdx]
mov byte [rsp + 0x47], al
movzx eax, byte [rdx + 0x12a]
mov dword [rsp + 0xc4], eax
mov qword [rsp + 0xb8], rdx
movzx eax, word [rdx + 0x128]
mov dword [rsp + 0xc0], eax
mov dl, 1
xor eax, eax
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x80], r13
test rsi, rsi
je 0x14003e0a0
xor ebp, ebp
nop dword [rax]
movzx ecx, byte [r15 + rbp]
cmp cl, 0x2e
setne r10b
je 0x14003e0c0
inc rbp
cmp rsi, rbp
jne 0x14003e070
mov qword [rsp + 0x90], r15
mov rbp, rsi
test r15, r15
jne 0x14003e0df
jmp 0x14003ff16
test dl, 1
jne 0x14003ff0d
mov r10b, 1
xor esi, esi
mov qword [rsp + 0x90], r15
xor ebp, ebp
jmp 0x14003e110
lea r9, [rbp + 1]
sub rsi, r9
lea r9, [r15 + rbp]
inc r9
mov qword [rsp + 0x90], r9
test r15, r15
je 0x14003ff16
test dl, 1
je 0x14003e110
mov ebx, r10d
movzx eax, al
cmp rbp, 3
jbe 0x14003e18b
cmp byte [r15 + 2], 0x2d
jne 0x14003e190
cmp byte [r15 + 3], 0x2d
jne 0x14003e190
jmp 0x14003e1f0
test al, 1
je 0x14003e1f9
mov rdx, qword [rsp + 0x70]
mov r9, qword [rdx]
cmp r9, 0xfe
jb 0x14003e14a
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rsp + 0x60]
cmp rax, r9
je 0x14003e15d
mov dword [rcx + rax*4], 0x2e
inc qword [rdx]
jmp 0x14003e1f9
mov rax, r9
mov rcx, qword [rsp + 0x48]
mov r9d, 0xfd
cmp rax, r9
jne 0x14003e13b
mov rcx, r13
mov rdi, rsi
mov rsi, r8
mov ebx, r10d
call fcn.140116490
mov r10d, ebx
mov r11, qword [rsp + 0x78]
mov r8, rsi
mov rsi, rdi
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rsp + 0x60]
jmp 0x14003e13b
test rbp, rbp
je 0x14003e1d9
movzx edx, byte [r15]
add dl, 0x9f
cmp dl, 0x19
ja 0x14003e1f0
mov edx, 1
nop word cs:[rax + rax]
cmp rbp, rdx
je 0x14003e1e0
movzx r10d, byte [r15 + rdx]
inc rdx
cmp r10b, 0x2d
je 0x14003e1b0
lea r9d, [r10 - 0x61]
cmp r9b, 0x1a
jb 0x14003e1b0
add r10b, 0xd0
cmp r10b, 0xa
jb 0x14003e1b0
jmp 0x14003e1f0
xor ebp, ebp
jmp 0x14003fccd
cmp byte [r15 + rbp - 1], 0x2d
jne 0x14003fccd
nop dword [rax]
and eax, 1
add r8, rax
mov r10d, ebx
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
cmp rax, 0xfe
jb 0x14003e221
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0xa8], rax
test rbp, rbp
je 0x14003e280
mov qword [rsp + 0x88], rsi
xor esi, esi
cmp byte [r15 + rsi], 0
js 0x14003e2e0
inc rsi
cmp rbp, rsi
jne 0x14003e230
mov r12d, 1
mov rsi, rbp
cmp rsi, 4
jae 0x14003e328
mov cl, 1
mov qword [rsp + 0x68], 0
xor ebx, ebx
test rsi, rsi
je 0x14003e311
mov dword [rsp + 0x28], ecx
jmp 0x14003e50c
mov rdx, qword [rsp + 0x98]
mov r9, qword [rdx]
cmp r9, 9
jb 0x14003e497
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x38]
cmp rax, r9
je 0x14003e4ae
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0
mov qword [rcx + rax*8 + 8], r15
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x14003fd82
test rsi, rsi
je 0x14003e4e7
lea r12, [r15 + rsi]
dec r12
dec rsi
mov rbx, rbp
sub rbx, rsi
je 0x14003e24c
xor ecx, ecx
mov al, 1
mov qword [rsp + 0x68], rax
test rsi, rsi
jne 0x14003e26c
mov al, 1
test cl, cl
mov rsi, qword [rsp + 0x88]
jne 0x14003e620
jmp 0x14003e670
mov eax, dword [r15]
mov ecx, 0xffffdfdf
and eax, ecx
cmp eax, 0x2d2d4e58
jne 0x14003e4fb
cmp byte [rsi + r15 - 1], 0x2d
lea rcx, [rsp + 0x6d8]
je 0x1400401d1
add rsi, 0xfffffffffffffffc
cmp rsi, 0x7d1
jae 0x1400401d1
mov ebx, r10d
mov rdi, r8
mov qword [rsp + 0x310], 0
mov qword [rsp + 0x6c8], 0
lea r8, [r15 + 4]
lea rdx, [rsp + 0x310]
mov r9, rsi
mov rsi, rcx
call fcn.1400415c0
cmp qword [rsp + 0x6d8], 0
je 0x140040231
mov qword [rsp + 0x2f8], 0
mov dword [rsp + 0x208], 0
lea rcx, [rsp + 0x208]
mov rdx, rsi
call fcn.140041f20
mov rax, qword [rsp + 0x2f8]
lea r9, [rsp + 0x20c]
cmp rax, 0x3c
jb 0x14003e3f3
mov rax, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
mov qword [rsp + 0x20], rax
mov rsi, qword [rsp + 0xb8]
mov rcx, rsi
mov rdx, r13
mov r14, qword [rsp + 0xa8]
mov r8, r14
call fcn.140040350
test al, al
jne 0x140040210
mov rcx, r13
mov rdx, r14
lea r8, [0x1401397a0]
call fcn.140042880
mov r8, rdx
mov byte [rsp + 0x20], 1
mov rcx, rsi
mov rdx, rax
mov r9b, 1
call fcn.140041240
test al, al
jne 0x140040210
lea rcx, [rsp + 0x208]
call fcn.140042860
lea rcx, [rsp + 0x310]
call fcn.140042840
mov rdx, qword [rsp + 0x98]
mov r9, qword [rdx]
cmp r9, 9
jb 0x14003fd42
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x38]
jmp 0x14003fd50
mov rax, r9
mov rcx, qword [rsp + 0x38]
mov r9d, 8
cmp rax, r9
jne 0x14003e2b3
mov rdi, qword [rsp + 0x7b0]
mov rcx, rdi
mov rbx, rsi
mov rsi, r8
mov ebp, r10d
call fcn.140116930
mov r10d, ebp
mov r11, qword [rsp + 0x78]
mov r8, rsi
mov rsi, rbx
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rsp + 0x38]
jmp 0x14003e2b3
mov al, 1
mov qword [rsp + 0x68], rax
mov r12, r15
mov rbx, rbp
mov al, 1
jmp 0x14003e670
mov al, 1
mov dword [rsp + 0x28], eax
xor ebx, ebx
mov qword [rsp + 0x68], 0
mov r14, r15
jmp 0x14003e54d
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rsp + 0x60]
cmp rax, r9
je 0x14003e5cb
inc r14
movzx r9d, dil
mov dword [rcx + rax*4], r9d
inc qword [rdx]
dec rsi
je 0x14003e60e
test r14, r14
je 0x14003e60e
movzx edi, byte [r14]
xor eax, eax
mov ecx, edi
mov edx, 1
shld rax, rdx, cl
shl rdx, cl
test dil, 0x40
cmovne rax, rdx
mov ecx, 0
cmovne rdx, rcx
and rax, qword [rsp + 0x1e8]
and rdx, qword [rsp + 0x1e0]
or rdx, rax
je 0x14003e59f
lea eax, [rdi - 0x41]
cmp al, 0x19
ja 0x1400401d1
or dil, 0x20
mov rdx, qword [rsp + 0x70]
mov r9, qword [rdx]
cmp r9, 0xfe
jae 0x14003e520
mov rax, r9
mov rcx, qword [rsp + 0x48]
mov r9d, 0xfd
cmp rax, r9
jne 0x14003e536
mov rcx, r13
mov qword [rsp + 0x58], r12
mov r12, r8
mov r13, rbx
mov ebx, r10d
call fcn.140116490
mov r10d, ebx
mov rbx, r13
mov r11, qword [rsp + 0x78]
mov r8, r12
mov r12, qword [rsp + 0x58]
mov r13, qword [rsp + 0x80]
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rsp + 0x60]
jmp 0x14003e536
xor eax, eax
mov ecx, dword [rsp + 0x28]
test cl, cl
mov rsi, qword [rsp + 0x88]
je 0x14003e670
mov rdx, qword [rsp + 0x98]
mov r9, qword [rdx]
cmp r9, 9
jb 0x14003fcf0
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x38]
cmp rax, r9
je 0x14003fd07
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0
jmp 0x14003fd78
mov dword [rsp + 0x54], eax
movups xmm0, xmmword [rsp + 0x300]
movaps xmmword [rsp + 0x310], xmm0
mov rdx, qword [rsp + 0x98]
mov r9, qword [rdx]
cmp r9, 9
jb 0x14003e6d5
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x38]
cmp rax, r9
je 0x14003e6e8
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 2
movaps xmm0, xmmword [rsp + 0x310]
movups xmmword [rcx + rax*8 + 8], xmm0
inc qword [rdx]
cmp r11, 2
jne 0x14003e71e
xor eax, eax
jmp 0x14003e72c
mov rax, r9
mov rcx, qword [rsp + 0x38]
mov r9d, 8
cmp rax, r9
jne 0x14003e6af
mov rdi, qword [rsp + 0x7b0]
mov rcx, rdi
mov rsi, r8
mov r14, rbx
mov ebx, r10d
call fcn.140116930
mov r10d, ebx
mov rbx, r14
mov r11, qword [rsp + 0x78]
mov r8, rsi
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rsp + 0x38]
jmp 0x14003e6af
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax + 0x4a]
and al, 1
mov byte [rsp + 0x46], r10b
mov qword [rsp + 0x1f8], r8
mov r9, qword [rsp + 0xe0]
mov rcx, qword [r9]
mov rdx, qword [r9 + 8]
mov r8, qword [r9 + 0x18]
mov r9, qword [r9 + 0x20]
test byte [rsp + 0x47], 1
je 0x14003e770
mov r11, qword [rsp + 0xc8]
mov rdi, qword [r11]
mov rsi, qword [r11 + 8]
mov r10, qword [r11 + 0x18]
mov r11, qword [r11 + 0x20]
jmp 0x14003e780
mov r10d, 1
xor r11d, r11d
xor esi, esi
mov edi, 1
mov qword [rsp + 0x360], r12
mov qword [rsp + 0x368], rbx
mov dword [rsp + 0x310], 0
mov ebx, dword [rsp + 0x248]
lea r14, [rsp + 0x318]
mov dword [r14 + 0x3c], ebx
movdqu xmm0, xmmword [rsp + 0x208]
movups xmm1, xmmword [rsp + 0x218]
movups xmm2, xmmword [rsp + 0x228]
movups xmm3, xmmword [rsp + 0x238]
movups xmmword [r14 + 0x2c], xmm3
movups xmmword [r14 + 0x1c], xmm2
movups xmmword [r14 + 0xc], xmm1
movdqu xmmword [r14 - 4], xmm0
mov qword [rsp + 0x358], 0
mov qword [rsp + 0x3b8], 0
mov dword [rsp + 0x3cc], 0
mov byte [rsp + 0x3d0], 0
movzx ebx, byte [rsp + 0xb7]
mov byte [r14 + 0xbb], bl
movzx ebx, word [rsp + 0xb5]
mov word [r14 + 0xb9], bx
mov rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x370], rbx
mov rbx, qword [rsp + 0xa0]
mov qword [rsp + 0x3c0], rbx
mov qword [rsp + 0x378], rcx
mov qword [rsp + 0x380], rdx
mov qword [rsp + 0x388], r8
mov qword [rsp + 0x390], r9
mov qword [rsp + 0x398], rdi
mov qword [rsp + 0x3a0], rsi
mov qword [rsp + 0x3a8], r10
mov qword [rsp + 0x3b0], r11
mov byte [rsp + 0x3d8], al
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x3d4], eax
mov byte [rsp + 0x3d9], 1
mov r8d, dword [rsp + 0x3cc]
mov dword [rsp + 0x3c8], 0x110000
lea rsi, [rsp + 0x310]
mov rcx, rsi
mov edx, 0xffff
call fcn.140043580
mov r8d, 0xd0
lea rdi, [rsp + 0x208]
mov rcx, rdi
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0xd0]
movdqu xmm8, xmmword [rax]
mov r8d, 0xd0
lea rcx, [rsp + 0xe8]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
movdqu xmmword [rsp + 0x1b8], xmm8
mov qword [rsp + 0x1c8], 0
mov dword [rsp + 0x1d0], 0x110000
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0x1d4], eax
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x1d8], rax
mov eax, 0x110000
xor ebp, ebp
cmp eax, 0x110000
jne 0x14003ec30
jmp 0x14003e9d5
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x38]
cmp rax, r8
je 0x14003f3ee
mov qword [rsp + 0xa8], rbx
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 2
movdqa xmm0, xmmword [rsp + 0x310]
movdqu xmmword [rcx + rax*8 + 8], xmm0
inc qword [rdx]
mov al, 1
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x1d0]
mov cl, 1
mov dword [rsp + 0x54], ecx
xor ebp, ebp
cmp eax, 0x110000
jne 0x14003ec30
mov rax, qword [rsp + 0x130]
lea rcx, [rsp + 0xec]
mov r8, rax
cmp rax, 0x12
jb 0x14003e9fe
mov r8, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x190]
cmp rdx, r8
jae 0x14003ea50
mov ecx, dword [rcx + rdx*4]
inc rdx
mov qword [rsp + 0x190], rdx
cmp rax, 0x12
jb 0x14003eb00
cmp rdx, qword [rsp + 0xf0]
jne 0x14003eb25
mov rax, qword [rsp + 0xf0]
lea r8, [rsp + 0xf0]
jmp 0x14003eb0d
mov r15d, dword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x1a4]
mov dword [rsp + 0x1a0], 0x110000
mov r12b, 1
cmp r15d, 0x110000
je 0x14003f2c0
cmp r15d, dword [rsp + 0x1d4]
jb 0x14003ea8e
cmp edi, 2
jae 0x14003eb48
lea rcx, [rsp + 0x310]
lea rdx, [rsp + 0xe8]
call fcn.140043e30
mov eax, dword [rsp + 0x310]
cmp eax, 0x110000
je 0x14003f1d3
mov edx, dword [rsp + 0x314]
mov ecx, dword [rsp + 0x318]
cmp eax, dword [rsp + 0x1d4]
jae 0x14003ebc0
mov dword [rsp + 0x1a0], eax
mov dword [rsp + 0x1a4], edx
mov dword [rsp + 0x1a8], ecx
mov r12b, 1
cmp r15d, 0x110000
je 0x14003f2c0
jmp 0x14003f20b
lea r8, [rsp + 0x130]
cmp rdx, rax
jne 0x14003eb25
test rax, rax
je 0x14003eb19
mov qword [r8], 0
mov qword [rsp + 0x190], 0
mov r15d, ecx
and r15d, 0xffffff
cmp ecx, 0xffffff
ja 0x14003f20b
mov dword [rsp + 0x1d0], r15d
jmp 0x14003ec30
bt rdi, 0x20
jb 0x14003ec35
cmp edi, 0x10000
jb 0x14003ec35
test di, di
je 0x14003ea8e
movzx eax, di
cmp eax, 1
je 0x14003ec35
mov ecx, edi
shr ecx, 0x10
mov eax, ecx
and eax, 0x7f
cmp ax, 0x3c
setne al
add ecx, 0xfffff400
movzx ecx, cx
cmp ecx, 0xfd00
setb cl
lea edx, [r15 - 0x1ffc]
cmp edx, 0xffffff74
ja 0x14003ec35
lea edx, [r15 - 0xfb4f]
cmp edx, 0xffffffcd
ja 0x14003ec35
or al, cl
jne 0x14003ea8e
jmp 0x14003ec35
mov r8d, edx
and r8d, 0xffffff00
cmp r8d, 0xd800
sete r8b
lea r9d, [rdx - 1]
cmp r9d, 2
setb r9b
or r9b, r8b
je 0x14003ebfd
mov dword [rsp + 0x1a0], eax
mov dword [rsp + 0x1a4], edx
mov dword [rsp + 0x1a8], ecx
jmp 0x14003ec35
lea r8d, [rdx - 0x11c3]
mov dword [rsp + 0x1a0], eax
mov dword [rsp + 0x1a4], edx
mov dword [rsp + 0x1a8], ecx
cmp r8d, 0xffffff9e
jae 0x14003ec35
jmp 0x14003f1d3
xor edi, edi
xor r15d, r15d
xor esi, esi
jmp 0x14003ec56
mov rdi, qword [rsp + 0x1a4]
mov dword [rsp + 0x1a0], 0x110000
mov sil, 1
mov eax, dword [rsp + 0x1d0]
mov dword [rsp + 0x1d0], 0x110000
cmp eax, 0x110000
jne 0x14003ed00
lea rcx, [rsp + 0xe8]
mov edx, r15d
mov r8d, edi
call fcn.140043580
mov edi, eax
mov r15, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1c0]
test sil, 1
je 0x14003ed20
mov qword [rsp + 0x330], r15
mov qword [rsp + 0x338], rbx
mov qword [rsp + 0x310], 1
lea eax, [rdi - 0x1161]
lea rcx, [rsp + 0x318]
movdqu xmmword [rcx], xmm6
cmp eax, 0x9e
jbe 0x14003f15c
lea rcx, [rsp + 0x310]
mov edx, ebp
mov r8d, edi
call fcn.14003dce0
cmp eax, 0x110000
jne 0x14003ed22
jmp 0x14003f1e5
mov r15, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1c0]
jmp 0x14003ed22
mov eax, edi
mov rsi, qword [rsp + 0x130]
cmp rsi, 0x12
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xf8]
mov r14, qword [rsp + 0x190]
mov rdi, rsi
mov qword [rsp + 0x28], rcx
cmovae rsi, rcx
lea r13, [rsp + 0xec]
mov qword [rsp + 0x58], rdx
cmovae r13, rdx
jmp 0x14003ed95
lea rcx, [rsp + 0x310]
mov edx, ebp
call fcn.14003dce0
cmp eax, 0x110000
je 0x14003ee60
inc r14
mov qword [rsp + 0x190], r14
mov ebp, eax
cmp r14, rsi
jae 0x14003ee80
mov r12d, dword [r13 + r14*4]
mov r8d, r12d
and r8d, 0xffffff
mov qword [rsp + 0x330], r15
mov qword [rsp + 0x338], rbx
mov qword [rsp + 0x310], 1
lea eax, [r8 - 0x1161]
lea rcx, [rsp + 0x318]
movdqu xmmword [rcx], xmm6
cmp eax, 0x9e
ja 0x14003ed70
cmp eax, 0x15
jae 0x14003ee10
lea ecx, [rbp - 0x1100]
cmp ecx, 0x13
jae 0x14003ee60
imul ecx, ecx, 0x24c
lea edx, [rax + rax*8]
lea edx, [rdx + rdx*2]
add edx, eax
lea eax, [rcx + rdx]
add eax, 0xac00
jmp 0x14003ed8a
lea eax, [r8 - 0x11a8]
cmp eax, 0x1b
jae 0x14003ee60
lea eax, [rbp - 0xac00]
cmp eax, 0x2ba3
ja 0x14003ee60
mov ecx, eax
shr ecx, 2
imul rcx, rcx, 0x24924925
shr rcx, 0x20
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
jne 0x14003ee60
lea eax, [r8 + rbp]
add eax, 0xffffee59
jmp 0x14003ed8a
cmp rdi, 0x12
jb 0x14003ef40
lea rax, [rsp + 0xf0]
mov rcx, qword [rsp + 0x28]
cmp rcx, r14
jmp 0x14003ef4e
cmp rdi, 0x12
mov rax, qword [rsp + 0x28]
cmovb rax, rdi
test rax, rax
je 0x14003eeb2
xor eax, eax
cmp rdi, 0x12
setb al
shl eax, 6
mov qword [rsp + rax + 0xf0], 0
mov rdi, qword [rsp + 0x130]
mov r13, qword [rsp + 0x80]
mov qword [rsp + 0x190], 0
cmp rdi, 0x12
jb 0x14003eed4
mov rdi, qword [rsp + 0xf0]
test rdi, rdi
jne 0x14003f1d0
mov r15d, dword [rsp + 0x1a0]
cmp r15d, 0x110000
je 0x14003f1d0
cmp r15d, dword [rsp + 0x1d4]
jb 0x14003f1d0
mov eax, dword [rsp + 0x1a4]
lea ecx, [rax - 0x1161]
cmp ecx, 0x62
jb 0x14003ec40
mov ecx, eax
and ecx, 0xffffff00
cmp ecx, 0xd800
je 0x14003ec40
dec eax
cmp eax, 1
jbe 0x14003ec40
jmp 0x14003f1d0
mov rcx, rdi
lea rax, [rsp + 0x130]
cmp rdi, r14
mov r13, qword [rsp + 0x80]
jb 0x14004028f
mov qword [rax], 0
mov rsi, rcx
sub rsi, r14
je 0x14003efe0
mov rbx, qword [rsp + 0x130]
cmp rbx, 0x12
jb 0x14003ef90
mov rbx, qword [rsp + 0xf0]
lea rax, [rsp + 0xf0]
cmp r14, rbx
jne 0x14003efa2
jmp 0x14003efdd
lea rax, [rsp + 0xec]
mov qword [rsp + 0x58], rax
cmp r14, rbx
je 0x14003efd5
mov rax, qword [rsp + 0x58]
lea rdx, [rax + r14*4]
lea rcx, [rax + rbx*4]
lea r8, [rsi*4]
call sub.VCRUNTIME140.dll_memmove
add rbx, rsi
cmp qword [rsp + 0x130], 0x11
mov rcx, rbx
lea rax, [rsp + 0xf0]
ja 0x14003efdd
lea rax, [rsp + 0x130]
mov qword [rax], rcx
mov qword [rsp + 0x190], 0
cmp r12d, 0x1000000
jb 0x14003f1d0
shr r12d, 0x18
mov esi, 1
mov r13, qword [rsp + 0x130]
cmp r13, 0x12
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
mov r15, qword [rsp + 0x1b8]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x58], rax
cmovae r13, rax
mov r14, qword [rsp + 0x1c0]
lea rbx, [rsp + 0xec]
mov qword [rsp + 0x200], rcx
cmovae rbx, rcx
jmp 0x14003f066
inc rsi
mov r12d, edi
cmp rsi, r13
jae 0x14003f140
mov r8d, dword [rbx + rsi*4]
cmp r8d, 0x1000000
jb 0x14003f1f0
mov edi, r8d
shr edi, 0x18
cmp r12b, dil
je 0x14003f060
and r8d, 0xffffff
mov qword [rsp + 0x330], r15
mov qword [rsp + 0x338], r14
mov qword [rsp + 0x310], 1
lea rax, [rsp + 0x318]
movdqu xmmword [rax], xmm6
lea rcx, [rsp + 0x310]
mov edx, ebp
call fcn.14003dce0
cmp eax, 0x110000
je 0x14003f060
mov rcx, qword [rsp + 0x28]
cmp rcx, 0x12
mov r9, qword [rsp + 0x58]
cmovb r9, rcx
cmp r9, rsi
jbe 0x1400402c8
mov ebx, eax
xor eax, eax
cmp rcx, 0x12
setb al
lea rcx, [rsp + 0xec]
mov rdx, qword [rsp + 0x200]
cmovb rdx, rcx
shl eax, 6
lea rcx, [r9 - 1]
mov qword [rsp + rax + 0xf0], rcx
lea rcx, [rdx + rsi*4]
lea rdx, [rdx + rsi*4]
add rdx, 4
mov r8, rsi
not r8
add r8, r9
shl r8, 2
call sub.VCRUNTIME140.dll_memmove
mov ebp, ebx
jmp 0x14003f002
mov r13, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x28]
cmp rdi, 0x12
jae 0x14003eecc
jmp 0x14003eed4
cmp eax, 0x15
jae 0x14003f187
lea ecx, [rbp - 0x1100]
cmp ecx, 0x13
jae 0x14003f1e5
imul ecx, ecx, 0x24c
lea edx, [rax + rax*8]
lea edx, [rdx + rdx*2]
add edx, eax
lea eax, [rcx + rdx]
add eax, 0xac00
jmp 0x14003ed22
lea eax, [rdi - 0x11a8]
cmp eax, 0x1b
jae 0x14003f1e5
lea eax, [rbp - 0xac00]
cmp eax, 0x2ba3
ja 0x14003f1e5
mov ecx, eax
shr ecx, 2
imul rcx, rcx, 0x24924925
shr rcx, 0x20
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
jne 0x14003f1e5
lea eax, [rdi + rbp]
add eax, 0xffffee59
jmp 0x14003ed22
mov r15d, ebp
mov r12b, 1
cmp r15d, 0x110000
je 0x14003f2c0
jmp 0x14003f20b
mov dword [rsp + 0x1d0], edi
nop dword [rax]
mov r15d, ebp
mov r13, qword [rsp + 0x80]
mov r12b, 1
cmp r15d, 0x110000
je 0x14003f2c0
cmp r15d, 0x7f
ja 0x14003f24c
xor eax, eax
mov ecx, r15d
mov edx, 1
shld rax, rdx, cl
shl rdx, cl
mov rcx, qword [rsp + 0x1d8]
test r15b, 0x40
cmovne rax, rdx
mov r8d, 0
cmovne rdx, r8
and rax, qword [rcx + 8]
and rdx, qword [rcx]
or rdx, rax
jne 0x14003fe52
xor r12d, r12d
cmp r15d, 0x2e
je 0x14003f2c0
cmp r15d, 0x110000
je 0x14003f2c0
cmp r15d, 0xfffd
je 0x14003fe52
mov rdx, qword [rsp + 0x70]
mov r8, qword [rdx]
cmp r8, 0xfe
jb 0x14003f51a
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rsp + 0x60]
cmp rax, r8
je 0x14003f531
mov dword [rcx + rax*4], r15d
inc qword [rdx]
mov eax, dword [rsp + 0x1d0]
xor ebp, ebp
cmp eax, 0x110000
jne 0x14003ec30
jmp 0x14003e9d5
mov rsi, qword [rsp + 0x70]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x48]
mov rax, rdx
cmp rdx, 0xfe
jb 0x14003f2e1
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov rbx, qword [rsp + 0xa8]
sub r8, rbx
mov rdi, qword [rsp + 0x98]
jb 0x1400402a7
cmp r8, 4
jb 0x14003f31b
movdqu xmm0, xmmword [rcx + rbx*4]
pcmpeqb xmm0, xmm7
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x14003f450
mov rax, qword [rsp + 0x48]
cmp rdx, 0xfe
jb 0x14003f331
mov rdx, qword [r13 + 8]
mov rax, qword [r13 + 0x10]
mov r8, rdx
sub r8, rbx
jb 0x1400402b9
lea rdx, [rax + rbx*4]
mov rax, qword [rsp + 0x68]
and al, 1
mov byte [rsp + 0x20], al
mov r9d, dword [rsp + 0x54]
and r9b, 1
mov rcx, qword [rsp + 0xb8]
call fcn.140041240
test al, al
jne 0x14003fe52
test r12b, r12b
jne 0x14003fd9f
mov r8, qword [rsi]
cmp r8, 0xfe
jb 0x14003f410
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rsp + 0x60]
cmp rax, r8
je 0x14003f42a
mov dword [rcx + rax*4], 0x2e
inc qword [rdx]
mov rbx, qword [rsi]
cmp rbx, 0xfe
jb 0x14003f3b7
mov rax, qword [rsp + 0x60]
mov rbx, qword [rax]
movups xmm0, xmmword [rsp + 0x300]
movaps xmmword [rsp + 0x310], xmm0
mov r8, qword [rdi]
cmp r8, 9
jae 0x14003e970
mov rax, r8
mov rcx, qword [rsp + 0x38]
mov rdx, rdi
mov r8d, 8
cmp rax, r8
jne 0x14003e98e
mov rsi, qword [rsp + 0x7b0]
mov rcx, rsi
call fcn.140116930
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x38]
jmp 0x14003e98e
mov rax, r8
mov rcx, qword [rsp + 0x48]
mov rdx, rsi
mov r8d, 0xfd
cmp rax, r8
jne 0x14003f399
mov rcx, r13
call fcn.140116490
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rsp + 0x60]
jmp 0x14003f399
mov rax, rdx
mov r8, qword [rsp + 0x48]
cmp rdx, 0xfe
jb 0x14003f469
mov rax, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
lea rcx, [rbx + 4]
cmp rax, rcx
jb 0x1400402e0
je 0x14003f4a4
shl rax, 2
lea r9, [rbx*4 + 0x10]
nop word cs:[rax + rax]
cmp dword [r8 + r9], 0x7f
ja 0x14003fe52
add r9, 4
cmp rax, r9
jne 0x14003f490
mov rax, rdx
mov r8, qword [rsp + 0x48]
cmp rdx, 0xfe
jb 0x14003f4bd
mov rax, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
test rax, rax
je 0x1400402ef
cmp dword [r8 + rax*4 - 4], 0x2d
je 0x14003fe52
cmp rdx, 0xfe
jb 0x14003f54b
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
sub rax, rbx
add rax, 0xfffffffffffff82b
cmp rax, 0xfffffffffffff82f
jb 0x14003fe52
mov qword [rsp + 0x310], 0
mov qword [rsp + 0x6c8], 0
mov rdx, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
jmp 0x14003f580
mov rax, r8
mov rcx, qword [rsp + 0x48]
mov r8d, 0xfd
cmp rax, r8
jne 0x14003f296
mov rcx, r13
call fcn.140116490
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rsp + 0x60]
jmp 0x14003f296
mov rax, rdx
sub rax, rbx
add rax, 0xfffffffffffff82b
cmp rax, 0xfffffffffffff82f
jb 0x14003fe52
mov qword [rsp + 0x310], 0
mov qword [rsp + 0x6c8], 0
mov r8, qword [rsp + 0x48]
mov rax, rdx
sub rax, rcx
jb 0x140040307
lea rsi, [r8 + rcx*4]
lea rcx, [r8 + rdx*4]
mov qword [rsp + 0x28], rcx
shl rdx, 2
lea r9, [rbx*4 + 0x10]
mov rbp, rax
nop dword [rax + rax]
cmp r9, rdx
je 0x14003f674
mov rcx, rbp
dec rbp
cmp dword [r8 + rdx - 4], 0x2d
lea rdx, [rdx - 4]
jne 0x14003f5b0
test rbp, rbp
je 0x14003f68d
sub rax, rcx
lea r15, [rsi + rcx*4]
test rax, rax
jne 0x14003f682
xor edx, edx
lea rcx, [rsp + 0x318]
cmp rdx, 2
jb 0x14003f959
cmp rdx, 0x15
jae 0x14003f954
shl rdx, 4
add rdx, rcx
lea rax, [rcx + 0x10]
mov r8d, 0x10
jmp 0x14003f63b
mov r11, rcx
mov qword [r11], r9
mov dword [r11 + 8], r10d
add rax, 0x10
add r8, 0x10
cmp rax, rdx
je 0x14003f959
mov r9, qword [rax]
cmp r9, qword [rax - 0x10]
jae 0x14003f62a
mov r10d, dword [rax + 8]
mov rdi, r8
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx + rdi - 0x10]
movdqu xmmword [rcx + rdi], xmm0
cmp rdi, 0x10
je 0x14003f620
lea r11, [rdi - 0x10]
cmp r9, qword [rcx + rdi - 0x20]
mov rdi, r11
jb 0x14003f650
add r11, rcx
jmp 0x14003f623
xor ebp, ebp
mov r15, rsi
test rax, rax
je 0x14003f5e4
lea rax, [r15 + rax*4]
mov qword [rsp + 0x28], rax
jmp 0x14003f692
mov r15, rsi
xor ebp, ebp
mov dword [rsp + 0x58], 0
mov edi, 0x48
mov dword [rsp + 0x68], 0x80
mov dword [rsp + 0x54], ebp
mov eax, dword [r15]
lea ecx, [rax - 0x30]
cmp ecx, 0xa
setb dl
lea r8d, [rax - 0x61]
cmp r8d, 0x1a
setb r9b
or r9b, dl
cmp r9b, 1
jne 0x14003fe7f
add eax, 0xffffffea
cmp ecx, 0xa
cmovb r8d, eax
lea r10d, [rdi + 0x1a]
add r15, 4
mov r11d, edi
neg r11d
mov ebx, 0x24
mov r9d, 1
mov ecx, dword [rsp + 0x58]
nop word [rax + rax]
mov eax, r8d
mul r9d
jo 0x14003fe7f
add ecx, eax
jb 0x14003fe7f
lea eax, [r11 + rbx]
cmp ebx, r10d
mov edx, 0x1a
cmovae eax, edx
cmp ebx, edi
mov edx, 1
cmovbe eax, edx
cmp r8d, eax
jb 0x14003f78a
mov edx, 0x24
sub edx, eax
mov eax, r9d
mul edx
jo 0x14003fe7f
cmp r15, qword [rsp + 0x28]
je 0x14003fe7f
mov r9d, eax
add ebx, 0x24
mov r8d, dword [r15]
lea eax, [r8 - 0x30]
lea edx, [r8 - 0x16]
add r8d, 0xffffff9f
cmp r8d, 0x1a
setb r14b
cmp eax, 0xa
cmovb r8d, edx
setb al
or al, r14b
add r15, 4
cmp al, 1
je 0x14003f700
jmp 0x14003fe7f
mov r10d, dword [rsp + 0x54]
inc r10d
je 0x140040330
mov eax, ecx
mov edx, dword [rsp + 0x58]
sub eax, edx
test edx, edx
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor edi, edi
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r10d
add eax, r8d
cmp eax, 0x1c8
mov r9d, 0xd41d41d5
jb 0x14003f809
xor edi, edi
nop word cs:[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 edi, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x14003f7e0
jmp 0x14003f80c
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov r14d, eax
mov eax, ecx
xor edx, edx
mov dword [rsp + 0x54], r10d
div r10d
mov dword [rsp + 0x58], edx
add dword [rsp + 0x68], eax
jb 0x14003fe7f
mov eax, dword [rsp + 0x68]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x14003fe7f
cmp dword [rsp + 0x68], 0x110000
je 0x14003fe7f
mov rax, qword [rsp + 0x6c8]
mov rcx, rax
lea rdx, [rsp + 0x318]
cmp rax, 0x3c
jb 0x14003f88e
mov rcx, qword [rsp + 0x318]
mov rdx, qword [rsp + 0x320]
mov ebx, dword [rsp + 0x58]
test rcx, rcx
je 0x14003f8c3
shl rcx, 4
xor eax, eax
jmp 0x14003f8a9
add rax, 0x10
cmp rcx, rax
je 0x14003f8bb
mov r8, qword [rdx + rax]
cmp r8, rbx
jb 0x14003f8a0
inc r8
mov qword [rdx + rax], r8
jmp 0x14003f8a0
mov rax, qword [rsp + 0x6c8]
cmp rax, 0x3c
jb 0x14003f8e3
mov rcx, qword [rsp + 0x318]
mov rdx, qword [rsp + 0x320]
lea r8, [rsp + 0x318]
jmp 0x14003f8fb
mov rcx, rax
lea rdx, [rsp + 0x318]
lea r8, [rsp + 0x6c8]
mov eax, 0x3b
cmp rcx, rax
je 0x14003f92d
shl rcx, 4
mov qword [rdx + rcx], rbx
mov eax, dword [rsp + 0x68]
mov dword [rdx + rcx + 8], eax
inc qword [r8]
movzx eax, r14w
add edi, eax
inc dword [rsp + 0x58]
cmp r15, qword [rsp + 0x28]
jne 0x14003f6ab
jmp 0x14003fc9c
lea rcx, [rsp + 0x310]
call fcn.1401166f0
mov rcx, qword [rsp + 0x318]
mov rdx, qword [rsp + 0x320]
lea r8, [rsp + 0x318]
jmp 0x14003f900
call fcn.1400471c0
mov rdi, qword [rsp + 0x6c8]
lea r15, [rsp + 0x318]
cmp rdi, 0x3c
jb 0x14003f97f
mov r15, qword [rsp + 0x320]
mov rdi, qword [rsp + 0x318]
lea rax, [rdi + rbp]
mov qword [rsp + 0x2f8], 0
mov dword [rsp + 0x208], 0
mov r14d, 0x3b
cmp rax, 0x3c
jb 0x14003fa0f
dec rax
bsr rcx, rax
xor rcx, 0x3f
je 0x140040318
mov rdx, 0xffffffffffffffff
shr rdx, cl
inc rdx
lea rcx, [rsp + 0x208]
call fcn.1400421c0
movabs rcx, 0x8000000000000001
cmp rax, rcx
jne 0x140040313
mov rdx, qword [rsp + 0x2f8]
cmp rdx, 0x3c
jb 0x14003fa13
mov rax, qword [rsp + 0x210]
mov r8, qword [rsp + 0x218]
lea rcx, [rsp + 0x210]
mov r14, rdx
jmp 0x14003fa26
xor eax, eax
jmp 0x14003fa16
mov rax, rdx
lea r8, [rsp + 0x20c]
lea rcx, [rsp + 0x2f8]
mov dword [rsp + 0x28], r12d
lea rbx, [rsi + rbp*4]
mov rdx, rax
sub rdx, r14
jae 0x14003faa5
lea r8, [r8 + rax*4]
xor ebp, ebp
xor r12d, r12d
jmp 0x14003fa6f
add r10, r15
inc rbp
add r10, 8
mov r9, rsi
mov r10d, dword [r10]
mov dword [r8 + r12*4], r10d
inc r12
mov r10, rdx
add r10, r12
je 0x14003faac
cmp rbp, rdi
jae 0x14003fa90
mov r10, rbp
shl r10, 4
cmp r12, qword [r15 + r10]
je 0x14003fa50
cmp rsi, rbx
jne 0x14003fa99
jmp 0x14003fe50
cmp rsi, rbx
je 0x14003fbad
lea r9, [rsi + 4]
mov r10, rsi
mov rsi, r9
jmp 0x14003fa5d
xor ebp, ebp
xor r12d, r12d
jmp 0x14003fab2
mov rsi, r9
mov rax, r14
mov qword [rcx], rax
jmp 0x14003faef
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x218]
lea rdx, [rsp + 0x210]
mov esi, dword [rsi]
cmp rax, r8
je 0x14003fb83
mov dword [rcx + rax*4], esi
inc qword [rdx]
inc r12
mov rsi, r14
cmp rbp, rdi
jae 0x14003fb30
mov rax, rbp
shl rax, 4
cmp r12, qword [r15 + rax]
jne 0x14003fb40
add rax, r15
inc rbp
add rax, 8
mov r14, rsi
mov rsi, rax
mov r8, qword [rsp + 0x2f8]
cmp r8, 0x3c
jae 0x14003fac0
jmp 0x14003fb5f
cmp rsi, rbx
jne 0x14003fb49
jmp 0x14003fbb3
cmp rsi, rbx
je 0x14003fe40
lea r14, [rsi + 4]
mov r8, qword [rsp + 0x2f8]
cmp r8, 0x3c
jae 0x14003fac0
mov rax, r8
lea rcx, [rsp + 0x20c]
lea rdx, [rsp + 0x2f8]
mov r8d, 0x3b
mov esi, dword [rsi]
cmp rax, r8
jne 0x14003fae3
lea rcx, [rsp + 0x208]
call fcn.1401163f0
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x218]
lea rdx, [rsp + 0x210]
jmp 0x14003fae3
add rax, r12
mov qword [rcx], rax
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsi]
mov rcx, rsi
cmp rax, 0xfe
jb 0x14003fbce
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov rbx, qword [rsp + 0xa8]
cmp rax, rbx
mov rdi, qword [rsp + 0x98]
mov r12d, dword [rsp + 0x28]
jbe 0x14003fbeb
mov qword [rcx], rbx
mov rax, qword [rsp + 0x2f8]
lea r9, [rsp + 0x20c]
cmp rax, 0x3c
jb 0x14003fc11
mov rax, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0xb8]
mov rdx, r13
mov r8, rbx
call fcn.140040350
test al, al
jne 0x140040252
cmp qword [rsp + 0x2f8], 0x3c
jb 0x14003fc53
mov r8, qword [rsp + 0x218]
mov rcx, qword [0x140177e28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x6c8], 0x3c
jb 0x14003fc75
mov r8, qword [rsp + 0x320]
mov rcx, qword [0x140177e28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdx, qword [rsi]
mov al, 1
mov qword [rsp + 0x68], rax
mov al, 1
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x48]
cmp rdx, 0xfe
jae 0x14003f329
jmp 0x14003f331
mov rdx, qword [rsp + 0x6c8]
cmp rdx, 0x3c
jb 0x14003f5e6
mov rdx, qword [rsp + 0x318]
mov rcx, qword [rsp + 0x320]
cmp rdx, 2
jb 0x14003f959
jmp 0x14003f5f8
and eax, 1
add r8, rbp
add r8, rax
mov al, 1
mov dl, 1
mov r15, qword [rsp + 0x90]
cmp cl, 0x2e
je 0x14003e066
jmp 0x14003ff16
mov rax, r9
mov rcx, qword [rsp + 0x38]
mov r9d, 8
cmp rax, r9
jne 0x14003e653
mov rdi, qword [rsp + 0x7b0]
mov rcx, rdi
mov rsi, r8
mov ebx, r10d
call fcn.140116930
mov r10d, ebx
mov r11, qword [rsp + 0x78]
mov r8, rsi
mov rsi, qword [rsp + 0x88]
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rsp + 0x38]
jmp 0x14003e653
mov rax, r9
mov rcx, qword [rsp + 0x38]
mov r9d, 8
mov r8, rdi
mov r11, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x88]
mov r10d, ebx
cmp rax, r9
je 0x14003fe00
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 1
mov qword [rcx + rax*8 + 8], r15
mov qword [rcx + rax*8 + 0x10], rbp
inc qword [rdx]
mov al, 1
xor edx, edx
mov r15, qword [rsp + 0x90]
test r10b, r10b
je 0x14003e066
jmp 0x14003ff16
cmp qword [rsp + 0x130], 0x12
jb 0x14003fdc1
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x140177e28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x1c8], 0
mov rsi, qword [rsp + 0x88]
je 0x14003fdeb
mov r8, qword [rsp + 0x1b8]
mov rcx, qword [0x140177e28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rsp + 0x1f8]
mov r11, qword [rsp + 0x78]
movzx r10d, byte [rsp + 0x46]
jmp 0x14003fd85
mov rsi, qword [rsp + 0x7b0]
mov rcx, rsi
call fcn.140116930
mov r10d, ebx
mov r11, qword [rsp + 0x78]
mov r8, rdi
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov rsi, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x38]
jmp 0x14003fd6c
jmp 0x14003fe40
jmp 0x14003fe50
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov word [rax + 8], 0x100
cmp qword [rsp + 0x130], 0x12
jae 0x14003fecb
cmp qword [rsp + 0x1c8], 0
jne 0x14003fef1
jmp 0x1400401e3
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov word [rax + 8], 0x100
cmp qword [rsp + 0x6c8], 0x3c
jb 0x14003fec0
mov r8, qword [rsp + 0x320]
mov rcx, qword [0x140177e28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x130], 0x12
jb 0x14003fe6f
jmp 0x14003fecb
cmp qword [rsp + 0x130], 0x12
jb 0x14003fe6f
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x140177e28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x1c8], 0
je 0x1400401e3
mov r8, qword [rsp + 0x1b8]
mov rcx, qword [0x140177e28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400401e3
movzx eax, al
and eax, 1
add r8, rax
mov r15, qword [rsp + 0x70]
mov rdi, qword [r15]
mov rbx, qword [rsp + 0x48]
cmp rdi, 0xfe
jb 0x14003ff34
mov rdi, qword [r13 + 8]
mov rbx, qword [r13 + 0x10]
test rdi, rdi
mov rax, qword [rsp + 0xb8]
je 0x14003ffe6
mov rax, qword [rax + 0x158]
mov qword [rsp + 0x28], rax
shl rdi, 2
xor r14d, r14d
movdqa xmm6, xmmword [0x14011c8e0]
movdqa xmm7, xmmword [0x14011c680]
movdqa xmm8, xmmword [0x14011c8f0]
mov ebp, 0x2022
jmp 0x14003ff89
add r14, 4
cmp rdi, r14
je 0x14003ffe6
mov edx, dword [rbx + r14]
cmp edx, 0x590
jb 0x14003ff80
movd xmm0, edx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm6
pxor xmm0, xmm7
pcmpgtd xmm0, xmm8
movmskps eax, xmm0
cmp eax, 0xf
jne 0x14003ff80
mov rcx, qword [rsp + 0x28]
mov rsi, r8
call fcn.1400472c0
mov r8, rsi
movzx eax, al
bt ebp, eax
jae 0x14003ff80
mov rdx, qword [r15]
cmp rdx, 0xfe
jb 0x14004000b
mov rdx, qword [r13 + 8]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x48], rax
jmp 0x14004000b
xor ebp, ebp
mov rax, qword [rsp + 0x30]
mov qword [rax], r8
mov byte [rax + 8], bpl
mov byte [rax + 9], 0
jmp 0x1400401e3
cmp r15d, 0x2e
mov r8, rsi
mov rdx, qword [rsp + 0x70]
jne 0x14003ffe8
mov r14, qword [rsp + 0x48]
mov bpl, 1
test rdx, rdx
je 0x14003ffe8
lea rax, [rdx*4]
xor r13d, r13d
nop word cs:[rax + rax]
mov r15d, dword [r14 + r13*4]
cmp r15d, 0x2e
je 0x140040059
inc r13
add rax, 0xfffffffffffffffc
jne 0x140040030
mov eax, 4
mov qword [rsp + 0x48], rax
mov r13, rdx
xor eax, eax
mov qword [rsp + 0x70], rax
jmp 0x140040072
lea rax, [r13 + 1]
lea rcx, [r14 + r13*4]
add rcx, 4
mov qword [rsp + 0x48], rcx
sub rdx, rax
mov qword [rsp + 0x70], rdx
test r13, r13
je 0x14003fffd
mov edx, dword [r14]
mov rcx, qword [rsp + 0x28]
call fcn.1400472c0
mov ebx, eax
movzx eax, al
mov ecx, 0x2003
bt ecx, eax
jae 0x1400401d1
mov r12, r13
dec r12
je 0x14003fffd
mov edx, dword [r14 + r13*4 - 4]
mov rcx, qword [rsp + 0x28]
call fcn.1400472c0
cmp al, 0x11
jne 0x1400400e0
nop word cs:[rax + rax]
cmp r12, 1
je 0x14003fffd
mov edx, dword [r14 + r12*4 - 4]
mov rcx, qword [rsp + 0x28]
call fcn.1400472c0
dec r12
cmp al, 0x11
je 0x1400400c0
test bl, bl
mov ecx, 0x2026
mov edx, 5
cmove ecx, edx
movzx edx, al
bt ecx, edx
jae 0x1400401d1
shl r12, 2
test bl, bl
je 0x14004017d
cmp r12, 4
je 0x14003fffd
mov ebx, 4
xor r13d, r13d
jmp 0x14004013a
cmp cl, 5
sete al
add al, al
cmp cl, 2
movzx r13d, al
mov eax, 1
cmove r13d, eax
mov eax, edi
add rbx, 4
cmp r12, rbx
je 0x1400401b5
mov edi, eax
mov edx, dword [r14 + rbx]
mov rcx, qword [rsp + 0x28]
call fcn.1400472c0
mov ecx, eax
movzx eax, al
mov edx, 0x6247e
bt edx, eax
jae 0x1400401d1
test r13b, r13b
je 0x140040117
movzx eax, r13b
cmp eax, 1
mov eax, edi
jne 0x140040173
mov r13b, 1
cmp cl, 5
jne 0x140040131
jmp 0x1400401d1
mov r13b, 2
cmp cl, 2
jne 0x140040131
jmp 0x1400401d1
cmp r12, 4
je 0x14003fffd
mov edi, 4
mov edx, dword [r14 + rdi]
mov rcx, qword [rsp + 0x28]
call fcn.1400472c0
movzx eax, al
mov ecx, 0x6045d
bt ecx, eax
jae 0x1400401d1
add rdi, 4
cmp r12, rdi
jne 0x14004018c
jmp 0x14003fffd
cmp al, 5
jne 0x1400401bf
cmp r13b, 1
je 0x1400401d1
cmp al, 2
jne 0x14003fffd
cmp r13b, 2
jne 0x14003fffd
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov word [rax + 8], 0x100
movaps xmm6, xmmword [rsp + 0x710]
movaps xmm7, xmmword [rsp + 0x720]
movaps xmm8, xmmword [rsp + 0x730]
add rsp, 0x748
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov word [rax + 8], 0x100
lea rcx, [rsp + 0x208]
call fcn.140042860
jmp 0x140040243
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov word [rax + 8], 0x100
lea rcx, [rsp + 0x310]
call fcn.140042840
jmp 0x1400401e3
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov word [rax + 8], 0x100
cmp qword [rsp + 0x2f8], 0x3c
jb 0x14003fe91
mov r8, qword [rsp + 0x218]
mov rcx, qword [0x140177e28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14003fe91
lea rcx, str.assertion_failed:_end___len
lea r8, [0x140139a38]
mov edx, 0x1c
call fcn.140113740
lea r8, [0x1401397b8]
mov rcx, rbx
mov rdx, rax
call fcn.1401135b0
lea r8, [0x140139800]
mov rcx, rbx
call fcn.1401135b0
lea rcx, str.assertion_failed:_index___len
lea r8, [0x140139a70]
mov edx, 0x1d
call fcn.140113740
lea r8, [0x1401397d0]
mov rdx, rax
call fcn.1401135b0
lea rcx, str.internal_error:_entered_unreachable_codeC:UsersMrtn.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.42.0_src_runtime_blocking_schedule.rs_M
lea r8, [0x140139818]
mov edx, 0x28
call fcn.140113740
lea r8, [0x1401397e8]
call fcn.1401135b0
test rax, rax
jne 0x14004033c
lea rcx, str.capacity_overflow
lea r8, [0x1401399e8]
mov edx, 0x11
call fcn.140113740
lea rcx, str.C:UsersMrtn.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_1.0.3_srcpunycode.rs
call fcn.1401138e0
mov rcx, rax
call fcn.1401131d0
int3