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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3c
mov ebp, dword [esp + 0x54]
mov edi, dword [esp + 0x70]
mov ebx, edx
mov esi, ecx
lea eax, [ebp + 1]
cmp eax, edi
jne 0x4e318f
mov eax, ebx
mov ebx, dword [ebx + 0x18]
mov ebp, dword [eax + 0x1c]
mov dword [esp], eax
mov ecx, ebx
mov edx, ebp
push 0x56d8f4
push edi
call fcn.004381b7
pop ecx
pop ecx
mov ecx, eax
push 2
push str.__file:__
call fcn.00436e40
pop ecx
pop edx
test al, al
je 0x4e324d
test edi, edi
je 0x4e322e
cmp ebp, edi
jbe 0x4e3228
cmp byte [ebx + edi], 0xbf
jg 0x4e322e
push 0x2c
pop edx
mov ecx, str.assertion_failed:_self.is_char_boundary_idx_
push 0x56d3c0
jmp 0x4e350e
lea eax, [ebp + 3]
mov dword [esp + 8], edi
cmp eax, edi
jne 0x4e3281
mov ecx, dword [ebx + 0x18]
mov dword [esp], ebx
mov ebx, dword [ebx + 0x1c]
mov dword [esp + 4], ecx
mov edx, ebx
push 0x56d97c
push edi
push ebp
call fcn.004010e4
add esp, 0xc
mov ecx, eax
push 3
push 0x56d98c
call fcn.004bd1ec
pop ecx
pop edx
test al, al
je 0x4e3223
cmp ebx, edi
jbe 0x4e34f0
mov ecx, dword [esp + 4]
cmp byte [ecx + edi], 0x2f
jne 0x4e3515
lea eax, [edi + 1]
cmp eax, ebx
jae 0x4e31f7
cmp byte [ecx + eax], 0x2f
je 0x4e34b7
test ebp, ebp
je 0x4e3340
cmp ebx, ebp
jbe 0x4e333a
cmp byte [ecx + ebp], 0xc0
jge 0x4e3340
push 0x2a
pop edx
mov ecx, str.assertion_failed:_self.is_char_boundary_n_
push 0x56d3fc
jmp 0x4e350e
mov ebx, dword [esp]
jmp 0x4e3281
jne 0x4e317d
mov ebp, dword [esp]
mov edx, edi
lea ecx, [ebp + 0x14]
push 2
push 0x56d904
call fcn.004165e0
pop eax
pop ecx
mov ebx, dword [ebp + 0x18]
mov ebp, dword [ebp + 0x1c]
add edi, 2
mov dword [esp + 8], edi
mov ecx, ebx
mov edx, ebp
push 0x56d908
mov ebp, dword [esp + 0x58]
push ebp
call fcn.004381b7
pop ecx
pop ecx
mov ecx, eax
push 3
push 0x56d6a9
call fcn.00436e40
pop ecx
pop edx
mov ebx, dword [esp]
test al, al
jne 0x4e3501
mov al, byte [esp + 0x50]
lea edi, [esp + 0xc]
mov edx, ebx
mov ecx, edi
movzx eax, al
push dword [esp + 0x78]
push dword [esp + 0x78]
push ebp
push eax
call fcn.004e4042
add esp, 0x10
mov edi, dword [edi]
cmp edi, 2
jne 0x4e32bd
mov al, byte [esp + 0x10]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov byte [esi + 4], al
call fcn.0043d0cd
jmp 0x4e3330
mov eax, dword [ebx + 0x1c]
movsd xmm0, qword [ebx + 0x14]
mov ebx, dword [esp + 0x18]
movzx edx, word [esp + 0x68]
movzx ecx, word [esp + 0x6c]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x64]
movsd qword [esi + 0x24], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov al, byte [eax + 0x10]
mov byte [esi + 0x44], al
mov eax, dword [esp + 0x10]
movsd qword [esi + 0x34], xmm0
movsd qword [esi + 0x3c], xmm1
mov dword [esi + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebp
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov dword [esi + 0x14], ebp
mov dword [esi + 0x18], ebx
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 8]
mov dword [esi + 0x1c], ebp
mov dword [esi + 0x20], ebx
mov word [esi + 0x30], dx
mov word [esi + 0x32], cx
mov dword [esi], edi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
jne 0x4e3211
cmp ebp, edi
ja 0x4e3526
mov edx, dword [esp]
mov ecx, ebx
sub ecx, edi
lea eax, [edx + 0x14]
jb 0x4e3536
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ecx
lea ecx, [0x56e636]
mov dword [esp + 0x24], eax
mov ebx, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
mov dword [edx + 0x1c], ebp
mov dword [esp + 0xc], ecx
mov ecx, 0x56e635
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov ebx, edx
jne 0x4e339b
lea edx, [esp + 0xc]
mov ecx, eax
call fcn.004df790
jmp 0x4e346f
mov ecx, edi
lea edi, [esp + 0xc]
mov edx, eax
push edi
call fcn.004e00a1
pop ecx
test al, al
je 0x4e346f
lea ecx, [esp + 0x14]
mov eax, dword [ecx - 8]
mov edx, eax
sub edx, dword [ecx - 4]
mov ecx, eax
je 0x4e33ea
lea ecx, [esp + 0x14]
call fcn.004e00da
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
push edi
call fcn.004e00a1
pop ecx
test al, al
je 0x4e346f
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
sub ecx, eax
call fcn.004df103
lea ebx, [esp + 0x30]
mov dword [ebx], eax
mov dword [ebx + 4], edx
and dword [ebx + 8], 0
lea edx, [esp + 0xc]
mov ecx, ebx
call fcn.004df790
mov ecx, dword [ebx + 8]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov ebx, dword [esp]
test ecx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 4], edx
mov dword [esp + 0x28], ecx
je 0x4e3462
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x14]
call fcn.004e00da
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov edi, dword [ecx + 8]
mov edx, dword [ecx + 4]
add edx, edi
sub eax, edi
xor edi, edi
cmp eax, edi
je 0x4e3462
cmp dword [esp + 0x28], edi
je 0x4e3462
mov ebx, dword [esp + 4]
mov bl, byte [ebx + edi]
mov byte [edx + edi], bl
mov ebx, dword [esp]
inc dword [ecx + 8]
inc edi
jmp 0x4e3445
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 4]
call fcn.0043d0cd
mov edi, dword [esp + 0x20]
test edi, edi
je 0x4e34ac
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov ebx, dword [ecx + 8]
cmp eax, ebx
je 0x4e34a4
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
add eax, ecx
add ecx, ebx
push edi
push eax
push ecx
call fcn.004fea40
mov ecx, dword [esp + 0x10]
add esp, 0xc
add edi, ebx
mov ebx, dword [esp]
mov dword [ecx + 8], edi
mov ecx, dword [ebx + 0x18]
add dword [esp + 8], 0xfffffffe
mov ebx, dword [ebx + 0x1c]
mov edx, ebx
push 0x56d9b4
push ebp
call fcn.004381b7
pop ecx
pop ecx
mov ecx, eax
push 3
push 0x56d6a9
call fcn.00436e40
pop ecx
pop edx
mov ebx, dword [esp]
test al, al
je 0x4e3281
push 0x51
pop edx
mov ecx, str.assertion_failed:__self.serialization_scheme_end_as_usize.._.starts_with__:____
push 0x56d9c4
jmp 0x4e350e
mov ecx, edi
mov edx, ebx
push 0x56d990
call fcn.0050aeb0
pop eax
ud2
push 0x51
pop edx
mov ecx, str.assertion_failed:__self.serialization_scheme_end_as_usize.._.starts_with__:____
push 0x56d96c
call fcn.0050af40
jmp 0x4e34fe
lea edx, [esp + 0xc]
add ecx, edi
and dword [edx + 8], 0
call fcn.0050e553
ud2
mov ecx, ebp
mov edx, edi
push 0x56d384
call fcn.0050b0e0
jmp 0x4e34fe
mov ecx, edi
mov edx, ebx
push 0x56d384
call fcn.0050af30
jmp 0x4e34fe