Function at 0x41a699
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
cmp esi, 0x101
jb 0x41a718
mov ebp, 0x101
cmp ebp, 0xfd
je 0x41a899
cmp byte [ecx + ebp - 1], 0xc0
lea ebx, [ebp - 1]
mov ebp, ebx
jl 0x41a6ca
lea ebp, [ebx - 0xfd]
cmp ebp, 4
jae 0x41a85d
cmp ebx, esi
jae 0x41a712
cmp byte [ecx + ebx], 0xbf
jle 0x41a80d
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov ebx, 5
mov ebp, str._..._begin___end_______when_slicing___
jmp 0x41a726
jne 0x41a80d
mov dword [esp], ecx
mov dword [esp + 4], esi
xor ebx, ebx
mov ebp, str._home_hagb_.rustup_toolchains_nightly_2024_04_15_x86_64_unknown_linux_gnu_lib_rustlib_src_rust_library_core_src_slice_mod.rs
cmp edi, esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
ja 0x41a738
cmp edx, esi
jbe 0x41a788
mov edi, edx
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x3c]
lea esi, [esp + 0xc]
mov dword [ecx], edx
mov dword [edx], edi
mov edx, esp
mov dword [ecx + 4], fcn.004186ac
mov dword [ecx + 8], edx
mov edx, fcn.0041a13d
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], edx
lea edx, [esp + 0x24]
mov esi, 3
mov dword [edx], str.byte_index__is_not_a_char_boundary__it_is_inside___bytes___of__
mov dword [edx + 4], esi
mov dword [edx + 0x10], 0
mov dword [edx + 8], ecx
mov dword [edx + 0xc], esi
push eax
push edx
call fcn.0042ae71
cmp edi, edx
jbe 0x41a7d6
lea edx, [esp + 0x80]
lea ecx, [esp + 0x3c]
lea esi, [esp + 0x84]
mov dword [ecx], edx
mov edx, fcn.004186ac
mov dword [ecx + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edx
mov edx, esp
lea esi, [esp + 0xc]
mov dword [ecx + 0x10], edx
mov edx, fcn.0041a13d
mov dword [ecx + 0x14], edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x1c], edx
lea edx, [esp + 0x24]
mov esi, 4
mov dword [edx], 0x4397b8
jmp 0x41a771
test edi, edi
je 0x41a7e4
cmp edi, esi
jae 0x41a7e4
cmp byte [ecx + edi], 0xc0
jl 0x41a7e6
mov edi, edx
cmp edi, esi
mov edx, esi
mov dword [esp + 0x14], edi
jae 0x41a84a
mov edx, edi
xor ebx, ebx
sub edx, 3
cmovb edx, ebx
lea ebx, [edi + 1]
cmp edx, ebx
jbe 0x41a818
push 0x4398ec
push ebx
push edx
call fcn.0042b26a
push eax
push ebx
push 0
push esi
push ecx
call fcn.0042b12d
jle 0x41a826
push 0x47
push 0x439abe
call fcn.0042af2f
lea ebp, [ecx + edx]
add ebx, ecx
add edi, ecx
sub ebx, ebp
mov ebp, ebx
test ebp, ebp
je 0x41a899
dec ebp
cmp byte [edi], 0xc0
lea edi, [edi - 1]
jl 0x41a831
cmp ebp, ebx
jae 0x41a85d
add edx, ebp
jb 0x41a9b0
test edx, edx
je 0x41a86b
cmp edx, esi
jae 0x41a869
cmp byte [ecx + edx], 0xc0
jge 0x41a86b
push eax
push esi
push edx
jmp 0x41a811
push 0x68
push 0x439a56
call fcn.0042af2f
jne 0x41a858
cmp edx, esi
jbe 0x41a87b
push 0x66
push 0x439b9f
call fcn.0042af2f
jne 0x41a883
push eax
call fcn.0042ae50
lea ebp, [ecx + edx]
mov bl, byte [ebp]
movzx edi, bl
test bl, bl
jns 0x41a8f3
add ecx, esi
lea esi, [ebp + 1]
cmp esi, ecx
jne 0x41a89e
call fcn.0041a154
movzx esi, byte [ebp + 1]
and edi, 0x1f
and esi, 0x3f
cmp bl, 0xdf
jbe 0x41a8ee
mov dword [esp + 8], esi
lea esi, [ebp + 2]
cmp esi, ecx
je 0x41a899
movzx esi, byte [ebp + 2]
shl dword [esp + 8], 6
and esi, 0x3f
add esi, dword [esp + 8]
cmp bl, 0xf0
jb 0x41a9a2
add ebp, 3
cmp ebp, ecx
je 0x41a899
movzx ecx, byte [ebp]
and edi, 7
shl esi, 6
shl edi, 0x12
and ecx, 0x3f
or ecx, esi
or edi, ecx
jmp 0x41a8f3
shl edi, 6
or edi, esi
mov ecx, edi
xor ecx, 0xd800
add ecx, 0xffef0000
cmp ecx, 0xffef07ff
ja 0x41a915
push 0x39
push 0x439b05
call fcn.0042af2f
cmp edi, 0x80
mov dword [esp + 0x18], edi
jae 0x41a926
xor ecx, ecx
inc ecx
jmp 0x41a941
mov ecx, 2
cmp edi, 0x800
jb 0x41a941
cmp edi, 0x10000
mov ecx, 4
sbb ecx, 0
add ecx, edx
jb 0x41a9aa
lea esi, [esp + 0x1c]
mov dword [esi], edx
mov dword [esi + 4], ecx
lea edx, [esp + 0x14]
lea ecx, [esp + 0x3c]
mov dword [ecx], edx
lea edx, [esp + 0x18]
mov dword [ecx + 4], fcn.004186ac
mov dword [ecx + 8], edx
mov edx, esp
mov dword [ecx + 0xc], 0x419e1a
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], 0x41bca9
lea esi, [esp + 0xc]
mov dword [ecx + 0x18], edx
mov edx, fcn.0041a13d
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x20], esi
mov dword [ecx + 0x24], edx
lea edx, [esp + 0x24]
mov esi, 5
mov dword [edx], str.byte_index__is_not_a_char_boundary__it_is_inside___bytes___of__
jmp 0x41a771
shl edi, 0xc
jmp 0x41a8f1
push eax
call fcn.0042b1ad
push 0x4398fc
call fcn.0042b1ad