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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
lea eax, [esp + 0x30]
push 6
push str..llvm._rust_deps_rustc_demangle_0.1.24_src_lib.rs
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.005f1580
add esp, 0x14
test byte [esp + 0x30], 1
je 0x5eb971
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x68]
lea ecx, [eax - 1]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
cmp edx, 0xffffffff
mov dword [esp + 8], edx
mov dword [esp], esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 4], eax
je 0x5ebab7
mov edi, dword [esp + 0x4c]
add ecx, edi
cmp ecx, eax
jae 0x5ebcaf
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], esi
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x14], eax
sub edx, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], edx
jmp 0x5eb9cf
lea esi, [esp + 0x80]
lea edi, [esp + 0x30]
nop dword [eax]
mov ecx, esi
mov edx, edi
call fcn.005e6940
mov eax, dword [esp + 0x80]
cmp eax, 1
je 0x5eb980
test eax, eax
jne 0x5ebcaf
mov edi, dword [esp + 0x84]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
jmp 0x5ebbf3
add edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
mov dword [esp + 8], 0
mov eax, dword [esp + 0x2c]
lea ecx, [edi + eax]
cmp ecx, esi
jae 0x5ebcaf
movzx ecx, byte [ebx + ecx]
mov esi, 1
xor eax, eax
mov edx, 1
shld eax, edx, cl
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, esi
cmovne esi, ecx
and eax, dword [esp + 0x28]
and esi, dword [esp + 0x14]
or esi, eax
je 0x5eb9b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov esi, edi
add ebx, edi
cmp ecx, eax
mov edx, eax
mov eax, dword [esp + 0xc]
cmova edx, ecx
mov ecx, edx
mov dword [esp + 0x24], edx
cmp edx, eax
cmova eax, edx
cmp eax, ecx
je 0x5eba60
lea edi, [esi + ecx]
cmp edi, dword [esp + 4]
jae 0x5ec3f4
mov edx, dword [esp]
lea edi, [ecx + 1]
movzx edx, byte [edx + ecx]
cmp dl, byte [ebx + ecx]
mov ecx, edi
je 0x5eba20
sub esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [esp + 8], 0
add esi, edi
mov edi, esi
mov esi, dword [esp + 4]
jmp 0x5eb9c0
mov edi, esi
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 4]
nop word [eax + eax]
cmp dword [esp + 8], ecx
jae 0x5ebbed
dec ecx
cmp ecx, dword [esp + 0xc]
jae 0x5ec3e5
lea eax, [ecx + edi]
cmp eax, esi
jae 0x5ec42a
mov edx, edi
mov edi, dword [esp]
movzx ebx, byte [edi + ecx]
mov edi, dword [esp + 0x18]
cmp bl, byte [edi + eax]
mov ebx, edi
mov edi, edx
je 0x5eba70
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x20]
mov dword [esp + 8], eax
jmp 0x5eb9c0
mov edi, dword [esp + 0x4c]
add ecx, edi
cmp ecx, eax
jae 0x5ebcaf
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
cmp esi, eax
cmova eax, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp]
lea edx, [eax + esi - 1]
add eax, esi
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x78], edx
lea edx, [ebx + esi]
mov dword [esp + 8], edx
mov dword [esp + 0x74], eax
lea eax, [esi - 1]
mov dword [esp + 0x7c], eax
jmp 0x5ebb2f
mov edi, dword [esp + 0x14]
add edi, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
lea ecx, [edi + eax]
cmp ecx, dword [esp + 4]
jae 0x5ebcaf
movzx ecx, byte [ebx + ecx]
mov ebx, 1
xor eax, eax
mov edx, 1
shld eax, edx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
mov edx, edi
cmovne eax, ebx
cmovne ebx, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
and eax, dword [esp + 0x20]
and ebx, dword [esp + 0x24]
or ebx, eax
mov ebx, dword [esp]
mov eax, edx
je 0x5ebb12
nop dword [eax]
cmp esi, ecx
je 0x5ebb96
lea edx, [esi + eax]
cmp edx, dword [esp + 4]
jae 0x5ec40f
movzx edx, byte [ebx]
mov edi, dword [esp + 8]
inc ebx
dec ecx
cmp dl, byte [edi + eax]
lea edi, [eax + 1]
mov eax, edi
je 0x5ebb70
jmp 0x5ebb1a
mov ecx, dword [esp + 0x7c]
cmp ecx, dword [esp + 0xc]
jae 0x5ec3d3
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ebx, esi
add ecx, edi
sub ebx, 1
jb 0x5eb9a4
cmp ecx, dword [esp + 4]
jae 0x5ec436
movzx edx, byte [eax]
mov esi, edi
mov edi, dword [esp + 0x18]
dec eax
mov byte [esp + 0x10], dl
movzx edx, byte [esp + 0x10]
cmp dl, byte [edi + ecx]
mov edi, esi
mov esi, dword [esp + 0x28]
lea ecx, [ecx - 1]
je 0x5ebbb0
add edi, dword [esp + 0x74]
jmp 0x5ebb1a
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov ecx, edi
add ecx, 6
je 0x5ebc14
cmp ecx, eax
jae 0x5ebc12
cmp byte [edx + ecx], 0xbf
jg 0x5ebc14
push 0x613b0c
push eax
push ecx
push eax
push edx
call fcn.005f7030
jne 0x5ebc04
add ecx, edx
add edx, eax
mov dword [esp + 0x14], edi
jmp 0x5ebc37
inc ecx
lea eax, [esi - 0x30]
cmp eax, 0xa
setb al
add esi, 0xffffffc0
cmp esi, 7
setb ah
or ah, al
je 0x5ebcaf
cmp ecx, edx
je 0x5ebd1a
movzx eax, byte [ecx]
movzx esi, al
test al, al
jns 0x5ebc20
movzx ebx, byte [ecx + 1]
and esi, 0x1f
and ebx, 0x3f
cmp al, 0xdf
jbe 0x5ebc94
movzx edi, byte [ecx + 2]
shl ebx, 6
and edi, 0x3f
or edi, ebx
cmp al, 0xf0
jb 0x5ebc9e
movzx eax, byte [ecx + 3]
and esi, 7
shl edi, 6
mov ebx, esi
shl ebx, 0x12
and eax, 0x3f
or eax, edi
mov edi, dword [esp + 0x14]
mov esi, eax
or esi, ebx
cmp esi, 0x110000
je 0x5ebd1a
add ecx, 4
jmp 0x5ebc21
shl esi, 6
add ecx, 2
or esi, ebx
jmp 0x5ebc21
shl esi, 0xc
add ecx, 3
or esi, edi
mov edi, dword [esp + 0x14]
jmp 0x5ebc21
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
cmp edx, 3
jae 0x5ebcde
cmp edx, 2
jne 0x5ebd3d
cmp word [esi], 0x4e5a
jne 0x5ebec8
mov esi, 0xfffffffe
mov edx, 2
mov ecx, 2
jmp 0x5ebd91
movzx eax, word [esi]
movzx ecx, byte [esi + 2]
xor eax, 0x5a5f
xor ecx, 0x4e
or cx, ax
je 0x5ebd46
cmp word [esi], 0x4e5a
je 0x5ebd5c
mov eax, 3
cmp edx, 3
je 0x5ebe98
cmp dword [esi], 0x4e5a5f5f
je 0x5ebe2e
mov eax, edx
jmp 0x5ebe98
test edi, edi
je 0x5ebd72
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
cmp edi, edx
jae 0x5ebdde
cmp byte [esi + edi], 0xbf
jle 0x5ebde4
mov edx, edi
jmp 0x5ebcb5
mov dword [esp + 4], edx
jmp 0x5ebf62
mov esi, 0xfffffffd
mov ecx, 3
cmp edx, 3
jne 0x5ebd84
mov edx, 3
jmp 0x5ebd91
cmp byte [esi + 2], 0xbf
jle 0x5ec463
mov ecx, 2
mov esi, 0xfffffffe
jmp 0x5ebd91
mov edi, 1
mov dword [esp + 4], 0
jmp 0x5ebf67
mov eax, dword [ebp + 0xc]
cmp byte [eax + 3], 0xbf
jle 0x5ec492
add ecx, dword [ebp + 0xc]
add esi, edx
mov dword [esp + 4], edx
lea eax, [ecx + esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], eax
mov eax, esi
nop word [eax + eax]
test eax, eax
je 0x5ebdc2
dec eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jns 0x5ebdb0
jmp 0x5ebe8c
test esi, esi
je 0x5ebe8c
mov ebx, dword [esp + 0xc]
movzx ecx, byte [ebx]
movzx edx, cl
test cl, cl
js 0x5ebdf3
inc ebx
jmp 0x5ebe77
je 0x5ebcb5
push 0x613b1c
push edi
push 0
push edx
push esi
call fcn.005f7030
movzx edi, byte [ebx + 1]
and edx, 0x1f
and edi, 0x3f
cmp cl, 0xdf
jbe 0x5ebe5b
movzx eax, byte [ebx + 2]
shl edi, 6
and eax, 0x3f
or eax, edi
cmp cl, 0xf0
jb 0x5ebe6f
mov ecx, ebx
and edx, 7
shl eax, 6
add ebx, 4
movzx ecx, byte [ecx + 3]
shl edx, 0x12
and ecx, 0x3f
or ecx, eax
or edx, ecx
jmp 0x5ebe77
mov esi, 0xfffffffc
mov ecx, 4
cmp edx, 5
jb 0x5ebe65
mov eax, dword [ebp + 0xc]
cmp byte [eax + 4], 0xbf
jg 0x5ebd91
push 0x613678
push edx
push 4
push edx
push dword [ebp + 0xc]
call fcn.005f7030
shl edx, 6
add ebx, 2
or edx, edi
jmp 0x5ebe77
mov edx, 4
jmp 0x5ebd91
shl edx, 0xc
add ebx, 3
or edx, eax
cmp edx, 0x45
je 0x5ec0c5
cmp edx, 0x110000
jne 0x5ec0e5
mov eax, dword [esp + 4]
mov esi, dword [ebp + 0xc]
cmp eax, 2
jbe 0x5ebec2
cmp word [esi], 0x525f
je 0x5ebf23
cmp byte [esi], 0x52
je 0x5ebed6
cmp eax, 3
jne 0x5ec098
mov dword [esp], 0
mov dword [esp + 4], 3
jmp 0x5ebf18
jne 0x5ebf62
cmp byte [esi], 0x52
mov eax, 2
jne 0x5ebf5a
movzx ecx, byte [esi + 1]
cmp cl, 0xbf
jle 0x5ec445
inc esi
mov edi, 0xffffffff
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
ja 0x5ebf44
add edi, eax
xor eax, eax
nop dword [eax]
cmp edi, eax
je 0x5ebfa2
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jns 0x5ebf00
mov dword [esp], 0
xor edx, edx
xor ecx, ecx
mov edi, 1
jmp 0x5ebf72
movzx ecx, byte [esi + 2]
cmp cl, 0xbf
jle 0x5ec454
add esi, 2
mov edi, 0xfffffffe
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
jbe 0x5ebef5
mov dword [esp], 0
xor edx, edx
mov edi, 1
xor ebx, ebx
xor esi, esi
xor ecx, ecx
jmp 0x5ebf76
mov dword [esp + 4], 2
mov edi, 1
mov dword [esp], 0
xor edx, edx
xor ecx, ecx
xor ebx, ebx
xor esi, esi
mov eax, dword [ebp + 8]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov edx, dword [esp]
mov ebx, dword [ebp + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 4]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
pxor xmm0, xmm0
lea ecx, [esp + 0x30]
xor edx, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
movq qword [esp + 0x38], xmm0
movq qword [esp + 0x40], xmm0
call fcn.005e9650
test al, al
jne 0x5ec474
mov ebx, dword [esp + 0x30]
movzx ecx, byte [esp + 0x34]
test ebx, ebx
je 0x5ec26f
movzx edx, byte [esp + 0x37]
mov dword [esp + 8], esi
movzx esi, word [esp + 0x35]
movq xmm0, qword [esp + 0x38]
movzx ecx, cl
shl edx, 0x10
or esi, edx
shl esi, 8
or esi, ecx
movd ecx, xmm0
cmp ecx, esi
jae 0x5ec070
movzx edx, byte [ebx + ecx]
add dl, 0xbf
cmp dl, 0x1a
jae 0x5ec070
lea ecx, [esp + 0x30]
xor edx, edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
movq qword [esp + 0x38], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
call fcn.005e9650
test al, al
jne 0x5ec474
mov ebx, dword [esp + 0x30]
movzx ecx, byte [esp + 0x34]
test ebx, ebx
je 0x5ec26f
movzx edx, cl
movzx ecx, byte [esp + 0x37]
movzx esi, word [esp + 0x35]
shl ecx, 0x10
or esi, ecx
mov ecx, dword [esp + 0x38]
shl esi, 8
or esi, edx
test ecx, ecx
je 0x5ec2ba
cmp esi, ecx
jbe 0x5ec2b4
cmp byte [ebx + ecx], 0xbf
jg 0x5ec2ba
push 0x613878
push esi
push ecx
push esi
push ebx
call fcn.005f7030
movzx ecx, word [esi]
movzx edx, byte [esi + 2]
xor ecx, 0x5f5f
xor edx, 0x52
or dx, cx
je 0x5ec28a
mov dword [esp + 4], eax
xor edx, edx
xor ecx, ecx
mov dword [esp], 0
jmp 0x5ebf1c
xor edi, edi
mov dword [esp + 8], esi
mov esi, dword [esp + 0x18]
sub esi, ebx
test esi, esi
mov dword [esp], edi
jne 0x5ec2d1
mov edi, ebx
xor esi, esi
jmp 0x5ec3c1
xor edi, edi
mov dword [esp + 8], esi
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x5ebe8c
xor eax, eax
mov dword [esp], edi
nop dword [eax]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jae 0x5ec1bd
mov edx, 0xa
mul edx
jo 0x5ebe8c
add eax, ecx
jb 0x5ebe8c
cmp ebx, dword [esp + 0x18]
je 0x5ebe8c
mov ecx, ebx
movzx ebx, byte [ebx]
movzx edx, bl
test bl, bl
js 0x5ec13a
inc ecx
jmp 0x5ec183
movzx edi, byte [ecx + 1]
and edx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x5ec17b
movzx esi, byte [ecx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
mov dword [esp + 0x10], esi
jb 0x5ec199
movzx edi, byte [ecx + 3]
mov esi, dword [esp + 0x10]
and edx, 7
add ecx, 4
shl edx, 0x12
shl esi, 6
and edi, 0x3f
or edi, esi
or edx, edi
jmp 0x5ec1a3
shl edx, 6
add ecx, 2
or edx, edi
mov edi, dword [esp]
mov ebx, ecx
cmp edx, 0x110000
jne 0x5ec100
jmp 0x5ebe8c
shl edx, 0xc
add ecx, 3
add edx, dword [esp + 0x10]
mov edi, dword [esp]
mov esi, dword [esp + 8]
mov ebx, ecx
cmp edx, 0x110000
jne 0x5ec100
jmp 0x5ebe8c
test eax, eax
je 0x5ec260
cmp ebx, dword [esp + 0x18]
je 0x5ebe8c
mov ecx, ebx
movzx ebx, byte [ebx]
movzx edx, bl
test bl, bl
js 0x5ec1de
inc ecx
jmp 0x5ec254
movzx edi, byte [ecx + 1]
and edx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x5ec240
mov dword [esp + 0x14], edi
movzx edi, byte [ecx + 2]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x14]
and dword [esp + 0x10], 0x3f
shl edi, 6
add dword [esp + 0x10], edi
cmp bl, 0xf0
jb 0x5ec24a
and edx, 7
movzx edi, byte [ecx + 3]
mov ebx, edx
mov edx, dword [esp + 0x10]
shl ebx, 0x12
and edi, 0x3f
shl edx, 6
or edi, edx
mov edx, edi
mov edi, dword [esp]
or edx, ebx
cmp edx, 0x110000
je 0x5ebe8c
mov ebx, ecx
add ebx, 4
jmp 0x5ec259
shl edx, 6
add ecx, 2
or edx, edi
jmp 0x5ec254
shl edx, 0xc
add ecx, 3
add edx, dword [esp + 0x10]
mov edi, dword [esp]
mov ebx, ecx
dec eax
jne 0x5ec1c5
inc edi
cmp edx, 0x45
jne 0x5ec0eb
jmp 0x5ec0c7
and cl, 1
xor edx, edx
xor ebx, ebx
xor esi, esi
mov edi, 1
movzx eax, cl
xor ecx, ecx
mov dword [esp], eax
jmp 0x5ebf76
movzx ecx, byte [esi + 3]
cmp cl, 0xbf
jle 0x5ec4a3
add esi, 3
mov edi, 0xfffffffd
add cl, 0xbf
mov dword [esp + 4], eax
cmp cl, 0x19
jbe 0x5ebef5
jmp 0x5ebf44
jne 0x5ec08a
add ebx, ecx
sub esi, ecx
mov dword [esp + 0xc], 0
test esi, esi
mov dword [esp], edi
je 0x5ec0dc
cmp byte [ebx], 0x2e
jne 0x5ec3a7
lea eax, [ebx + esi]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov al, 0x2e
test al, al
jns 0x5ec350
nop dword [eax + eax]
movzx edx, byte [ebx + 1]
mov ecx, eax
and cl, 0x1f
movzx ecx, cl
and edx, 0x3f
cmp al, 0xdf
jbe 0x5ec337
movzx edi, byte [ebx + 2]
shl edx, 6
and edi, 0x3f
or edi, edx
cmp al, 0xf0
jb 0x5ec343
movzx eax, byte [ebx + 3]
and ecx, 7
shl edi, 6
shl ecx, 0x12
and eax, 0x3f
or eax, edi
or eax, ecx
cmp eax, 0x110000
je 0x5ec3bd
add ebx, 4
jmp 0x5ec354
shl ecx, 6
add ebx, 2
or ecx, edx
mov eax, ecx
jmp 0x5ec354
shl ecx, 0xc
add ebx, 3
or edi, ecx
mov eax, edi
jmp 0x5ec354
inc ebx
movzx eax, al
mov ecx, eax
lea edx, [eax - 0x30]
lea edi, [eax - 0x21]
and ecx, 0x1fffdf
add ecx, 0xffffffbf
cmp ecx, 0x1a
setb cl
cmp edx, 0xa
setb dl
cmp edi, 0xf
setb ch
or ch, dl
or ch, cl
jne 0x5ec38d
lea ecx, [eax - 0x3a]
cmp ecx, 7
jb 0x5ec38d
lea ecx, [eax - 0x5b]
cmp ecx, 6
jae 0x5ec39f
cmp ebx, dword [esp + 0x18]
je 0x5ec3bd
movzx eax, byte [ebx]
test al, al
jns 0x5ec350
jmp 0x5ec2f0
add eax, 0xffffff81
cmp eax, 0xfffffffc
jae 0x5ec38d
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
xor esi, esi
mov edi, 1
xor ebx, ebx
jmp 0x5ebf76
mov edi, dword [esp + 0x10]
mov ebx, 1
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x5ebf76
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x14]
test esi, esi
je 0x5ebbf3
push 0x613510
push dword [esp + 0x10]
push ecx
call fcn.005f6c04
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 4]
add ecx, esi
cmp eax, ecx
cmova ecx, eax
push 0x613530
push eax
push ecx
call fcn.005f6c04
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 4]
add eax, esi
cmp ecx, eax
cmova eax, ecx
push 0x613530
push ecx
push eax
call fcn.005f6c04
push 0x613520
push esi
push eax
call fcn.005f6c04
push 0x613520
push dword [esp + 8]
push ecx
call fcn.005f6c04
push 0x613808
push eax
push 1
push eax
push esi
call fcn.005f7030
push 0x613818
push eax
push 2
push eax
push esi
call fcn.005f7030
push 0x613688
push edx
push 2
push edx
push dword [ebp + 0xc]
call fcn.005f7030
lea eax, [esp + 0x80]
push 0x613868
push 0x613560
push eax
push 0x3d
push str._fmt::Error_s_should_be_impossible_without_a__fmt::Formatter_
call fcn.005f6d50
push 0x613698
push edx
push 3
push edx
push dword [ebp + 0xc]
call fcn.005f7030
push 0x6137f8
push eax
push 3
push eax
push esi
call fcn.005f7030
int3