Function at 0x140042190
Capabilities:
Encrypt data using speck

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 r14, r9
mov r12, rdx
mov qword [rsp + 0x30], rcx
movabs rax, 0x900000007fffffff
mov qword [rsp + 0x1f8], rax
movabs rax, 0xd4008029ffffffff
mov qword [rsp + 0x1f0], rax
cmp qword [rdx + 0x48], 0
jne 0x14004223e
mov r11, qword [r12 + 0x50]
cmp qword [r12 + 0xf0], 0
je 0x14004224e
lea rax, [r12 + 0xf8]
mov qword [rsp + 0xf0], rax
cmp qword [r12 + 8], 0
je 0x140042266
lea rax, [r12 + 0x10]
mov qword [rsp + 0xd8], rax
cmp qword [r12 + 0xa0], 0
je 0x14004227e
lea rax, [r12 + 0xa8]
jmp 0x140042286
lea r11, [r12 + 0x50]
cmp qword [r12 + 0xf0], 0
jne 0x140042204
mov rax, qword [r12 + 0xf8]
mov qword [rsp + 0xf0], rax
cmp qword [r12 + 8], 0
jne 0x14004221c
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0xd8], rax
cmp qword [r12 + 0xa0], 0
jne 0x140042234
mov rax, qword [r12 + 0xa8]
mov qword [rsp + 0xe8], rax
mov rbp, qword [rsp + 0x7c0]
mov rcx, qword [r12 + 0x40]
cmp qword [r12 + 0x130], 0
jne 0x1400422b0
mov rax, qword [r12 + 0x138]
jmp 0x1400422b8
lea rax, [r12 + 0x138]
mov qword [rsp + 0xe0], rax
mov rdi, qword [rsp + 0x7b8]
sub r8, rbp
lea r13, [r14 + 0x3f8]
lea rax, [r14 + 4]
mov qword [rsp + 0x50], rax
lea rax, [r14 + 8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x7b0]
lea rdx, [rax + 0xc8]
mov qword [rsp + 0xa0], rdx
add rax, 8
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x200], rcx
cmp rcx, 2
cmove r11, rax
pxor xmm6, xmm6
movdqa xmm7, xmmword [str.xn__]
movzx eax, byte [r12]
mov byte [rsp + 0x4f], al
movzx eax, byte [r12 + 0x12a]
mov dword [rsp + 0xd4], eax
movzx eax, word [r12 + 0x128]
mov dword [rsp + 0xd0], eax
mov dl, 1
xor eax, eax
mov qword [rsp + 0x70], r14
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x90], r11
test rbp, rbp
je 0x1400423b0
xor r15d, r15d
nop word cs:[rax + rax]
movzx ecx, byte [rdi + r15]
cmp cl, 0x2e
setne sil
je 0x1400423d0
inc r15
cmp rbp, r15
jne 0x140042380
mov qword [rsp + 0x98], rdi
mov r15, rbp
test rdi, rdi
jne 0x1400423ef
jmp 0x14004420f
test dl, 1
jne 0x140044206
mov sil, 1
xor ebp, ebp
mov qword [rsp + 0x98], rdi
xor r15d, r15d
jmp 0x140042420
lea r9, [r15 + 1]
sub rbp, r9
lea r9, [rdi + r15]
inc r9
mov qword [rsp + 0x98], r9
test rdi, rdi
je 0x14004420f
test dl, 1
je 0x140042420
movzx eax, al
cmp r15, 3
jbe 0x1400425b2
cmp byte [rdi + 2], 0x2d
jne 0x1400425bb
cmp byte [rdi + 3], 0x2d
jne 0x1400425bb
jmp 0x140043f20
test al, 1
je 0x140042440
mov r9, qword [r13]
cmp r9, 0xfe
jb 0x140042494
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rsp + 0x58]
jmp 0x1400424a5
mov rax, qword [r13]
mov rbx, rax
cmp rax, 0xfe
jb 0x1400424d0
mov rax, qword [rsp + 0x58]
mov rbx, qword [rax]
test r15, r15
mov byte [rsp + 0x2f], sil
jne 0x1400424da
mov rdx, qword [rsp + 0xa0]
mov r9, qword [rdx]
cmp r9, 9
jb 0x14004257c
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x40]
jmp 0x14004258a
mov rax, r9
mov rcx, qword [rsp + 0x50]
mov rdx, r13
mov r9d, 0xfd
cmp rax, r9
je 0x14004401c
mov dword [rcx + rax*4], 0x2e
inc qword [rdx]
mov rax, qword [r13]
mov rbx, rax
cmp rax, 0xfe
jae 0x140042453
nop word [rax + rax]
test r15, r15
mov byte [rsp + 0x2f], sil
je 0x140042465
xor r9d, r9d
mov qword [rsp + 0x80], rbp
nop word cs:[rax + rax]
cmp byte [rdi + r9], 0
js 0x140042530
inc r9
cmp r15, r9
jne 0x1400424f0
mov eax, 1
mov qword [rsp + 0x38], rax
mov r9, r15
cmp r9, 4
jae 0x140042633
mov r12b, 1
mov qword [rsp + 0x78], 0
xor ebp, ebp
test r9, r9
jne 0x1400427a3
jmp 0x140042567
test r9, r9
je 0x140042600
lea rax, [rdi + r9]
dec rax
mov qword [rsp + 0x38], rax
dec r9
mov rbp, r15
sub rbp, r9
je 0x140042614
xor r12d, r12d
mov al, 1
mov qword [rsp + 0x78], rax
test r9, r9
jne 0x1400427a3
mov al, 1
test r12b, r12b
mov r14, qword [rsp + 0x38]
jne 0x1400428ab
jmp 0x1400428e0
mov rax, r9
mov rcx, qword [rsp + 0x40]
mov r9d, 8
cmp rax, r9
je 0x14004404c
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0
mov qword [rcx + rax*8 + 8], rdi
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x140043f9e
test r15, r15
je 0x140043f0f
movzx edx, byte [rdi]
add dl, 0x9f
cmp dl, 0x19
ja 0x140043f20
mov edx, 1
nop
cmp r15, rdx
je 0x140043f14
movzx r10d, byte [rdi + rdx]
inc rdx
cmp r10b, 0x2d
je 0x1400425d0
lea r9d, [r10 - 0x61]
cmp r9b, 0x1a
jb 0x1400425d0
add r10b, 0xd0
cmp r10b, 0xa
jb 0x1400425d0
jmp 0x140043f20
mov al, 1
mov qword [rsp + 0x78], rax
mov r14, rdi
mov rbp, r15
mov al, 1
jmp 0x1400428e0
mov r14, qword [rsp + 0x70]
mov r12, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x80]
cmp r9, 4
jb 0x140042516
mov eax, dword [rdi]
mov ecx, 0xffffdfdf
and eax, ecx
cmp eax, 0x2d2d4e58
jne 0x140042795
cmp byte [r9 + rdi - 1], 0x2d
lea rcx, [rsp + 0x6d8]
je 0x1400444c1
add r9, 0xfffffffffffffffc
cmp r9, 0x7d1
jae 0x1400444c1
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x310], 0
mov qword [rsp + 0x6c8], 0
lea r8, [rdi + 4]
lea rdx, [rsp + 0x310]
mov rsi, rcx
call fcn.1400458a0
cmp qword [rsp + 0x6d8], 0
je 0x140044521
mov qword [rsp + 0x2f8], 0
mov dword [rsp + 0x208], 0
lea rcx, [rsp + 0x208]
mov rdx, rsi
call fcn.1400460a0
mov rax, qword [rsp + 0x2f8]
lea r9, [rsp + 0x20c]
cmp rax, 0x3c
jb 0x1400426fc
mov rax, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, r14
mov r8, rbx
call fcn.140044640
test al, al
movzx esi, byte [rsp + 0x2f]
jne 0x140044500
mov rcx, r14
mov rdx, rbx
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_1.0.3_srcuts46.rsPunycode_overflows_should_not_be_possible_due_to_PUNYCODE_ENCODE_MAX_INPUT_LENGTH
call fcn.140046f20
mov r8, rdx
mov byte [rsp + 0x20], 1
mov rcx, r12
mov rdx, rax
mov r9b, 1
call fcn.140045520
test al, al
jne 0x140044500
lea rcx, [rsp + 0x208]
call fcn.140046ee0
lea rcx, [rsp + 0x310]
call fcn.140046ea0
mov rdx, qword [rsp + 0xa0]
mov r9, qword [rdx]
cmp r9, 9
jb 0x140043f61
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x40]
jmp 0x140043f6f
mov r12b, 1
xor ebp, ebp
mov qword [rsp + 0x78], 0
mov r14, rdi
nop word cs:[rax + rax]
test r14, r14
je 0x14004289f
movzx esi, byte [r14]
xor eax, eax
mov ecx, esi
mov edx, 1
shld rax, rdx, cl
shl rdx, cl
test sil, 0x40
cmovne rax, rdx
mov ecx, 0
cmovne rdx, rcx
and rax, qword [rsp + 0x1f8]
and rdx, qword [rsp + 0x1f0]
or rdx, rax
je 0x140042802
lea eax, [rsi - 0x41]
cmp al, 0x19
ja 0x1400444c1
or sil, 0x20
mov r10, qword [r13]
cmp r10, 0xfe
jb 0x140042830
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x58]
jmp 0x140042841
mov rax, r10
mov rcx, qword [rsp + 0x50]
mov rdx, r13
mov r10d, 0xfd
cmp rax, r10
je 0x140042864
inc r14
movzx r10d, sil
mov dword [rcx + rax*4], r10d
inc qword [rdx]
dec r9
movzx esi, byte [rsp + 0x2f]
jne 0x1400427b0
jmp 0x14004289f
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x68], r9
mov r13, r8
call fcn.1400467d0
mov r11, qword [rsp + 0x90]
mov r8, r13
mov r13, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x58]
jmp 0x140042846
xor eax, eax
test r12b, r12b
mov r14, qword [rsp + 0x38]
je 0x1400428e0
mov rdx, qword [rsp + 0xa0]
mov r9, qword [rdx]
cmp r9, 9
jb 0x140043ed2
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x40]
jmp 0x140043ee0
mov dword [rsp + 0x8c], eax
movups xmm0, xmmword [rsp + 0x300]
movaps xmmword [rsp + 0x310], xmm0
mov rdx, qword [rsp + 0xa0]
mov r9, qword [rdx]
cmp r9, 9
jb 0x14004291f
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x40]
jmp 0x14004292d
mov rax, r9
mov rcx, qword [rsp + 0x40]
mov r9d, 8
mov r15, rbx
cmp rax, r9
je 0x14004407f
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 qword [rsp + 0x200], 2
jne 0x140042964
xor eax, eax
jmp 0x14004296b
movzx eax, byte [r11 + 0x4a]
and al, 1
mov qword [rsp + 0xa8], r8
mov r9, qword [rsp + 0xf0]
mov rcx, qword [r9]
mov rdx, qword [r9 + 8]
mov r8, qword [r9 + 0x18]
mov r9, qword [r9 + 0x20]
test byte [rsp + 0x4f], 1
je 0x1400429aa
mov r11, qword [rsp + 0xd8]
mov rdi, qword [r11]
mov rsi, qword [r11 + 8]
mov r10, qword [r11 + 0x18]
mov r11, qword [r11 + 0x20]
jmp 0x1400429ba
mov r10d, 1
xor r11d, r11d
xor esi, esi
mov edi, 1
mov qword [rsp + 0x360], r14
mov qword [rsp + 0x368], rbp
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 + 0xbf]
mov byte [r14 + 0xbb], bl
movzx ebx, word [rsp + 0xbd]
mov word [r14 + 0xb9], bx
mov rbx, qword [rsp + 0xe8]
mov qword [rsp + 0x370], rbx
mov rbx, qword [rsp + 0x90]
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 + 0xd4]
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.140048260
mov r8d, 0xd0
lea rdi, [rsp + 0x208]
mov rcx, rdi
mov rdx, rsi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov rax, qword [rsp + 0xe0]
movdqu xmm8, xmmword [rax]
mov r8d, 0xd0
lea rcx, [rsp + 0xf8]
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
movdqu xmmword [rsp + 0x1c8], xmm8
mov qword [rsp + 0x1d8], 0
mov dword [rsp + 0x1e0], 0x110000
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x1e4], eax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x1e8], rax
mov eax, 0x110000
nop dword [rax]
mov qword [rsp + 0xc8], r15
xor ebp, ebp
cmp eax, 0x110000
jne 0x140042d00
mov rax, qword [rsp + 0x140]
lea rcx, [rsp + 0xfc]
mov r8, rax
cmp rax, 0x12
jb 0x140042bce
mov r8, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x1a0]
cmp rdx, r8
jae 0x140042c20
mov ecx, dword [rcx + rdx*4]
inc rdx
mov qword [rsp + 0x1a0], rdx
cmp rax, 0x12
jb 0x140042cb9
cmp rdx, qword [rsp + 0x100]
jne 0x140042cde
mov rax, qword [rsp + 0x100]
lea r8, [rsp + 0x100]
jmp 0x140042cc6
mov r15d, dword [rsp + 0x1b0]
mov rdi, qword [rsp + 0x1b4]
mov dword [rsp + 0x1b0], 0x110000
mov bl, 1
cmp r15d, 0x110000
je 0x140043410
cmp r15d, dword [rsp + 0x1e4]
jb 0x140042c5d
cmp edi, 2
jae 0x14004329d
lea rcx, [rsp + 0x310]
lea rdx, [rsp + 0xf8]
call fcn.140048b20
mov eax, dword [rsp + 0x310]
cmp eax, 0x110000
je 0x140043378
mov edx, dword [rsp + 0x314]
mov ecx, dword [rsp + 0x318]
cmp eax, dword [rsp + 0x1e4]
jae 0x14004331c
mov dword [rsp + 0x1b0], eax
mov dword [rsp + 0x1b4], edx
mov dword [rsp + 0x1b8], ecx
jmp 0x140043378
lea r8, [rsp + 0x140]
cmp rdx, rax
jne 0x140042cde
test rax, rax
je 0x140042cd2
mov qword [r8], 0
mov qword [rsp + 0x1a0], 0
mov r15d, ecx
and r15d, 0xffffff
cmp ecx, 0xffffff
ja 0x140043387
mov dword [rsp + 0x1e0], r15d
nop dword [rax]
xor edi, edi
xor r15d, r15d
xor esi, esi
jmp 0x140042d26
mov rdi, qword [rsp + 0x1b4]
mov dword [rsp + 0x1b0], 0x110000
mov sil, 1
mov eax, dword [rsp + 0x1e0]
mov dword [rsp + 0x1e0], 0x110000
cmp eax, 0x110000
jne 0x140042dd0
lea rcx, [rsp + 0xf8]
mov edx, r15d
mov r8d, edi
call fcn.140048260
mov edi, eax
mov r15, qword [rsp + 0x1c8]
mov rbx, qword [rsp + 0x1d0]
test sil, 1
je 0x140042df0
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 0x140043219
lea rcx, [rsp + 0x310]
mov edx, ebp
mov r8d, edi
call fcn.140040940
cmp eax, 0x110000
jne 0x140042df2
jmp 0x140043360
mov r15, qword [rsp + 0x1c8]
mov rbx, qword [rsp + 0x1d0]
jmp 0x140042df2
mov eax, edi
mov rsi, qword [rsp + 0x140]
cmp rsi, 0x12
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x108]
mov r14, qword [rsp + 0x1a0]
mov rdi, rsi
mov qword [rsp + 0x38], rcx
cmovae rsi, rcx
lea r13, [rsp + 0xfc]
mov qword [rsp + 0x68], rdx
cmovae r13, rdx
jmp 0x140042e65
lea rcx, [rsp + 0x310]
mov edx, ebp
call fcn.140040940
cmp eax, 0x110000
je 0x140042f30
inc r14
mov qword [rsp + 0x1a0], r14
mov ebp, eax
cmp r14, rsi
jae 0x140042f50
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 0x140042e40
cmp eax, 0x15
jae 0x140042ee0
lea ecx, [rbp - 0x1100]
cmp ecx, 0x13
jae 0x140042f30
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 0x140042e5a
lea eax, [r8 - 0x11a8]
cmp eax, 0x1b
jae 0x140042f30
lea eax, [rbp - 0xac00]
cmp eax, 0x2ba3
ja 0x140042f30
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 0x140042f30
lea eax, [r8 + rbp]
add eax, 0xffffee59
jmp 0x140042e5a
cmp rdi, 0x12
jb 0x140043010
lea rax, [rsp + 0x100]
mov rcx, qword [rsp + 0x38]
cmp rcx, r14
jmp 0x14004301e
cmp rdi, 0x12
mov rax, qword [rsp + 0x38]
cmovb rax, rdi
test rax, rax
je 0x140042f82
xor eax, eax
cmp rdi, 0x12
setb al
shl eax, 6
mov qword [rsp + rax + 0x100], 0
mov rdi, qword [rsp + 0x140]
mov r13, qword [rsp + 0x60]
mov qword [rsp + 0x1a0], 0
cmp rdi, 0x12
jb 0x140042fa1
mov rdi, qword [rsp + 0x100]
test rdi, rdi
jne 0x140043295
mov r15d, dword [rsp + 0x1b0]
cmp r15d, 0x110000
je 0x140043295
cmp r15d, dword [rsp + 0x1e4]
jb 0x140043295
mov eax, dword [rsp + 0x1b4]
lea ecx, [rax - 0x1161]
cmp ecx, 0x62
jb 0x140042d10
mov ecx, eax
and ecx, 0xffffff00
cmp ecx, 0xd800
je 0x140042d10
dec eax
cmp eax, 1
jbe 0x140042d10
jmp 0x140043295
mov rcx, rdi
lea rax, [rsp + 0x140]
cmp rdi, r14
mov r13, qword [rsp + 0x60]
jb 0x140044582
mov qword [rax], 0
mov rsi, rcx
sub rsi, r14
je 0x1400430ad
mov rbx, qword [rsp + 0x140]
cmp rbx, 0x12
jb 0x14004305d
mov rbx, qword [rsp + 0x100]
lea rax, [rsp + 0x100]
cmp r14, rbx
jne 0x14004306f
jmp 0x1400430aa
lea rax, [rsp + 0xfc]
mov qword [rsp + 0x68], rax
cmp r14, rbx
je 0x1400430a2
mov rax, qword [rsp + 0x68]
lea rdx, [rax + r14*4]
lea rcx, [rax + rbx*4]
lea r8, [rsi*4]
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
add rbx, rsi
cmp qword [rsp + 0x140], 0x11
mov rcx, rbx
lea rax, [rsp + 0x100]
ja 0x1400430aa
lea rax, [rsp + 0x140]
mov qword [rax], rcx
mov qword [rsp + 0x1a0], 0
cmp r12d, 0x1000000
jb 0x140043295
shr r12d, 0x18
mov esi, 1
mov r13, qword [rsp + 0x140]
cmp r13, 0x12
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov r15, qword [rsp + 0x1c8]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x68], rax
cmovae r13, rax
mov r14, qword [rsp + 0x1d0]
lea rbx, [rsp + 0xfc]
mov qword [rsp + 0xc0], rcx
cmovae rbx, rcx
jmp 0x140043126
inc rsi
mov r12d, edi
cmp rsi, r13
jae 0x140043200
mov r8d, dword [rbx + rsi*4]
cmp r8d, 0x1000000
jb 0x140043370
mov edi, r8d
shr edi, 0x18
cmp r12b, dil
je 0x140043120
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.140040940
cmp eax, 0x110000
je 0x140043120
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x12
mov r9, qword [rsp + 0x68]
cmovb r9, rdx
cmp r9, rsi
jbe 0x1400445bb
xor ecx, ecx
cmp rdx, 0x12
setb cl
lea rdx, [rsp + 0xfc]
mov r8, qword [rsp + 0xc0]
cmovb r8, rdx
shl ecx, 6
lea rdx, [r9 - 1]
mov qword [rsp + rcx + 0x100], rdx
lea rcx, [r8 + rsi*4]
lea rdx, [r8 + rsi*4]
add rdx, 4
mov r8, rsi
not r8
add r8, r9
shl r8, 2
mov edi, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov ebp, edi
jmp 0x1400430cf
mov r13, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
cmp rdi, 0x12
jae 0x140042f99
jmp 0x140042fa1
cmp eax, 0x15
jae 0x140043248
lea ecx, [rbp - 0x1100]
cmp ecx, 0x13
jae 0x140043360
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 0x140042df2
lea eax, [rdi - 0x11a8]
cmp eax, 0x1b
jae 0x140043360
lea eax, [rbp - 0xac00]
cmp eax, 0x2ba3
ja 0x140043360
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 0x140043360
lea eax, [rdi + rbp]
add eax, 0xffffee59
jmp 0x140042df2
mov r15d, ebp
jmp 0x140043378
bt rdi, 0x20
jb 0x140042d05
cmp edi, 0x10000
jb 0x140042d05
test di, di
je 0x140042c5d
movzx eax, di
cmp eax, 1
je 0x140042d05
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 0x140042d05
lea edx, [r15 - 0xfb4f]
cmp edx, 0xffffffcd
ja 0x140042d05
or al, cl
jne 0x140042c5d
jmp 0x140042d05
mov r8d, edx
and r8d, 0xffffff00
cmp r8d, 0xd800
sete r8b
lea r9d, [rdx - 1]
cmp r9d, 2
setb r9b
or r9b, r8b
je 0x140043b37
mov dword [rsp + 0x1b0], eax
mov dword [rsp + 0x1b4], edx
mov dword [rsp + 0x1b8], ecx
jmp 0x140042d05
mov dword [rsp + 0x1e0], edi
nop word [rax + rax]
mov r15d, ebp
mov r13, qword [rsp + 0x60]
mov bl, 1
cmp r15d, 0x110000
je 0x140043410
cmp r15d, 0x7f
ja 0x1400433c8
xor eax, eax
mov ecx, r15d
mov edx, 1
shld rax, rdx, cl
shl rdx, cl
mov rcx, qword [rsp + 0x1e8]
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 0x140044142
xor ebx, ebx
cmp r15d, 0x2e
je 0x140043410
cmp r15d, 0x110000
je 0x140043410
cmp r15d, 0xfffd
je 0x140044142
mov r8, qword [r13]
cmp r8, 0xfe
jb 0x14004368a
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x58]
jmp 0x1400436a0
mov rdx, qword [r13]
mov rcx, qword [rsp + 0x50]
mov rax, rdx
cmp rdx, 0xfe
mov r14, qword [rsp + 0x70]
jb 0x140043432
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov r8, rax
mov rdi, qword [rsp + 0xc8]
sub r8, rdi
mov r12, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x80]
jb 0x14004459a
cmp r8, 4
jb 0x140043474
movdqu xmm0, xmmword [rcx + rdi*4]
pcmpeqb xmm0, xmm7
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x1400435c4
mov rax, qword [rsp + 0x50]
cmp rdx, 0xfe
jb 0x14004348a
mov rdx, qword [r14 + 8]
mov rax, qword [r14 + 0x10]
mov r8, rdx
sub r8, rdi
jb 0x1400445ac
lea rdx, [rax + rdi*4]
mov rax, qword [rsp + 0x78]
and al, 1
mov byte [rsp + 0x20], al
mov r9d, dword [rsp + 0x8c]
and r9b, 1
mov rcx, r12
call fcn.140045520
test al, al
jne 0x140044142
test bl, bl
jne 0x140043fbb
mov r8, qword [r13]
cmp r8, 0xfe
jb 0x1400434f0
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rsp + 0x58]
jmp 0x140043501
mov rax, r8
mov rcx, qword [rsp + 0x50]
mov rdx, r13
mov r8d, 0xfd
mov rsi, qword [rsp + 0xa0]
cmp rax, r8
je 0x140043e23
mov dword [rcx + rax*4], 0x2e
inc qword [rdx]
mov r15, qword [r13]
cmp r15, 0xfe
jb 0x140043531
mov rax, qword [rsp + 0x58]
mov r15, qword [rax]
movups xmm0, xmmword [rsp + 0x300]
movaps xmmword [rsp + 0x310], xmm0
mov r8, qword [rsi]
cmp r8, 9
jb 0x140043570
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rsp + 0x40]
jmp 0x140043581
mov rax, r8
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
mov r8d, 8
cmp rax, r8
je 0x140043e3d
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 + 0x78], rax
mov eax, dword [rsp + 0x1e0]
mov cl, 1
mov dword [rsp + 0x8c], ecx
jmp 0x140042b90
mov rax, rdx
mov r8, qword [rsp + 0x50]
cmp rdx, 0xfe
jb 0x1400435dd
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
lea rcx, [rdi + 4]
cmp rax, rcx
jb 0x1400445d3
je 0x140043614
shl rax, 2
lea r9, [rdi*4 + 0x10]
nop dword [rax + rax]
cmp dword [r8 + r9], 0x7f
ja 0x140044142
add r9, 4
cmp rax, r9
jne 0x140043600
mov rax, rdx
mov r8, qword [rsp + 0x50]
cmp rdx, 0xfe
jb 0x14004362d
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
test rax, rax
je 0x1400445ee
cmp dword [r8 + rax*4 - 4], 0x2d
je 0x140044142
cmp rdx, 0xfe
jb 0x1400436c4
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
sub rax, rdi
add rax, 0xfffffffffffff82b
cmp rax, 0xfffffffffffff82f
jb 0x140044142
mov qword [rsp + 0x310], 0
mov qword [rsp + 0x6c8], 0
mov rdx, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
jmp 0x1400436f9
mov rax, r8
mov rcx, qword [rsp + 0x50]
mov rdx, r13
mov r8d, 0xfd
mov rsi, qword [rsp + 0x70]
cmp rax, r8
je 0x140043eae
mov dword [rcx + rax*4], r15d
inc qword [rdx]
mov eax, dword [rsp + 0x1e0]
mov r15, qword [rsp + 0xc8]
jmp 0x140042b90
mov rax, rdx
sub rax, rdi
add rax, 0xfffffffffffff82b
cmp rax, 0xfffffffffffff82f
jb 0x140044142
mov qword [rsp + 0x310], 0
mov qword [rsp + 0x6c8], 0
mov r8, qword [rsp + 0x50]
mov rax, rdx
sub rax, rcx
jb 0x1400445e2
lea rsi, [r8 + rcx*4]
lea rcx, [r8 + rdx*4]
mov qword [rsp + 0x38], rcx
shl rdx, 2
lea r9, [rdi*4 + 0x10]
mov rbp, rax
mov dword [rsp + 0xc0], ebx
nop dword [rax + rax]
cmp r9, rdx
je 0x14004385a
mov rcx, rbp
dec rbp
cmp dword [r8 + rdx - 4], 0x2d
lea rdx, [rdx - 4]
jne 0x140043730
test rbp, rbp
je 0x140043873
sub rax, rcx
lea r15, [rsi + rcx*4]
test rax, rax
jne 0x140043868
xor edx, edx
lea rcx, [rsp + 0x318]
cmp rdx, 2
jae 0x140043e06
mov rdi, qword [rsp + 0x6c8]
lea r15, [rsp + 0x318]
cmp rdi, 0x3c
jb 0x14004379e
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 0x140043b33
dec rax
bsr rcx, rax
xor rcx, 0x3f
je 0x14004460b
mov rdx, 0xffffffffffffffff
shr rdx, cl
inc rdx
lea rcx, [rsp + 0x208]
call fcn.140046350
movabs rcx, 0x8000000000000001
cmp rax, rcx
jne 0x140044606
mov rdx, qword [rsp + 0x2f8]
cmp rdx, 0x3c
jb 0x140043b62
mov rax, qword [rsp + 0x210]
mov r8, qword [rsp + 0x218]
lea rcx, [rsp + 0x210]
mov r14, rdx
lea rbx, [rsi + rbp*4]
mov rdx, rax
sub rdx, r14
jb 0x140043b85
xor ebp, ebp
xor r12d, r12d
mov qword [rcx], rax
cmp rbp, rdi
jae 0x140043c00
jmp 0x140043c10
xor ebp, ebp
mov r15, rsi
test rax, rax
je 0x140043764
lea rax, [r15 + rax*4]
mov qword [rsp + 0x38], rax
jmp 0x140043878
mov r15, rsi
xor ebp, ebp
xor r12d, r12d
mov edi, 0x48
mov dword [rsp + 0x68], pe_nt_image_headers64
mov dword [rsp + 0x78], 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 0x14004416f
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, r12d
nop word [rax + rax]
mov eax, r8d
mul r9d
jo 0x14004416f
add ecx, eax
jb 0x14004416f
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 0x14004396a
mov edx, 0x24
sub edx, eax
mov eax, r9d
mul edx
jo 0x14004416f
cmp r15, qword [rsp + 0x38]
je 0x14004416f
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 0x1400438e0
jmp 0x14004416f
mov r10d, dword [rsp + 0x78]
inc r10d
mov r9d, 0xd41d41d5
je 0x140044623
mov eax, ecx
sub eax, r12d
test r12d, r12d
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
jb 0x1400439d9
xor edi, edi
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 0x1400439b0
jmp 0x1400439dc
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 + 0x78], r10d
div r10d
mov r12d, edx
add dword [rsp + 0x68], eax
setb al
test al, al
jne 0x14004416f
mov eax, dword [rsp + 0x68]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x14004416f
cmp dword [rsp + 0x68], 0x110000
je 0x14004416f
mov rax, qword [rsp + 0x6c8]
mov rcx, rax
lea rdx, [rsp + 0x318]
cmp rax, 0x3c
jb 0x140043a62
mov rcx, qword [rsp + 0x318]
mov rdx, qword [rsp + 0x320]
mov ebx, r12d
test rcx, rcx
je 0x140043aa3
shl rcx, 4
xor eax, eax
jmp 0x140043a89
add rax, 0x10
cmp rcx, rax
je 0x140043a9b
mov r8, qword [rdx + rax]
cmp r8, rbx
jb 0x140043a80
inc r8
mov qword [rdx + rax], r8
jmp 0x140043a80
mov rax, qword [rsp + 0x6c8]
cmp rax, 0x3c
jb 0x140043ac3
mov rcx, qword [rsp + 0x318]
mov rdx, qword [rsp + 0x320]
lea r8, [rsp + 0x318]
jmp 0x140043adb
mov rcx, rax
lea rdx, [rsp + 0x318]
lea r8, [rsp + 0x6c8]
mov eax, 0x3b
cmp rcx, rax
je 0x140043b0c
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 r12d
cmp r15, qword [rsp + 0x38]
jne 0x14004388c
jmp 0x140043dda
lea rcx, [rsp + 0x310]
call fcn.1400471c0
mov rcx, qword [rsp + 0x318]
mov rdx, qword [rsp + 0x320]
lea r8, [rsp + 0x318]
jmp 0x140043ae0
xor eax, eax
jmp 0x140043b65
lea r8d, [rdx - 0x11c3]
mov dword [rsp + 0x1b0], eax
mov dword [rsp + 0x1b4], edx
mov dword [rsp + 0x1b8], ecx
cmp r8d, 0xffffff9e
jae 0x140042d05
jmp 0x140043378
mov rax, rdx
lea r8, [rsp + 0x20c]
lea rcx, [rsp + 0x2f8]
lea rbx, [rsi + rbp*4]
mov rdx, rax
sub rdx, r14
jae 0x140043844
lea r8, [r8 + rax*4]
xor ebp, ebp
xor r12d, r12d
jmp 0x140043baf
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 0x140043be5
cmp rbp, rdi
jae 0x140043bd0
mov r10, rbp
shl r10, 4
cmp r12, qword [r15 + r10]
je 0x140043b90
cmp rsi, rbx
jne 0x140043bd9
jmp 0x140044140
cmp rsi, rbx
je 0x140043cdb
lea r9, [rsi + 4]
mov r10, rsi
mov rsi, r9
jmp 0x140043b9d
mov rsi, r9
mov rax, r14
mov qword [rcx], rax
cmp rbp, rdi
jb 0x140043c10
nop word cs:[rax + rax]
cmp rsi, rbx
jne 0x140043c69
jmp 0x140043ce1
mov rax, rbp
shl rax, 4
cmp r12, qword [r15 + rax]
jne 0x140043c60
add rax, r15
inc rbp
add rax, 8
mov r14, rsi
mov rsi, rax
mov r8, qword [rsp + 0x2f8]
cmp r8, 0x3c
jae 0x140043c7b
mov rax, r8
lea rcx, [rsp + 0x20c]
lea rdx, [rsp + 0x2f8]
mov r8d, 0x3b
jmp 0x140043c93
cmp rsi, rbx
je 0x140044130
lea r14, [rsi + 4]
mov r8, qword [rsp + 0x2f8]
cmp r8, 0x3c
jb 0x140043c3b
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x218]
lea rdx, [rsp + 0x210]
mov esi, dword [rsi]
cmp rax, r8
je 0x140043cb4
mov dword [rcx + rax*4], esi
inc qword [rdx]
inc r12
mov rsi, r14
cmp rbp, rdi
jb 0x140043c10
jmp 0x140043c00
lea rcx, [rsp + 0x208]
call fcn.140046550
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x218]
lea rdx, [rsp + 0x210]
jmp 0x140043c9a
add rax, r12
mov qword [rcx], rax
mov rax, qword [r13]
mov rcx, r13
cmp rax, 0xfe
jb 0x140043cf8
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov rdi, qword [rsp + 0xc8]
cmp rax, rdi
mov r14, qword [rsp + 0x70]
mov r12, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x80]
mov ebx, dword [rsp + 0xc0]
jbe 0x140043d24
mov qword [rcx], rdi
mov rax, qword [rsp + 0x2f8]
lea r9, [rsp + 0x20c]
cmp rax, 0x3c
jb 0x140043d4a
mov rax, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, r14
mov r8, rdi
call fcn.140044640
test al, al
jne 0x140044542
cmp qword [rsp + 0x2f8], 0x3c
jb 0x140043d8a
mov rsi, qword [rsp + 0x218]
call sub.kernel32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x6c8], 0x3c
jb 0x140043daf
mov rsi, qword [rsp + 0x320]
call sub.kernel32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rdx, qword [r13]
mov al, 1
mov qword [rsp + 0x78], rax
mov al, 1
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x50]
cmp rdx, 0xfe
jae 0x140043482
jmp 0x14004348a
mov rdx, qword [rsp + 0x6c8]
cmp rdx, 0x3c
jb 0x140043766
mov rdx, qword [rsp + 0x318]
mov rcx, qword [rsp + 0x320]
cmp rdx, 2
jb 0x140043778
cmp rdx, 0x15
jae 0x140043ec8
shl rdx, 4
add rdx, rcx
lea rax, [rcx + 0x10]
mov r8d, 0x10
jmp 0x140043e7a
mov rcx, r14
call fcn.1400467d0
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rsp + 0x58]
jmp 0x140043512
mov rsi, qword [rsp + 0x7b0]
mov rcx, rsi
call fcn.140046f70
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x40]
jmp 0x14004358a
mov r11, rcx
mov qword [r11], r9
mov dword [r11 + 8], r10d
add rax, 0x10
add r8, 0x10
cmp rax, rdx
je 0x140043778
mov r9, qword [rax]
cmp r9, qword [rax - 0x10]
jae 0x140043e69
mov r10d, dword [rax + 8]
mov rdi, r8
movdqu xmm0, xmmword [rcx + rdi - 0x10]
movdqu xmmword [rcx + rdi], xmm0
cmp rdi, 0x10
je 0x140043e5f
lea r11, [rdi - 0x10]
cmp r9, qword [rcx + rdi - 0x20]
mov rdi, r11
jb 0x140043e8a
add r11, rcx
jmp 0x140043e62
mov rcx, rsi
call fcn.1400467d0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x58]
jmp 0x1400436a9
call fcn.14004b9b0
jmp 0x140043778
mov rax, r9
mov rcx, qword [rsp + 0x40]
mov r9d, 8
mov r14, qword [rsp + 0x70]
mov r12, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x80]
cmp rax, r9
je 0x1400440ad
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0
jmp 0x140043f94
xor r15d, r15d
jmp 0x140043f3e
cmp byte [rdi + r15 - 1], 0x2d
jne 0x140043f3e
nop dword [rax]
and eax, 1
add r8, rax
mov rax, qword [r13]
mov rbx, rax
cmp rax, 0xfe
jb 0x1400424d0
jmp 0x140042453
and eax, 1
add r8, r15
add r8, rax
mov al, 1
mov dl, 1
mov rdi, qword [rsp + 0x98]
cmp cl, 0x2e
je 0x140042369
jmp 0x14004420f
mov rax, r9
mov rcx, qword [rsp + 0x40]
mov r9d, 8
mov r8, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x90]
cmp rax, r9
je 0x1400440e8
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 1
mov qword [rcx + rax*8 + 8], rdi
mov qword [rcx + rax*8 + 0x10], r15
inc qword [rdx]
mov al, 1
xor edx, edx
mov rdi, qword [rsp + 0x98]
test sil, sil
je 0x140042369
jmp 0x14004420f
cmp qword [rsp + 0x140], 0x12
jb 0x140043fe0
mov rsi, qword [rsp + 0x108]
call sub.kernel32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x1d8], 0
je 0x140044005
mov rsi, qword [rsp + 0x1c8]
call sub.kernel32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov r8, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x90]
movzx esi, byte [rsp + 0x2f]
jmp 0x140043fa1
mov rcx, r14
mov byte [rsp + 0x2f], sil
mov rsi, r8
mov rbx, r11
call fcn.1400467d0
mov r11, rbx
mov r8, rsi
movzx esi, byte [rsp + 0x2f]
mov rax, qword [r14 + 8]
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rsp + 0x58]
jmp 0x1400424ae
mov r15, qword [rsp + 0x7b0]
mov rcx, r15
mov rsi, r8
mov rbx, r11
call fcn.140046f70
mov r11, rbx
mov r8, rsi
movzx esi, byte [rsp + 0x2f]
mov rax, qword [r15 + 8]
mov rcx, qword [r15 + 0x10]
mov rdx, qword [rsp + 0x40]
jmp 0x140042593
mov rbx, qword [rsp + 0x7b0]
mov rcx, rbx
mov rsi, r8
mov rdi, r11
call fcn.140046f70
mov r11, rdi
mov r8, rsi
mov rax, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rsp + 0x40]
jmp 0x140042939
mov rbp, qword [rsp + 0x7b0]
mov rcx, rbp
mov rsi, r8
mov rbx, r11
call fcn.140046f70
mov r11, rbx
mov r8, rsi
movzx esi, byte [rsp + 0x2f]
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
mov rbp, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x40]
jmp 0x140043efe
mov rbp, qword [rsp + 0x7b0]
mov rcx, rbp
call fcn.140046f70
mov r11, qword [rsp + 0x90]
mov r8, qword [rsp + 0xa8]
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x10]
mov rbp, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x40]
jmp 0x140043f88
jmp 0x140044130
jmp 0x140044140
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov word [rax + 8], 0x100
cmp qword [rsp + 0x140], 0x12
jae 0x1400441be
cmp qword [rsp + 0x1d8], 0
jne 0x1400441e7
jmp 0x1400444d3
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov word [rax + 8], 0x100
cmp qword [rsp + 0x6c8], 0x3c
jb 0x1400441b3
mov rsi, qword [rsp + 0x320]
call sub.kernel32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x140], 0x12
jb 0x14004415f
jmp 0x1400441be
cmp qword [rsp + 0x140], 0x12
jb 0x14004415f
mov rsi, qword [rsp + 0x108]
call sub.kernel32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x1d8], 0
je 0x1400444d3
mov rsi, qword [rsp + 0x1c8]
call sub.kernel32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
jmp 0x1400444d3
movzx eax, al
and eax, 1
add r8, rax
mov rdi, qword [r13]
mov rbx, qword [rsp + 0x50]
cmp rdi, 0xfe
jb 0x140044229
mov rdi, qword [r14 + 8]
mov rbx, qword [r14 + 0x10]
test rdi, rdi
je 0x1400442dc
mov rax, qword [r12 + 0x158]
mov qword [rsp + 0x38], rax
shl rdi, 2
xor r14d, r14d
movdqa xmm6, xmmword [0x140144d60]
movdqa xmm7, xmmword [0x140144d70]
movdqa xmm8, xmmword [0x140144d80]
mov ebp, 0x2022
jmp 0x140044279
add r14, 4
cmp rdi, r14
je 0x1400442dc
mov edx, dword [rbx + r14]
cmp edx, 0x590
jb 0x140044270
movd xmm0, edx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm6
pxor xmm0, xmm7
pcmpgtd xmm0, xmm8
movmskps eax, xmm0
cmp eax, 0xf
jne 0x140044270
mov rcx, qword [rsp + 0x38]
mov rsi, r8
call fcn.14004bac0
mov r8, rsi
movzx eax, al
bt ebp, eax
jae 0x140044270
mov rdx, qword [r13]
cmp rdx, 0xfe
jb 0x140044301
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x50], rax
jmp 0x140044301
xor ebp, ebp
mov rax, qword [rsp + 0x30]
mov qword [rax], r8
mov byte [rax + 8], bpl
mov byte [rax + 9], 0
jmp 0x1400444d3
cmp r15d, 0x2e
mov r8, rsi
mov rdx, qword [rsp + 0x60]
jne 0x1400442de
mov r14, qword [rsp + 0x50]
mov bpl, 1
test rdx, rdx
je 0x1400442de
lea rax, [rdx*4]
xor r13d, r13d
nop dword [rax]
mov r15d, dword [r14 + r13*4]
cmp r15d, 0x2e
je 0x140044349
inc r13
add rax, 0xfffffffffffffffc
jne 0x140044320
mov eax, 4
mov qword [rsp + 0x50], rax
mov r13, rdx
xor eax, eax
mov qword [rsp + 0x60], rax
jmp 0x140044362
lea rax, [r13 + 1]
lea rcx, [r14 + r13*4]
add rcx, 4
mov qword [rsp + 0x50], rcx
sub rdx, rax
mov qword [rsp + 0x60], rdx
test r13, r13
je 0x1400442f3
mov edx, dword [r14]
mov rcx, qword [rsp + 0x38]
call fcn.14004bac0
mov ebx, eax
movzx eax, al
mov ecx, 0x2003
bt ecx, eax
jae 0x1400444c1
mov r12, r13
dec r12
je 0x1400442f3
mov edx, dword [r14 + r13*4 - 4]
mov rcx, qword [rsp + 0x38]
call fcn.14004bac0
cmp al, 0x11
jne 0x1400443d0
nop word cs:[rax + rax]
cmp r12, 1
je 0x1400442f3
mov edx, dword [r14 + r12*4 - 4]
mov rcx, qword [rsp + 0x38]
call fcn.14004bac0
dec r12
cmp al, 0x11
je 0x1400443b0
test bl, bl
mov ecx, 0x2026
mov edx, 5
cmove ecx, edx
movzx edx, al
bt ecx, edx
jae 0x1400444c1
shl r12, 2
test bl, bl
je 0x14004446d
cmp r12, 4
je 0x1400442f3
mov ebx, 4
xor r13d, r13d
jmp 0x14004442a
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 0x1400444a5
mov edi, eax
mov edx, dword [r14 + rbx]
mov rcx, qword [rsp + 0x38]
call fcn.14004bac0
mov ecx, eax
movzx eax, al
mov edx, 0x6247e
bt edx, eax
jae 0x1400444c1
test r13b, r13b
je 0x140044407
movzx eax, r13b
cmp eax, 1
mov eax, edi
jne 0x140044463
mov r13b, 1
cmp cl, 5
jne 0x140044421
jmp 0x1400444c1
mov r13b, 2
cmp cl, 2
jne 0x140044421
jmp 0x1400444c1
cmp r12, 4
je 0x1400442f3
mov edi, 4
mov edx, dword [r14 + rdi]
mov rcx, qword [rsp + 0x38]
call fcn.14004bac0
movzx eax, al
mov ecx, 0x6045d
bt ecx, eax
jae 0x1400444c1
add rdi, 4
cmp r12, rdi
jne 0x14004447c
jmp 0x1400442f3
cmp al, 5
jne 0x1400444af
cmp r13b, 1
je 0x1400444c1
cmp al, 2
jne 0x1400442f3
cmp r13b, 2
jne 0x1400442f3
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.140046ee0
jmp 0x140044533
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov word [rax + 8], 0x100
lea rcx, [rsp + 0x310]
call fcn.140046ea0
jmp 0x1400444d3
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov word [rax + 8], 0x100
cmp qword [rsp + 0x2f8], 0x3c
jb 0x140044181
mov rsi, qword [rsp + 0x218]
call sub.kernel32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
jmp 0x140044181
lea rcx, str.assertion_failed:_end___len
lea r8, [0x14017eea8]
mov edx, 0x1c
call fcn.14000a990
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_1.0.3_srcuts46.rsPunycode_overflows_should_not_be_possible_due_to_PUNYCODE_ENCODE_MAX_INPUT_LENGTH
mov rcx, rdi
mov rdx, rax
call fcn.140009a60
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_1.0.3_srcuts46.rsPunycode_overflows_should_not_be_possible_due_to_PUNYCODE_ENCODE_MAX_INPUT_LENGTH
mov rcx, rdi
call fcn.140009a60
lea rcx, str.assertion_failed:_index___len
lea r8, [0x14017eee0]
mov edx, 0x1d
call fcn.14000a990
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_1.0.3_srcuts46.rsPunycode_overflows_should_not_be_possible_due_to_PUNYCODE_ENCODE_MAX_INPUT_LENGTH
mov rdx, rax
call fcn.140009a60
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_1.0.3_srcuts46.rsPunycode_overflows_should_not_be_possible_due_to_PUNYCODE_ENCODE_MAX_INPUT_LENGTH
call fcn.140009a60
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_1.0.3_srcuts46.rsPunycode_overflows_should_not_be_possible_due_to_PUNYCODE_ENCODE_MAX_INPUT_LENGTH
mov edx, 0x28
call fcn.14000a990
test rax, rax
jne 0x14004462f
lea rcx, str.capacity_overflow
lea r8, [0x140180500]
mov edx, 0x11
call fcn.14000a990
lea rcx, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_1.0.3_srcpunycode.rs
call fcn.14000ad60
mov rcx, rax
call fcn.140006e69
int3