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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x10], 0x56e0f0
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], str.Lazy_instance_has_previously_been_poisoned
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov esi, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov ebx, dword [ecx]
lea eax, [esp + 0x10]
mov ecx, esi
mov dword [esp + 0xc], edx
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
mov cl, 1
test al, al
jne 0x4b87a9
mov edx, dword [ebx + 0x130]
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x94], ebx
and edx, 0x1f
mov dword [esp + 0x84], eax
mov ecx, edx
shr eax, cl
test eax, eax
mov dword [esp + 0xa4], eax
je 0x4b85f9
mov eax, ebx
mov ebx, dword [ebx + 0x134]
xor ecx, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ebx
mov ebx, dword [eax + 0x10]
mov dword [esp + 0xac], ebx
mov ebx, dword [eax + 0x12c]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x8c], ebx
cmp ecx, 0x7fffffff
mov dword [esp + 8], ebx
je 0x4b8864
mov edi, ecx
mov ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x40], edi
add ecx, edi
cmp ecx, dword [esp + 0x84]
jae 0x4b884e
mov eax, dword [esp + 0xac]
test ebx, ebx
mov dword [esp + 0x88], ebx
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], eax
je 0x4b7e84
mov ebx, dword [esp + 8]
mov ecx, 0xffffffff
cmp ecx, edx
mov ecx, 0xfffffbff
sbb ecx, eax
jae 0x4b7ecc
mov dword [esp + 0x10], 0x56e114
jmp 0x4b7ed4
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x56e0fc
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], str.Lazy_instance_has_previously_been_poisoned
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov ecx, esi
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
mov ebx, dword [esp + 8]
test al, al
je 0x4b7f0f
jmp 0x4b87a7
mov dword [esp + 0x10], 0x56e108
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x10]
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], str.Lazy_instance_has_previously_been_poisoned
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov ecx, esi
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
jne 0x4b87a7
mov eax, dword [esp + 0x88]
movaps xmm0, xmmword [0x560280]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x60], 0x5bf394
mov dword [esp + 0x64], 1
mov dword [esp + 0x10], 2
mov dword [esp + 0x80], eax
lea eax, [esp + 0x80]
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 8
mov byte [esp + 0x2c], 3
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x48], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0x68], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x6c], 1
mov dword [esp + 0x70], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x74], 1
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
jne 0x4b87a7
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edx, 0xffffffff
mov esi, 0xfffffbff
cmp edx, eax
sbb esi, ecx
jae 0x4b7fce
mov edx, 0xffffffff
mov esi, 0x3ff
and eax, edx
and ecx, esi
or ecx, eax
je 0x4b8026
lea eax, [esp + 0x98]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], 0x56e120
mov dword [esp + 0x14], 2
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x64], sym.__LT_regex_automata..dfa..onepass..PatternEpsilons_u20_as_u20_core..fmt..Debug_GT_::fmt::h4050aac3e87a3586
mov dword [esp + 0x18], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 0
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
jne 0x4b87a7
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x56e130
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], str.Lazy_instance_has_previously_been_poisoned
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
jne 0x4b87a7
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x40]
add edx, ecx
jb 0x4b8897
cmp edx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
ja 0x4b88a6
inc eax
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xac]
lea edi, [eax + ecx*8]
mov eax, dword [esp + 0xa8]
lea eax, [edi + eax*8]
mov dword [esp + 0x90], eax
nop
cmp edi, dword [esp + 0x90]
je 0x4b8200
lea eax, [edi + 8]
mov esi, dword [edi + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov byte [esp + 7], al
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x78]
or ecx, dword [esp + 0x7c]
mov ecx, dword [edi]
je 0x4b8220
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x38]
mov eax, ebx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x40], esi
xor eax, esi
xor edx, ecx
or eax, edx
je 0x4b8160
mov eax, 0x800
cmp ebx, eax
jae 0x4b8551
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x40]
movzx eax, byte [esp + 7]
mov dword [esp + 0x50], eax
mov dword [esp + 0x38], ecx
nop word cs:[eax + eax]
nop
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x90]
je 0x4b823b
xor eax, eax
mov ecx, 0xfffffff0
mov edx, 8
mov dword [esp + 0x54], edi
jmp 0x4b81b2
mov ecx, dword [esp + 8]
mov ebx, edi
mov edi, dword [esp + 0x54]
inc eax
add ecx, 0xfffffff8
lea esi, [edi + edx + 8]
add edx, 8
cmp esi, dword [esp + 0x90]
je 0x4b8250
mov esi, dword [edi + eax*8 + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [edi + eax*8 + 8]
mov edi, ebx
mov dword [esp + 0x40], esi
xor ebx, esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x5c], ecx
xor esi, ecx
or esi, ebx
je 0x4b8190
mov ecx, dword [esp + 8]
mov esi, 0x800
cmp edi, esi
jae 0x4b850d
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x40]
lea esi, [esi + eax + 1]
mov dword [esp + 0x38], edi
mov dword [esp + 0x50], esi
jmp 0x4b8196
mov eax, dword [esp + 0x78]
xor eax, 1
or eax, dword [esp + 0x7c]
je 0x4b825f
jmp 0x4b858e
mov dword [esp + 0x50], eax
mov dword [esp + 0x38], ecx
mov ebx, esi
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x90]
jne 0x4b8171
movzx eax, byte [esp + 7]
mov ecx, dword [esp + 0x4c]
mov edx, eax
jmp 0x4b825b
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + eax]
lea ecx, [ecx + eax + 1]
mov dword [esp + 0x3c], ecx
mov eax, 0x800
mov edi, dword [esp + 0x90]
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov byte [esp + 0x4c], dl
mov dword [esp + 0x40], ebx
mov dword [esp + 8], ebx
cmp ebx, eax
mov eax, dword [esp + 0x50]
mov byte [esp + 7], al
mov eax, edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
jb 0x4b858e
cmp dword [esp + 0xb0], 0
je 0x4b82fc
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x56eec8
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], str.Lazy_instance_has_previously_been_poisoned
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
mov edx, edi
mov edi, esi
add esp, 4
test al, al
jne 0x4b87a7
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x50]
shr eax, 0xb
cmp cl, dl
jne 0x4b8360
mov byte [esp + 0x80], cl
lea ecx, [esp + 0x80]
lea edx, [esp + 0x44]
mov dword [esp + 0x10], 0x56e1d0
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], 2
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x64], sym.__LT_regex_automata..util..escape..DebugByte_u20_as_u20_core..fmt..Debug_GT_::fmt::hec0ba2b7c3825f63
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 2
jmp 0x4b83c2
mov byte [esp + 0x5b], cl
mov byte [esp + 0x80], dl
lea edx, [esp + 0x5b]
lea ecx, [esp + 0x80]
mov dword [esp + 0x10], 0x56e1e0
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], 3
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], sym.__LT_regex_automata..util..escape..DebugByte_u20_as_u20_core..fmt..Debug_GT_::fmt::hec0ba2b7c3825f63
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x60]
lea edx, [esp + 0x44]
mov dword [esp + 0x6c], sym.__LT_regex_automata..util..escape..DebugByte_u20_as_u20_core..fmt..Debug_GT_::fmt::hec0ba2b7c3825f63
mov dword [esp + 0x70], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x74], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0x1c], 3
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x10]
mov dword [esp + 0x20], 0
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
jne 0x4b87a7
mov eax, 0xffffffff
mov ecx, 0x3ff
add eax, 1
adc ecx, 0
and eax, dword [esp + 0x54]
and ecx, dword [esp + 8]
or ecx, eax
je 0x4b8448
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x56e200
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], str.Lazy_instance_has_previously_been_poisoned
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
jne 0x4b87a7
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 8]
mov eax, 0xffffffff
mov ebx, dword [esp + 0x5c]
inc dword [esp + 0xb0]
and ecx, eax
mov eax, 0x3ff
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x40]
and edx, eax
mov eax, ecx
mov esi, ecx
or eax, edx
movzx eax, byte [esp + 7]
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x4c]
mov ecx, edx
mov edx, eax
je 0x4b80e0
mov edx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea eax, [esp + 0x60]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], 0x56e120
mov dword [esp + 0x14], 2
mov dword [esp + 0x60], esi
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x48], sym.__LT_regex_automata..dfa..onepass..Epsilons_u20_as_u20_core..fmt..Debug_GT_::fmt::h0e9c2a4c377c0e10
mov dword [esp + 0x18], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 0
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
movzx ebx, byte [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
test al, al
movzx eax, byte [esp + 7]
mov dword [esp + 0x50], eax
mov edx, ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x38], ecx
je 0x4b80e0
jmp 0x4b87a7
mov esi, edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 1
mov dword [esp + 8], esi
lea edx, [edi + eax]
lea edi, [edi + eax + 2]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x54]
mov eax, edx
inc al
mov byte [esp + 7], al
mov byte [esp + 0x4c], al
sub edi, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x54], ecx
jmp 0x4b82a5
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
movzx ecx, byte [esp + 7]
mov edi, dword [esp + 8]
mov dword [esp + 0x7c], 0
mov dword [esp + 8], ebx
mov dword [esp + 0x78], 1
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x4c], cl
jmp 0x4b82a5
mov dword [esp + 0x8c], edx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x5bb678
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], str.Lazy_instance_has_previously_been_poisoned
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
jne 0x4b87a7
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
cmp ecx, dword [esp + 0xa4]
jne 0x4b7e0d
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x5bb678
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], str.Lazy_instance_has_previously_been_poisoned
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov ecx, esi
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
jne 0x4b87a7
mov eax, dword [esp + 0x94]
mov edi, dword [eax + 0x24]
test edi, edi
je 0x4b874b
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0xc]
mov ecx, esi
mov eax, dword [eax + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [eax]
mov dword [esp + 0x10], 0x56e170
mov dword [esp + 0x14], 2
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x64], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0x18], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 0
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
jne 0x4b87a7
cmp edi, 1
je 0x4b874b
lea edi, [edi*4 - 4]
xor ebx, ebx
nop word [eax + eax]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, esi
mov eax, dword [eax + ebx*4 + 4]
mov dword [esp + 0x10], 0x56e14c
mov dword [esp + 0x14], 3
mov dword [esp + 0x98], ebx
mov dword [esp + 0x44], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x64], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0x68], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x6c], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0x18], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x1c], 2
mov dword [esp + 0x20], 0
push eax
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
jne 0x4b87a7
inc ebx
add edi, 0xfffffffc
jne 0x4b86d0
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0xc]
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], 0x56e190
mov dword [esp + 0x14], 2
mov ecx, esi
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
mov edx, edi
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x64], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 0
push ebx
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
je 0x4b87b3
mov cl, 1
mov eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x94]
mov ecx, esi
mov edx, edi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x148]
mov dword [esp + 0x10], 0x56e1b0
mov dword [esp + 0x14], 2
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x64], sym.core::fmt::num::__LT_impl_u20_core..fmt..Debug_u20_for_u20_u32_GT_::fmt::hfd64fcf70b4bcc06
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 0
push ebx
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
test al, al
mov cl, 1
jne 0x4b87a9
mov ecx, esi
mov dword [esp + 0x10], 0x56e1c4
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], str.Lazy_instance_has_previously_been_poisoned
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov edx, edi
push ebx
call sym.core::fmt::write::hbafebe5e7c26ad3e
add esp, 4
mov ecx, eax
jmp 0x4b87a9
mov edx, dword [esp + 0x84]
push 0x56e090
call dbg.panic_bounds_check
add esp, 4
ud2
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x7fffffff
mov ecx, 0x56e498
mov edx, 0x15
push 0x56e51c
push 0x56dc64
lea eax, [esp + 0x18]
push eax
call dbg.unwrap_failed
add esp, 0xc
ud2
push 0x56e080
call dbg.slice_index_order_fail
add esp, 4
ud2
mov ecx, edx
mov edx, dword [esp + 0x84]
push 0x56e080
call dbg.slice_end_index_len_fail
add esp, 4
ud2