Function at 0x140095d00
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2b8
movdqa xmmword [rsp + 0x2a0], xmm15
movdqa xmmword [rsp + 0x290], xmm14
movdqa xmmword [rsp + 0x280], xmm13
movdqa xmmword [rsp + 0x270], xmm12
movdqa xmmword [rsp + 0x260], xmm11
movdqa xmmword [rsp + 0x250], xmm10
movdqa xmmword [rsp + 0x240], xmm9
movdqa xmmword [rsp + 0x230], xmm8
movdqa xmmword [rsp + 0x220], xmm7
movdqa xmmword [rsp + 0x210], xmm6
mov r15, r9
mov r14, r8
mov qword [rsp + 0x108], rdx
mov r12, rcx
mov r13, qword [rsp + 0x320]
test r9, r9
je 0x140095f4e
lea rbp, [r14 + r15]
mov ebx, 0x3f
xor edx, edx
movdqa xmm0, xmmword [0x140176a90]
mov rcx, r14
cmp ebx, 0x2d
jne 0x140095df1
cmp rcx, rbp
je 0x140096c8d
movzx r8d, byte [rcx]
movzx ebx, r8b
test bl, bl
js 0x140095e81
inc rcx
cmp ebx, 0x2e
jne 0x140095ef0
jmp 0x140095f4e
inc rcx
cmp ebx, 0x2e
jne 0x140095e70
mov edx, 0
cmp rcx, rbp
je 0x140096c8d
movzx eax, byte [rcx]
movzx ebx, al
test bl, bl
jns 0x140095de0
mov edi, ebx
and edi, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp bl, 0xdf
jbe 0x140095e46
movzx ebx, byte [rcx + 2]
shl esi, 6
and ebx, 0x3f
or ebx, esi
cmp al, 0xf0
jb 0x140095e58
movzx eax, byte [rcx + 3]
add rcx, 4
and edi, 7
shl edi, 0x12
shl ebx, 6
and eax, 0x3f
or eax, ebx
or eax, edi
mov ebx, eax
cmp ebx, 0x2e
je 0x140095dec
jmp 0x140095e70
add rcx, 2
shl edi, 6
or edi, esi
mov ebx, edi
cmp ebx, 0x2e
je 0x140095dec
jmp 0x140095e70
add rcx, 3
shl edi, 0xc
or ebx, edi
cmp ebx, 0x2e
je 0x140095dec
nop word cs:[rax + rax]
cmp ebx, 0x110000
je 0x140096c8d
mov rdi, rdx
jmp 0x140095eff
mov edi, ebx
and edi, 0x1f
movzx eax, byte [rcx + 1]
and eax, 0x3f
cmp bl, 0xe0
jb 0x140095ec8
movzx ebx, byte [rcx + 2]
shl eax, 6
and ebx, 0x3f
or ebx, eax
cmp r8b, 0xf0
jb 0x140095eda
movzx eax, byte [rcx + 3]
add rcx, 4
and edi, 7
shl edi, 0x12
shl ebx, 6
and eax, 0x3f
or eax, ebx
or eax, edi
mov ebx, eax
cmp ebx, 0x2e
jne 0x140095ef0
jmp 0x140095f4e
add rcx, 2
shl edi, 6
or edi, eax
mov ebx, edi
cmp ebx, 0x2e
jne 0x140095ef0
jmp 0x140095f4e
add rcx, 3
shl edi, 0xc
or ebx, edi
cmp ebx, 0x2e
je 0x140095f4e
nop dword [rax + rax]
mov rdi, rdx
cmp ebx, 0x110000
je 0x140096c8d
test rdi, rdi
jne 0x140095f09
cmp ebx, 0x2d
je 0x140095f4e
mov edx, 5
cmp rdi, 5
jae 0x140095f36
movdqa xmmword [rsp + 0x40], xmm0
cmp rdi, 4
je 0x140098d2d
cmp ebx, dword [rsp + rdi*4 + 0x40]
jne 0x140095f36
inc rdi
mov rdx, rdi
cmp rdi, 4
je 0x140095f4e
lea eax, [rbx - 0x7b]
cmp eax, 0xffffffe5
ja 0x140095dad
lea eax, [rbx - 0x3a]
cmp eax, 0xfffffff6
jae 0x140095dad
mov qword [rsp + 0x148], r12
mov rbx, qword [rsp + 0x108]
mov eax, dword [rbx + 0x30]
mov ecx, dword [rbx + 0x34]
add r15, r14
pxor xmm6, xmm6
movdqu xmmword [rsp + 0x42], xmm6
movdqu xmm0, xmmword [rsp + 0x40]
movzx edx, word [rsp + 0x50]
movdqu xmmword [rsp + 0x1c0], xmm6
mov dword [rsp + 0x40], 0
mov word [rsp + 0x44], 0
movdqu xmmword [rsp + 0x46], xmm0
mov word [rsp + 0x56], dx
movdqu xmm1, xmmword [rsp + 0x1b8]
movdqu xmmword [rsp + 0x58], xmm1
mov rbp, qword [rsp + 0x1c8]
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x88], r14
lea rbp, [rsp + 0xf0]
mov qword [rsp + 0x90], rbp
mov byte [rsp + 0x9c], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x100], rcx
mov qword [rbx + 0x10], 0
mov dword [rsp + 0xf8], 0
mov qword [rsp + 0xf0], 0
mov rcx, qword [r13 + 0x10]
mov qword [rsp + 0x30], rcx
movdqa xmmword [rsp + 0x150], xmm0
mov word [rsp + 0x160], dx
mov dword [rsp + 0x98], eax
mov dword [rsp + 0xa0], 0
mov word [rsp + 0xa4], 0
mov byte [rsp + 0xa8], 0
mov dword [rsp + 0xac], 0
mov byte [rsp + 0xb0], 0
mov dword [rsp + 0xb4], 0
mov byte [rsp + 0xb8], 0
mov dword [rsp + 0xbc], 0
mov byte [rsp + 0xc0], 0
mov dword [rsp + 0xc4], 0
mov byte [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0xe0], 0x110000
mov byte [rsp + 0xe4], 0
movdqa xmm7, xmmword [reloc.WS2_32.dll_bind]
lea r14, [0x1401bceb0]
mov edi, 0xff
lea r15, reloc.WS2_32.dll_getpeername
lea r13, [0x1400992b8]
movdqa xmm8, xmmword [0x140176630]
xor eax, eax
test rax, rax
je 0x14009619a
cmp rax, 1
jne 0x140096ba5
mov rax, qword [rsp + 0xd8]
cmp dword [rsp + 0x40], 0
je 0x140096b04
cmp rax, qword [rsp + 0x58]
jae 0x140096c50
mov rcx, qword [rsp + 0x50]
jmp 0x140096b21
mov ebx, esi
mov eax, 0xdee95c4d
imul rbx, rax
shr rbx, 0x29
lea edx, [rbx + 0x1100]
mov rcx, r12
call fcn.140099500
imul eax, ebx, 0x24c
mov ecx, esi
sub ecx, eax
movzx eax, cx
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
mov rcx, r12
call fcn.140099500
mov eax, esi
shr eax, 2
imul rax, rax, 0x24924925
shr rax, 0x20
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub esi, ecx
je 0x14009619a
add esi, 0x11a7
mov edx, esi
mov rcx, r12
call fcn.140099500
mov rbx, qword [rsp + 0x68]
test rbx, rbx
jne 0x1400964f0
movzx r12d, byte [rsp + 0x98]
cmp r12b, 2
je 0x140096711
mov r8, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
mov r10, qword [rsp + 0x90]
movzx r11d, byte [rsp + 0x99]
jmp case.0x14009643e.1
lea rax, [0x1401c874c]
cmp byte [r9 + rax], 0xbf
jle 0x140098d45
lea rax, [0x1401c874c]
add r8, rax
add rcx, r8
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], r8
test r8, r8
je 0x1400962a1
cmp r8, qword [rsp + 0x70]
je 0x140096298
lea rax, [r8 + 1]
mov qword [rsp + 0x78], rax
movzx ebx, byte [r8]
movzx edx, bl
test dl, dl
jns 0x140096563
mov ecx, edx
and ecx, 0x1f
lea rax, [r8 + 2]
mov qword [rsp + 0x78], rax
movzx esi, byte [r8 + 1]
and esi, 0x3f
cmp dl, 0xdf
jbe 0x140096522
lea rax, [r8 + 3]
mov qword [rsp + 0x78], rax
movzx eax, byte [r8 + 2]
shl esi, 6
and eax, 0x3f
or eax, esi
cmp bl, 0xf0
jb 0x14009652b
lea rdx, [r8 + 4]
mov qword [rsp + 0x78], rdx
movzx edx, byte [r8 + 3]
and ecx, 7
shl ecx, 0x12
shl eax, 6
and edx, 0x3f
or edx, eax
or edx, ecx
cmp edx, 0x110000
jne case.0x14009643e.0
mov qword [rsp + 0x78], 0
mov rax, qword [rsp + 0x88]
cmp rax, rbp
je 0x140096709
lea rcx, [rax + 1]
mov qword [rsp + 0x88], rcx
movzx ebx, byte [rax]
movzx edx, bl
test dl, dl
js 0x1400963a0
lea eax, [rdx - 0x2d]
cmp eax, 2
jb 0x140096563
cmp edx, 0x110000
je 0x140096709
lea eax, [rdx - 0x61]
cmp eax, 0x1a
jb 0x140096563
lea eax, [rdx - 0x30]
cmp eax, 0xa
jb 0x140096563
mov esi, 0x75a
xor eax, eax
mov ecx, 0x75a
jmp 0x140096318
mov rcx, rsi
sub rsi, rax
jbe 0x140096347
shr rsi, 1
add rsi, rax
xor ebx, ebx
cmp dword [r14 + rsi*8], edx
setne bl
cmovb ebx, edi
cmp bl, 1
je 0x140096310
movzx eax, bl
cmp eax, 0xff
jne 0x140096359
inc rsi
mov rax, rsi
mov rsi, rcx
sub rsi, rax
ja 0x140096318
dec rax
mov rsi, rax
cmp rax, 0x759
ja 0x140096d5c
movzx eax, word [r14 + rsi*8 + 4]
mov ecx, eax
and ecx, 0x7fff
test ax, ax
js 0x140096420
movzx eax, word [r14 + rsi*8]
mov ebx, edx
sub bx, ax
movzx eax, cx
add eax, ebx
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1f73
jb 0x14009642e
jmp 0x140096d76
mov ecx, edx
and ecx, 0x1f
lea rsi, [rax + 2]
mov qword [rsp + 0x88], rsi
movzx esi, byte [rax + 1]
and esi, 0x3f
cmp dl, 0xdf
jbe 0x1400964ba
lea rdx, [rax + 3]
mov qword [rsp + 0x88], rdx
movzx edx, byte [rax + 2]
shl esi, 6
and edx, 0x3f
or edx, esi
cmp bl, 0xf0
jb 0x1400964d2
lea rbx, [rax + 4]
mov qword [rsp + 0x88], rbx
movzx eax, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
mov edx, eax
lea eax, [rdx - 0x2d]
cmp eax, 2
jae 0x1400962d8
jmp 0x140096563
movzx eax, cx
cmp eax, 0x1f73
jae 0x140096da0
movzx eax, byte [r15 + rcx*4]
movsxd rax, dword [r13 + rax*4]
add rax, r13
xor r8d, r8d
jmp rax
test r11b, r11b
jne case.0x14009643e.2
jmp case.0x14009643e.0
test r12b, r12b
je case.0x14009643e.2
mov byte [r10 + 7], 1
movzx r8d, word [r15 + rcx*4 + 1]
movzx ecx, byte [r15 + rcx*4 + 3]
lea r9, [r8 + rcx]
test r8, r8
je 0x140096492
cmp r8d, 0x321c
jae 0x140096485
lea rax, [0x1401c874c]
cmp byte [r8 + rax], 0xc0
jge 0x140096492
jmp 0x140098d45
cmp r8d, 0x321c
jne 0x140098d45
test r9, r9
je 0x1400961ed
cmp r9d, 0x321c
jb 0x1400961db
cmp r9d, 0x321c
je 0x1400961ed
jmp 0x140098d45
shl ecx, 6
or ecx, esi
mov edx, ecx
lea eax, [rdx - 0x2d]
cmp eax, 2
jae 0x1400962d8
jmp 0x140096563
shl ecx, 0xc
or edx, ecx
lea eax, [rdx - 0x2d]
cmp eax, 2
jae 0x1400962d8
jmp 0x140096563
mov ebp, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
test ebp, ebp
je 0x140096790
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xb8]
cmp rcx, rax
jb 0x1400967b3
jmp 0x140096db3
shl ecx, 6
or ecx, esi
mov edx, ecx
jmp 0x140096563
shl ecx, 0xc
or eax, ecx
mov edx, eax
jmp 0x140096563
cmp byte [rsp + 0x9c], 0
je case.0x14009643e.0
add r10, 0xb
jmp 0x140096553
test r12b, r12b
je case.0x14009643e.0
add r10, 6
jmp 0x140096553
add r10, 8
mov byte [r10], 1
cmp edx, 0x110000
je 0x140096709
cmp byte [rsp + 0xc8], 0
je 0x14009662e
cmp edx, 0x80
lea r12, [rsp + 0x60]
jb 0x140096192
lea esi, [rdx - 0xac00]
cmp esi, 0x2ba4
jb 0x14009612a
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul rbp, rcx, 0xee4
shr rbp, 0x1f
and ebp, 0xfffffffe
lea rbx, [0x140202628]
movzx ebp, word [rbp + rbx]
add ebp, edx
imul ebp, ebp, 0x9e3779b9
xor ebp, eax
imul rbp, rbp, 0xee4
shr rbp, 0x1d
and ebp, 0xfffffff8
lea rbx, [0x1402043f0]
mov rbx, qword [rbp + rbx]
cmp edx, ebx
jne 0x1400969fc
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1668
jae 0x140098de8
shr rbx, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rdx, rbx
jb 0x140098dfb
lea rax, [0x14020bb10]
lea rsi, [rax + rcx*4]
test rbx, rbx
jne 0x140096a7c
jmp 0x14009619a
cmp edx, 0x80
lea r12, [rsp + 0x60]
jb 0x140096192
lea esi, [rdx - 0xac00]
cmp esi, 0x2ba4
jb 0x14009612a
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea rbp, [0x1401f9fe8]
movzx eax, word [rbp + rax*2]
add eax, edx
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea rcx, [0x1401fb004]
mov rbx, qword [rcx + rax*8]
cmp edx, ebx
jne 0x140096192
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4f
jae 0x140098dc4
shr rbx, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rbx
jb 0x140098dd7
test rbx, rbx
je 0x14009619a
lea rax, [0x1401ff06c]
lea rsi, [rax + rcx*4]
shl rbx, 2
xor ebp, ebp
nop word cs:[rax + rax]
mov edx, dword [rsi + rbp]
mov rcx, r12
call fcn.140099500
add rbp, 4
cmp rbx, rbp
jne 0x1400966f0
jmp 0x14009619a
mov byte [rsp + 0x98], 2
cmp dword [rsp + 0xa0], 0
je 0x140096732
mov rax, qword [rsp + 0xb8]
lea rcx, [rsp + 0x60]
test rax, rax
jne 0x140096748
jmp 0x140096b48
movzx eax, word [rsp + 0xa4]
lea rcx, [rsp + 0x60]
test rax, rax
je 0x140096b48
call fcn.140099700
mov ebp, dword [rsp + 0xa0]
test ebp, ebp
je 0x140096774
mov rbx, qword [rsp + 0xb8]
mov qword [rsp + 0x68], rbx
mov rcx, qword [rsp + 0x60]
test ebp, ebp
jne 0x140096504
jmp 0x140096790
movzx ebx, word [rsp + 0xa4]
mov qword [rsp + 0x68], rbx
mov rcx, qword [rsp + 0x60]
test ebp, ebp
jne 0x140096504
nop
movzx eax, word [rsp + 0xa4]
cmp rax, 5
jae 0x140098d94
lea rdx, [rsp + 0xa8]
cmp rcx, rax
jae 0x140096db3
mov r12d, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, rbx
jne 0x140096880
test ebp, ebp
je 0x140096887
mov rdx, qword [rsp + 0xb8]
sub rdx, rbx
je 0x140096898
xor ecx, ecx
nop
mov rax, qword [rsp + 0x68]
add rax, rcx
cmp dword [rsp + 0xa0], 0
je 0x140096810
mov rbx, qword [rsp + 0xb8]
cmp rax, rbx
jae 0x140096d37
mov rbp, qword [rsp + 0xb0]
jmp 0x140096833
movzx ebx, word [rsp + 0xa4]
cmp rbx, 5
jae 0x140098d64
lea rbp, [rsp + 0xa8]
cmp rax, rbx
jae 0x140096d37
cmp rcx, rbx
jae 0x140096d4b
movzx ebx, byte [rbp + rax*8]
mov eax, dword [rbp + rax*8 + 4]
mov byte [rbp + rcx*8], bl
mov dword [rbp + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp rdx, rax
jne 0x1400967e0
mov ebp, dword [rsp + 0xa0]
test ebp, ebp
jne 0x14009689c
movzx eax, word [rsp + 0xa4]
cmp rdx, rax
jae 0x1400968ae
mov word [rsp + 0xa4], dx
jmp 0x1400968ae
mov qword [rsp + 0x60], rcx
jmp 0x1400968b7
movzx edx, word [rsp + 0xa4]
sub rdx, rbx
jne 0x1400967dd
test ebp, ebp
je 0x140096864
cmp qword [rsp + 0xb8], rdx
jb 0x1400968ae
mov qword [rsp + 0xb8], rdx
lea rax, [rsp + 0x60]
movdqu xmmword [rax], xmm6
imul eax, r12d, 0x9e3779b9
imul ecx, r12d, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1f
and eax, 0xfffffffe
lea rdx, [0x1401f660c]
movzx eax, word [rax + rdx]
add eax, r12d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1e
and eax, 0xfffffffc
lea rcx, [0x1401f6d40]
mov esi, dword [rax + rcx]
mov eax, esi
shr eax, 8
cmp eax, r12d
mov eax, 0
cmovne esi, eax
mov ebx, dword [rsp + 0xe0]
cmp ebx, 0x110000
jne 0x140096940
test sil, sil
jne 0x140096b40
mov dword [rsp + 0xe0], r12d
jmp 0x14009619a
cmp byte [rsp + 0xe4], 0
je 0x140096967
cmp byte [rsp + 0xe5], sil
jae 0x14009698e
mov ecx, ebx
mov edx, r12d
call fcn.14015e090
cmp eax, 0x110000
je 0x140096997
jmp 0x140096982
mov ecx, ebx
mov edx, r12d
call fcn.14015e090
cmp eax, 0x110000
jne 0x140096982
test sil, sil
jne 0x140096997
jmp 0x140096b98
mov dword [rsp + 0xe0], eax
jmp 0x14009619a
test sil, sil
je 0x140096b79
cmp dword [rsp + 0x40], 0
je 0x1400969cc
mov rdx, qword [rsp + 0x58]
cmp rdx, qword [rsp + 0x48]
jne 0x1400969b9
lea rcx, [rsp + 0x48]
call fcn.14015fa30
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov dword [rax + rdx*4], r12d
inc rdx
mov qword [rsp + 0x58], rdx
jmp 0x1400969e7
movzx eax, word [rsp + 0x44]
cmp rax, 4
jae 0x140096aa9
mov dword [rsp + rax*4 + 0x48], r12d
inc eax
mov word [rsp + 0x44], ax
mov byte [rsp + 0xe4], 1
mov byte [rsp + 0xe5], sil
jmp 0x14009619a
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea rbp, [0x1401f9fe8]
movzx ecx, word [rbp + rcx*2]
add ecx, edx
imul ecx, ecx, 0x9e3779b9
xor ecx, eax
imul rax, rcx, 0x80d
shr rax, 0x20
lea rcx, [0x1401fb004]
mov rbx, qword [rcx + rax*8]
cmp edx, ebx
jne 0x140096192
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4f
jae 0x140098dc4
shr rbx, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rbx
jb 0x140098dd7
lea rax, [0x1401ff06c]
lea rsi, [rax + rcx*4]
test rbx, rbx
je 0x14009619a
shl rbx, 2
xor ebp, ebp
nop word cs:[rax + rax]
mov edx, dword [rsi + rbp]
mov rcx, r12
call fcn.140099500
add rbp, 4
cmp rbx, rbp
jne 0x140096a90
jmp 0x14009619a
lea rcx, [rsp + 0x170]
lea rdx, [rsp + 0x44]
mov r8d, r12d
call fcn.140171020
cmp dword [rsp + 0x40], 0
je 0x140096ae1
cmp qword [rsp + 0x48], 0
je 0x140096ae1
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
movdqu xmm0, xmmword [rsp + 0x170]
movdqu xmm1, xmmword [rsp + 0x180]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmmword [rsp + 0x40], xmm0
jmp 0x1400969e7
movzx ecx, word [rsp + 0x44]
cmp rcx, 5
jae 0x140098e0c
cmp rax, rcx
jae 0x140096c70
lea rcx, [rsp + 0x48]
mov ebx, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0xd0], 1
mov qword [rsp + 0xd8], rax
jmp 0x140096c30
mov ebx, r12d
jmp 0x140096c30
movdqa xmmword [rsp + 0xd0], xmm7
mov ebx, dword [rsp + 0xe0]
mov eax, 2
cmp ebx, 0x110000
je 0x1400960ef
mov dword [rsp + 0xe0], 0x110000
jmp 0x140096c30
mov dword [rsp + 0xe0], r12d
mov byte [rsp + 0xe4], 0
movdqa xmmword [rsp + 0xd0], xmm8
jmp 0x140096c30
mov dword [rsp + 0xe0], r12d
jmp 0x140096c30
mov rdx, qword [rsp + 0xd8]
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x140096bc3
cmp rdx, qword [rsp + 0x58]
jae 0x140096bf9
mov rbp, qword [rsp + 0x50]
jmp 0x140096bdc
movzx ecx, word [rsp + 0x44]
cmp rcx, 5
jae 0x140098e0c
lea rbp, [rsp + 0x48]
cmp rdx, rcx
jae 0x140096c04
mov ebx, dword [rbp + rdx*4]
inc rdx
mov qword [rsp + 0xd0], 2
mov qword [rsp + 0xd8], rdx
jmp 0x140096c30
mov qword [rsp + 0x58], 0
jmp 0x140096c10
test cx, cx
je 0x140096c10
mov word [rsp + 0x44], 0
mov ebx, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], 0x110000
cmp ebx, 0x110000
je 0x140096dc4
nop
mov rcx, qword [rsp + 0x108]
mov edx, ebx
call fcn.14015fce0
mov rax, qword [rsp + 0xd0]
jmp 0x1400960ef
mov qword [rsp + 0x58], 0
mov qword [rsp + 0xd0], 0
jmp 0x1400960ed
test cx, cx
je 0x140096c59
mov word [rsp + 0x44], 0
mov qword [rsp + 0xd0], 0
jmp 0x1400960ed
mov rax, qword [r13]
mov rbx, qword [r13 + 0x10]
sub rax, rbx
cmp rax, r15
jb 0x140096d89
mov rcx, qword [r13 + 8]
add rcx, rbx
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add rbx, r15
mov qword [r13 + 0x10], rbx
mov qword [r12], 0
mov dword [r12 + 8], 0
movaps xmm6, xmmword [rsp + 0x210]
movaps xmm7, xmmword [rsp + 0x220]
movaps xmm8, xmmword [rsp + 0x230]
movaps xmm9, xmmword [rsp + 0x240]
movaps xmm10, xmmword [rsp + 0x250]
movaps xmm11, xmmword [rsp + 0x260]
movaps xmm12, xmmword [rsp + 0x270]
movaps xmm13, xmmword [rsp + 0x280]
movaps xmm14, xmmword [rsp + 0x290]
movaps xmm15, xmmword [rsp + 0x2a0]
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srcdecompose.rs
mov rcx, rax
mov rdx, rbx
call fcn.14016f330
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srcdecompose.rs
mov rdx, rbx
call fcn.14016f330
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcuts46.rs
mov edx, 0x75a
mov rcx, 0xffffffffffffffff
call fcn.14016f330
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcuts46.rs
mov edx, 0x1f73
call fcn.14016f330
ud2
mov rcx, r13
mov rdx, rbx
mov r8, r15
call fcn.1401726f0
mov rbx, qword [r13 + 0x10]
jmp 0x140096ca1
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcuts46.rs
mov edx, 0x1f73
call fcn.14016f330
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srcdecompose.rs
mov rdx, rax
call fcn.14016f330
ud2
cmp dword [rsp + 0xa0], 0
je 0x140096e0b
cmp qword [rsp + 0xa8], 0
mov r13, qword [rsp + 0x320]
mov rsi, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x30]
je 0x140096e20
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rsp + 0x40]
jmp 0x140096e20
mov r13, qword [rsp + 0x320]
mov rsi, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x30]
test eax, eax
je 0x140096e40
cmp qword [rsp + 0x48], 0
je 0x140096e40
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 8
mov qword [rsp + 0x160], 0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], rcx
mov word [rsp + 0x1b0], 1
mov rax, qword [rsp + 0x100]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x138], rax
lea r12, [0x1401f2244]
pxor xmm14, xmm14
movdqa xmm7, xmmword [0x140176aa0]
movdqa xmm6, xmmword [0x140176ab0]
movdqa xmm13, xmmword [0x140176ac0]
movdqa xmm15, xmmword [0x140176ad0]
movdqa xmm8, xmmword [0x140176ae0]
movdqa xmm9, xmmword [0x140176990]
movdqa xmm12, xmmword [0x140176af0]
movdqa xmm11, xmmword [0x140176b00]
movdqa xmm10, xmmword [0x140176b10]
mov rbx, rdi
xor edi, edi
mov dword [rsp + 0x28], 0
lea rcx, [rsp + 0x170]
call fcn.1400992e0
test rax, rax
jne 0x140096fb6
mov rcx, qword [r13 + 8]
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x140097f17
mov rdx, rbx
mov rax, rbx
sub rax, r8
jbe 0x140097f1c
cmp byte [rcx + r8], 0xbf
jg 0x140097f22
jmp 0x140098e89
mov byte [rsp + 0xf0], 1
mov al, 1
mov dword [rsp + 0x28], eax
mov r15, rsi
mov dil, 1
mov rbx, r15
lea rcx, [rsp + 0x170]
call fcn.1400992e0
test rax, rax
je 0x140096f5c
mov r14, rax
mov r15, rdx
test dil, 1
je 0x140096feb
mov rsi, rbx
cmp rbx, qword [r13]
jne 0x140096fda
mov rcx, r13
mov rdx, rsi
call fcn.14006a800
mov rsi, qword [r13 + 0x10]
mov rax, qword [r13 + 8]
mov byte [rax + rsi], 0x2e
inc rsi
mov qword [r13 + 0x10], rsi
jmp 0x140096fee
mov rsi, rbx
cmp r15, 4
jb 0x140097001
cmp dword [r14], 0x2d2d6e78
je 0x140097164
test byte [rsp + 0x28], 1
jne 0x14009758b
test r15, r15
mov r10d, 0
je 0x140097583
mov r11, rsi
mov r8, r14
add r8, r15
mov r9, r14
jmp 0x140097032
cmp r9, r8
je 0x140097576
movzx eax, byte [r9]
movzx edx, al
test dl, dl
js 0x14009704d
inc r9
lea eax, [rdx - 0x21]
cmp eax, 0x5e
jb 0x140097029
jmp 0x1400970ce
mov ebx, edx
and ebx, 0x1f
movzx edi, byte [r9 + 1]
and edi, 0x3f
cmp dl, 0xdf
jbe 0x14009709f
movzx ebp, byte [r9 + 2]
shl edi, 6
and ebp, 0x3f
or ebp, edi
cmp al, 0xf0
jb 0x1400970b7
movzx edx, byte [r9 + 3]
and ebx, 7
shl ebx, 0x12
shl ebp, 6
and edx, 0x3f
or edx, ebp
or edx, ebx
cmp edx, 0x110000
je 0x140097576
add r9, 4
lea eax, [rdx - 0x21]
cmp eax, 0x5e
jb 0x140097029
jmp 0x1400970ce
add r9, 2
shl ebx, 6
or ebx, edi
mov edx, ebx
lea eax, [rdx - 0x21]
cmp eax, 0x5e
jae 0x1400970ce
jmp 0x140097029
add r9, 3
shl ebx, 0xc
or ebp, ebx
mov edx, ebp
lea eax, [rdx - 0x21]
cmp eax, 0x5e
jb 0x140097029
mov ebx, 0x5a6
xor ebp, ebp
mov edi, 0x5a6
jmp 0x1400970ec
mov rdi, rbx
sub rbx, rbp
jbe 0x140097029
shr rbx, 1
add rbx, rbp
lea rsi, [rbx + rbx*2]
mov eax, dword [r12 + rsi*4 + 4]
cmp eax, edx
setae cl
add cl, cl
dec cl
cmp eax, edx
movzx ecx, cl
mov eax, ecx
cmovae eax, r10d
cmp dword [r12 + rsi*4], edx
cmova eax, ecx
cmp al, 1
je 0x1400970e0
movzx eax, al
cmp eax, 0xff
jne 0x140097137
inc rbx
mov rbp, rbx
mov rbx, rdi
sub rbx, rbp
ja 0x1400970ec
jmp 0x140097029
movzx eax, byte [r12 + rsi*4 + 8]
cmp rax, 0x11
ja 0x140097029
mov ecx, 0x20003
bt rcx, rax
jae 0x140097029
mov al, 1
mov dword [rsp + 0x28], eax
mov rsi, r11
jmp 0x14009758b
add r14, 4
add r15, 0xfffffffffffffffc
lea rcx, [rsp + 0x1b8]
lea rdx, [rsp + 0x150]
mov r8, r14
mov r9, r15
call fcn.140094e30
mov r14, qword [rsp + 0x1c0]
test r14, r14
je 0x140096f8d
mov r15, qword [rsp + 0x1e0]
mov r8, qword [rsp + 0x1e8]
sub r8, r15
mov rax, qword [r13]
mov qword [rsp + 0x118], rsi
sub rax, rsi
cmp rax, r8
jb 0x140097f02
mov r12, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x1c8]
mov rdi, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x1d8]
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x110], rdi
cmp r13, rdi
jae 0x1400972ce
test r8, r8
je 0x1400972ce
mov rax, r13
shl rax, 4
cmp qword [r8 + rax], r15
jne 0x140097228
inc r13
mov esi, dword [r8 + rax + 8]
inc r15
cmp esi, 0x7f
jbe 0x14009746d
jmp 0x140097386
cmp r13, rdi
jae 0x140097299
nop dword [rax]
mov rcx, r14
mov r14, r12
cmp rcx, r12
je 0x140097230
movzx ebx, byte [rcx]
test bl, bl
jns 0x14009735b
movzx eax, bl
and eax, 0x1f
movzx ebp, byte [rcx + 1]
and ebp, 0x3f
cmp bl, 0xe0
jb 0x14009736c
movzx edx, byte [rcx + 2]
shl ebp, 6
and edx, 0x3f
or edx, ebp
cmp bl, 0xf0
jb 0x1400973f1
movzx esi, byte [rcx + 3]
add rcx, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, eax
mov r14, rcx
cmp esi, 0x110000
je 0x140097230
jmp 0x140097452
cmp r14, r12
je 0x1400975ec
movzx ebx, byte [r14]
test bl, bl
jns 0x140097356
movzx eax, bl
and eax, 0x1f
movzx ebp, byte [r14 + 1]
and ebp, 0x3f
cmp bl, 0xdf
ja 0x140097414
add r14, 2
jmp 0x140097373
cmp r13, rdi
jae 0x140097341
nop word cs:[rax + rax]
mov rcx, r14
mov r14, r12
cmp rcx, r12
je 0x1400972e0
movzx ebx, byte [rcx]
test bl, bl
jns 0x14009735b
movzx eax, bl
and eax, 0x1f
movzx ebp, byte [rcx + 1]
and ebp, 0x3f
cmp bl, 0xe0
jb 0x14009736c
movzx edx, byte [rcx + 2]
shl ebp, 6
and edx, 0x3f
or edx, ebp
cmp bl, 0xf0
jb 0x1400973f1
movzx esi, byte [rcx + 3]
add rcx, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, eax
mov r14, rcx
cmp esi, 0x110000
je 0x1400972e0
jmp 0x140097452
cmp r14, r12
je 0x1400975ec
movzx ebx, byte [r14]
test bl, bl
js 0x1400973fd
inc r14
jmp 0x140097361
inc rcx
mov r14, rcx
movzx esi, bl
inc r15
jmp 0x14009746d
add rcx, 2
mov r14, rcx
shl eax, 6
or eax, ebp
mov esi, eax
inc r15
cmp esi, 0x7f
jbe 0x14009746d
mov dword [rsp + 0x40], 0
mov eax, esi
cmp esi, 0x800
jae 0x1400973b8
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x40], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x41], sil
mov esi, 2
jmp 0x1400974e9
cmp esi, 0x10000
jae 0x1400974b4
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x40], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x42], sil
mov esi, 3
jmp 0x1400974e9
add rcx, 3
mov r14, rcx
jmp 0x140097542
movzx eax, bl
and eax, 0x1f
movzx ebp, byte [r14 + 1]
and ebp, 0x3f
cmp bl, 0xe0
jb 0x1400972c5
movzx edx, byte [r14 + 2]
shl ebp, 6
and edx, 0x3f
or edx, ebp
cmp bl, 0xf0
jb 0x14009753e
movzx esi, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, eax
cmp esi, 0x110000
je 0x1400975ec
add r14, 4
mov rcx, r14
mov r14, rcx
cmp esi, 0x110000
je 0x1400975ec
inc r15
cmp esi, 0x7f
ja 0x140097386
mov rbx, qword [rsp + 0x320]
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbx]
jne 0x140097497
mov rcx, rbx
call fcn.14006a800
mov rdi, qword [rsp + 0x110]
mov r8, qword [rsp + 0x38]
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
mov byte [rax + rdx], sil
inc rdx
mov qword [rbx + 0x10], rdx
cmp r13, rdi
jb 0x1400971f9
jmp 0x1400972ce
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x40], al
mov eax, esi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x42], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x43], sil
mov esi, 4
mov rcx, qword [rsp + 0x320]
mov rax, qword [rcx]
mov rbp, qword [rcx + 0x10]
sub rax, rbp
cmp rax, rsi
jb 0x14009755a
mov rbx, qword [rsp + 0x320]
mov rcx, qword [rbx + 8]
add rcx, rbp
lea rdx, [rsp + 0x40]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rbp, rsi
mov qword [rbx + 0x10], rbp
mov r8, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x110]
cmp r13, rdi
jb 0x1400971f9
jmp 0x1400972ce
add r14, 3
shl eax, 0xc
or eax, edx
mov esi, eax
inc r15
cmp esi, 0x7f
ja 0x140097386
jmp 0x14009746d
mov rbx, qword [rsp + 0x320]
mov rcx, rbx
mov rdx, rbp
mov r8, rsi
call fcn.1401726f0
mov rbp, qword [rbx + 0x10]
jmp 0x140097500
mov dword [rsp + 0x28], 0
mov rsi, r11
jmp 0x14009758b
mov dword [rsp + 0x28], 0
mov rcx, r14
mov rdx, r15
mov r8, qword [rsp + 0x100]
lea r9, [rsp + 0xf0]
call fcn.14009a040
mov rax, qword [r13]
sub rax, rsi
cmp rax, r15
jb 0x140097627
mov rcx, qword [r13 + 8]
add rcx, rsi
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add rsi, r15
mov rbx, rsi
mov qword [r13 + 0x10], rsi
mov dil, 1
lea rcx, [rsp + 0x170]
call fcn.1400992e0
test rax, rax
jne 0x140096fb6
jmp 0x140096f5c
mov r13, qword [rsp + 0x320]
mov r14, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov rdx, r15
mov r8, qword [rsp + 0x118]
test r8, r8
lea r12, [0x1401f2244]
je 0x140097644
mov rdx, r15
sub rdx, r8
jbe 0x14009763e
cmp byte [r14 + r8], 0xbf
jg 0x140097644
jmp 0x140098e53
mov rcx, r13
mov rdx, rsi
mov r8, r15
call fcn.1401726f0
mov rsi, qword [r13 + 0x10]
jmp 0x1400975b2
jne 0x140098e53
add r14, r8
test byte [rsp + 0x28], 1
jne 0x140097723
test rdx, rdx
je 0x14009770c
mov qword [rsp + 0x38], rdx
lea rsi, [r14 + rdx]
mov rdi, r14
jmp 0x140097672
cmp rdi, rsi
je 0x140097716
movzx ebx, byte [rdi]
movzx ecx, bl
test cl, cl
js 0x140097681
inc rdi
jmp 0x1400976dd
mov eax, ecx
and eax, 0x1f
movzx ebp, byte [rdi + 1]
and ebp, 0x3f
cmp cl, 0xdf
jbe 0x1400976c5
movzx edx, byte [rdi + 2]
shl ebp, 6
and edx, 0x3f
or edx, ebp
cmp bl, 0xf0
jb 0x1400976d2
movzx ecx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x140097716
add rdi, 4
jmp 0x1400976dd
add rdi, 2
shl eax, 6
or eax, ebp
mov ecx, eax
jmp 0x1400976dd
add rdi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x140097669
call fcn.14015dfb0
cmp al, 0x11
ja 0x140097669
movzx eax, al
mov ecx, 0x20003
bt rcx, rax
jae 0x140097669
mov al, 1
mov dword [rsp + 0x28], eax
jmp 0x14009771e
mov dword [rsp + 0x28], 0
jmp 0x140097723
mov dword [rsp + 0x28], 0
mov rdx, qword [rsp + 0x38]
movq xmm0, qword [rsp + 0xf2]
movzx eax, byte [rsp + 0xf0]
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd ecx, xmm1
or al, byte [rsp + 0xfa]
or al, cl
jne 0x140096f9e
cmp byte [rsp + 0xf1], 0
jne 0x140096f9e
cmp byte [rsp + 0xfb], 0
jne 0x140096f9e
mov qword [rsp + 0x110], r15
mov qword [rsp + 0x38], rdx
lea r12, [r14 + rdx]
xor ecx, ecx
mov rsi, r14
xor eax, eax
mov r15d, ecx
jmp 0x1400977b0
inc rsi
xor eax, eax
cmp ebp, 0x80
jae 0x14009782c
cmp rsi, r12
je 0x140097ce0
mov ebx, eax
movzx edx, byte [rsi]
movzx ebp, dl
test bpl, bpl
jns 0x1400977a3
mov eax, ebp
and eax, 0x1f
movzx edi, byte [rsi + 1]
and edi, 0x3f
cmp bpl, 0xdf
jbe 0x14009780f
movzx ecx, byte [rsi + 2]
shl edi, 6
and ecx, 0x3f
or ecx, edi
cmp dl, 0xf0
jb 0x14009781c
movzx ebp, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x140097ce0
add rsi, 4
jmp 0x1400977a6
add rsi, 2
shl eax, 6
or eax, edi
mov ebp, eax
jmp 0x1400977a6
add rsi, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
jmp 0x1400977a6
mov ecx, ebp
call fcn.14015e030
cmp bl, al
jbe 0x14009783f
test al, al
jne case.0x1400979dc.3907
lea ecx, [rbp - 0x340]
cmp ecx, 4
ja 0x140097853
cmp ecx, 2
jne case.0x1400979dc.3907
mov cl, 2
cmp ebp, 0xd56
jg 0x1400978b6
cmp ebp, 0x9de
jg 0x1400978f7
cmp ebp, 0x93b
jg 0x140097a07
lea edx, [rbp - 0x30f]
cmp edx, 0x36
ja 0x140097894
movabs rbx, 0x48020000001005
bt rbx, rdx
jb 0x14009779e
lea edx, [rbp - 0x374]
cmp edx, 0x13
ja case.0x1400979dc.3908
mov ebx, 0x80401
bt ebx, edx
jb case.0x1400979dc.3907
jmp case.0x1400979dc.3908
cmp ebp, 0x11126
jg 0x140097958
cmp ebp, 0x102d
jle 0x14009799a
cmp ebp, 0x1f70
jg 0x140097a59
cmp ebp, 0x102e
je 0x14009779e
cmp ebp, 0x1b35
je 0x14009779e
jmp case.0x1400979dc.3908
cmp ebp, 0xbd6
jg 0x1400979de
cmp ebp, 0xbbd
jg 0x140097b08
lea edx, [rbp - 0xb3e]
cmp edx, 0x19
ja 0x140097928
mov ebx, 0x3000001
bt ebx, edx
jb 0x14009779e
lea edx, [rbp - 0xa33]
cmp edx, 0x2b
ja 0x140097947
movabs rbx, 0x80000000009
bt rbx, rdx
jb case.0x1400979dc.3907
cmp ebp, 0x9df
jne case.0x1400979dc.3908
jmp case.0x1400979dc.3907
cmp ebp, 0x114af
jle 0x140097a30
lea edx, [rbp - 0x114b0]
cmp edx, 0xd
ja 0x14009797d
mov ebx, 0x2401
bt ebx, edx
jb 0x14009779e
cmp ebp, 0x115af
je 0x14009779e
cmp ebp, 0x11930
je 0x14009779e
jmp case.0x1400979dc.3908
lea edx, [rbp - 0xdca]
cmp edx, 0x15
ja 0x1400979b3
mov ebx, 0x200021
bt ebx, edx
jb 0x14009779e
cmp ebp, 0xd57
je 0x14009779e
lea edx, [rbp - 0xf43]
cmp edx, 0x76
ja case.0x1400979dc.3908
lea rbx, [0x140098ea8]
movsxd rdx, dword [rbx + rdx*4]
add rdx, rbx
jmp rdx
cmp ebp, 0xcc1
jg 0x140097abb
cmp ebp, 0xbd7
je 0x14009779e
cmp ebp, 0xc56
je 0x14009779e
jmp case.0x1400979dc.3908
cmp ebp, 0x93c
je 0x14009779e
cmp ebp, 0x9be
je 0x14009779e
cmp ebp, 0x9d7
je 0x14009779e
jmp case.0x1400979dc.3908
cmp ebp, 0x11127
je 0x14009779e
cmp ebp, 0x1133e
je 0x14009779e
cmp ebp, 0x11357
je 0x14009779e
jmp case.0x1400979dc.3908
cmp ebp, 0xfa0f
jle 0x140097ad5
cmp ebp, 0x110ba
mov r13, qword [rsp + 0x320]
pxor xmm14, xmm14
je 0x14009779e
lea edx, [rbp - 0xfa10]
cmp edx, 0x12
ja 0x140097a93
mov ebx, 0x50005
bt ebx, edx
jb case.0x1400979dc.3907
lea edx, [rbp - 0xfb1d]
cmp edx, 0x21
ja case.0x1400979dc.3908
movabs rbx, 0x200000005
bt rbx, rdx
jb case.0x1400979dc.3907
jmp case.0x1400979dc.3908
cmp ebp, 0xcc2
je 0x14009779e
cmp ebp, 0xd3e
je 0x14009779e
jmp case.0x1400979dc.3908
cmp ebp, 0x2125
jg 0x140097b16
lea edx, [rbp - 0x1f71]
cmp edx, 0x8c
mov r13, qword [rsp + 0x320]
pxor xmm14, xmm14
ja case.0x1400979dc.3908
lea rbx, [0x140099084]
movsxd rdx, dword [rbx + rdx*4]
add rdx, rbx
jmp rdx
cmp ebp, 0xbbe
je 0x14009779e
jmp case.0x1400979dc.3908
lea edx, [rbp - 0x2329]
cmp edx, 2
mov r13, qword [rsp + 0x320]
pxor xmm14, xmm14
jb case.0x1400979dc.3907
cmp ebp, 0x2126
je case.0x1400979dc.3907
cmp ebp, 0x2adc
je case.0x1400979dc.3907
movd xmm0, ebp
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
paddd xmm2, xmm7
movdqa xmm3, xmm0
paddd xmm3, xmm6
movdqa xmm4, xmm0
paddd xmm4, xmm13
movdqa xmm5, xmm0
paddd xmm5, xmm15
movdqa xmm1, xmm0
pand xmm1, xmm8
shufps xmm5, xmm1, 0xe4
pxor xmm4, xmm9
movdqa xmm14, xmm8
movdqa xmm8, xmm15
movdqa xmm15, xmm13
movdqa xmm13, xmm12
pcmpgtd xmm13, xmm4
pxor xmm3, xmm9
movdqa xmm4, xmm11
pcmpgtd xmm4, xmm3
packssdw xmm4, xmm13
pxor xmm2, xmm9
movdqa xmm3, xmm10
pcmpgtd xmm3, xmm2
movaps xmm2, xmm5
pxor xmm2, xmm9
movdqa xmm13, xmm6
movdqa xmm6, xmm7
movdqa xmm7, xmmword [0x140176b20]
pcmpgtd xmm7, xmm2
packssdw xmm3, xmm7
movdqa xmm7, xmm6
movdqa xmm6, xmm13
movdqa xmm13, xmm15
movdqa xmm15, xmm8
movdqa xmm8, xmm14
pxor xmm14, xmm14
packsswb xmm4, xmm3
pcmpeqd xmm5, xmmword [0x140176b30]
pshufhw xmm2, xmm5, 0x84
packsswb xmm2, xmm2
movdqa xmm5, xmmword [0x140176b40]
movdqa xmm3, xmm5
pandn xmm3, xmm2
pand xmm4, xmm5
por xmm3, xmm4
pmovmskb edx, xmm3
test edx, edx
jne case.0x1400979dc.3907
pshufd xmm2, xmm1, 0xaa
pcmpeqd xmm2, xmmword [0x140176b50]
movmskps edx, xmm2
test dl, dl
jne case.0x1400979dc.3907
pshufd xmm1, xmm1, 0xee
movd edx, xmm1
cmp edx, 0xfb40
je case.0x1400979dc.3907
movdqa xmm1, xmm0
paddd xmm1, xmmword [0x140176b60]
paddd xmm0, xmmword [0x140176b70]
pxor xmm0, xmm9
movdqa xmm2, xmmword [0x140176b80]
pcmpgtd xmm2, xmm0
pxor xmm1, xmm9
movdqa xmm0, xmmword [0x140176b90]
pcmpgtd xmm0, xmm1
packssdw xmm0, xmm2
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x14009779e
lea ebx, [rbp - 0x11a8]
cmp ebx, 0x1b
jb 0x14009779e
cmp edx, 0x330
je 0x14009779e
add ebp, 0xffffcf67
cmp ebp, 2
movzx ecx, r15b
mov edx, 2
cmovb ecx, edx
jmp 0x14009779e
test r15b, r15b
je 0x140097ed1
movzx eax, r15b
cmp eax, 1
je case.0x1400979dc.3907
lea rcx, [rsp + 0x46]
movdqu xmmword [rcx - 4], xmm14
movzx eax, word [rsp + 0x50]
mov word [rsp + 0x200], ax
movdqu xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x1f0], xmm0
mov dword [rsp + 0x40], 0
mov word [rsp + 0x44], 0
mov word [rcx + 0x10], ax
movdqu xmmword [rcx], xmm0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r14
movdqu xmmword [rcx + 0x2a], xmm14
mov qword [rcx + 0x38], 0
mov byte [rsp + 0x88], 0
mov dword [rsp + 0x8c], 0
mov byte [rsp + 0x90], 0
mov dword [rsp + 0x94], 0
mov byte [rsp + 0x98], 0
mov dword [rsp + 0x9c], 0
mov byte [rsp + 0xa0], 0
mov dword [rsp + 0xa4], 0
mov byte [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov dword [rsp + 0xc0], 0x110000
mov byte [rsp + 0xc4], 0
mov rsi, r14
cmp rsi, r12
je 0x140097e5d
movzx edx, byte [rsi]
movzx ebx, dl
test bl, bl
js 0x140097dda
inc rsi
jmp 0x140097e36
mov eax, ebx
and eax, 0x1f
movzx ebp, byte [rsi + 1]
and ebp, 0x3f
cmp bl, 0xdf
jbe 0x140097e1e
movzx ecx, byte [rsi + 2]
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
cmp dl, 0xf0
jb 0x140097e2b
movzx ebx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x140097e5d
add rsi, 4
jmp 0x140097e36
add rsi, 2
shl eax, 6
or eax, ebp
mov ebx, eax
jmp 0x140097e36
add rsi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
lea rcx, [rsp + 0x40]
call fcn.14009a270
cmp eax, 0x110000
je 0x140097e4f
cmp eax, ebx
je 0x140097dc2
mov sil, 1
cmp eax, 0x110000
je 0x140097e73
cmp eax, ebx
jne 0x140097e73
lea rcx, [rsp + 0x40]
call fcn.14009a270
cmp eax, 0x110000
setne sil
neg sil
cmp dword [rsp + 0x80], 0
je 0x140097e9f
cmp qword [rsp + 0x88], 0
je 0x140097e9f
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [rsp + 0x40], 0
je 0x140097ec2
cmp qword [rsp + 0x48], 0
je 0x140097ec2
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test sil, sil
je 0x140097ed1
mov byte [rsp + 0xf5], 1
jmp 0x140097eee
mov rcx, r14
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x138]
lea r9, [rsp + 0xf0]
call fcn.14009a040
lea r12, [0x1401f2244]
mov r15, qword [rsp + 0x110]
jmp 0x140096f9e
mov rcx, r13
mov rdx, qword [rsp + 0x118]
call fcn.1401726f0
jmp 0x1400971c3
mov rax, rbx
jmp 0x140097f22
jne 0x140098e89
add rcx, r8
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
movabs rcx, 0x2e0000002e
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rax
mov word [rsp + 0x80], 1
test byte [rsp + 0x28], 1
jne 0x140097f8b
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.1400992e0
test rax, rax
jne 0x140097f79
jmp 0x1400983c6
xor r12d, r12d
lea rcx, [rsp + 0x40]
call fcn.1400992e0
test rax, rax
je 0x1400983c6
mov r15, rdx
test rdx, rdx
je 0x140097f8e
mov r14, rax
movzx ebx, byte [rax]
movzx ecx, bl
test cl, cl
js 0x140097fbc
lea r13, [r14 + 1]
jmp 0x14009801b
mov eax, ecx
and eax, 0x1f
movzx ebp, byte [r14 + 1]
and ebp, 0x3f
cmp cl, 0xdf
jbe 0x140098003
movzx edx, byte [r14 + 2]
shl ebp, 6
and edx, 0x3f
or edx, ebp
cmp bl, 0xf0
jb 0x140098010
movzx ecx, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x140097f8e
lea r13, [r14 + 4]
jmp 0x14009801b
lea r13, [r14 + 2]
shl eax, 6
or eax, ebp
mov ecx, eax
jmp 0x14009801b
lea r13, [r14 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r15, r14
call fcn.14015dfb0
test al, al
je 0x14009815f
movzx eax, al
cmp eax, 0x11
je 0x14009815f
cmp eax, 9
jne 0x1400983be
cmp r13, r15
je 0x1400980dd
movzx ebx, byte [r13]
movzx ecx, bl
test cl, cl
js 0x14009805a
inc r13
jmp 0x1400980b9
mov eax, ecx
and eax, 0x1f
movzx ebp, byte [r13 + 1]
and ebp, 0x3f
cmp cl, 0xdf
jbe 0x1400980a1
movzx edx, byte [r13 + 2]
shl ebp, 6
and edx, 0x3f
or edx, ebp
cmp bl, 0xf0
jb 0x1400980ae
movzx ecx, byte [r13 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400980dd
add r13, 4
jmp 0x1400980b9
add r13, 2
shl eax, 6
or eax, ebp
mov ecx, eax
jmp 0x1400980b9
add r13, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.14015dfb0
cmp al, 0xe
ja 0x1400983be
movzx eax, al
mov ecx, 0x62f8
bt rcx, rax
jb 0x140098040
jmp 0x1400983be
movzx eax, byte [r15 - 1]
test al, al
js 0x1400980ee
dec r15
movzx ebx, al
jmp 0x14009813a
movzx ecx, byte [r15 - 2]
cmp cl, 0xc0
jge 0x140098118
movzx edx, byte [r15 - 3]
cmp dl, 0xc0
jge 0x140098121
movzx ebp, byte [r15 - 4]
add r15, 0xfffffffffffffffc
and ebp, 7
shl ebp, 6
and edx, 0x3f
or edx, ebp
jmp 0x140098128
add r15, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x140098130
add r15, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx ebx, al
or ebx, ecx
cmp r15, r14
je 0x140098333
cmp ebx, 0x110000
je 0x140097f8e
mov ecx, ebx
call fcn.14015dfb0
cmp al, 0xd
je 0x1400980dd
jmp 0x140098351
cmp r13, r15
je 0x1400982a5
mov dword [rsp + 0x100], 0
mov dword [rsp + 0x30], 0
movzx ebx, byte [r13]
movzx eax, bl
test al, al
js 0x14009818c
inc r13
jmp 0x1400981ed
mov ecx, eax
and ecx, 0x1f
movzx ebp, byte [r13 + 1]
and ebp, 0x3f
cmp al, 0xdf
jbe 0x1400981d5
movzx edx, byte [r13 + 2]
shl ebp, 6
and edx, 0x3f
or edx, ebp
cmp bl, 0xf0
jb 0x1400981e2
movzx eax, byte [r13 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x1400982b8
add r13, 4
jmp 0x1400981ed
add r13, 2
shl ecx, 6
or ecx, ebp
mov eax, ecx
jmp 0x1400981ed
add r13, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov ecx, 0x5a6
xor edi, edi
mov r8d, 0x5a6
jmp 0x140098208
mov r8, rcx
sub rcx, rdi
jbe 0x1400983be
shr rcx, 1
add rcx, rdi
lea rbp, [rcx + rcx*2]
lea rsi, [0x1401f2244]
mov ebx, dword [rsi + rbp*4 + 4]
cmp ebx, eax
setae dl
add dl, dl
dec dl
cmp ebx, eax
movzx edx, dl
mov ebx, edx
cmovae ebx, r12d
cmp dword [rsi + rbp*4], eax
cmova ebx, edx
cmp bl, 1
je 0x1400981fc
movzx edx, bl
cmp edx, 0xff
jne 0x14009825a
inc rcx
mov rdi, rcx
mov rcx, r8
sub rcx, rdi
ja 0x140098208
jmp 0x1400983be
lea rax, [0x1401f2244]
movzx eax, byte [rax + rbp*4 + 8]
cmp eax, 1
je 0x140098278
cmp eax, 5
jne 0x140098281
mov al, 1
mov dword [rsp + 0x30], eax
jmp 0x14009829a
mov dword [rsp + 0x100], eax
jmp 0x14009829a
cmp rax, 0x11
ja 0x1400983be
mov ecx, 0x260fb
bt rcx, rax
jae 0x1400983be
cmp r13, r15
jne 0x14009817b
jmp 0x1400982b8
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x100], 0
movzx eax, byte [r15 - 1]
test al, al
js 0x1400982c9
dec r15
movzx ebx, al
jmp 0x140098315
movzx ecx, byte [r15 - 2]
cmp cl, 0xc0
jge 0x1400982f3
movzx edx, byte [r15 - 3]
cmp dl, 0xc0
jge 0x1400982fc
movzx ebp, byte [r15 - 4]
add r15, 0xfffffffffffffffc
and ebp, 7
shl ebp, 6
and edx, 0x3f
or edx, ebp
jmp 0x140098303
add r15, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x14009830b
add r15, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx ebx, al
or ebx, ecx
cmp r15, r14
je 0x140098371
cmp ebx, 0x110000
je 0x1400983be
mov ecx, ebx
call fcn.14015dfb0
cmp al, 0xd
je 0x1400982b8
jmp 0x14009838b
mov ecx, ebx
cmp ecx, 0x110000
je 0x140097f8e
mov ebx, ecx
call fcn.14015dfb0
mov ecx, 0x110000
cmp al, 0xd
je 0x140098335
mov ecx, ebx
call fcn.14015dfb0
cmp al, 9
je 0x140097f8e
mov ecx, ebx
call fcn.14015dfb0
cmp al, 5
je 0x140097f8e
jmp 0x1400983be
mov ecx, ebx
cmp ecx, 0x110000
je 0x1400983be
mov ebx, ecx
call fcn.14015dfb0
mov ecx, 0x110000
cmp al, 0xd
je 0x140098373
mov ecx, ebx
call fcn.14015dfb0
cmp al, 0x11
ja 0x1400983be
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x1400983be
test byte [rsp + 0x100], 1
je 0x140097f8e
mov eax, dword [rsp + 0x30]
and al, 1
je 0x140097f8e
mov byte [rsp + 0xf2], 1
cmp qword [rsp + 0x150], 0
je 0x1400983e8
mov r8, qword [rsp + 0x158]
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x320]
mov rsi, qword [rax + 0x10]
test rsi, rsi
mov r13, qword [rsp + 0x148]
mov rdi, qword [rsp + 0x108]
je 0x14009844f
js 0x140098e9f
mov rcx, qword [0x140221370]
test rcx, rcx
jne 0x140098430
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140098440
mov rcx, rax
mov qword [0x140221370], rax
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140098454
mov edx, 1
mov rcx, rsi
call fcn.14016c090
ud2
mov eax, 1
mov rdx, qword [rsp + 0x320]
mov rcx, qword [rdx + 0x10]
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x40], xmm0
mov qword [rdx], rsi
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], 0
lea rsi, [rdi + 0x18]
cmp qword [rdi + 0x18], 0
je 0x14009849a
mov r8, qword [rdi + 0x20]
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rsi], xmm0
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rcx
mov word [rsp + 0x80], 1
xor eax, eax
jmp 0x14009853f
mov rcx, qword [rsp + 0x320]
mov rax, qword [rcx]
mov rbp, qword [rcx + 0x10]
sub rax, rbp
cmp rax, rsi
jb 0x140098cd8
mov rdi, qword [rsp + 0x320]
mov rcx, qword [rdi + 8]
add rcx, rbp
mov rdx, rbx
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, rbp
mov qword [rdi + 0x10], rsi
mov al, 1
mov qword [rsp + 0x128], rax
lea rcx, [rsp + 0x40]
call fcn.1400992e0
test rax, rax
je 0x140098d11
mov rbx, rax
mov rsi, rdx
test byte [rsp + 0x128], 1
je 0x140098596
mov rdi, qword [rsp + 0x320]
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x140098587
mov rcx, rdi
call fcn.14006a800
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rdi + 0x10], rdx
cmp rsi, 8
jb 0x1400985ed
lea rcx, [rbx + 7]
and rcx, 0xfffffffffffffff8
mov rax, rcx
sub rax, rbx
cmp rax, rsi
ja 0x1400985ed
movabs rdx, 0x8080808080808080
test qword [rbx], rdx
jne 0x140098602
cmp rcx, rbx
mov ecx, 8
cmove rax, rcx
lea rcx, [rsi - 8]
cmp rax, rcx
jae 0x1400985e2
test qword [rbx + rax], rdx
jne 0x140098602
add rax, 8
cmp rax, rcx
jb 0x1400985d3
test qword [rbx + rcx], rdx
jne 0x140098602
jmp 0x140098501
xor eax, eax
cmp rsi, rax
je 0x140098501
cmp byte [rbx + rax], 0
lea rax, [rax + 1]
jns 0x1400985ef
mov qword [rsp + 0x130], rbx
mov rdi, qword [rsp + 0x320]
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x10]
sub rax, rdx
mov qword [rsp + 0x120], rdx
cmp rax, 3
jbe 0x140098c72
mov r8, qword [rdi + 8]
mov dword [r8 + rdx], 0x2d2d6e78
add rdx, 4
mov qword [rdi + 0x10], rdx
mov al, 1
mov qword [rsp + 0x128], rax
test rsi, rsi
je 0x140098547
mov rax, qword [rsp + 0x130]
mov r14, rax
add r14, rsi
xor r15d, r15d
mov dword [rsp + 0x30], 0
mov rsi, rax
jmp 0x14009868b
mov byte [r8 + rdx], dil
inc rdx
mov qword [rbx + 0x10], rdx
inc dword [rsp + 0x30]
cmp rsi, r14
je 0x14009874d
movzx ebx, byte [rsi]
movzx edi, bl
test dil, dil
js 0x1400986bb
inc rsi
inc r15d
mov rbx, qword [rsp + 0x320]
cmp rdx, qword [rbx]
jne 0x140098673
mov rcx, rbx
call fcn.14006a800
mov r8, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
jmp 0x140098673
mov ecx, edi
and ecx, 0x1f
movzx eax, byte [rsi + 1]
and eax, 0x3f
cmp dil, 0xdf
jbe 0x14009870f
movzx ebp, byte [rsi + 2]
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp bl, 0xf0
jb 0x14009872e
movzx edi, byte [rsi + 3]
and ecx, 7
shl ecx, 0x12
shl ebp, 6
and edi, 0x3f
or edi, ebp
or edi, ecx
cmp edi, 0x110000
je 0x14009874d
add rsi, 4
inc r15d
cmp edi, 0x80
jae 0x140098682
jmp 0x14009869c
add rsi, 2
shl ecx, 6
or ecx, eax
mov edi, ecx
inc r15d
cmp edi, 0x80
jae 0x140098682
jmp 0x14009869c
add rsi, 3
shl ecx, 0xc
or ebp, ecx
mov edi, ebp
inc r15d
cmp edi, 0x80
jae 0x140098682
jmp 0x14009869c
mov ecx, dword [rsp + 0x30]
test ecx, ecx
je 0x140098781
mov rsi, qword [rsp + 0x320]
cmp rdx, qword [rsi]
jne 0x140098772
mov rcx, rsi
call fcn.14006a800
mov ecx, dword [rsp + 0x30]
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [rsi + 0x10], rdx
cmp ecx, r15d
jae 0x140098547
mov edi, 0x80
mov r11d, 0x48
xor r8d, r8d
mov r10d, ecx
mov qword [rsp + 0x138], r14
mov dword [rsp + 0x144], r15d
mov rcx, qword [rsp + 0x130]
jmp 0x1400987c0
inc rcx
cmp edi, ebp
jbe 0x140098846
cmp rcx, r14
je 0x140098e39
movzx ebx, byte [rcx]
movzx ebp, bl
test bpl, bpl
jns 0x1400987b5
mov edx, ebp
and edx, 0x1f
movzx eax, byte [rcx + 1]
and eax, 0x3f
cmp bpl, 0xdf
jbe 0x14009881d
movzx esi, byte [rcx + 2]
shl eax, 6
and esi, 0x3f
or esi, eax
cmp bl, 0xf0
jb 0x14009882a
movzx ebp, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl esi, 6
and ebp, 0x3f
or ebp, esi
or ebp, edx
cmp ebp, 0x110000
je 0x140098e39
add rcx, 4
jmp 0x1400987b8
add rcx, 2
shl edx, 6
or edx, eax
mov ebp, edx
jmp 0x1400987b8
add rcx, 3
shl edx, 0xc
or esi, edx
mov ebp, esi
jmp 0x1400987b8
inc rcx
cmp ebp, edx
mov eax, edx
cmovb eax, ebp
cmp edx, edi
cmovae ebp, eax
cmp rcx, r14
je 0x1400988c1
movzx eax, byte [rcx]
movzx edx, al
test dl, dl
jns 0x140098837
mov r9d, ebp
mov ebx, edx
and ebx, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp dl, 0xdf
jbe 0x14009889e
movzx ebp, byte [rcx + 2]
shl esi, 6
and ebp, 0x3f
or ebp, esi
cmp al, 0xf0
jb 0x1400988ae
movzx edx, byte [rcx + 3]
and ebx, 7
shl ebx, 0x12
shl ebp, 6
and edx, 0x3f
or edx, ebp
or edx, ebx
cmp edx, 0x110000
mov ebp, r9d
je 0x1400988c1
add rcx, 4
jmp 0x14009883a
add rcx, 2
shl ebx, 6
or ebx, esi
mov edx, ebx
mov ebp, r9d
jmp 0x14009883a
add rcx, 3
shl ebx, 0xc
or ebp, ebx
mov edx, ebp
mov ebp, r9d
jmp 0x14009883a
mov ecx, r10d
inc ecx
je 0x140098daa
mov eax, ebp
sub eax, edi
mov edi, eax
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp edi, eax
ja 0x140098c4e
imul edi, ecx
add edi, r8d
mov rsi, qword [rsp + 0x130]
mov dword [rsp + 0x118], ebp
jmp 0x140098909
mov ebx, r10d
mov r8d, edi
cmp rsi, r14
je 0x140098c2e
movzx ebx, byte [rsi]
movzx eax, bl
test al, al
js 0x14009891c
inc rsi
cmp eax, ebp
jb 0x140098992
jmp 0x14009899a
mov r8d, edi
mov ecx, eax
and ecx, 0x1f
movzx edi, byte [rsi + 1]
and edi, 0x3f
cmp al, 0xdf
jbe 0x14009896c
movzx edx, byte [rsi + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp bl, 0xf0
jb 0x140098980
movzx eax, byte [rsi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
mov edi, r8d
je 0x140098c46
add rsi, 4
cmp eax, ebp
jb 0x140098992
jmp 0x14009899a
add rsi, 2
shl ecx, 6
or ecx, edi
mov eax, ecx
mov edi, r8d
cmp eax, ebp
jb 0x140098992
jmp 0x14009899a
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov edi, r8d
cmp eax, ebp
jae 0x14009899a
inc edi
je 0x140098c4e
cmp eax, ebp
jne 0x1400988fa
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x110], r10d
lea r9d, [r11 + 0x1a]
lea ecx, [r11 - 0x24]
neg ecx
cmp r9d, 0x25
mov r8d, 0x1a
cmovb ecx, r8d
cmp r11d, 0x24
mov ebx, 1
cmovae ecx, ebx
mov esi, edi
mov dword [rsp + 0x38], edi
cmp edi, ecx
jae 0x140098a96
mov edx, 0x61
cmp esi, 0x1a
jb 0x1400989f9
mov edx, reloc.WS2_32.dll_shutdown
cmp esi, 0x24
jae 0x140098e1f
add edx, esi
mov rcx, qword [rsp + 0x320]
call fcn.14015fce0
mov eax, dword [rsp + 0x110]
mov ebx, eax
inc ebx
mov esi, 0xd41d41d5
mov edx, dword [rsp + 0x38]
je 0x140098d7a
cmp eax, dword [rsp + 0x30]
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, edx
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div ebx
add eax, ecx
cmp eax, 0x1c8
mov r14, qword [rsp + 0x138]
mov r15d, dword [rsp + 0x144]
mov ebp, dword [rsp + 0x118]
jb 0x140098bfd
xor ecx, ecx
nop dword [rax + rax]
mov edx, eax
imul rdx, rsi
shr rdx, 0x20
mov edi, eax
sub edi, edx
shr edi, 1
add edi, edx
shr edi, 5
add ecx, 0x24
cmp eax, 0x3e57
mov eax, edi
ja 0x140098a70
jmp 0x140098c01
mov r14d, r11d
neg r14d
mov r15d, 0x48
mov esi, dword [rsp + 0x38]
mov qword [rsp + 0x108], r11
mov dword [rsp + 0x100], r9d
jmp 0x140098af4
mov rax, qword [rbp + 8]
mov byte [rax + rdx], r12b
inc rdx
mov qword [rbp + 0x10], rdx
mov eax, esi
xor edx, edx
div edi
lea ecx, [r14 + r15]
cmp r15d, r9d
cmovae ecx, r8d
cmp r15d, r11d
cmovbe ecx, ebx
add r15d, 0x24
mov esi, eax
cmp eax, ecx
jb 0x1400989e1
mov edi, ecx
sub edi, 0x24
je 0x140098cf7
sub esi, ecx
neg edi
mov eax, esi
xor edx, edx
div edi
add edx, ecx
mov r12d, 0x61
cmp edx, 0x1a
jb 0x140098b25
mov r12d, reloc.WS2_32.dll_shutdown
cmp edx, 0x24
jae 0x140098e1f
add r12d, edx
cmp r12d, 0x7f
ja 0x140098b70
mov rbp, qword [rsp + 0x320]
mov rdx, qword [rbp + 0x10]
cmp rdx, qword [rbp]
jne 0x140098ac0
mov rcx, rbp
call fcn.14006a800
mov r9d, dword [rsp + 0x100]
mov r11, qword [rsp + 0x108]
mov ebx, 1
mov r8d, 0x1a
mov rdx, qword [rbp + 0x10]
jmp 0x140098ac0
movzx r13d, r12w
shr r13d, 6
mov rcx, qword [rsp + 0x320]
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x10]
sub rax, rdx
cmp rax, 1
jbe 0x140098bc6
mov rbp, qword [rsp + 0x320]
mov rax, qword [rbp + 8]
and r12d, 0x3f
shl r12d, 8
movzx ecx, r13w
or ecx, r12d
or ecx, 0x80c0
mov word [rax + rdx], cx
add rdx, 2
mov r13, qword [rsp + 0x148]
jmp 0x140098acb
mov r8d, 2
mov rbp, qword [rsp + 0x320]
mov rcx, rbp
call fcn.1401726f0
mov r9d, dword [rsp + 0x100]
mov r11, qword [rsp + 0x108]
mov ebx, 1
mov r8d, 0x1a
mov rdx, qword [rbp + 0x10]
jmp 0x140098b90
xor ecx, ecx
mov edi, eax
lea eax, [rdi*4]
lea eax, [rax + rax*8]
add edi, 0x26
xor edx, edx
div di
movzx r11d, ax
add r11d, ecx
mov edi, r8d
mov r10d, ebx
mov rsi, qword [rsp + 0x28]
cmp rsi, r14
jne 0x140098909
inc r8d
inc ebp
mov r10d, ebx
mov edi, ebp
cmp ebx, r15d
jb 0x1400987ab
jmp 0x140098547
mov ebx, r10d
mov r8d, edi
jmp 0x140098c2e
mov byte [rsp + 0xf0], 1
mov rax, qword [rsp + 0x320]
mov rax, qword [rax + 0x10]
cmp rax, qword [rsp + 0x120]
jb 0x140098547
jmp 0x140098c91
mov r8d, 4
mov rcx, rdi
mov rdx, qword [rsp + 0x120]
call fcn.1401726f0
mov rdx, qword [rdi + 0x10]
jmp 0x14009862e
mov rsi, qword [rsp + 0x120]
test rsi, rsi
je 0x140098cbe
mov rdi, qword [rsp + 0x320]
cmp rax, rsi
jbe 0x140098ccd
mov rax, qword [rdi + 8]
cmp byte [rax + rsi], 0xbf
jg 0x140098539
jmp 0x140098e6f
xor esi, esi
mov rdi, qword [rsp + 0x320]
jmp 0x140098539
je 0x140098539
jmp 0x140098e6f
mov rdi, qword [rsp + 0x320]
mov rcx, rdi
mov rdx, rbp
mov r8, rsi
call fcn.1401726f0
mov rbp, qword [rdi + 0x10]
jmp 0x14009851c
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, [0x1401bcd68]
mov edx, 0x39
call fcn.14016f3d0
ud2
mov eax, dword [rsp + 0xf8]
mov dword [r13 + 8], eax
mov rax, qword [rsp + 0xf0]
mov qword [r13], rax
jmp 0x140096ccb
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcuts46.rs
mov ecx, 4
mov edx, 4
call fcn.14016f330
ud2
lea rax, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcuts46.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401c874c]
mov edx, 0x321c
call fcn.14016f7f0
ud2
lea r8, [0x1401bcb30]
mov edx, 4
mov rcx, rbx
call fcn.14016f3c0
ud2
lea rcx, str.attempt_to_divide_by_zeroC:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcpunycode.rs
lea r8, [0x1401bcca8]
mov edx, 0x19
call fcn.14016f3d0
ud2
lea r8, [0x1401bcb30]
mov edx, 4
mov rcx, rax
call fcn.14016f3c0
ud2
lea rcx, str.attempt_to_divide_by_zeroC:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcpunycode.rs
lea r8, [0x1401bcd50]
mov edx, 0x19
call fcn.14016f3d0
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srclookups.rs
mov edx, 0xd4e
call fcn.14016f3b0
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srclookups.rs
mov rcx, rbx
call fcn.14016f3c0
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srclookups.rs
mov edx, 0x1667
call fcn.14016f3b0
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srclookups.rs
mov rcx, rbx
call fcn.14016f3c0
ud2
lea r8, [0x1401bcb30]
mov edx, 4
call fcn.14016f3c0
ud2
lea rcx, [0x1401f023e]
lea r8, [0x1401bcd98]
mov edx, recv
call fcn.14016f3d0
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_84c898d65adf2f39a5a98507f1fe0ce10a2b8dbclibrarycore_src_strpattern.rs
lea r8, [0x1401bcd80]
mov edx, 0x2b
call fcn.14016f3d0
ud2
lea rax, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r15
mov r9, r15
call fcn.14016f7f0
ud2
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x140215190]
mov edx, 0x30
call fcn.14016f3d0
ud2
lea rax, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.14016f7f0
ud2
call fcn.140013880
ud2