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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1f0
movaps xmm0, xmmword [0x576710]
cmp dword [ecx + 0x5c], 0
mov ebx, ecx
movaps xmmword [esp + 0x190], xmm0
jne 0x468dc9
mov eax, dword [ebx + 0x60]
cmp dword [ebx + 0x24], 0
mov dword [esp + 0xc], eax
je 0x468dd6
lea eax, [ebx + 0x28]
cmp dword [ebx + 0x90], 0
mov dword [esp + 0x1c], edx
je 0x468de6
lea ecx, [ebx + 0x94]
mov edx, eax
mov eax, dword [ebx + 0x20]
cmp dword [ebx + 4], 0
je 0x468df7
lea esi, [ebx + 8]
jmp 0x468dfa
lea eax, [ebx + 0x60]
cmp dword [ebx + 0x24], 0
mov dword [esp + 0xc], eax
jne 0x468da3
mov eax, dword [ebx + 0x28]
cmp dword [ebx + 0x90], 0
mov dword [esp + 0x1c], edx
jne 0x468db3
mov ecx, dword [ebx + 0x94]
mov edx, eax
mov eax, dword [ebx + 0x20]
cmp dword [ebx + 4], 0
jne 0x468dc4
mov esi, dword [ebx + 8]
xor edi, edi
cmp eax, 2
movzx eax, byte [ebx]
cmove edx, edi
mov dword [esp + 0x10], edx
jne 0x468e15
mov dword [esp + 0x20], 0
jmp 0x468e20
movzx edx, byte [edx + 0x32]
and dl, 1
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
test al, 1
mov eax, dword [ecx + 0xc]
lea edi, [edx + edi*4]
mov edx, dword [ecx]
mov dword [esp + 0xe8], eax
movzx eax, byte [ebx + 0xae]
mov dword [esp + 0x14], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0xe4], ecx
je 0x468e7b
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [esi + 0x10]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], ecx
jmp 0x468ea1
mov dword [esp + 0xdc], 1
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov eax, 1
mov ecx, dword [ebp + 0xc]
lea esi, [esp + 0xec]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edi
mov dword [esp + 0x28], 0
lea edi, [esp + 0x2c]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x70], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
movzx ecx, word [esp + 0xe1]
mov word [esp + 0x7d], cx
movzx ecx, byte [esp + 0xe3]
mov byte [esp + 0x7f], cl
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], edx
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x20]
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb4], eax
mov byte [esp + 0xb9], 2
mov eax, dword [esp + 0x78]
mov dword [esp + 0x74], 0x110000
mov edx, 0xffff
lea ecx, [esp + 0x28]
push eax
call sym.icu_normalizer::Decomposition_LT_I_GT_::decomposing_next::h60772f75351de5c9
add esp, 4
movsd xmm0, qword [esp + 0x34]
mov ecx, dword [esp + 0x6c]
lea edx, [esp + 0x1a4]
lea esi, [esp + 0x74]
mov eax, dword [esp + 0x30]
mov edi, edx
movsd qword [esp + 0x150], xmm0
movsd xmm0, qword [esp + 0x3c]
mov dword [esp + 0x188], ecx
mov ecx, dword [esp + 0x70]
movsd qword [esp + 0x158], xmm0
movsd xmm0, qword [esp + 0x44]
mov dword [esp + 0xc], ecx
mov ecx, 0x12
movsd qword [esp + 0x160], xmm0
movsd xmm0, qword [esp + 0x4c]
movsd qword [esp + 0x168], xmm0
movsd xmm0, qword [esp + 0x54]
movsd qword [esp + 0x170], xmm0
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 0x178], xmm0
movsd xmm0, qword [esp + 0x64]
movsd qword [esp + 0x180], xmm0
rep movsd dword es:[edi], dword [esi]
movsd xmm0, qword [esp + 0x28]
cmp dword [ebx + 0xb0], 0
jne 0x469067
mov ecx, dword [ebx + 0xb4]
mov esi, edx
jmp 0x46906f
mov esi, edx
lea ecx, [ebx + 0xb4]
mov edx, dword [ecx]
movsd xmm1, qword [esp + 0x158]
movsd xmm2, qword [esp + 0x150]
lea edi, [esp + 0x74]
mov dword [esp + 0x10], edx
mov edx, dword [ecx + 4]
movsd qword [esp + 0x28], xmm0
mov dword [esp + 0x30], eax
movsd qword [esp + 0x3c], xmm1
movsd xmm1, qword [esp + 0x160]
mov eax, dword [esp + 0x188]
movsd qword [esp + 0x34], xmm2
movsd xmm2, qword [esp + 0x168]
mov ecx, 0x12
movsd qword [esp + 0x44], xmm1
movsd xmm1, qword [esp + 0x170]
mov dword [esp + 0x6c], eax
movsd qword [esp + 0x4c], xmm2
movsd xmm2, qword [esp + 0x178]
mov eax, dword [esp + 0xc]
movsd qword [esp + 0x54], xmm1
movsd xmm1, qword [esp + 0x180]
movsd qword [esp + 0x5c], xmm2
movsd qword [esp + 0x64], xmm1
mov dword [esp + 0x70], eax
movzx eax, word [ebx + 0xac]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xbc], 0x110000
lea edi, [esp + 0xec]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x190]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x1c]
lea ecx, [eax + 0x3f8]
add eax, 4
mov dword [esp + 0x14], eax
mov eax, 0x110000
mov dword [esp + 0x18], ecx
nop
cmp eax, 0x110000
mov esi, 0
mov ebx, 0
mov dword [esp + 0xc], 0
jne 0x4692c0
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x2c]
cmp eax, 0x12
mov esi, eax
jb 0x4691a4
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xac]
cmp edx, esi
jae 0x4691f0
mov ecx, dword [ecx + edx*4]
inc edx
cmp eax, 0x11
mov esi, eax
mov dword [esp + 0xac], edx
ja 0x46926b
cmp edx, esi
je 0x469277
mov ebx, ecx
and ebx, 0xffffff
cmp ecx, 0xffffff
jbe 0x4692b5
jmp 0x469977
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x74], 0x110000
cmp ebx, 0x110000
je 0x469c05
cmp ebx, dword [esp + 0xcc]
jb 0x469222
cmp esi, 2
jae 0x469ace
mov ecx, edi
lea edx, [esp + 0x28]
call sym.icu_normalizer::Decomposition_LT_I_GT_::delegate_next_no_pending::h1d677f8a8986bb95
mov eax, dword [esp + 0xec]
cmp eax, 0x110000
je 0x46996b
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
cmp eax, dword [esp + 0xcc]
jae 0x469b49
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
jmp 0x46996b
mov esi, dword [esp + 0x2c]
cmp edx, esi
jne 0x4691cd
cmp eax, 0x12
mov eax, 0x48
mov edx, 4
cmovae eax, edx
cmp dword [esp + eax + 0x28], 0
je 0x469296
mov dword [esp + eax + 0x28], 0
mov dword [esp + 0xac], 0
mov ebx, ecx
and ebx, 0xffffff
cmp ecx, 0xffffff
ja 0x469977
mov dword [esp + 0xbc], ebx
xor esi, esi
xor ebx, ebx
mov edx, ebx
xor ebx, ebx
jmp 0x4692de
mov esi, dword [esp + 0x78]
mov dword [esp + 0x74], 0x110000
mov bl, 1
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xbc], 0x110000
cmp ecx, 0x110000
jne 0x469382
lea ecx, [esp + 0x28]
push esi
call sym.icu_normalizer::Decomposition_LT_I_GT_::decomposing_next::h60772f75351de5c9
add esp, 4
test bl, 1
je 0x469380
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0xfc], ecx
lea ecx, [eax - 0x1161]
mov dword [esp + 0x100], edx
mov dword [esp + 0xec], 1
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
cmp ecx, 0x9e
jbe 0x4698c9
mov edx, dword [esp + 0xc]
mov ecx, edi
push eax
mov esi, eax
call sym.icu_normalizer::compose_non_hangul::h137de24a7d5d504b
add esp, 4
mov ecx, eax
mov eax, esi
cmp ecx, 0x110000
jne 0x469382
jmp 0x469bb2
mov ecx, eax
mov dword [esp + 0xc], ecx
nop word cs:[eax + eax]
mov edi, dword [esp + 0x70]
lea eax, [esp + 0x2c]
cmp edi, 0x12
mov edx, edi
jb 0x4693a7
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xac]
cmp ecx, edx
jae 0x469830
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x10], ebx
and ebx, 0xffffff
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], edx
mov dword [esp + 0xec], 1
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
lea eax, [ebx - 0x1161]
cmp eax, 0x9e
jbe 0x469430
cmp ebx, 0x10000
jae 0x469470
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
lea esi, [esp + 0xec]
jmp 0x4694a9
cmp eax, 0x15
jae 0x4694d0
mov edx, dword [esp + 0xc]
add edx, 0xffffef00
cmp edx, 0x13
jae 0x46959b
lea esi, [eax + eax*8]
imul edx, edx, 0x24c
lea esi, [esi + esi*2]
add esi, eax
lea edx, [edx + esi + 0xac00]
jmp 0x469576
shr ebx, 0xa
add ebx, 0xffffd7c0
lea esi, [esp + 0xec]
mov edx, ebx
mov ecx, esi
call sym.icu_collections::char16trie::trie::Char16TrieIterator::next16::h06ca6a01eb125e47
mov edi, dword [esp + 0xc]
or eax, 2
cmp eax, 3
jne 0x469590
mov edx, dword [esp + 0x10]
and edx, 0x3ff
or edx, 0xdc00
mov ecx, esi
call sym.icu_collections::char16trie::trie::Char16TrieIterator::next16::h06ca6a01eb125e47
cmp eax, 1
jne 0x469590
cmp edi, 0x10000
jae 0x469520
mov edx, edi
jmp 0x469548
lea eax, [ebx - 0x11a8]
cmp eax, 0x1b
jae 0x46959b
mov eax, dword [esp + 0xc]
mov edx, 0x24924925
lea esi, [eax - 0xac00]
mov eax, esi
shr eax, 2
mul edx
cmp esi, 0x2ba3
ja 0x46959b
lea eax, [edx + edx*8]
lea eax, [eax + eax*2]
add eax, edx
sub esi, eax
jne 0x46959b
mov edx, dword [esp + 0xc]
lea edx, [edx + ebx - 0x11a7]
jmp 0x469576
mov edx, edi
shr edx, 0xa
add edx, 0xffffd7c0
mov ecx, esi
call sym.icu_collections::char16trie::trie::Char16TrieIterator::next16::h06ca6a01eb125e47
or eax, 2
cmp eax, 3
jne 0x469590
mov edx, edi
and edx, 0x3ff
or edx, 0xdc00
mov ecx, esi
call sym.icu_collections::char16trie::trie::Char16TrieIterator::next16::h06ca6a01eb125e47
cmp eax, 2
jne 0x469590
mov eax, edx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x469590
cmp edx, 0x110000
je 0x469590
mov ecx, dword [esp + 0xac]
inc ecx
je 0x469cc9
mov dword [esp + 0xc], edx
mov dword [esp + 0xac], ecx
jmp 0x469390
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x10]
cmp edi, 0x12
jb 0x4695c0
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0x2c]
cmp edi, ecx
jae 0x4695cc
jmp 0x469cd5
cmp edi, ecx
lea eax, [esp + 0x70]
jb 0x469cd5
mov dword [eax], 0
mov esi, edi
mov ebx, dword [esp + 0x70]
sub esi, ecx
cmp ebx, 0x12
jb 0x469600
cmp edi, ecx
lea edi, [esp + 0xec]
je 0x46964b
mov ebx, dword [esp + 0x2c]
cmp ecx, ebx
je 0x46962d
mov eax, dword [esp + 0x30]
jmp 0x469613
cmp edi, ecx
lea edi, [esp + 0xec]
je 0x46964b
cmp ecx, ebx
lea eax, [esp + 0x2c]
je 0x46962d
lea ecx, [eax + ecx*4]
lea eax, [eax + ebx*4]
lea edx, [esi*4]
push edx
push ecx
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov ecx, ebx
add ecx, esi
jb 0x469ced
cmp dword [esp + 0x70], 0x12
lea eax, [esp + 0x70]
lea edx, [esp + 0x2c]
cmovae eax, edx
mov edx, dword [esp + 0x10]
mov dword [eax], ecx
cmp edx, 0x1000000
mov dword [esp + 0xac], 0
jb 0x469bb9
mov eax, 1
shr edx, 0x18
mov esi, 1
not eax
mov dword [esp + 0x24], eax
jmp 0x469690
mov dword [esp + 0x20], edx
inc esi
mov edx, dword [esp + 0x20]
mov eax, esi
not eax
mov dword [esp + 0x24], eax
nop dword [eax + eax]
mov edi, dword [esp + 0x70]
lea eax, [esp + 0x2c]
cmp edi, 0x12
mov ecx, edi
jb 0x4696a7
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
cmp esi, ecx
jae 0x46985e
mov ebx, dword [eax + esi*4]
cmp ebx, 0x1000000
jb 0x469960
mov eax, ebx
lea edi, [esp + 0xec]
shr eax, 0x18
cmp dl, al
je 0x469677
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x10], edx
mov edx, ebx
and edx, 0xffffff
cmp edx, 0x10000
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
mov dword [esp + 0xec], 1
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
jb 0x46974b
shr edx, 0xa
add edx, 0xffffd7c0
mov ecx, edi
call sym.icu_collections::char16trie::trie::Char16TrieIterator::next16::h06ca6a01eb125e47
or eax, 2
cmp eax, 3
jne 0x46967b
and ebx, 0x3ff
or ebx, 0xdc00
mov ecx, edi
mov edx, ebx
call sym.icu_collections::char16trie::trie::Char16TrieIterator::next16::h06ca6a01eb125e47
cmp eax, 1
jne 0x46967b
mov edx, dword [esp + 0xc]
cmp edx, 0x10000
jae 0x469770
jmp 0x46979c
shr edx, 0xa
add edx, 0xffffd7c0
mov ecx, edi
call sym.icu_collections::char16trie::trie::Char16TrieIterator::next16::h06ca6a01eb125e47
or eax, 2
cmp eax, 3
jne 0x46967b
mov edx, dword [esp + 0xc]
and edx, 0x3ff
or edx, 0xdc00
mov ecx, edi
call sym.icu_collections::char16trie::trie::Char16TrieIterator::next16::h06ca6a01eb125e47
cmp eax, 2
jne 0x46967b
mov eax, edx
mov ebx, edx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef07ff
jbe 0x46967b
cmp ebx, 0x110000
je 0x46967b
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x70]
cmp eax, 0x12
jb 0x4697ee
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x2c]
cmp eax, esi
jbe 0x469caf
lea edi, [eax - 1]
add eax, dword [esp + 0x24]
mov dword [edx], edi
lea edx, [ecx + esi*4]
lea ecx, [ecx + esi*4 + 4]
shl eax, 2
push eax
push ecx
push edx
call sub.msvcrt.dll_memmove
add esp, 0xc
mov edx, dword [esp + 0x10]
mov dword [esp + 0xc], ebx
jmp 0x469690
cmp edi, 0x12
mov eax, 0x48
mov ecx, 4
cmovae eax, ecx
cmp dword [esp + eax + 0x28], 0
je 0x469853
mov dword [esp + eax + 0x28], 0
mov edi, dword [esp + 0x70]
mov dword [esp + 0xac], 0
cmp edi, 0x12
jb 0x469867
mov edi, dword [esp + 0x2c]
test edi, edi
jne 0x469960
mov edx, dword [esp + 0x74]
lea edi, [esp + 0xec]
cmp edx, 0x110000
je 0x469bb9
cmp edx, dword [esp + 0xcc]
jb 0x469bb9
mov eax, dword [esp + 0x78]
lea ecx, [eax - 0x1161]
cmp ecx, 0x62
jb 0x4692d0
mov ecx, eax
and ecx, 0xffffff00
cmp ecx, 0xd800
je 0x4692d0
dec eax
cmp eax, 1
jbe 0x4692d0
jmp 0x469bb9
cmp ecx, 0x15
jae 0x4698fb
mov edx, dword [esp + 0xc]
add edx, 0xffffef00
cmp edx, 0x13
jae 0x469bb2
imul eax, edx, 0x24c
lea edx, [ecx + ecx*8]
lea edx, [edx + edx*2]
add edx, ecx
lea ecx, [eax + edx + 0xac00]
jmp 0x469382
lea ecx, [eax - 0x11a8]
cmp ecx, 0x1b
jae 0x469bb2
mov ecx, dword [esp + 0xc]
mov edi, eax
mov edx, 0x24924925
lea esi, [ecx - 0xac00]
mov ecx, esi
shr ecx, 2
mov eax, ecx
mul edx
mov eax, edi
lea edi, [esp + 0xec]
cmp esi, 0x2ba3
ja 0x469bb2
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
sub esi, ecx
jne 0x469bb2
mov ecx, dword [esp + 0xc]
lea ecx, [ecx + eax - 0x11a7]
jmp 0x469382
mov ebx, dword [esp + 0xc]
lea edi, [esp + 0xec]
cmp ebx, 0x110000
je 0x469c01
cmp ebx, 0x7f
ja 0x469a60
mov eax, dword [esp + 0xd0]
mov ch, bl
and ch, 7
mov cl, ch
mov dword [esp + 0xc], eax
mov eax, ebx
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 1
mov dword [esp + 0x13c], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
shr al, 3
and al, 0xf
neg al
movsx edx, al
mov edi, dword [esp + edx + 0x144]
mov eax, dword [esp + edx + 0x148]
mov esi, dword [esp + edx + 0x14c]
mov dword [esp + 0x10], ebx
mov ebx, edi
shld esi, eax, cl
shl eax, cl
not cl
shr ebx, 1
shr ebx, cl
mov cl, ch
or ebx, eax
mov eax, dword [esp + edx + 0x140]
shld edi, eax, cl
shl eax, cl
mov ecx, dword [esp + 0xc]
and ebx, dword [ecx + 8]
and eax, dword [ecx]
and esi, dword [ecx + 0xc]
and edi, dword [ecx + 4]
mov ecx, dword [esp + 0x18]
or eax, ebx
or edi, esi
mov ebx, dword [esp + 0x10]
or edi, eax
mov eax, dword [esp + 0x1c]
lea edi, [esp + 0xec]
je 0x469a74
jmp 0x469bc2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp ebx, 0xfffd
je 0x469bc2
mov esi, dword [ecx]
cmp esi, 0xfe
jb 0x469a90
mov ecx, eax
mov eax, dword [eax + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [esp + 0x14]
cmp eax, esi
je 0x469a9f
jmp 0x469ab4
mov edx, dword [esp + 0x14]
mov eax, esi
mov esi, 0xfd
cmp eax, esi
jne 0x469ab4
mov esi, dword [esp + 0x1c]
mov ecx, esi
call sym.smallvec::SmallVec_LT_A_GT_::reserve_one_unchecked::h7f315c48a47dc4fe
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov dword [edx + eax*4], ebx
mov eax, dword [ecx]
inc eax
je 0x469ce6
mov dword [ecx], eax
mov eax, dword [esp + 0xbc]
jmp 0x469170
test cl, 1
jne 0x4692c0
cmp esi, 0x10000
jb 0x4692c0
test si, si
je 0x469222
movzx eax, si
cmp eax, 1
je 0x4692c0
mov ecx, esi
lea edx, [ebx - 0x1ffc]
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
cmp edx, 0xffffff74
ja 0x4692c0
lea edx, [ebx - 0xfb4f]
cmp edx, 0xffffffcd
ja 0x4692c0
or al, cl
jne 0x469222
jmp 0x4692c0
mov edi, edx
mov dword [esp + 0x10], ebx
and edi, 0xffffff00
cmp edi, 0xd800
lea edi, [edx - 1]
sete bl
cmp edi, 2
setb bh
or bh, bl
je 0x469b87
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
lea edi, [esp + 0xec]
jmp 0x4692c0
mov ebx, dword [esp + 0x10]
lea edi, [edx - 0x11c3]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
cmp edi, 0xffffff9e
lea edi, [esp + 0xec]
jae 0x4692c0
jmp 0x46996b
mov dword [esp + 0xbc], eax
mov ebx, dword [esp + 0xc]
jmp 0x46996b
cmp dword [esp + 0x70], 0x12
jb 0x469bda
push dword [esp + 0x30]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xc8], 0
je 0x469ca1
push dword [esp + 0xc0]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
jmp 0x469ca1
mov eax, dword [esp + 0x70]
cmp eax, 0x12
jb 0x469c1b
push dword [esp + 0x30]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xc8], 0
mov esi, dword [esp + 0x18]
je 0x469c3d
push dword [esp + 0xc0]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov edx, dword [esi]
cmp edx, 0xfe
jb 0x469c55
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
mov ecx, dword [ebp + 8]
mov eax, edx
sub eax, ecx
jb 0x469cf4
mov edx, dword [esp + 0x14]
and eax, 0x3fffffff
lea ecx, [edx + ecx*4]
mov edx, dword [ebp + 0x10]
cmp eax, edx
cmovae eax, edx
mov edx, 0xffffffff
neg eax
nop dword [eax]
lea esi, [eax + edx]
cmp esi, 0xffffffff
je 0x469ca5
mov edi, dword [ecx + edx*4 + 4]
mov ebx, dword [ebp + 0xc]
lea esi, [edx + 1]
cmp edi, dword [ebx + edx*4 + 4]
mov edx, esi
je 0x469c80
mov dword [ecx + esi*4], 0xfffd
mov al, 1
jmp 0x469ca7
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 0x588784
mov edx, 0x1d
mov ecx, str.assertion_failed:_index___len
push eax
call sym.core::panicking::panic::hf6244c8fb5815825
add esp, 4
jmp 0x469cd3
mov ecx, 0x588794
call sym.core::panicking::panic_const::panic_const_add_overflow::hf3b41c4c75c49a6d
ud2
mov eax, 0x588754
mov edx, 0x1c
mov ecx, str.assertion_failed:_end___len
jmp 0x469cbe
mov ecx, 0x5a5788
jmp 0x469cce
mov ecx, 0x588718
jmp 0x469cce
push 0x5a4b60
call sym.core::slice::index::slice_start_index_len_fail::hb6088e54b0b075d5
cmp dword [esp + 0x70], 0x12
mov esi, eax
jb 0x469d18
push dword [esp + 0x30]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
push esi
call sym.__Unwind_Resume
jmp 0x469d26
mov esi, eax
lea ecx, [esp + 0x28]
call sym.__ZN4core3ptr183drop_in_place_LT_core..iter..adapters..map..Map_LT_icu_normalizer..Composition_LT_utf8_iter..Utf8Chars_GT__C_i
push esi
call sym.__Unwind_Resume
nop word [eax + eax]